From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752180AbbHAAmF (ORCPT ); Fri, 31 Jul 2015 20:42:05 -0400 Received: from mail-by2on0144.outbound.protection.outlook.com ([207.46.100.144]:8264 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752057AbbHAAmC (ORCPT ); Fri, 31 Jul 2015 20:42:02 -0400 Authentication-Results: freescale.com; dkim=none (message not signed) header.d=none; Message-ID: <1438389711.19345.99.camel@freescale.com> Subject: Re: [PATCH 3/4] powerpc: pm: add EPU FSM configuration for deep sleep From: Scott Wood To: Chenhui Zhao CC: , , Date: Fri, 31 Jul 2015 19:41:51 -0500 In-Reply-To: <1438347186-8462-3-git-send-email-chenhui.zhao@freescale.com> References: <1438347186-8462-1-git-send-email-chenhui.zhao@freescale.com> <1438347186-8462-3-git-send-email-chenhui.zhao@freescale.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.16.0-fta1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Originating-IP: [2601:448:8100:f9f:12bf:48ff:fe84:c9a0] X-ClientProxiedBy: BY2PR21CA0011.namprd21.prod.outlook.com (25.162.74.149) To BLUPR03MB1474.namprd03.prod.outlook.com (25.163.81.16) X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1474;2:C3MUqCdCsiJOMgcCQDBFK60FZEWGT90dHGJG1gA1n5cn6k+XpV8OOGU/gSOkZBh8SXCqeW1PdsYNDs61NSBDRaLOqB2ncdSth54hRfQknp2gGW9AVwYBYC3AI6XthQn1AYg3K9ZAYsEgqXMZBAsBk9zJvmWEmvSdpXGBMhtqXlk=;3:9mJ3zCGvwAwW12BcL/MxvzfPSTHSOnTIw6GTAR+Dp8/WyZ1K8j/PGyJ8R2kJalyBHHe/sL01mObntlwRwcBtJGYP9viNsewYe3BU1o1As8GKIGh4KLCLkfoHcenUnA/1oWpntwPAg/LIRs3kn/pDPQ==;25:5ZaBKLXd0ykQ6b9G6UEb/QwivUYXE6qlSnelLWkQ+haq3+Z4or0gRfJstxVgHn5drJyJDUGQqOpWvl6/V2HjZD7S7hmFNpXNKHR+D+4TUqKMnh0t3S05fgjuSHyvRf6dyN6RNZCdo6eGF+tx7i2B2KTmULlbLQgrZdH9C4goeE5EHbNqDv6O2EUyY+c8UeYUzpstka+f3WE5Ekp3/WjxJHLL8thgiXzXZRR8zfs2BTgFhpzCWrbEvd0XIqsUzxR1zZW5gH+tCsa9LbUyfKJp8g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1474; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1474;20:uX4IvT7nwTN8GCFKjUL82Hlyxoijevh9xKpefpA3Jt6FmVN5zthXDCauXuF/jWGm11UDPuEkHtiG7eULGxyYQhp3C452NI8/MQqvgfdzSFa1ytEJJlnG/Q7IdKXKA5TzL9oI++/OfcE15b5paxuH+wC+xlFV7IMGUm0tMJYV3E2+AC/ukGxuireb3NX2S5tLQKQdYx4zWmc7VbK88cMJZ5M/RzrwRr61RGwMilM/39g9Nma95T8ToEcEvV0gQjiSV5Mxwi11TDg3++jSYSSvLzxQ1PMadq2y0cugm5lxlxPTP79rHHiPra5d85Ul8OUDZr3CsM0fDYsxoTpvd3pkMPn12/jUPaVstkZPcu1IoZ7Bf3UnuToY1Yjsw/532dLgwnIc/7CejpD1Mnj+PbrKCqHXdi+5mnSf4Rw/nQA5syj8siuUGC8XBURQzuu5ulCsJN6CrEJ6KSj2JORfKEF14Ha18OE1XPZyNib0TJOOGXZ5h3w7PzarNRvpNmygbYfB;4:4K7vTcBcXSbbxLv/cZxVm4CmXOxhobHzzhV93PixB9zE7EQNMqkAIuHzshec4KjC8+8gYCMKJEJgKe12N1Sj8LToR08IzyKQhrrymY0sHBqI9TKbRCL8U63imgEcpHDd7IRUYTs/zNXI/SmaD6v1vOwHVP2BUCqcrlX9s9cOl495loBttoBJwldacccqS0q7sNTQ4TtEdTmQA9hN8eyc8SBvpY2rTl4H871pyIc0UKBE6mz1rQ7BFBxMEPw4S5G2WXHLgwiCFwDYrPJcNaUjiVPPj0jj9h5LW/kiGZ3ZpPI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BLUPR03MB1474;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1474; X-Forefront-PRVS: 0655F9F006 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(24454002)(377424004)(110136002)(5001960100002)(5820100001)(40100003)(122386002)(107886002)(36756003)(19580405001)(76176999)(42186005)(50226001)(47776003)(50466002)(103116003)(92566002)(46102003)(189998001)(33646002)(62966003)(4001450100002)(77156002)(86362001)(23676002)(19580395003)(50986999)(77096005)(2950100001)(3826002)(4001430100001)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR03MB1474;H:[IPv6:2601:448:8100:f9f:12bf:48ff:fe84:c9a0];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1474;23:h4Z1ZkW/LNuhL0mD+HASNcOGdmhr8CvuQTEcWY9wL4ZIYxnzpxscWGz20FvzM0zDsvpC4QWUFT7VmHw91ISKMMvFMY5/CoPhnR0JpMsulFSLX/uvddf6nv8G4qf6/z99zxv70jUCxROQCGVBNgERaLdskGRFJn87jtpB0D6G8BkymaIfaZNMsM6aG9T4XtJkV6tYpeNtr8CWjEccQB5TbJaGGHO3+ajOoPkNJiuLyUJWf1dsgta8TmBbXTXmuS/ZHKKqOY6Uo//BIEikjyQ7dDZt6jzZSbsXX4XtyaK8A+PoSmkz9FCBi2gWAADdaRM5nVsqYuy7/OfRXrYQgxIUrR3NPkbeDXb8LqC+jPug6z8IWDItHNx5E7sYHmuMycXPqZR6xpm/h3nKs8M7QluCsz7/ZrHrv3xjiWIGSjlheFWex2cwGTeV0+9AGu086/EKmCqKQZBnvql0qcRsNfdj0+06+A66s9DH5SEK5l5snGTRYOkRkioUmYyYymMnfgI4uuJmc8qN2NYHb6+35/NGHKZMFBHzjLh1wWgBe0rjgCwke8K3y++5qF4HfpaeIxifuL0SFdgiIE+oMhmcfiywhfHIj4vdU78FuMEaAlgCTIffxu9C2KuMyzj4iXTVKca/ly6NdpvPrpBpmByPB9QEwfel/IKiKgrd4ptjL/rYY6zcqRzG2/b4gfF8UXpzoNqpFHAW23CD7gjI2ARREnHbIwhHHJvMvCNZhfycQdtfyI/tCwaOq9+P/Ku0RPHfol75eJcAViG1RI/EwTPMkI56Q/rlSu3tNo3+qhf+yP7uYYNprctnMfCFNeMYwKSQGw5zBCDvmOCA98KaE667iKjpiIn70miMpfkTkmALKnBcnYTr2K7w8PdRyxqHzmxGUgCeNnhoOtg4Msu9LE1ioR9uslYH6QcfDSSQhX+LAmOEJHk= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1474;5:a0xzpp8bb18BWHQuAbw55Y1IaMFiFyzrhZTkVH338n6mvhGNLRXxmfg+mO33pCkUKw3AVtpxxz2+Xh7hlvnHQ8C144fVwYQrUQDa20F4phbTQtHNXP2tfFbGKtbUnrV1qUP+p9J4EAx0LQ4GgqqEew==;24:v8mz9iag+MN3EUgc8PRH7EyWmRupA4HGRcj+OJKPeW4z7tjTIgqCrG3K62/wmdyOyQXOqlp9bpPVGb10N/UeeMI6A5MJyVsAahxCjsLwqR8=;20:e3iaPhjduwZAMfCLcwqQzD7HbpLdKeOfd4yi5U1jAeJOOUHn9Sg/HkJQJH4zvMvlHOOwp3m2TpDq152rhcQX5A== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2015 00:41:58.7317 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1474 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2015-07-31 at 20:53 +0800, Chenhui Zhao wrote: > In the last stage of deep sleep, software will trigger a Finite > State Machine (FSM) to control the hardware precedure, such as > board isolation, killing PLLs, removing power, and so on. > > When the system is waked up by an interrupt, the FSM controls the > hardware to complete the early resume precedure. > > This patch configure the EPU FSM preparing for deep sleep. > > Signed-off-by: Chenhui Zhao > --- > arch/powerpc/platforms/85xx/Makefile | 2 +- > arch/powerpc/platforms/85xx/sleep_fsm.c | 256 > ++++++++++++++++++++++++++++++++ > arch/powerpc/platforms/85xx/sleep_fsm.h | 104 +++++++++++++ > 3 files changed, 361 insertions(+), 1 deletion(-) > create mode 100644 arch/powerpc/platforms/85xx/sleep_fsm.c > create mode 100644 arch/powerpc/platforms/85xx/sleep_fsm.h When I asked why this was in drivers/platform[1], you said it was to share with LS1, and that the values used were the same -- so why did you move it to arch/powerpc? [1] Note that other proposed patches create a drivers/soc/fsl instead of drivers/platform/fsl... We need one of them, not both. > +void fsl_fsm_setup(void __iomem *base, struct fsm_reg_vals *val) > +{ > + struct fsm_reg_vals *data = val; > + > + BUG_ON(!base || !data); This BUG_ON is useless. If one of those is NULL you'll get an oops anyway. > diff --git a/arch/powerpc/platforms/85xx/sleep_fsm.h > b/arch/powerpc/platforms/85xx/sleep_fsm.h > new file mode 100644 > index 0000000..2c60b40 > --- /dev/null > +++ b/arch/powerpc/platforms/85xx/sleep_fsm.h > @@ -0,0 +1,104 @@ > +/* > + * Freescale deep sleep FSM (finite-state machine) configuration > + * > + * Copyright 2015 Freescale Semiconductor Inc. > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the > + * Free Software Foundation; either version 2 of the License, or (at your > + * option) any later version. > + */ > +#ifndef _FSL_SLEEP_FSM_H > +#define _FSL_SLEEP_FSM_H > + > +#define FSL_STRIDE_4B 4 > +#define FSL_STRIDE_8B 8 Why not just use 4/8 directly? > > +/* Block offsets */ > +#define RCPM_BLOCK_OFFSET 0x00022000 > +#define EPU_BLOCK_OFFSET 0x00000000 > +#define NPC_BLOCK_OFFSET 0x00001000 I thought you said OK to not putting these offsets in the kernel source... -Scott