From patchwork Sat Dec 30 13:53:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peng Fan X-Patchwork-Id: 854107 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="tuyHU4q6"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="RLsTTsBC"; 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 3z853q3g9Yz9t2Z for ; Sun, 31 Dec 2017 01:11:35 +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:References:In-Reply-To: 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: List-Owner; bh=it1fzfJNRNUtQpDFlDTxTe1lqOAnXt4XP4jv0bnxsEo=; b=tuyHU4q69K2yCz XXKaXTbONjHYEWv5LT4GIeVAliwqWzMfa/Y1uTNNLMq24jfW54tT8aA+L/1gHL/gE2NIOI9Ruwd6g XrGk4+NtlrYznV+Won6q+IYh9fwhEcQycB4g4UR09w5+hIx4bjk0NXLSAFNlWdiELrdNfa5a9tQVx fK07qH8e9aKS2qUNGy9yIToUpuEqpG5K9zLBSZSOi3bg5tlCPxRNmpwIKDOEUQOKs8BQJpnkFvCFl sCiVb5koj97t/APGo5b9qTH81h96T7EInXjW84Wp4JxFOkctvBpTUM5RjeH3a62Aurz6Cbsc//Zpq uSmkqeGNJAGaG2OhQ5Dw==; 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 1eVHrI-0004T2-62; Sat, 30 Dec 2017 14:11:32 +0000 Received: from mail-eopbgr00073.outbound.protection.outlook.com ([40.107.0.73] helo=EUR02-AM5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.89 #1 (Red Hat Linux)) id 1eVHqd-00047m-5E for linux-arm-kernel@lists.infradead.org; Sat, 30 Dec 2017 14:10:52 +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=y+zGSJeMSwObHFs8OG2Ut1WVSUCeG1WqLQOjGPSmaI8=; b=RLsTTsBC2n79ECVGMebibPbAkpXRFmvy18pjdasn1bk+i6x6+EXa9br89/sFcgifc33r5zbjtCRt1MRQtnbDQj46wyw50OLckRDDGqeu5j7LVIDaBZ7Hkaj8q/utiIs0iYBpEcXWZCsUhlH5Dr5XSxjx8dFWgMWTYPxtZt8zvaE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peng.fan@nxp.com; Received: from shlinux2.ap.freescale.net (123.151.195.1) by VI1PR04MB3231.eurprd04.prod.outlook.com (2603:10a6:802:6::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Sat, 30 Dec 2017 14:10:32 +0000 From: Peng Fan To: shawnguo@kernel.org, kernel@pengutronix.de, fabio.estevam@nxp.com Subject: [PATCH 2/2] ARM: imx: cpuidle-imx6q: configure CCM to RUN mode when CPU is active Date: Sat, 30 Dec 2017 21:53:19 +0800 Message-Id: <1514641999-20521-2-git-send-email-peng.fan@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1514641999-20521-1-git-send-email-peng.fan@nxp.com> References: <1514641999-20521-1-git-send-email-peng.fan@nxp.com> MIME-Version: 1.0 X-Originating-IP: [123.151.195.1] X-ClientProxiedBy: HK2PR04CA0090.apcprd04.prod.outlook.com (2603:1096:202:15::34) To VI1PR04MB3231.eurprd04.prod.outlook.com (2603:10a6:802:6::28) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: dddc6cf7-2baa-4ac4-753d-08d54f8f189e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(2017052603307)(7153060); SRVR:VI1PR04MB3231; X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3231; 3:dSeAryXxexI7xoQ3jRm8ig7mG+LTaWOTIhqikxkYylXSG9/Anz2L/gezGtZNgKB9mM/6sCrROzBaaz/6x6HFbY986wnSuk5HlqzCEjZs7/BhhCni4B2HDKqle1wSNYggVh3nENk2a9I1sCUFyX1vHktWQvUrBU4gxEwh0+Qyv5TJnYh2g9x6JO1cbxEZeiwZa3hjpLP3gofSUxnMEN6nL5Hu1YFc6UuiVdzyppNFlZ3kDRJGaM5mNz0Q7Q/AemYN; 25:B+lBULQWcGZIc0PGwd80y/nljkPQr1Semf0jtFl3BFlmeJ9Y982hTeFpwpYrkPo37u3SCEIUWvU9Wl6xA+WCNFBeTc96aHRlUC1Kja1Jv/t1r2DqNWYSCdJStHf75NdeOxiFLpEQkJtd8JQQUjD17LruPFJL6BBl8RCG38L2gB7GQhiJ3xZ0ViUvIVZTtvSCi2LcFN5434AHg/OGmfz6TCWGsm5yNgc26sdqgXDtKYrUvYHkh9pahuvzFtM+CBeqbkkM3apYUAUnu4YHRGQDOMX5QtyhcTjDKwaXRMMgus7xbUv8qjftqbTmLYfA020HQGh/kapVt6xBbVWANgFOEg==; 31:3acJ00hNxHdWiGLFvEq2WWLGl5PxiCslHBKj2URsSslQmCXF3KajfvIIXwp3tABDw6TcK3i425BrPkzh9ER77MXNfACd+Qv+iX9+AHy18xPVgqjovNVA/KnTJ9zs15zCrGP2cAdU1cB99yOSOSeQNqrshR9IvFs4lpQXxt6xyYbKEfoa3Gp/UtN9uZZTgtO4hdADgb8bK9axKGCCIBm6JSKpnkU71hNumowmLIiHdhU= X-MS-TrafficTypeDiagnostic: VI1PR04MB3231: X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3231; 20:yUKivJAw8Zv9bJ6Wm1/qt+3pA2wEUX47QymCD0yBmbpYXPFL19Szay4VYFHYxrv4LivWkv1LvM7Tff8vSmC/Rfz2hG0lo9/ZkM8JrWNmcvRLgnDeBqGy4GgoP11ykyI8UdGhBYVnCepNTt+2m51Uo669ze+AAqXQlYCmRHVYFFYxYj52HjpMZekdsYLCQUD7yxIuZldRZ+KH8N6mNEhtDIn348QOJ2V2X1tjEXunYO8fGgJ/vlOYJ22r/MKYNkVXly0HgPdgYsJS/GxGfielnRFsLxBHuksiyeKa+YA+ZOE6cw+AC1KiZZozIwPyPt/T9/aZ5mRCDXyym9s7agjsRLPQ4HCR8NvV4du5CxQH0BwRJQzTTWtiknvWUUFfe0mo5I8x2YSfiMGNFnL09pyQaR3KWF0YFlAgVZ0OTN2I0MgdXnLIJzau7dFjOL3C3Ucfch9rK1Hii9Tw+UQwYpNwzn8/jYsPcK3Y3rws8mCUoFGJUE4nZQ3+ir1akNW8f7hL; 4:S9uqVFcHJlah1F0jhyaKPYDuJ7iOWigz6w5uEDwZUgAkNkIQL2z5yKyVLX9YbAW2xsP24zPkvsRb8SQNDyE3y4qxG5xM9SVlZJhZP876UJIcWNU4oukwSPtC+3++Vdxwf44S1PGoHvG2sHq/Q6/ZEsr2ERD/Q1Y35rLPTILv2wmS431YrK6PdNC2GV90++iAmrPVtnFeHB5A+/3EZwvkrj3VyDnsowdnkgb+fXEVgPmj2q5CWNfzmx2exbgWyKxKD0PbE2Bcw+Yp5rJLEGPW3km57CjJntIzeJFdpSU2nA6yfWXB2TDJGHLA5UpMzbb7/s92nrigPrxyhLAi09ENHhSsIyACe7kGQ+9z6rHAnlE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(3002001)(3231023)(944501075)(93006095)(93001095)(10201501046)(6055026)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011); SRVR:VI1PR04MB3231; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR04MB3231; X-Forefront-PRVS: 05373A0663 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(376002)(346002)(366004)(39860400002)(396003)(199004)(189003)(52116002)(51416003)(76176011)(6506007)(105586002)(36756003)(106356001)(81156014)(2906002)(59450400001)(386003)(8676002)(305945005)(7736002)(68736007)(5660300001)(2950100002)(6636002)(6666003)(6306002)(6486002)(97736004)(50466002)(6512007)(48376002)(966005)(478600001)(316002)(66066001)(6116002)(3846002)(16526018)(16586007)(4326008)(39060400002)(8936002)(81166006)(86362001)(47776003)(50226002)(25786009)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB3231; 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; VI1PR04MB3231; 23:kG0WdY9gq+dWjlvdjg7ew3SP9NB5vnFv+jmFrGEGP?= 3pUPzSOiAC+j2oaRDMN6+lmLQiU9+jUOsFVVmmZU9I8PrG3mQXfe6wz4P2ILSOkvzESv+4ZKedWY0E1aK00vXFOo/IDPmMBDpzzgyJv7TMmVCECu7ZnfWMABs/gn9o5Oo8EfLvMb3BZSnNFrEkvdd1ZT3fo0j9CGGXV/r64/yYj/K8VgYfFLhU/i4n7rO6Fir6Hg5CEmJt4zgoTaThuch4dr3P8hCTjUK8VFXj2IdcuNLiXgPmHOAh3tM10zC3xTidZDyHI5OCG8RnZhGPnQl00TAucHw07DMj9vvBpBVwhV/u5YvDEVav3meaQWoWGEWCOvKHear5IuG5y9QeYMgpyxLqr83sCbdYAeTPttosvFiFUp/Rjq9kDHEs/8IyTU/ThD7pGKnr1YUqI1EW+akBP5s0aC1Hq2kKs0SbX66HIG/5P7H9GFUtMTJA/V1gV3q1NCMdFJGJQh1GBN8byml1yPMesoc867Psd9ZkJc2jpjV4UYncka8wYPxcEyHdkSuspbPLujhUe8mQv6rKSdWVppzimZxWbL1oSwjIOCw20aim+zKd89r7JagiaUe2b3T9mR2/owFZl2WTQCCsGXCaxyySoo2iKnPuJLXY66wLcUgoa3FPwOJuax9Z6n/ldyNWHOdqxZJwBJsShIW6QN/lvYRtsQlWqPtDU7nZHm800KRTTEitxEBPYQS04JkskW+kJBtBPqB47x89/NHw9HsNlmq1pXlMpKO3m7OjPTho6nqQGEbb4KO5p01wNXmlwpRY8UsvcV4rSnSm916pD21L1F8318kDa/6juYeMcrtAu29u6lmNJ0nzWSqJ/AjTjwdK3oez2ByymOW3zmuQbTn7QWxg/x2mEzac1jA3dAnQd2sHDH5xfeGoje4+LXMm2Q+urDLSOQH7l1f5WuphavzpIoaCtQHwpGgn1BIMbjT/eXFHxrD7sXLn/4t/nGX0Hz++MevxiQhlO72FCqSKEzCZOUrh7UkYH2UoxmN2ciw/1zClWqEG2QvNBRdShD1UN2FWIeohhzFAyWFVLV5KDkI2PdvElW05ionZyiNarJ9ZTCh6Pj+SRDFUnvP1iFsUuGlJ/7veXmMK9VYxz0t3xUZPmJlhk0+sU2aPLWCkpTUV6vg== X-Microsoft-Exchange-Diagnostics: 1; VI1PR04MB3231; 6:MNDr/BlKu9cGwObG6MpURKIg4AlqEa32OqlRVXRiPI3905gtzESCqiNv9SYo/s6YepSGzIXhw9Dz3wUPlqyzZf765/LGqm7lYdzOirl/iTeY2HmzinBjhQihqcSQoH71taX+pStAW3SwiedGRKV22CHYSQmyWqaovvHm91m0hDKN1HOay/BdscAZJ5rpNdddAt7AMpo6LiUFHpf6XdVgQ8c5JlbzGpEunhOLCPQqQZYuKJNLohucKsC2RGRD0O87vxTGI07CVCAx8nsgEauW5b0BX9iEbvi1/G5Ue0uCulO/ZEEWAxV3jr4zofu8ZSCphUHyd7b3Cywyk/ZZY+gK9KqD/YgbAG8upJOWw3heZUM=; 5:bD8Mk1vBM2aof3CBCz4nQzWmP4t7gOLvYKRiokxLe7HnRv9oDOoy9hUY7BDjEQ3o9lqy5opYOrdVe59GbxivbimYTqpSqGi5TVdOe9J79yaeluZzcEH8VAjollcowXYtUb6Sh+X13EH9P3dSTDHWvjPZ2yTjdrC5ZHnqhdXDrac=; 24:wIYoI6RQPQIYI8Sp2YePrP9gqeekoDa+TjiOmUEtfwtQu5RsynxFHZFsOvOAEMxKYPL3GecbEq5oFMpUDBOCbQJRy1VEKWkiFhiKYQP0XM4=; 7:9xaOZAxYYxaQ0TFFr+v96yKB4BuXgIpabI12xe/n+qVkQtVsfiFzK5AhetxvpcD1W7sq5Jul/UDXMwRTdBtwLm6BL4zp8N7hA7AyQbrW9Rf/CLGYVzOQvfoeX5/Hgqd8aUKIhZTOvgVdD2QfdQBfIjQtxxP/LMc2BfOTh29c92qYewIb8nRSSlcYgrZSD8Kfh1S1qghkY2bZNpw1KP2JHZ4+jkX7QTNvr5gfZAaKK672Uk/Ebdt97rzxm0+NvGl4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Dec 2017 14:10:32.3499 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dddc6cf7-2baa-4ac4-753d-08d54f8f189e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB3231 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171230_061051_219735_899DBBB1 X-CRM114-Status: GOOD ( 10.32 ) 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_MSPIKE_H3 RBL: Good reputation (+3) [40.107.0.73 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [40.107.0.73 listed in list.dnswl.org] -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_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -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: aisheng.dong@nxp.com, van.freenix@gmail.com, Peng Fan , linux-kernel@vger.kernel.org, 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 There are two states in i.MX6Q cpuidle driver. state[1]: ARM WFI mode state[2]: i.MX6Q WAIT mode Take i.MX6DL as example, think out such a case: 1. CPU0/1 both run at normal mode 2. On CPU0, `sleep 1` is executed. And there are no workload on CPU1. 3. CPU0 first runs into state[2] and 'wfi' instruction. Switched to use GPT broadcast. 4. CPU1 runs into state[2] and configure CCM to WAIT MODE, then 'wfi' instruction. Now arm_clk and local timer clock are shutdown. Switched to use GPT broadcast 5. GPT broadcast timer interrupt comes to GPC/GIC, then CPU0 wakes up. CPU0 switched to use arm local timer. CPU1 is still sleeping. 6. No workload on CPU0, CPU0 runs into state[1]. But CCM register is still not restored to Normal RUN mode. 'wfi' + CCM WAIT will cause arm_clk and arm core clk. Now CPU0 stops, which is not correct. So, need to make sure CCM configured to RUN mode when any cpu exit state[2]. In this patch, When CPU exits state[2], it configures CCM to RUN mode. When all CPUs enters state[2], the last CPU needs to check whether it's ok to configure CCM to WAIT mode or not. Signed-off-by: Peng Fan --- V1: This is to upstream patch: http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/commit/?h=imx_4.9.11_1.0.0_ga&id=0d980646ee068b92db71fd5e4e4efcbc33749cbd arch/arm/mach-imx/cpuidle-imx6q.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/mach-imx/cpuidle-imx6q.c b/arch/arm/mach-imx/cpuidle-imx6q.c index bfeb25aaf9a2..4d342e2fdfe6 100644 --- a/arch/arm/mach-imx/cpuidle-imx6q.c +++ b/arch/arm/mach-imx/cpuidle-imx6q.c @@ -30,6 +30,8 @@ static int imx6q_enter_wait(struct cpuidle_device *dev, if (!spin_trylock(&master_lock)) goto idle; imx6_set_lpm(WAIT_UNCLOCKED); + if (atomic_read(&master) != num_online_cpus()) + imx6_set_lpm(WAIT_CLOCKED); cpu_do_idle(); imx6_set_lpm(WAIT_CLOCKED); spin_unlock(&master_lock); @@ -41,6 +43,7 @@ static int imx6q_enter_wait(struct cpuidle_device *dev, done: atomic_dec(&master); + imx6_set_lpm(WAIT_CLOCKED); return index; }