From patchwork Thu Dec 28 09:09:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 853380 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133; helo=bombadil.infradead.org; envelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="la45pcEF"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="qmp9lhhr"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3z6kr04Q8cz9s75 for ; Thu, 28 Dec 2017 20:26:37 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=9/KRuS+LSlUc7nCs6OhAIVE5pLSA1RVZUocoxd4Ys0c=; b=la45pcEFc68eUX CFuGmIGy7I/AfrrPV2FQu1DH+pQyP1vd3UcmmEm3JNqlcdxXTOlSW2ddgdBWdnfAEe+xRAiTU/0Ll sFE7OoZIWo/pGiubvn1c5wP6jLnIOygB5arEnEP6taPWlufUeM2j91kesKS6CiAbF51eGwzVLP37s g4NEf0muDi3LxDT22yJ6cApjD6dzFZ+gFosDtk+t2Ax5rrXI0PbWsHu/cd7wM0aJi5uZCQk0DyX0o L9+K8RbwPiQsjwffM+c9sHxEHncVDpUNutlJ9+6UASRVtmtYpq6SgBw+gw3YgTTqEB5quQgAlE1FM TqTF39ra8d3hA//VSUng==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.89 #1 (Red Hat Linux)) id 1eUUSL-0006uL-HN; Thu, 28 Dec 2017 09:26:29 +0000 Received: from mail-db5eur01on0047.outbound.protection.outlook.com ([104.47.2.47] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1eUUSF-0006sd-Un for linux-arm-kernel@lists.infradead.org; Thu, 28 Dec 2017 09:26:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=OjXTV8oMQjFLvk1LhfDnOIYHwTbJh9Nqtb6KtZ7FqUY=; b=qmp9lhhrIEK73DkLpPlI4dX0+ve5fj7rrSJOgfTqmxSESomCvcvDhnnlIScS5JFrJRW+eJD+tVUyfxQtvb3mQLkttY80rzHDschbeOc+Gk1F9y6FHEvadAIbnMqfH9U26IyHHUpMxg7NhJWmHUbiDuo8QaL9eqC+MzZdBMj2/TQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; Received: from shlinux2.ap.freescale.net (123.151.195.1) by AM5PR04MB3220.eurprd04.prod.outlook.com (2603:10a6:206:7::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.345.14; Thu, 28 Dec 2017 09:26:04 +0000 From: Peng Fan To: shawnguo@kernel.org Subject: [PATCH V3] ARM: imx: use outer_disable/resume for low power Date: Thu, 28 Dec 2017 17:09:01 +0800 Message-Id: <1514452141-14948-1-git-send-email-peng.fan@nxp.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [123.151.195.1] X-ClientProxiedBy: HK2PR04CA0055.apcprd04.prod.outlook.com (2603:1096:202:14::23) To AM5PR04MB3220.eurprd04.prod.outlook.com (2603:10a6:206:7::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 719a654a-0ce3-41cc-4de0-08d54dd506e9 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(48565401081)(2017052603307)(7153060); SRVR:AM5PR04MB3220; X-Microsoft-Exchange-Diagnostics: 1; AM5PR04MB3220; 3:Xw/kfWqnLmZmGH/ude24rAD27KM/CckcToe6ApQ+U4GmWwiXt3BTt4ogi0tT9qx1ZdhV/flg8eceo4K7F/hSyLeMW60Y/WcdrvGwsnInDOF5DlwkYwU7381y3tUAlQeCYAEE+d06nGuDmrCRp+TAgnQcTfFVLMUQHuqCq/Qr9p/DEoyTBn7urqqAbvJiMSIFygzPvm1CudkRnxshfDNV1qIbZUm456L2p+Dy8XGEdpTa5z6w21ftwPKUQo6uaiHD; 25:wzDyiRPP/OYEDt+OzCymzmu0mlCQPy3yqOS6+59D+PdWZfrV3ruIN2fuOMIzb729JCuVUlNlUwlfTBRdTg9EKsDc+CKUZL7oTzapIEUO9e5xYDCDpMESH6IjCxiMkMLLsXSeMsVZNdhHLqIiZudn/Z8MHHuFEHN7IHeHipHi61I/qL+mn7vnZUfW/GoFW63QdkX1FSHnpzDmEJMLHNgvqkaSUK8fj5/SMbXHTlre5Dvm6dZAtyTsyZ9oh/rKn5ikweI/td88QttOiYRISEY7rmlPDTCqjXJN9gaPq4NkT1qvW4BAUUWaUddV8PXYoYpXthkecgPiPLiFDRqtc7ySmA==; 31:mCGjp/yOAwsC284wfs6TV+22q3J6PZuv1b9TqqLsoExFwn8+VgBv7CeL36JDz9vd6qWPYLBLHPlBPfin1hU/LXxdRPcwnwsYGLdkhgys0IYH84ccTggudZY503CSzTAcZi03hLOMNree9RBVt6ROT++KQMMovZ6pIkJ1jQA65byNfG+hPe2uzpRkIBLLs0M0m+2m0vYp+ggaUrioU79BQWxhUXBYpgsdAK4x6UC+ydQ= X-MS-TrafficTypeDiagnostic: AM5PR04MB3220: X-Microsoft-Exchange-Diagnostics: 1; AM5PR04MB3220; 20:JrY/GyEcBVLd6lPLPR0bID0/JuYpKdLZ42Sc7TekloJFPKnSg3qltvfwsLcr3vRG/MdAGzjxG/Ef76u4fS+U8cghQ80cFCCrijGYYnYfqfFt8OtQYhPZYXVqkc25aelaybd6SVEP/v/w+tRM6mCGgQK3s4LgIyrG0rnY9JvVndh55ar5a4OYu/QJOV+S0D0DBD9AjFNycS+lfFBLWF32sFunUxRA2ec4Bzr0IsUM0OAw+Qp0Dwk0rGsMj+TKVrLZHDZ2LxxH9JpR+GRmaYy/F76LcuSpiQgaKuDDFUAr2TnOUAjUmbpGlx0mIbeRRHsbvXFyD25rbb1dkdTh7ApNhOEOYyrz/NsxceZOToAzO92PLJDpqFSfHX7FWadzMIHRlckmLG4hF2P0vgsFI2+YBm6aRky/8kBdU0ubQ4uFxI6Cwvjn9isafLmaMdeqm8bitvSHyX3SH7dK1gvNoXWyxxeIBa6ZmcJu00XONvv5mrEMEiLrEeJPkU4MadiZYARe; 4:0EIC1jIfMVcvPKykwUJZ4LpZAnDobBsnuz7blAt8HYcYcDUBOhjUJIofx6uzhhX/cAQoI6rXbz/H1YczcAMlfhLl5B3nLGIP4ZA2k+wE60bnk5Q1sj3fHFgw3todTlkXtxoRYLkcHlMngtUzHAw7edng7v08kLssSEppo0JB8lGZGM66u+biqCFI2QOYpaA+h7X6at5Rt07oIR2Kl/9z3jzhur8h0KqtKeC1EqFo5KIU6xt0YAvgtPVfFWJR0pejsycODG10+GBRJH4xvjIr4nTJmBjcQNu+rQ1WbOCLuG50JdHdDh7wkmY4uvEjoGRR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231023)(944501075)(6055026)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123560045)(6072148)(201708071742011); SRVR:AM5PR04MB3220; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:AM5PR04MB3220; X-Forefront-PRVS: 05352A48BE X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(979002)(346002)(396003)(39860400002)(376002)(39380400002)(366004)(199004)(189003)(39060400002)(6666003)(59450400001)(386003)(6506007)(66066001)(97736004)(6512007)(53936002)(51416003)(6916009)(25786009)(54906003)(105586002)(106356001)(6486002)(16586007)(316002)(52116002)(16526018)(305945005)(5660300001)(4326008)(36756003)(7736002)(47776003)(2351001)(2361001)(8676002)(68736007)(48376002)(50466002)(86362001)(575784001)(8936002)(6116002)(3846002)(478600001)(2906002)(81156014)(50226002)(81166006)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR04MB3220; H:shlinux2.ap.freescale.net; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR04MB3220; 23:Y98bK3C+bnPDJfN4189pWXB5BNnk1jHurDnFHtk3H?= aWC1MRoSL9Qk+Z1oTEonViy6pKlwOlbmv0+z1jSAbF/7YwyZ/36SkLqyOFbOroW1MQIEy2gfqcGXdWFXnE7LcoWgYvtvHufcCmaGwtLDAQKHhUa2SCyE/4PH38i8GFFwlBNY7MzdF+IVykpvZTfKOT0/ZH1w7gMTzKzhIfcYhDnNe1AQQFyBZVhaDQkftThzDIF9ShjveLl+qu9i0iCvL742EPgIEV1hTCbEEdtHocRrbFSfuz2y2Pv0hJ5nGt7I0/6kylF6syI8IHcCZLQBVpq01iYAd/rUKE/V/ZfKeGSKRrJydB8B7wqA+ajEwUwwzav45vw3LqFs6k/qTYnnfXQ5enEu0SJRCfsBOiVTzSqj8LU88hxwqZwnY6pTPNwC177hA23l/3r3zTZh2yZu8jaVQITatOkWYX2pGL1AEsoXgsKE5rzJEAHCaVTqjYDCxvtGLQcS/jNgwY7XRitvpfx8K3Khis6NQr8rRX4X83iSE6OfhqNHyL6Ou0z4rDsiX6W5wOReF0kcLn+4dSku0gjTdcomCry9Wura/syPUH2AM0U3VLWAukd+79kYLlcL+rZYlxyS8G41FHFkh2Z0vZsZdfH3lkSSDGVvE0E1RyfTq1reekCI8M4qSnb2E0UZhmCEdpHi0darxxGGYZkHQ433H2OTdJnj10/RYLn6BAEIlbA14561eDRQyWryh/QZUeC1AaAZenODYqHDN7CvBtLvKxASX+ZGatmhQ/rmygjex7hiMb2WYF2FrXORr4QVEdUKM5dTppm+wtKRJqlw3fPULUPG//2iR9z+1Nf8OfMh7sP3TKQuWWlxGAerHheHZiIiT8/0ugOGfzUJxUo36c7PQ4+Y/T3Lya+1yozMR5gJhkRgcL3iqAZ16As2JfepdWUCzoczGpHk1Ii5zyXvDz8oK42ricwJZTeSpfn2DiYNXidTBKwAIuqq1yRZFSLDniwtMZi27+lleMmDnbl41n+Vemxo/f8pCeFMRC4x7F5kdgCeKTLNrr5QNCZT/VKcJ0/C9wb8Kn8N2YCmEJKAdAGAP7Hju1Q+Xl3E+ofvPvJsWUSqFSoNJ7osm4LlrEbMn+N8qWNzRLfcepOAUJVPg2r8Qb8GiyfXUmXxHWokoFDp2Ozb4cRckxzeJL9NQx1LAjNG3LaJuKPFobumVbQ1WcrXB0yXYz8gH3zMqhlAok3qo/AFficXb9x/ms9m8H+X2g= X-Microsoft-Exchange-Diagnostics: 1; AM5PR04MB3220; 6:nwUDajUNT1APq7jHuJM2q3WcMeBbwkqgG1IqNKZZiQB1Y+22rvSGGI/bEL+DMdL7N+gNDmGvqX6MdQPjJbEUxGHljcy4Ys03p33VduubbPnB7SItRIXT6XcVLT5f2i5OzhIka/nCyPuS2ugcJDryHDoCMtD8d7NHDHZRzmUx02X5u+brQFsat/77oImW781hE1DdzS2jj7ogffdoDwpz/LSywyr4PuVHDR0t/e6ND9FH5VeCj0Ni4m8gBznjVq1To6MQqTm+MiZf7LkFTXld2f1rKvcPgJ76l7IaAgJWzXg2pb1hYtTMH3Wy2WCrvthj84OrMZR5FIYxLo+cti8XuJYHX82Tdx3sA2ndJwUiClI=; 5:gjstfYo0yCDpxD+FAiVRHtgnPFYJE+UMR7Ri9OkuXqOPpFQqS9DH7VwFwBXqzlcMNtqmSsaa+sdkrfnGb1PpUhm3DLpSHhgO5iyw/m3vWCJojveLJot/6ua/bnxs6wZoTk37TGkBnN76rskeYPDvir8NyKRxZrbOR3+iSu8x4FE=; 24:GLUb6evb0RrDiZJ2vh4dD7C7Vkj/qkpj/myz9zfiNMZLl0n57mZGHPdEskdG3XR/oz0NeaGCuNRsiyq7sFTgwEZutYXbwOPlSPQHJ8mmoYs=; 7:E2C7uakpyyJ7SmskVb8FS9iNoJdLIH1BcVECSInoKRsTodY4nCykEqU6SNkASMPiX324+UjUosRyPW6KAVWV62LNKBkrFCc7zHKvWBhrghLmQGLTBP7sd0bBm8a9uYZFqHRmZDVVYzVqBIFJjv5jnpULp6gxBLzyc/0So7hVpW2kssXgP7MrTIEUiKjAwU5j5g09SfA53SIc98y56evkY++qVUBMLQ8huu5EV/wEFKT7mG3K+V+v9VxnC5PKjIeg SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2017 09:26:04.7743 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 719a654a-0ce3-41cc-4de0-08d54dd506e9 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR04MB3220 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171228_012624_534122_330D491A X-CRM114-Status: UNSURE ( 8.66 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.0 (--) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-2.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.2.47 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [104.47.2.47 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dong Aisheng , Peng Fan , linux-kernel@vger.kernel.org, Russell King , Fabio Estevam , Sascha Hauer , van.freenix@gmail.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Use outer_disable/resume for suspend/resume and low power idle. With the two APIs used, code could be easy to extend to introduce l2c_write_sec for i.MX platforms when moving Linux Kernel runs in non-secure world. The cache sync operation and l2c310_early_resume in suspend-imx6.S are kept. According to PL310 TRM for dormant mode: "The external power controller asserts the reset. Ensure the cache controller is placed back into run mode prior to the L1 masters.". So keep l2c310_early_resume. Another reason is alought L2 controller lose power, L2 memory not lose power. If l2c310_early_resume removed, outer_resume will do invalidation which may corrupt data. To keep safe, the cache sync operation is also kept. Signed-off-by: Peng Fan Cc: Shawn Guo Cc: Sascha Hauer Cc: Fabio Estevam Cc: Dong Aisheng Cc: Russell King --- V3: Continue fix 6SX low power idle. Because L2 memory not lose power, outer_disable seems not clearly flush all the data or flush l1 -> flush l2 ->cache sync must be followed, outer_resume will invalidate the cache, which corrupt data and cause issues. So in V3, only add outer_disable/resume to make it simple. Add more commit log. Based on Shawn/for-next. V2: Fix 6SX booting. The V1 patch does not take 6SX low power idle into consideration. arch/arm/mach-imx/cpuidle-imx6sx.c | 2 ++ arch/arm/mach-imx/pm-imx6.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/arm/mach-imx/cpuidle-imx6sx.c b/arch/arm/mach-imx/cpuidle-imx6sx.c index c5a5c3a70ab1..b35841d133dc 100644 --- a/arch/arm/mach-imx/cpuidle-imx6sx.c +++ b/arch/arm/mach-imx/cpuidle-imx6sx.c @@ -49,7 +49,9 @@ static int imx6sx_enter_wait(struct cpuidle_device *dev, cpu_pm_enter(); cpu_cluster_pm_enter(); + outer_disable(); cpu_suspend(0, imx6sx_idle_finish); + outer_resume(); cpu_cluster_pm_exit(); cpu_pm_exit(); diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c index ecdf071653d4..153a0afc7645 100644 --- a/arch/arm/mach-imx/pm-imx6.c +++ b/arch/arm/mach-imx/pm-imx6.c @@ -392,8 +392,10 @@ static int imx6q_pm_enter(suspend_state_t state) imx6_enable_rbc(true); imx_gpc_pre_suspend(true); imx_anatop_pre_suspend(); + outer_disable(); /* Zzz ... */ cpu_suspend(0, imx6q_suspend_finish); + outer_resume(); if (cpu_is_imx6q() || cpu_is_imx6dl()) imx_smp_prepare(); imx_anatop_post_resume();