From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C2843CF042E for ; Wed, 9 Oct 2024 02:02:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=foI8pHzGkBAVELbTQPq3v4rUIZ60X3ygQWrpfbKRFmg=; b=WhmMrN+dEGEX3iw2neh/EzTlbB cJ4SA8l+dcnb3ONt0P8CQSu+czw1mFpMuGG1W82+SwiCFNopaxbjbTo4VYZAYVLKEcuyMwl+dPaUZ 0ORwQUS8zOupjs7cz1TMNYzB+ptYeK7Zp+5aWhJpTGQxtlf+ED1IPEQFshw6rASJkX3MHYdElo3d0 1IdNmWbLsAzkYoUJ40ABad3dsRXLwLPvBUxlxl5QSp2BgZ/pRUDBfa2uxCbxfq8nlBTxpaTaKH6HC d7MCqT5MrM/gKEP7K6DcodwnO0+YCkMTPvOr6QnMJhmykHLcdMFWc47+JZ2eW+KghV99Ydv/KDwox zyxpwx7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1syM25-00000007gQg-3bEb; Wed, 09 Oct 2024 02:02:33 +0000 Received: from phobos.denx.de ([85.214.62.61]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1syLvu-00000007eyH-25E2 for linux-arm-kernel@lists.infradead.org; Wed, 09 Oct 2024 01:56:12 +0000 Received: from [127.0.0.1] (p578adb1c.dip0.t-ipconnect.de [87.138.219.28]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id C7544890A9; Wed, 9 Oct 2024 03:56:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1728438969; bh=foI8pHzGkBAVELbTQPq3v4rUIZ60X3ygQWrpfbKRFmg=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=ZgQdKmFrPp2tX1f0mxzJuZO9GmAdxGd24n4bGthoBke6g2sZdA0CPa/jrRowX5WCf +8rav+Q20u/DNPaPcHa80Ulyr+UAZ/MwZWP6z26n2KzlG+amnbpvvyQXgOBpIIUGj7 uPPVNNCFNbhuWFwx0Uc/4Rc62Y6xuLlLAmHeVApPO0b+jiZ6RqXBMQskeY5BA8cDQT KDCVhEgLD8ML+vu8XzYh32W/zIRRfGFnEUj/Z3LIu8eMl2zRNMpoF6LBn4p8WZwgax VCV851hpn6Ji4DMVyBjsbCsRoNtI4Es5vsIV8AivzmysP9WcC/aItdWKIBG74V6S/q borbxpd3+lEjw== Message-ID: <41cc47bd-f18f-463b-a0dc-843088ecf91e@denx.de> Date: Wed, 9 Oct 2024 03:55:35 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v8 1/1] pwm: imx27: workaround of the pwm output bug when decrease the duty cycle To: Frank Li , u.kleine-koenig@baylibre.com Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, festevam@gmail.com, francesco@dolcini.it, imx@lists.linux.dev, jun.li@nxp.com, kernel@pengutronix.de, krzk+dt@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pwm@vger.kernel.org, p.zabel@pengutronix.de, pratikmanvar09@gmail.com, robh@kernel.org, s.hauer@pengutronix.de, shawnguo@kernel.org, xiaoning.wang@nxp.com References: <20241008194123.1943141-1-Frank.Li@nxp.com> Content-Language: en-US From: Marek Vasut In-Reply-To: <20241008194123.1943141-1-Frank.Li@nxp.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241008_185610_767483_B352AC8E X-CRM114-Status: UNSURE ( 6.42 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 10/8/24 9:41 PM, Frank Li wrote: [...] > + c = clkrate * 1500; > + do_div(c, NSEC_PER_SEC); > + > + local_irq_save(flags); > + val = FIELD_GET(MX3_PWMSR_FIFOAV, readl_relaxed(imx->mmio_base + MX3_PWMSR)); > + > + if (duty_cycles < imx->duty_cycle && (cr & MX3_PWMCR_EN)) { I think you can use state->enabled instead of (cr & MX3_PWMCR_EN).