From patchwork Fri Mar 9 11:24:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshihiro Shimoda X-Patchwork-Id: 883571 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=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=renesas.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=renesasgroup.onmicrosoft.com header.i=@renesasgroup.onmicrosoft.com header.b="HM8OGXHc"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zyQ5B2dfbz9sbF for ; Fri, 9 Mar 2018 22:24:30 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751033AbeCILY3 (ORCPT ); Fri, 9 Mar 2018 06:24:29 -0500 Received: from relmlor2.renesas.com ([210.160.252.172]:33244 "EHLO relmlie1.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751008AbeCILY1 (ORCPT ); Fri, 9 Mar 2018 06:24:27 -0500 Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie1.idc.renesas.com with ESMTP; 09 Mar 2018 20:24:24 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 5850B77B8A; Fri, 9 Mar 2018 20:24:25 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.47,445,1515423600"; d="scan'208";a="273333645" Received: from mail-hk2apc01lp0216.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.216]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-GCM-SHA384; 09 Mar 2018 20:24:24 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=IUXCMyltiyPJ7gAeYfcdfhAIHK1L8yyP/FP5eOm6scg=; b=HM8OGXHcoft33V0hujC/fbJKYGefQCbSOd1oXwdvMt2mdyvl58qRL7F71QehwUzmqnxgp9nJH5wEL4YqFMGuKxOS9ZN4ddFzA8smhCVqSkUgQsIIVHCriVGbAEbDHdhQCyhexO8HWGDua3cG8M8d6MvgkIMfr0To1BXCoat/wx4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; Received: from localhost.localdomain (211.11.155.138) by SG2PR06MB0984.apcprd06.prod.outlook.com (2a01:111:e400:5213::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Fri, 9 Mar 2018 11:24:20 +0000 From: Yoshihiro Shimoda To: thierry.reding@gmail.com Cc: ryo.kodama.vz@renesas.com, linux-pwm@vger.kernel.org, stable@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Yoshihiro Shimoda Subject: [PATCH] pwm: rcar: fix a condition to prevent mismatch value setting to duty Date: Fri, 9 Mar 2018 20:24:21 +0900 Message-Id: <1520594661-6897-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: TY1PR01CA0143.jpnprd01.prod.outlook.com (2603:1096:402:1::19) To SG2PR06MB0984.apcprd06.prod.outlook.com (2a01:111:e400:5213::26) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ec943357-c319-4304-46a2-08d585b04de8 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(4534165)(4627221)(201703031133081)(2017052603328)(7153060)(7193020); SRVR:SG2PR06MB0984; X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0984; 3:dVd5GAocwfDCMUQ2DdZA9mOI6+u9tWHlQ2LaDeKWPS+/OaGR0EoCgOUDIWzuBz8V2x2Vm4LkfF7onbeeYyZNrVIu6uVREfG/iJWfMblESLDJR5Pj5SpD819n5u7ZxBzAMnA+UKIKnRl2B+Fda7GMp/oAzFc9SDq32WIv+zaAkFLV+lHsmJuOgSAQHQlcNSQCiqasQdGWXoKH+IHlGNWHRoV7UrcbcnPtvOdnjluwepVsI5K3h7v0x5hl+QoTMx2l; 25:L40Y/Q3nFs4hFXDoCBDGaxAuDccaN9qwQm8G3a3fYI0BHIC3TNng/E9B2EvL9s6Bo7P66UHLKc7AtbKWGxDomvmgk/35iSFD63o0eYPwaeAu/A2R/dXe4yLm2JjjQZ75zsr83HoMXxf/rfPLheLhRkD3laUTnIqE1tK7diQPrmuM5ML3r7dHhGkISmFlX/97ZSPtJVXFhdqLDGRYphHDVgc2PGLjwk0aevwcRHa3AH1WeKrTQbHkUiScmJbetek2/SldtQxcLXGyuztZIli5VKVTbucC7TqtOCcKFVnCiR6LXHSXLNVXVvW/05jIdh7cyyJlr9mbjDgAgc6ZFLT5tQ==; 31:7l9NdFU9pgg+2+lf47OivkxjOSnR/pbGK7lAQ7WV1eGx/0t0pOr3Zt2Ev3tTTQgSk8qm+76aYVKO3Xa3/A+KYvzGYsE36g6cFVs05d+kAIRhne1+r+VnNFXuOnYP2bpj6fi/GfZlSTo1RaJlRURBAHIIW9h7C+yDQNjWw9JjLRjn9wzr9xWhNjleOSXot2O/8U0TCaH4gYaSazCMS+XR+ZnyXan74RfQo+y0+zds0ng= X-MS-TrafficTypeDiagnostic: SG2PR06MB0984: X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0984; 20:lMTl86fINAvvXIq3I5mf7hR4k52fLvpBtXoy+YV1OhbRuGAQCUVZWo51gOMgnNiDCxJd/lpHALYr80br03NjfoTtNK5aHTPL2IF8nQ4t1HLvcbJZSxjxpmHaLzsoWwS15MVfjre9qa702zdsicVo/LaKi5xUv/YGPW3ZmpLUATgaieEtS9BYUnynRKgDihqAijd5zQAxIIgP/pt1enH2ftjuRKmkWOaTfKjzPIbcoJpObimJjPu+NAqVWfWMtA676vW32623dtYKxLIZaAgtuy6Aa0sKt/vEUG/k+PIEvYH+G3m7QERiHIA+r7ttw6Mw3SQyJDVOYgH1+f37iHzrF7F9SXL1z8VT+f634GM77WKvuma/JW4gyA3ADmeXd1MKpA1imTDGLeTDa9iaUljjJ9+SlLseHvoccqdbyyoS6lpZZFXclWloahnffEfrjHkPZ7AjvnkLQPJBPjR5R7GHYTJ8VRsw8rWk3AjKI6YKnvu+L0PALYHZfkiKJo3mn/27; 4:V7d+80tLdfwEbBM2ODGeflY0E182ULrqZSS5AS1GM1LXsDrU55kXUu3B4q9FjkqEd5NdN/uHq2qkAtvOlgbeOtqiAl0yUq6nMwSQR9hKCNKXsCr1xiKinuQNeP1LZRKyGoTZKnhBFa/VA5hQKlYHeTFZeCJp3JI7lTeFqdGpa8Q8KzcshWW2nLNbhujaBHR1bOOzX6zVrBD7eQ/OCozUgA26L7o3BTt6PevLEK6Uc08zUfuBYiWdu6wQxzVxwTsuFsBJ2CQJzmsWAluw98qWjBxiz2Alf3/aGcyfICwzCBPP35ltDkLCy8B9HHGWTJ1G X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(9452136761055); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(10201501046)(3231220)(944501244)(52105095)(6055026)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061750153)(20161123560045)(20161123564045)(6072148)(201708071742011); SRVR:SG2PR06MB0984; BCL:0; PCL:0; RULEID:; SRVR:SG2PR06MB0984; X-Forefront-PRVS: 0606BBEB39 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6069001)(366004)(396003)(39860400002)(39380400002)(346002)(376002)(199004)(189003)(106356001)(2351001)(2361001)(6512007)(6486002)(68736007)(53936002)(25786009)(26005)(16526019)(1857600001)(59450400001)(6506007)(386003)(39060400002)(4326008)(36756003)(305945005)(7736002)(2906002)(5660300001)(42882007)(6116002)(3846002)(105586002)(50466002)(48376002)(51416003)(8936002)(78352004)(8676002)(81166006)(81156014)(47776003)(66066001)(50226002)(107886003)(97736004)(52116002)(16586007)(6916009)(498600001)(316002)(3720700003); DIR:OUT; SFP:1102; SCL:1; SRVR:SG2PR06MB0984; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:0; MX:0; LANG:en; Received-SPF: None (protection.outlook.com: localhost.localdomain does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0984; 23:6wPpVUfywVescc7pH6jYN5Ih3uemCiXHewoW33Vr5vcx7xNM5k69Lt91TAe1v0JdzdtWIE800ovwhbxvN5uK0iTWl0u2aPT5vFfP49ElBcNG8jiErPz3ertSAe0j36MLOJkvX7dzYv7htOCP9LNPVd5aFBdqeyVW82P4tsOkUK+t5mJLeODto2O4K0lzQnScyaB3A7LrE+tgDgbyAGhL2HmFSQecgDN3LYYgFaXK4HrsDEgTC7KLdL2cCXLzfWAAUgjZTyy7nTS1rLO2E83vxz4PBLlcqw4ueY0ixpGv1IX0d4Qn7Dmw697CASrP+bfPHpC2uliJ8h7u5X1aXD7iAJmzKnnbVJ/AVe15QudtVFttWha8GqLa3lNXZRo/WwuyIlsnwYlU100oRfmIGr1VQx1iNAXel+zH4xpEgqOFdA64evUQB4v++Ufwmv55eZS5g0P5tJdFULffYnev6hCjP/OfDGN6BUM7YgQtlyB/7g6BKjRoNoBOHg6cOjyKTY+XvxMZWHLFhvzH7OLz5ha/wmovEQsRcoh0IXvl5xUY2om3Wz1ae6Zv6Mjia5MdqyYEEHaicpvyF0lxYXXotfZb0q7vHNLuyLQtrrbHpLX4IjoBUUEP16FNjU8Px1B+3SUeNY81/5rSMDNbXFsg06hcNqksFnNnXXrkZyOjSYPzTCBiIP8ipCItVuQ+jfmgfaLQDFgIANPdugqeoEr//aZ0vzOLmPSjWiM9OLi7iQoa0SReQlKrht4qRhEHvdXhlB2FUdh2vqJYtQpLRdHaqRxosLL4OsPgQu6CDcnSvFtuO/B/pr0CzJyKIuV8RseeGFDDa/l+lf5n5inxgf4/3PNn63TlxCKYcDrMWTcEGJ2f6/vYmJWFVRqv6YT7t8RpjluQe5kNT3iGGWEnoEZ8kNM/YROxxubOb6cJC9o63R+GrOEazLDWdQCgoJU/Iil9eRTIpvO6RJqXJPG3nNfsdzv37UKQaq7wIYAyAnPgkEQmO5kVOf9vTU4FwUCSPnJB/aZl0TovGLfu+lDE8FzGzB0KhCFAuimseFpV/gtHwQZOFjpOnsTu0XM3s1bTvLhDBI8mei9n/x6EUQSaIiUkBuRRNtOvlIjQ739DLifo8T5jyq8acZxvfID7Kqi28j3BGcPVelNYAt77I2AsE43XFbsvGarScSQCUV+XRhWxNK/g40tQese/0Hr1323mibove+H7St7Dmo39LlHExNddv94N+w== X-Microsoft-Antispam-Message-Info: N722NDzB+oXk5XCoXAWLb+dhGw44nnH34/ZdXUH9l+zhtkUu88L/0keh6+edPidA9F0wdiYom+AgfGHfBCEClYFJDf/fP3QV0k+u3c4v5oOXeETNcU9kUq87nigkTW0ikjctE+JTooBEvvPPUJRXWychzRlzOmyrtsfZOkc5vj7/dAlZSV6zm79GuQot5mFt X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0984; 6:nQeqUiguQREnmOg77IinbKVt2N2xJNuXSGd+H6iHE4plDcGHHXzv+sHuU1V2nr1/1sFyqZmFddWfTiQvYPHSUaRmwpI3Hu+uJji3MBjD483SSdToRVjOt63NoHvHLaHoJBw76RUH/2p+RDI8cW1XX8SDzJyDw64iIndTIEJGKjZBegM0l9abGNUxZyRq9O9uczBrxMsoG7Bhrs6KneMIeAfRsQqxd/nGSSsR5EWmmZ8TLEmzADaP3a5mPReHu3Rhu7prjMVXRZswBrKpCaa8DSq/hoz8fPejo02AqPyQVwGtkDiNimjkGiI2pavjRv2Pvq0AAnvJRHNinyKSy2EdshLwy8uxSCz4u/KT82JOxwc=; 5:SdxTQhH8QuHN4MtGVci6ePpsSiAAFa7tuwiCkIpoRP7K0R1YQD137c7xuvfi+sv43dFYxG4n1WaHEfHl0sjqTxkSbCR1H7DF3flz+78iyjLDi0TjjzlsP4SkP9kRBIRtppRfALPZRfAWAgfRKv9y7gK+WFP86ump8WmWQHaiKl0=; 24:StIG/9NlF5EAeQphCzrllvU2TvFN8O7ciaP6El6Sbx8fU/qOSF8OTvbwveefz2dbmmiOJVddv1Q3VQujGuE4b2w1HdK9N7eMluL0XNA73SQ=; 7:wokqpmJ+byzvyMYrevhIPjlLDM6DQqT1mRQjuMqosi3uosYYoRDb2KMCK/oKfXVvgakd4iPipkTWjrlxKneyCy5jR49ee62eklevgTVdaJBxixj+TyBoF459n5K0ccsfCfnTjn/h1IJjgL+AuZWjjzEd5dSjEiz7Kk13qjgy4xC7E0A3KLNa+2UlTuw7NmDHq14z34Q/Roy7EX37/qELdpFfofxeT7lRldc1ac8m0DZsTfRM097ezplTW9mdXWvO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0984; 20:/V+sRhzO3UPX3n/Zb4E7TrhKeQxtPc0kBP4G/R3WZszxwkG7InvYMGqdSwjFVkkWdOihkY07gF91I7xJwkbvvhOCN/iOS4fAvzg+Ws2mvRBaxjQpAIfCGYiY3iN3yZZkeMvf2hNF0vxMOn3dQtbvH2EyyslmKFPKNziMzYc7kTQ= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2018 11:24:20.4505 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ec943357-c319-4304-46a2-08d585b04de8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB0984 Sender: linux-pwm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pwm@vger.kernel.org From: Ryo Kodama This patch fixes an issue that is possible to set mismatch value to duty for R-Car PWM if we input the following commands: # cd /sys/class/pwm// # echo 0 > export # cd pwm0 # echo 30 > period # echo 30 > duty_cycle # echo 0 > duty_cycle # cat duty_cycle 0 # echo 1 > enable --> Then, the actual duty_cycle is 30, not 0. So, this patch adds a condition into rcar_pwm_config() to fix this issue. Signed-off-by: Ryo Kodama [shimoda: revise the commit log and add Fixes and Cc tags] Fixes: ed6c1476bf7f ("pwm: Add support for R-Car PWM Timer") Cc: Cc: # v4.4+ Signed-off-by: Yoshihiro Shimoda --- drivers/pwm/pwm-rcar.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/pwm/pwm-rcar.c b/drivers/pwm/pwm-rcar.c index 1c85ecc..0fcf94f 100644 --- a/drivers/pwm/pwm-rcar.c +++ b/drivers/pwm/pwm-rcar.c @@ -156,8 +156,12 @@ static int rcar_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, if (div < 0) return div; - /* Let the core driver set pwm->period if disabled and duty_ns == 0 */ - if (!pwm_is_enabled(pwm) && !duty_ns) + /* + * Let the core driver set pwm->period if disabled and duty_ns == 0. + * But, this driver should prevent to set the new duty_ns if current + * duty_cycle is not set + */ + if (!pwm_is_enabled(pwm) && !duty_ns && !pwm->state.duty_cycle) return 0; rcar_pwm_update(rp, RCAR_PWMCR_SYNC, RCAR_PWMCR_SYNC, RCAR_PWMCR);