From patchwork Tue Jan 2 13:01:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 854534 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-pwm-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z9vNJ3sCSz9t3m for ; Wed, 3 Jan 2018 00:02:08 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752164AbeABNCH (ORCPT ); Tue, 2 Jan 2018 08:02:07 -0500 Received: from mail-co1nam03on0089.outbound.protection.outlook.com ([104.47.40.89]:15088 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751682AbeABNCG (ORCPT ); Tue, 2 Jan 2018 08:02:06 -0500 Received: from CY4PR03CA0011.namprd03.prod.outlook.com (10.168.162.21) by BN3PR03MB2355.namprd03.prod.outlook.com (10.166.74.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.366.8; Tue, 2 Jan 2018 13:02:04 +0000 Received: from BL2FFO11FD039.protection.gbl (2a01:111:f400:7c09::101) by CY4PR03CA0011.outlook.office365.com (2603:10b6:903:33::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Tue, 2 Jan 2018 13:02:03 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD039.mail.protection.outlook.com (10.173.161.135) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Tue, 2 Jan 2018 13:01:38 +0000 Received: from fabio-Latitude-E5450.am.freescale.net (fabio-Latitude-E5450.am.freescale.net [10.29.244.149]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w02D1xOl023069; Tue, 2 Jan 2018 06:01:59 -0700 From: Fabio Estevam To: CC: , , , , Fabio Estevam Subject: [PATCH v3 RESEND] pwm: imx: Let PWM be active during suspend Date: Tue, 2 Jan 2018 11:01:59 -0200 Message-ID: <1514898119-19632-1-git-send-email-fabio.estevam@nxp.com> X-Mailer: git-send-email 2.7.4 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131593716988546150; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(336005)(39380400002)(346002)(376002)(396003)(39860400002)(2980300002)(1110001)(1109001)(339900001)(189003)(199004)(81166006)(8936002)(47776003)(8656006)(498600001)(86362001)(575784001)(305945005)(50226002)(51416003)(966005)(48376002)(54906003)(356003)(50466002)(16586007)(2906002)(316002)(85426001)(68736007)(8676002)(104016004)(81156014)(97736004)(106466001)(2351001)(59450400001)(77096006)(105606002)(53936002)(36756003)(10710500007)(4326008)(6916009)(5660300001)(6306002)(2420400007)(15650500001)(39060400002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2355; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD039; 1:SkCKgPzxjkYbeLSBbCwzila8ZhARHSP24WK+Xbkzq6PJNVg7C4j0bJh8AH7VSO60yCXc6U3BedKyfOnL3fNgRWay5G3uYVEz+94WdJxwDfWOlJyQq/PjtM/oOBeZfGWN MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9ac8c078-23cd-4abb-8c66-08d551e0f63d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603307); SRVR:BN3PR03MB2355; X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2355; 3:nMviGHZDi9SaG8dGVjSzCdt4jl6ul8wmcclDsfspf0Q4ujenLw7a++8EPTb9zXcM+KSgVbveiGDr/qbpIrv5Fr2e6J3ScDushMKZKNxZr2CkjivemrcyDnxcz4QHeDjd+kBmN3JTVD7YbdmqYg+VibuJnfZgEO+Ung7BbhtighxtRf9efR2coI2PrlTUEOZYZZvZNMmt35cEHRASanRfYqujhuDqm7FbXD3uY+mg3z4k9HaQ6rY1orQCDe2ehjeEtM9JbFPnpbDeSV+MNengVclkxxEt5jfPuNylqJvXU3Q0wAfgTgKoltrY/J9H2MFOP/MGfZiq1CrpDEpBICk8PwYF1gJHW5cNZa5Hn6mfiBM=; 25:VTCrLDZEcpaBowjcNFW/nZLPgzQvK83V13imKwAMpJQWUXbOZhp/lt+9Dd3YM15h++Pm1OE6zo1rtInvTaEM/GJ6UbRqZNSfD1ESTUEe2wWIiHFX3ygqF0tBU+Oiscypo1ZTS8/sorIUQi9/HnPe43keE+b3u4wz4ZTBf4aNp/AD66hRa0qpak9nGAds20pnvLr/WRTf3qtQsRO1PdaOnnc5ttGKzbiV4/CoQaPAB7iabCRRvKoATLQ03zSJRdHitbpvG2B7b0v/YSZC3cpi6jFJRGQtTotWO28h2+m/fJPcBtr1JskF/4Gsg4+nyAZd3HJL53F1iMPMhmFiKqcbHA== X-MS-TrafficTypeDiagnostic: BN3PR03MB2355: X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2355; 31:qlT82rTSHNcRAupXkYPvLoGIFwVi1THXsEpFqkurM1Vx/vXQlLqWY15ycG0k+aS0pL0QIk06D37hkdwXJc1j2JfFSvT/aZxdisuxybe7+oN0t8ufunppwiRiAAqiVtz1PWxZ9f6cTocz9rRawxtyQ13L8OIQpJ37bgUvAKlVlOStuI9T4ozAJhYlek7xzeZJqzXJmVtDFPP3/als9daoJV9jf/fdImRTguC1hiQD3ng=; 4:IVOGEFXHv+PTIPI49bU9aE8q9XhROM6Uoc9sFmiPNftzLao6OTRigw4aQZOceKn5+I3aVDIDYGffWDkx5mrtVDFSAiP9MOhdy0ghICkXYP1HKoHW4GLSbGppgPdGF4bFEJoMG6o6i2OsI3FfiQOcMtvsCoW5PFUfhtWak/K1EShTHZeLYSmIN5p2G0R2HddkB1eLHFPeufChYLfIweXmKX+tYpFk/D7MhE5Jn7KxlAfStFTlcGKMXlmbmzo8Kh7Hu8b0gjcydQEXB2Jp+cexyQdQN8yqsL3IktHophj02qHkr3VoycuzF7BoxpnEM8vSpt3/oMrYajPkodbEjjkwlpO2X3+hXMrOuFfJ+0xHZBs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3231023)(944510075)(944921075)(946801075)(946901075)(3002001)(6055026)(6096035)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123559100)(20161123556025)(20161123561025)(20161123563025)(20161123565025)(201708071742011); SRVR:BN3PR03MB2355; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:BN3PR03MB2355; X-Forefront-PRVS: 0540846A1D X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2355; 23:IvGautx3oiNVESpvuujehD6TKspl5su0DOMvAh8Ow9liU5RRShW3AaZnVb+E+r03gsZlNPQZJXy3g5oDbYgz2o/3ftdsPWZRiM98HP3LY1ZnYkpHEmHWx/Dl3M4xgj2IbYKGgA7wqRS6yEOSNA7P5qnBwi6wOgbnnYj/ZOIhpkl6I06Vcq3JERGRKa8C5n6Q1K9u1BcXd0xxwnjIxsFrGdBL2fYrpQYVrMPmx86TMAj2tDiwAlN9yygSglA3AAe4yCXJsd0DyjJTLbOlUSE1nGM4SVAgOAXhUpCFqxKfPN1IDE3RrffYYMbRF+OPxZqzvSAYZduVJktLezkuWM+wtyVC7UBQUOsYkXlhltRpVzk4Hm/uHfV+NdeCbfLRhUBuPDB0+LeWOlzDjoT+uVHcFIaKRvtkDs5QE7pUcM1eVqtfoq7rlpLgcZFDFNBzOlfsWGlcKVBEnx4iu987mNCjvutTHcdADdyMQ/yE9tWnrm84QO72UBsZdr+y9X1oBrYCS0u/dm32oVGYw6s5yUGshsSQMte4JIjFpr55Th51RYijii11aBWz66yEzSn34n4ItZ29X0rU/LyH1NoEIHOURbCKb8uU/7dnVnS2RykkSN0scV42Qa0i79XKN/ivRtzWV7Dcpolu4WdWQGLfalDqslg0wPNqpTtY/harbLK4xNHzFBWl8xeosOBMnh9r8rwLfG/sVpjx1as5OIXCcwj3IzKGF6rvCFfKtzZsZHNmbMZHoONBcvxkhecq1e/G7S0bTy/dctkkNlawWYV6Yw6n9iNBNA+f7Cp3gKqzuspFcsV5MHmadn889EfFK676ucTj+FgD3gpxBuKRagU8885WthNrQOC8awrI1NPFF+oT1VKZu9DB/mSVMWYkR1BMN63UpfhuHiLc/jq/phae99rdAaNFrEo+JJDDCleJjN5gYROFkFkS9MQuk/HJQlmMvNXTsbb1sV6iGWdbPy68NGaIsCXfOMu8FXKmTweQbvzgQfCCpYQKof/XQUi93DfXK935O5cGgavkbdUxKyZPSH17OiqdCZPPCg8wXt0JS3onx7oUuIIjH5SYOdVU51Ll66Z/4iQCOo0/ZelszfAZOSfVCeURWlhngjY+y0Bme6vTlpRLaCMiYr7sQALwzCklaLnJ8d/AWZC06Z+kJmmCaH6hNYSyzhulpro1U6Z0/gkTLrWuBwYs4B/Dhpzycwy3fSEn X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2355; 6:53tqTcI7g+fd/IPCwjF6zFNDSQKbsycrqGM0P2VVnSrfPdLJDhPMO9ijrDLfK91/wmdncvLQybjOVWy3DL3Pfnm+jVuVDZuvM8QkdN+3CZjrOCoi5yT5uXIlxr5U7N8yQSe1/ZHguKuLsfGUGO6jJTyUO3jwVgiDzQlSGCbB9AdVlP8+dvBKW7r/oPWxQ7Ap5tBnFnzpAFKw3JvoHgMaXacObc6JI0pT/vT6XCKuTxl1Km1h1a8vjLiuAFtGBkSCToVFoC2mpYNzqd/I73SIymeFfNAoJsEkrsPUSM4ILAOCqcxrCYzI0HL9CdJighk80Gtk55VHQhY+p+uCnL2/Yi4U9zZudsBcLaRvpTlDb44=; 5:9QwpdzXXprhxVrOZcp3MlbAYiihEke2xdXzj03oswsNDLFfi4st/JziUAUXR1u6S/rjMbJXjo+rGb1vZZhxPQrxgtJTKrOf/fZh0T3Y0ApV9A0VIiOELy/jJLmHMASSgx1tmBR7UIiGWem6q8WoD9hNdFnf/nCvFJ9er/JD/J/o=; 24:n2PyyRZl5S+6BX+rOELDaaJDlKDLMPoL3+98EHGUdNhrjW2/b4kf3RdHNSzhZkjZnL+I/DBvNo/JG2x8Lw1bh9gim0SAoXYcef1sKnKwsgM=; 7:Wt3VgtYyyBUKMek5MqDrKrVx4owjXbtWkIcm6QEYLwHMaaT2fw49rdX1lT4B6ZurGI17eTPDO8A4dvpQV4AVWJOWqu9ycF+Koibp3wfGBjcedPQZ6BTWPDNDV9JgmXzBej4GVbi4O7X++pdItVIYEu/8ZghSgafoyIO1YTa7myOA56V0gb5N/vK8Z+0DfukinNCdj2UpOc9TlMYg/WOQEeUFlPZGhYe8Hm02588ICxFCAm9CIT+NlLYipsoIWgxJ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2018 13:01:38.6830 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9ac8c078-23cd-4abb-8c66-08d551e0f63d X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2355 Sender: linux-pwm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pwm@vger.kernel.org On a imx6q-cubox-i board, which has an LED driven by PWM, when the system goes into suspend the PWM block is disabled by default, then the PWM pin goes to logic level zero and turn on the LED during suspend, which is not really the behaviour we want to see. By keeping the PWM enabled during suspend via STOPEN bit, the pwm-leds driver sets the brightness to zero in suspend and then the LED is turned off as expected. So always set the STOPEN to fix the PWM behaviour in suspend. Signed-off-by: Fabio Estevam --- Hi Thierry, Resending it in the hope we can still get this in for 4.16. Please not that STOPEN is also unconditionally set in vendor's kernel: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/arch/arm/plat-mxc/pwm.c?h=imx_3.0.35_4.1.0#n106 drivers/pwm/pwm-imx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c index 2ba5c3a..08cbe81 100644 --- a/drivers/pwm/pwm-imx.c +++ b/drivers/pwm/pwm-imx.c @@ -35,6 +35,7 @@ #define MX3_PWMSAR 0x0C /* PWM Sample Register */ #define MX3_PWMPR 0x10 /* PWM Period Register */ #define MX3_PWMCR_PRESCALER(x) ((((x) - 1) & 0xFFF) << 4) +#define MX3_PWMCR_STOPEN (1 << 25) #define MX3_PWMCR_DOZEEN (1 << 24) #define MX3_PWMCR_WAITEN (1 << 23) #define MX3_PWMCR_DBGEN (1 << 22) @@ -210,7 +211,7 @@ static int imx_pwm_apply_v2(struct pwm_chip *chip, struct pwm_device *pwm, writel(period_cycles, imx->mmio_base + MX3_PWMPR); cr = MX3_PWMCR_PRESCALER(prescale) | - MX3_PWMCR_DOZEEN | MX3_PWMCR_WAITEN | + MX3_PWMCR_STOPEN | MX3_PWMCR_DOZEEN | MX3_PWMCR_WAITEN | MX3_PWMCR_DBGEN | MX3_PWMCR_CLKSRC_IPG_HIGH | MX3_PWMCR_EN;