Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2990671imu; Sun, 9 Dec 2018 14:28:23 -0800 (PST) X-Google-Smtp-Source: AFSGD/XOP+SS3ixQW48WikeavOfwARlUqDEZE5x3NHd4GaVtom60tu3xRfTlemcbigw/E05zmsnD X-Received: by 2002:a17:902:1126:: with SMTP id d35mr9272567pla.1.1544394503045; Sun, 09 Dec 2018 14:28:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544394503; cv=none; d=google.com; s=arc-20160816; b=ddBYyXtQDuux5iA+rUMx/TbFTWonVMvSm8c86aNTgfW8jWfgmVcs38JHuweK/VmPub QZsWyMo7IGdnxlz4yZTUdo7tHudzj+q9zQ6hkGDXCSqCmXemUNb1CBJV7so30Sy9s6k9 zGdq4ml26Mv35XOKymk8rq8haWt2Fxq3NyBJISF2Nnnvuok3BOBF3O9FbhBcCEL6IOk7 Wff9Z/daWKzc9paCbdWixXt+xIknhWgYOFsHh/rXlGDH3Y0Ud42kClm1KFKnC8DQicFQ l+o3qCrM30lNPotT9ExmefqBatqdFbkxM+MAA30FiapYyHPtE99rPTdmgHkBaBT9BSY0 /r+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=V0ddVCPuARBmkqTLitbyq6l1dKHUO0UmRdaQAJMalO4=; b=gcByYVVk8YUlyfoPckRfReaBN8IwinfLzF83KJ4K5uu1tDrCD+ieAYJPScwn5cPOhv HbMaq43e33rno7OYHjckDMpn6vovLJ2rLOVuYT9edNa5uSqQsbioWqs4MwF6t+AB96wh jt3IBYK5ZpNA/uc9DYzmM5ECoZYXmjRE4eY4AKm/sT4TydW/NXZ0gSjxwffZvjRaMHKe qRfgfTA3W2L4113M9JDofnWW3QGUSH3DWnDBshuJOMbr9SA2POnc/UxGJNHdUJtJIqF0 cnYtBNo38z1bwm2dBQZqsQlLXoPA4Fh/qyJSNvbWZHbrm9KSREH+7ONhX6nOFSfz+YkA 9yoQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g5si8355747plt.273.2018.12.09.14.28.08; Sun, 09 Dec 2018 14:28:23 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728787AbeLIW0j (ORCPT + 99 others); Sun, 9 Dec 2018 17:26:39 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:34710 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726394AbeLIVzN (ORCPT ); Sun, 9 Dec 2018 16:55:13 -0500 Received: from pub.yeoldevic.com ([81.174.156.145] helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gW72b-0002ir-M5; Sun, 09 Dec 2018 21:55:09 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gW72Z-0003Ep-5d; Sun, 09 Dec 2018 21:55:07 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Thierry Reding" , "Vignesh R" Date: Sun, 09 Dec 2018 21:50:33 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 034/328] pwm: tiehrpwm: Fix disabling of output of PWMs In-Reply-To: X-SA-Exim-Connect-IP: 81.174.156.145 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.62-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Vignesh R commit 38dabd91ff0bde33352ca3cc65ef515599b77a05 upstream. pwm-tiehrpwm driver disables PWM output by putting it in low output state via active AQCSFRC register in ehrpwm_pwm_disable(). But, the AQCSFRC shadow register is not updated. Therefore, when shadow AQCSFRC register is re-enabled in ehrpwm_pwm_enable() (say to enable second PWM output), previous settings are lost as shadow register value is loaded into active register. This results in things like PWMA getting enabled automatically, when PWMB is enabled and vice versa. Fix this by updating AQCSFRC shadow register as well during ehrpwm_pwm_disable(). Fixes: 19891b20e7c2 ("pwm: pwm-tiehrpwm: PWM driver support for EHRPWM") Signed-off-by: Vignesh R Signed-off-by: Thierry Reding Signed-off-by: Ben Hutchings --- drivers/pwm/pwm-tiehrpwm.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/pwm/pwm-tiehrpwm.c +++ b/drivers/pwm/pwm-tiehrpwm.c @@ -378,6 +378,8 @@ static void ehrpwm_pwm_disable(struct pw aqcsfrc_mask = AQCSFRC_CSFA_MASK; } + /* Update shadow register first before modifying active register */ + ehrpwm_modify(pc->mmio_base, AQCSFRC, aqcsfrc_mask, aqcsfrc_val); /* * Changes to immediate action on Action Qualifier. This puts * Action Qualifier control on PWM output from next TBCLK