From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753295AbbHCMBi (ORCPT ); Mon, 3 Aug 2015 08:01:38 -0400 Received: from mail-bn1bbn0105.outbound.protection.outlook.com ([157.56.111.105]:13872 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752286AbbHCMBg (ORCPT ); Mon, 3 Aug 2015 08:01:36 -0400 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; Date: Mon, 3 Aug 2015 20:01:31 +0800 From: Chenhui Zhao Subject: Re: [PATCH 3/4] powerpc: pm: add EPU FSM configuration for deep sleep To: Scott Wood CC: , , Message-ID: <1438603291.7515.4@remotesmtp.freescale.net> In-Reply-To: <1438389711.19345.99.camel@freescale.com> References: <1438347186-8462-1-git-send-email-chenhui.zhao@freescale.com> <1438347186-8462-3-git-send-email-chenhui.zhao@freescale.com> <1438389711.19345.99.camel@freescale.com> X-Mailer: geary/0.10.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD046;1:9vU2kCx4oJCoeNNVkGlT6P9YgwC9WLDO8jBYRQLSNZOAxI0cZbZHTR4UnNqvgIA8hs6Kl8IOeouvlORjw7uAcKdUV7wWvai13FieThWnV4R+Ny4EQPdil3YQf142qwi11YxWwkbkHkqSK+AcfqgmevrngxtDsF+d0lf4u369Zms8FXHAkEbkGW+sWD9F1zXCh4xuv+xWuM4XdWkffVLaOzJ1Xylbj5vlcWBnhtBDItcnS42fndP0/RLG8OBCRcOTTbv/DOoHOOvt+GWfCoar5/rfYyaLnpk7WSGgV6KT+Pvk3Cxpht8fkESEgN370h4Wp9GgT7ROZZGonMeq9mFizA== X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(979002)(6009001)(2980300002)(339900001)(377424004)(24454002)(189002)(377454003)(199003)(46102003)(76176999)(88526003)(19580395003)(50986999)(86362001)(106466001)(6806004)(87936001)(47776003)(50466002)(50226001)(85426001)(19580405001)(105606002)(77156002)(23676002)(104016003)(2950100001)(77096005)(4001450100002)(110136002)(92566002)(5001960100002)(62966003)(189998001)(107886002)(2004002)(217873001)(4001430100001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1289;H:az84smr01.freescale.net;FPR:;SPF:Fail;MLV:ovrnspm;MX:1;A:1;PTR:InfoDomainNonexistent;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1289;2:V5Izo49oRWnVCTO3kUo2hyjZ7+AnKYuk1K9t/pCTgsBeFOSlT5VybcppZU9zYgXOXQFVzU82p+pxzxFPp7opCqa6cp0WzJjTtbTzcJS4Q0C3E7CM/KKmCPmSWLlMRQl3y3seO/sYmGwDyry+QRLTKa5I8JSLI1ts8QLWFKOrUaI=;3:JJ0HJ7bkiyPMhSQZVuP2U31ggBvebhaRCrYIHENnXyLIZ5uTqRprODPuahPSjwkCZ+wj6ikS1+UGoJCP2f+yzt1svXndaODKKBlvXm3hSXaoADbgTIbtETlK8Y67jgLPcwuUvsAhlN7FF4vmX9MYeaFcyNuhzIr1n1j/U0qhcYxdlCWZjb3rSrS9z91UGcBY8V0cvITOGOqIWfFq2+f0FgklMqdE0xvIbpuylYMjtZM=;25:oPKAzbgu1AUS1ey1xjzxZjPFs3arocXPjNO9l8Em/dJWKWCXaM8ucJx0HJzQgm/Akx96s4eFcPatvw4BYXfYBzkjXmCtfX23WGbGycOiqZGGK3A3QtxEoGECYsef/Lils7MfJ+N2g3HUiDCfH6wvfeimGAl6QQTPRfrtWRgmHbrit6tnXwazdP+jK3BYpKtKwoOLBN0UotQGnBtzTk5QRUYA63XVEpsgWg+1m2jWcLFg1hJNNQ5CeNTl/OA2joL+V4izmkVredehxct1KiWEfA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1289; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1289;20:SkOLON3C63kaSJo3hwFUrJewa1vB6JPn4QdCKZu6cl0JcAuopkHvy627ke7pcmyG7eXDp5+M9RVKnpho2evfffmO5FaEzoo6uUQN75Y8IJo2uVhG6TodZuXhvyjNT6JKfTkE+o3H9nOlYISphSvZ+LoSGqrnHU5KiQT85z7Jcw9hGgt7+svYspU4Mktc9nS1ur9yydapYRNiuepyMMCAxMYii3Frx6FXjDMxdxp4NVd4LQXCZA/J/Z+TFEQI1afF6Rog1+3i60no5zLxFfnOuXQAh001dfHru1Ta4m1bmSfo1PmL3Kem83UZ3Sv5abl8gD3dwKcgXnFBdq7iMcL/iJbXt3FynnQpnPI9wbY5Nt8=;4:wxnIKM7ScFmMiH1hpsl623yML791c6Y/MOXIvtCP9lCAn4dSWwNB66P0CdeETBr/Io96TI8EBtZrxvzR+rmNZpqnMtMLsgm+/NHbeFpZL3FKJDw0JPOH+CuI1C6YeriUjuv2SSn5M/iB4467clnrHmEn070JIHmeIne4eyNn2GZahOIKaLRco5lHSlZZPQf31XZUB0RjdLQrABlj2HP7Xs0YTwdfShQGz0NmWdA7t5jJscvCA8Ao2ZdLtT4FCwZQyC/JvSpDCiy9a190sZxjiw199hVfYCv0Vq3t+Lxmyms= 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:CY1PR0301MB1289;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1289; X-Forefront-PRVS: 0657D528EC X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAzMDFNQjEyODk7MjM6MGVFdmRYOTB1OVluaWN3VU5CL2FWa2dL?= =?utf-8?B?ZnZIUFVOV0JHc1dBU2V3SjVXa050bVZxYXo0R1V3RmZoa2xKVU5Ma1ZTdHV6?= =?utf-8?B?TDhTbjN4b1F3QnN2eVR5WjlTaW0rNTVoTVJra1lsdmNxNjJZNDQ0YW9tVEk1?= =?utf-8?B?UXRVMjFaaUZUVU9raXhUZVdodk91SjI0LzNrREh2Uis3SDhlcUxCQzl6alc2?= =?utf-8?B?SUJRZXRveVFZQWpZUGJqTDJ0ZVZqWXVmSkFlekdRMU11cVRxRmQrMDhzc05a?= =?utf-8?B?NzNEbnZzZ0l4MzJYWlBkUkRwM2lwU3RHL0Q1S1l6d0l6RFVjTm9Yc1g0WDhN?= =?utf-8?B?bDIvMWpRSjBIOVRzdVc2cTQyQjNGaG1qczkwZFhhb0xKMm90cm1VSGJFcnkv?= =?utf-8?B?Z3JsVnhzblc3d0M3SERSQjV5aGw1QUlLQlhtVlErRGwvRWlFNkhEN3JBNCtU?= =?utf-8?B?a1V4M1czM01IRC9SdzdReTFhaGFjWlY3TmxsMVBHNU5uaThGNTRsMWY5L2hY?= =?utf-8?B?ejAvMnNkb2dCZytmc3FFdE5IaVNJY1VlYkhqSjYyVENLNGh2VDNaVEcrWnNJ?= =?utf-8?B?K0UreFB5VExaUldxM0RrYWpFUWFxY3V3WmpPTHpNTlQ2NG5rZ1RWaFdUQWZY?= =?utf-8?B?THFmc1dJRk9lZVloWFU2TzcyaTFZdkpScTVyRlRrS2p3YWZjSW9kT0ZpRFhS?= =?utf-8?B?RkV4ZFJTa3dLVUo2YTZWTmtqdkt3eTdrVE4vTldGcTlwUGx5cURDOTZIVlhw?= =?utf-8?B?bFM2MWRTcVZON2FsYmNtYkNHdFJhK0ZOV08rRDR3d094S2ZzWW0wTEphRk9o?= =?utf-8?B?UDdRckRLemJMc1FhVHpWQUlYN1pVVXFEUFBuNGxoYll1RzNhZThxYWVRb3JV?= =?utf-8?B?RklHZHNPRm5pVEk3YVE0WjlZU1ZNV0t0YlNvS04zWXRiWVZ5WjU4bDdCMFpB?= =?utf-8?B?N2VVMkJEMVZJakJoSGZ5YjRFdlFpSVRqbG1UTHVTVUxCZFFLdXJCaTVXNyth?= =?utf-8?B?U2k5SFZoaTlpM0kvUE01UDZMdkhxQVlNMXRQZ0ZaSXUyWk5hdVFHNlVvWnJS?= =?utf-8?B?RDdDL1dTc09zdmV2Z2VLeGU5VllPeXVuMGNPbGZ0eWIrbDA4aVY0bEdLM2Jy?= =?utf-8?B?WkplVE1JWUdKWUVBQ2NCMEpIanlYTC9GREZqSi95aUdhNldzb1c1M0VBK1ho?= =?utf-8?B?bFhjbXBmS2JWeEtrNmN1TU54OGVCZmZ6KzIzdDdMYkFlcTgvOVZOVEhjQS9L?= =?utf-8?B?L2FRcXJvcGduYmhCTDNIeXlubFRqQ1V6NFhYd3FyY1hwU2p2MEZheFVPZ1pB?= =?utf-8?B?YnAwaEhEV0NSOEwrdmJQZktmZWc5NmdRV3liKzU4RjVFVFoyL0hEVlVvUGZV?= =?utf-8?B?bWRYdjFhSSs3R0JXMHlKVS9KYzBYbHdkTWVSZFliQlNiWUFYSVRXVHFkdGJI?= =?utf-8?B?N2N2UEdQRGxEQVp2UVhnYzBTS2ZVeVRnc2M1YWx6c1BxdUNycjl0U3BMdjhl?= =?utf-8?Q?Q2p3HXy5RJl6YNA/nKGsW/Bamp8=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1289;5:6XyaQMZpGiFpDQ1Rd9wnoOzcQFNhyMPgyZUH0GGspRCnMp5hrmG2K1LJsDQM78m/YgnnMHMTKGkZ9x5XAtZofQ7MSdw35BPfUUBrY1dAku+CruIpV2Sfuscgnqtm9vqx/G3F/TA9ZsnyJCs0hi+PjQ==;24:9E4Tx/rltWlPjRCmFcKtavp+olVPDTfdWTuFsCGtc4Uw/YmHw1+Z85YcGZct9hz+gPtgaQq9KdJlLHF/rwp6NL+dk9FeZmT+XTuMiNwH67o=;20:LWxMHHXgQbRHA2M/P4i4KZrjrIbIxU8FoBN3oXG4fBj0WyugFRgjN5OIVLGV9l6gLx0QBcn0L0OLNkdAU4h2lA== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2015 12:01:33.6656 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1289 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 1, 2015 at 8:41 AM, Scott Wood wrote: > 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? There are some changes. LS1 will use PSCI (Power State Coordination Interface) to implement deep sleep. So these code just used by 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 OK. Will change them. -Chenhui