Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp914246yba; Thu, 9 May 2019 07:54:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqzJVRfvlQFlc7QAFsAk6/gJoBmI7MVRfB4bh/07vYP2slK9B9+ewJK5+0hWPlb2HG2a7Gam X-Received: by 2002:a63:6ac1:: with SMTP id f184mr6203794pgc.25.1557413644366; Thu, 09 May 2019 07:54:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557413644; cv=none; d=google.com; s=arc-20160816; b=doAqjTePwGWATm0jp/KPfGf7wszBOAeze7YzQPk6XL6dERm0/z584vzKoMXeKivFHL AevVhnlklWW5cidbcjVjzkzundFNs5iBHL4SPJqsGkEM3RtKlr4CIsmTfb+zYm4jLH7x Y8GhRX5wmpTd+Unrk6sgTJpJVnPNztmZpk+74RKuBJVip9y68ux3Y7VDkxKPazIgjGo7 DZ04HaYJ7LhU+IIIlbD9yfVDXdGav2ngZ5lWJpwYz5cW6YowiZFtk1TYslh5AKa1Sj0r rw1A5SgLxp+PQKVMcPiEVCelA4kVb1ybCIUiLtMdlJQfiMnGe4Wc6AspQf5U24vT39qZ cyXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=a1mSEvBcWliyo5EhRJMQRVCOMthYdHYHBHHuPNvU0UM=; b=pB8NbvlbLH+ulnv/XWiZvRqcvhIeT0SCqN7s617OuOW3Ay5xHrE52oxhEPVlwuePin z/ep63vJMJJj/hWm73GEqu1C1MRxMZhHQViuww0qwd2EU5eBxFlyH2YSZBC77GiSmFp8 DSIzI10uEGDBeEy1oGcmee99ZUOTNuyYQZcYHEeisIMzpFPwYMXrRNtlJQgxH3z+/dfD 1+muabuNf9ci4aO7GHXwClfjj8IoXFLbZZkDWL6HH87Xll/bj2RbdRByHDfRkdNdm5FB tua4ZUheCYoB+ZIV94WdrOhDdJPE7SPwrELDJ6rXvUAWg8N9rTVZm+o3wPcJ/BkxwreJ xQCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=M+FN6B2M; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x12si3557642pgg.531.2019.05.09.07.53.46; Thu, 09 May 2019 07:54:04 -0700 (PDT) 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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=M+FN6B2M; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726828AbfEIOwq (ORCPT + 99 others); Thu, 9 May 2019 10:52:46 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:55566 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726234AbfEIOwq (ORCPT ); Thu, 9 May 2019 10:52:46 -0400 Received: by mail-wm1-f66.google.com with SMTP id y2so3614100wmi.5; Thu, 09 May 2019 07:52:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=a1mSEvBcWliyo5EhRJMQRVCOMthYdHYHBHHuPNvU0UM=; b=M+FN6B2MBKrB5K/MgMp3XiZNG9lhFHskRCTbyo1lnz1UAF+MtV1rCwKd3IToZ7cDCi m7PjLF6yq03pWdrfNCH4LX7l4qajtgiwGCMG8y//ebtsMFdHa6fnCjSHuPv+XUbADhoq VxiEnfykY/466xARZrXlh9gPjPprdd0SanmtndoJlAkd8A6JsCBTjla8dEXb+9gO1Nw+ C/lDlI1LF0Mp4Adm9rv4O2h9XbdX5t3W4c3/sscyBUFDepwtbriOdCaPFTx2Rx28oqUZ 8gS9YGUKz5pn2AZo4s3fHOisxtM/53DmP/1g0jGEJDcKppw+zDSr7eKnHreaXzeU1TIV LS2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=a1mSEvBcWliyo5EhRJMQRVCOMthYdHYHBHHuPNvU0UM=; b=UkqkS45BUv2QVuIiU0Qu3PUyihxXbNtLC3ZHgNtjk/b30jAC4CBwJMkxhoowy7XTFy YaJwRSYEQRE1n0u2ndwpTCJrhiyrAlz3Gh6JMeSK7e34ThZL4QszWKqdrWDOtlkaWo0w INd/q85pfb3jiGNY7Jl/9jpK1hsELgAXchxQeFFs6zGNRa/u6Jnf7G8r7GycLLxLcUUD g+7VQpw3Rd+rmV6nzdhecOZOqZwwmiMxtEQEdlhY8Tss25djO0BdktB0OaQlt9WSm6T7 ru7LSWLnZll+3CtgN6aPsilJSE6t0TLzlAFq5FXl9hTARJY9YFGsL6wXVnYOlmNbv+Kb k7tg== X-Gm-Message-State: APjAAAU+ALBedewPkGaBIXCRmayJopHgNEyE7Oc+MDjFb2teDLKmIqTw xaBNPIEwRl3pttuzf8ONSR1yC3jX+Ng= X-Received: by 2002:a1c:f70c:: with SMTP id v12mr3207118wmh.86.1557413564456; Thu, 09 May 2019 07:52:44 -0700 (PDT) Received: from localhost (p2E5BEF36.dip0.t-ipconnect.de. [46.91.239.54]) by smtp.gmail.com with ESMTPSA id q2sm3249998wrd.48.2019.05.09.07.52.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 09 May 2019 07:52:43 -0700 (PDT) Date: Thu, 9 May 2019 16:52:42 +0200 From: Thierry Reding To: Martin Blumenstingl Cc: linux-pwm@vger.kernel.org, linux-amlogic@lists.infradead.org, narmstrong@baylibre.com, jbrunet@baylibre.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u.kleine-koenig@pengutronix.de Subject: Re: [PATCH v2 1/1] pwm: meson: use the spin-lock only to protect register modifications Message-ID: <20190509145242.GZ8907@ulmo> References: <20190401175748.5376-1-martin.blumenstingl@googlemail.com> <20190401175748.5376-2-martin.blumenstingl@googlemail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="LvlcLv3JjFtLV6y2" Content-Disposition: inline In-Reply-To: <20190401175748.5376-2-martin.blumenstingl@googlemail.com> User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --LvlcLv3JjFtLV6y2 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Apr 01, 2019 at 07:57:48PM +0200, Martin Blumenstingl wrote: > Holding the spin-lock for all of the code in meson_pwm_apply() can > result in a "BUG: scheduling while atomic". This can happen because > clk_get_rate() (which is called from meson_pwm_calc()) may sleep. > Only hold the spin-lock when modifying registers to solve this. >=20 > The reason why we need a spin-lock in the driver is because the > REG_MISC_AB register is shared between the two channels provided by one > PWM controller. The only functions where REG_MISC_AB is modified are > meson_pwm_enable() and meson_pwm_disable() so the register reads/writes > in there need to be protected by the spin-lock. >=20 > The original code also used the spin-lock to protect the values in > struct meson_pwm_channel. This could be necessary if two consumers can > use the same PWM channel. However, PWM core doesn't allow this so we > don't need to protect the values in struct meson_pwm_channel with a > lock. >=20 > Fixes: 211ed630753d2f ("pwm: Add support for Meson PWM Controller") > Signed-off-by: Martin Blumenstingl > Reviewed-by: Uwe Kleine-K=C3=B6nig > --- > drivers/pwm/pwm-meson.c | 25 +++++++++++++++++-------- > 1 file changed, 17 insertions(+), 8 deletions(-) Applied, thanks. Thierry --LvlcLv3JjFtLV6y2 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlzUPrkACgkQ3SOs138+ s6EbQQ//cCrVsIOMfus+LS3hL9db6Yhpor2moT9YI9tTtoyGZjgbCupOilKeMqDu jj5vflVwl/AWtW6okavjVj+xaUaUxNxHxm9Nx2yWwDo4fmhZ5BcRhg0O4bfo55eY ED1NvERiM9P5TCCsnakPJxc/VVUt9voqU0C7TR6CzxlucTUAn84GtQNhdyMKJV4Y 3XHr2fYynP3UJbv/WXXSoIO4VPNOHO9/c/FkdPN+51lbum1pxeUXOB4OIqEzSwCh Y175JhoOMqt7nKy5AnWWm20IpgEOA7MT4/gZDOkeyVni2FzGeHFeA3w41fwdQnl6 aM7mClWdYGY5WqDLpe+8GOhTD+LeNxlLsSPoo6H5M+YahDDULYoX2f0QT2U1UiX7 MFMTjDy2gNWfPdO1y+ynScbFVW6VCuczmOelwMdQdWEf5U7kYxED7zNHDJGmemE8 tQ0vuLZEDPqctCwACswaDYagHgDBFPD575sqJmf5FvA7aMedjFlNNamfK5t1rB/s lrgYobMqhatckbeeMUVBVipxtL6N6MYbfM8pFO1GULGnC5u9q8plRGsB+X0na0in gk9+9DAYpQgrkXRsKG0McHbvEWGckogX3FbckxivAj0wRnQwSM/cgswcHGwJs3GR ZfJBEEqf8UAEQSQPu+gpHm5py7KWRO/taKr98J4unhGfNzh9mow= =HHny -----END PGP SIGNATURE----- --LvlcLv3JjFtLV6y2--