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 7DD03CD5BB1 for ; Sat, 23 May 2026 10:23:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id: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=5lDCbxsYrAeZLVGBSeBT4CIH04ausWlD1pxKxDqLnvY=; b=hVZn1SzUjRdBgM 3DYHvV1++oUXxdXxnq+LmiRo5ND5VU2vlJT8MbI+O28x5s8AI2nXmXXfngHE5dRblN9epy/D5pXx0 SO3TXP7skMiFyradmKj3MG4Zfchsm0keR27sgHk9/NzfQQP1ddu0QFS13B2cWq20QG2ZOcdktf9qI bpbpt/m8OxQFziGfkUPxk16CMy20197K4ALmAu4RSbamyQ4qTQIeX+k+TJLGFAlcg9zm4iUNIPYVE EXgx23I9eAZgzfEYuSgJ1q30oaBD1ldPsCQaACxqSNFWPq6xNOXg2uOA65qdST4qaheIcMwFtyxgQ ofI3IvstvZ3lSl5n2Iiw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wQjWA-0000000D5RD-2Hjw; Sat, 23 May 2026 10:23:42 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wQjW7-0000000D5Qc-1laM for linux-i3c@lists.infradead.org; Sat, 23 May 2026 10:23:41 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 711FE409AD; Sat, 23 May 2026 10:23:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CBB6F1F000E9; Sat, 23 May 2026 10:23:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779531818; bh=ICIzDyBoCehYoL8IVnENyKvYnUKscdQTwuLa+4IjgWE=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=UUI+XjhocYOZg9w8yfBxLG7CypFp6LwNDdDHYtsNEePdLV66uwNKYuuXATIGLORXK sqAULjsaV2fydSlAEAMlelpXUm/GEsIxhsxlP9oVPsy/5HwNfIm67K8xqGtTd567D3 +P5eo7DgBZyXbMCmYtDeP9yVjxeoSnZrSXVIX5bNC5DjbcApAe/uJ490oHTJAD2Bz4 dcBcL/UIROHnn0UvUELZEgi93RLq6T3idD6MaGvYHoJisgelSweCK1Ydu5CGEVBmaf QSaEn8Wkl2keJlYZHDoFP2TZWmpz0gxohL5L47+99DHe21HfBiejmuW65QnZO2vJnu B7Wuu7PwLDbZQ== Message-ID: <8f1cd05b-b866-47ac-8ef4-e5e607247cf7@kernel.org> Date: Sat, 23 May 2026 13:23:33 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 17/17] i3c: renesas: Add runtime PM support To: Frank Li Cc: wsa+renesas@sang-engineering.com, tommaso.merciai.xr@bp.renesas.com, alexandre.belloni@bootlin.com, p.zabel@pengutronix.de, claudiu.beznea@tuxon.dev, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Claudiu Beznea , "geert+renesas@glider.be" References: <20260522101815.1722909-1-claudiu.beznea@kernel.org> <20260522101815.1722909-18-claudiu.beznea@kernel.org> Content-Language: en-US From: Claudiu Beznea In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260523_032339_506484_E22EDC97 X-CRM114-Status: GOOD ( 24.10 ) X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org CgpPbiA1LzIyLzI2IDIzOjAxLCBGcmFuayBMaSB3cm90ZToKPiBPbiBGcmksIE1heSAyMiwgMjAy NiBhdCAwMToxODoxNVBNICswMzAwLCBDbGF1ZGl1IEJlem5lYSB3cm90ZToKPj4gRnJvbTogQ2xh dWRpdSBCZXpuZWEgPGNsYXVkaXUuYmV6bmVhLnVqQGJwLnJlbmVzYXMuY29tPgo+Pgo+PiBPbiB0 aGUgU29DcyB3aGVyZSB0aGUgUmVuZXNhcyBJM0MgZHJpdmVyIGlzIGVuYWJsZWQgKFJaL0czUyBh bmQgUlovRzNFKSwKPj4gdGhlIGNsb2NrcyBvZiB0aGUgSVAgYXJlIG1hbmFnZWQgdGhyb3VnaCBh IGNsb2NrIFBNIGRvbWFpbi4gVG8ga2VlcCB0aGUKPj4gSTNDIGNvZGUgc2ltcGxlciwgdGhlIGV4 cGxpY2l0IGNsb2NrIGhhbmRsaW5nIHdhcyBkcm9wcGVkIGFsb25nIHdpdGggdGhlCj4+IGFkZGl0 aW9uIG9mIHJ1bnRpbWUgUE0gc3VwcG9ydCwgaW4gZmF2b3Igb2YgdGhlIHJ1bnRpbWUgUE0gQVBJ cy4gT25seSB0aGUKPj4gY29kZSBmb3IgZ2V0dGluZyB0Y2xrIHdhcyBwcmVzZXJ2ZWQsIGFzIGl0 IGlzIG5lY2Vzc2FyeSB0byBjb21wdXRlIHRoZQo+PiBJM0MgY2xvY2sgcmF0ZS4KPj4KPj4gQWxs IHRoZSBBUElzIHByb3ZpZGVkIHRvIHRoZSBJM0Mgc3Vic3lzdGVtIHRocm91Z2ggc3RydWN0Cj4+ IGkzY19tYXN0ZXJfY29udHJvbGxlcl9vcHMgYXJlIGd1YXJkZWQgd2l0aCBydW50aW1lIFBNIEFQ SXMgdG8KPj4gZW5hYmxlL2Rpc2FibGUgdGhlIGNvbnRyb2xsZXIgYXQgcnVudGltZS4KPj4KPj4g QXMgdGhlIFJlbmVzYXMgSTNDIGRyaXZlciBpbXBsZW1lbnRzIGFuIGFzeW5jaHJvbm91cyB0cmFu c21pdCBtb2RlbCBieQo+PiBwcmVwYXJpbmcgYSB0cmFuc2ZlciBhbmQgd2FpdGluZyBmb3IgaXRz IGNvbXBsZXRpb24gdGhyb3VnaCB0aGUgSVNSLAo+PiByZW5lc2FzX2kzY19hYm9ydF94ZmVyKCkg d2FzIGFkZGVkIHRvIGRpc2FibGUgaW50ZXJydXB0cyBhbmQgc3luY2hyb25pemUKPj4gSVJRcyBi ZWZvcmUgcnVudGltZSBzdXNwZW5kaW5nIHRoZSBjb250cm9sbGVyLiBGb3IgdGhpcywgdGhlIGlu dGVycnVwdHMKPj4gd2VyZSBzYXZlZCBpbiBzdHJ1Y3QgcmVuZXNhc19pM2M6OmlycXMuIEFsb25n IHdpdGggdGhpcywKPj4gcmVuZXNhc19pM2Nfd2FpdF94ZmVyKCkgcmV0dXJuIHR5cGUgd2FzIGNo YW5nZWQgdG8gdW5zaWduZWQgbG9uZy4KPj4KPj4gQWxvbmcgd2l0aCB0aGUgY2xvY2tzLCB0aGUg Y29udHJvbGxlciBwaW4gY29uZmlndXJhdGlvbiBpcyBjaGFuZ2VkCj4+IHRocm91Z2ggdGhlIHBy b3ZpZGVkICJzbGVlcCIgcGluIGNvbmZpZ3VyYXRpb24uCj4+Cj4+IEFkZCBydW50aW1lIFBNIHN1 cHBvcnQgZm9yIHRoZSBSZW5lc2FzIEkzQyBkcml2ZXIuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IENs YXVkaXUgQmV6bmVhIDxjbGF1ZGl1LmJlem5lYS51akBicC5yZW5lc2FzLmNvbT4KPj4gLS0tCj4+ ICAgZHJpdmVycy9pM2MvbWFzdGVyL3JlbmVzYXMtaTNjLmMgfCAxODMgKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCAxNTYgaW5zZXJ0aW9ucygrKSwg MjcgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2kzYy9tYXN0ZXIvcmVu ZXNhcy1pM2MuYyBiL2RyaXZlcnMvaTNjL21hc3Rlci9yZW5lc2FzLWkzYy5jCj4+IGluZGV4IGEw NzBkYjRkMjQ0MC4uM2I5ODA3YTg5YjU0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2kzYy9tYXN0 ZXIvcmVuZXNhcy1pM2MuYwo+PiArKysgYi9kcml2ZXJzL2kzYy9tYXN0ZXIvcmVuZXNhcy1pM2Mu Ywo+PiBAQCAtMjEsNyArMjEsOSBAQAo+IC4uLgo+PiAgIHN0YXRpYyBpbnQgcmVuZXNhc19pM2Nf cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gICB7Cj4+ICAgCXN0cnVjdCBy ZW5lc2FzX2kzYyAqaTNjOwo+PiBAQCAtMTM2MCwxMiArMTQ0OCwyMSBAQCBzdGF0aWMgaW50IHJl bmVzYXNfaTNjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICAgCWlmIChJ U19FUlIoaTNjLT5yZWdzKSkKPj4gICAJCXJldHVybiBQVFJfRVJSKGkzYy0+cmVncyk7Cj4+Cj4+ IC0JcmV0ID0gZGV2bV9jbGtfYnVsa19nZXRfYWxsX2VuYWJsZWQoJnBkZXYtPmRldiwgJmkzYy0+ Y2xrcyk7Cj4+IC0JaWYgKHJldCA8PSBSRU5FU0FTX0kzQ19UQ0xLX0lEWCkKPj4gLQkJcmV0dXJu IGRldl9lcnJfcHJvYmUoJnBkZXYtPmRldiwgcmV0IDwgMCA/IHJldCA6IC1FSU5WQUwsCj4+IC0J CQkJICAgICAiRmFpbGVkIHRvIGdldCBjbG9ja3MgKG5lZWQgPiAlZCwgZ290ICVkKVxuIiwKPj4g LQkJCQkgICAgIFJFTkVTQVNfSTNDX1RDTEtfSURYLCByZXQpOwo+PiAtCWkzYy0+bnVtX2Nsa3Mg PSByZXQ7Cj4gCj4geW91IGNhbiBzdGlsbCB1c2UgZGV2bV9jbGtfYnVsa19nZXRfYWxsKCksIGlm IG5lZWQgdGNsaywgeW91IGl0ZXJhdGUgY2xrcwo+IHRvIGZpbmQgJ3RjbGsnLCBpbiBjYXNlIGlu IGZ1dHVyZSwgbmVlZCBtb3JlIGNsb2NrcyB0aGFuIHRjbHMuCgpJbmRlZWQsIGJ1dCBhcyB0aGV5 IGFyZSBub3QgbmVlZGVkIGluIHRoZSBjdXJyZW50IGRyaXZlciBmb3JtLCBJIHdvdWxkIHByZWZl ciB0byAKZHJvcCBoYW5kbGluZyBib3RoIG9mIHRoZW0gYXMgdGhlIGZpbmFsIGNvZGUgbG9va3Mg c2ltcGxlci4gQXMgdGhlIGNsb2NrcyBhcmUgCmVuYWJsZWQvZGlzYWJsZWQgdGhyb3VnaCBQTSBk b21haW4sIGdldHRpbmcgcmlkIG9mIApkZXZtX2Nsa19idWxrX2dldF9hbGxfZW5hYmxlZCgpIHNp bXBsaWZpZXMgdGhlIGNvZGUsIEZNUE9WLCBpdCBkcm9wcyAxIHBvaW50ZXIgCmFuZCAxIGludC4g U28sIEkgd291bGQgbGlrZSB0byBrZWVwIGl0IGxpa2UgdGhpcyBpZiBhbGwgT0suCgpBbHNvLCBp ZiBJJ20gbm90IHdyb25nLCBHZWVydCAoaW4gY2MpIHByZWZlcnMgaGF2aW5nIHRoZSBjbG9jayBj b250cm9sbGVkIApkaXJlY3RseSB0aHJvdWdoIHBvd2VyIGRvbWFpbnMgaWYgdGhhdCBpcyBwb3Nz aWJsZS4gSSBjb25jbHVkZWQgdGhhdCBmcm9tOgoKY29tbWl0IGQzMDNjZTU5NWNhYwpBdXRob3I6 IEdlZXJ0IFV5dHRlcmhvZXZlbiA8Z2VlcnQrcmVuZXNhc0BnbGlkZXIuYmU+CkRhdGU6ICAgV2Vk IE1hciAyMCAxMTozMDowMyAyMDE5ICswMTAwCgogICAgIGkyYzogcmlpYzogQWRkIFJ1bnRpbWUg UE0gc3VwcG9ydAoKICAgICAtIFJlcGxhY2UgZXhwbGljaXQgY2xvY2sgaGFuZGxpbmcgYnkgUnVu dGltZSBQTSBjYWxscywKICAgICAgIC0gU3RyZWFtbGluZSBSdW50aW1lIFBNIGhhbmRsaW5nIGlu IGVycm9yIHBhdGhzLAogICAgICAgLSBFbmFibGUgUnVudGltZSBQTSBpbiAucHJvYmUoKSwKICAg ICAgIC0gRGlzYWJsZSBSdW50aW1lIFBNIGluIC5yZW1vdmUoKSwKICAgICAgIC0gTWFrZSBzdXJl IHRoZSBkZXZpY2UgaXMgcnVudGltZS1yZXN1bWVkIHdoZW4gZGlzYWJsaW5nIGludGVycnVwdHMg aW4KICAgICAgICAgLnJlbW92ZSgpLgoKICAgICBTaWduZWQtb2ZmLWJ5OiBHZWVydCBVeXR0ZXJo b2V2ZW4gPGdlZXJ0K3JlbmVzYXNAZ2xpZGVyLmJlPgogICAgIFJldmlld2VkLWJ5OiBOaWtsYXMg U8O2ZGVybHVuZCA8bmlrbGFzLnNvZGVybHVuZCtyZW5lc2FzQHJhZ25hdGVjaC5zZT4KICAgICBU ZXN0ZWQtYnk6IENocmlzIEJyYW5kdCA8Y2hyaXMuYnJhbmR0QHJlbmVzYXMuY29tPgogICAgIFNp Z25lZC1vZmYtYnk6IFdvbGZyYW0gU2FuZyA8d3NhQHRoZS1kcmVhbXMuZGU+Cgo+IAo+PiArCWkz Yy0+dGNsayA9IGRldm1fY2xrX2dldCgmcGRldi0+ZGV2LCAidGNsayIpOwo+PiArCWlmIChJU19F UlIoaTNjLT50Y2xrKSkKPj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUoJnBkZXYtPmRldiwgUFRS X0VSUihpM2MtPnRjbGspLCAiRmFpbGVkIHRvIGdldCB0Y2xrIik7Cj4+ICsKPj4gKwlpM2MtPmRl diA9ICZwZGV2LT5kZXY7Cj4+ICsJcG1fcnVudGltZV9zZXRfYXV0b3N1c3BlbmRfZGVsYXkoJnBk ZXYtPmRldiwgMzAwKTsKPj4gKwlwbV9ydW50aW1lX3VzZV9hdXRvc3VzcGVuZCgmcGRldi0+ZGV2 KTsKPj4gKwlyZXQgPSBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoJnBkZXYtPmRldiwgcmVuZXNh c19pM2NfZG9udF91c2VfYXV0b3N1c3BlbmQsCj4+ICsJCQkJICAgICAgIGkzYy0+ZGV2KTsKPiAK PiBkbyB5b3UgY2xlYW51cCByZXNvdXJjZSBpbiByZW5lc2FzX2kzY19kb250X3VzZV9hdXRvc3Vz cGVuZCgpLCBsb29rIGxpa2VzCj4gbmVlZG4ndCBpdC4KCkFjY29yZGluZyB0byBkb2N1bWVudGF0 aW9uIGF0IFsxXSB0aGlzIGlzIG5lY2Vzc2FyeS4KClsxXSAKaHR0cHM6Ly9lbGl4aXIuYm9vdGxp bi5jb20vbGludXgvdjcuMS1yYzQvc291cmNlL0RvY3VtZW50YXRpb24vcG93ZXIvcnVudGltZV9w bS5yc3QjTDYxNgoKPiAKPj4gKwlpZiAocmV0KQo+PiArCQlyZXR1cm4gcmV0Owo+PiArCj4+ICsJ cmV0ID0gZGV2bV9wbV9ydW50aW1lX2VuYWJsZSgmcGRldi0+ZGV2KTsKPj4gKwlpZiAocmV0KQo+ PiArCQlyZXR1cm4gcmV0Owo+Pgo+IC4uLgo+Pgo+PiArc3RhdGljIGludCByZW5lc2FzX2kzY19y dW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQo+PiArewo+PiArCXJldHVybiBwaW5j dHJsX3BtX3NlbGVjdF9zbGVlcF9zdGF0ZShkZXYpOwo+IAo+IE9ubHkgY2hhbmdlIHBpbiBzdGF0 ZSwgZG9uJ3QgZGlzYWJsZSBjbG9jaz8KCkNsb2NrcyBhcmUgaGFuZGxlZCB0aG91Z2ggdGhlIEkz QyBQTSBkb21haW4uCgpPbiB0aGUgUmVuZXNhcyBTb0NzLCB3aGVyZSB0aGlzIGRyaXZlciBpcyBl bmFibGVkLCBjbG9ja3MgYXJlIGNvbnRyb2xsZWQgdGhvdWdoIApjbG9jayBQTSBkb21haW5zLiBF dmVyeSBydW50aW1lIFBNIHN1c3BlbmQvcmVzdW1lIHdpbGwgY2FsbCAKY2xrX2Rpc2FibGUoKS9j bGtfZW5hYmxlKCkgdGhvdWdoIHRoZSBQTSBkb21haW5zLgoKLS0gClRoYW5rIHlvdSwKQ2xhdWRp dQoKCi0tIApsaW51eC1pM2MgbWFpbGluZyBsaXN0CmxpbnV4LWkzY0BsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtaTNj Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A71B837DE9E; Sat, 23 May 2026 10:23:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779531820; cv=none; b=Qh/qxzkDJCjIdHDi+q6Jook5aaG4z+n18WG1I47RmpSNROM+elaOi2d9h/OUAp+guM1Tyxx3/IUepnO3CwVEit9Dnl3kQuMXxXoO7ChIAWrVm9B7Op6zhTRs0W4ZB3oWK18DpEAI0bI3g5w0UPd8yJZdqm6JXvKNxALbFV1bZ78= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779531820; c=relaxed/simple; bh=W/8l8ScypkMZvMUEwSiVQEBIyPE48Ll+XqtmgPGqSHc=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=dhhVKI7YS4rB+d/9fthXc+4W8TB/A8Onmwc0Ls/RovvTZwkWxuQ/yQ128lnswA+usHESxtR474xLFdUfhy2URud4ifXGdrxLyigPnS8tXiOZfiION4Zk7QRza8IM6rQvJJVsPXzfiWKmto/kh3LH3hfuubChnmQdEFoq0xUEG5c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UUI+Xjho; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UUI+Xjho" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CBB6F1F000E9; Sat, 23 May 2026 10:23:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779531818; bh=ICIzDyBoCehYoL8IVnENyKvYnUKscdQTwuLa+4IjgWE=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=UUI+XjhocYOZg9w8yfBxLG7CypFp6LwNDdDHYtsNEePdLV66uwNKYuuXATIGLORXK sqAULjsaV2fydSlAEAMlelpXUm/GEsIxhsxlP9oVPsy/5HwNfIm67K8xqGtTd567D3 +P5eo7DgBZyXbMCmYtDeP9yVjxeoSnZrSXVIX5bNC5DjbcApAe/uJ490oHTJAD2Bz4 dcBcL/UIROHnn0UvUELZEgi93RLq6T3idD6MaGvYHoJisgelSweCK1Ydu5CGEVBmaf QSaEn8Wkl2keJlYZHDoFP2TZWmpz0gxohL5L47+99DHe21HfBiejmuW65QnZO2vJnu B7Wuu7PwLDbZQ== Message-ID: <8f1cd05b-b866-47ac-8ef4-e5e607247cf7@kernel.org> Date: Sat, 23 May 2026 13:23:33 +0300 Precedence: bulk X-Mailing-List: linux-renesas-soc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 17/17] i3c: renesas: Add runtime PM support To: Frank Li Cc: wsa+renesas@sang-engineering.com, tommaso.merciai.xr@bp.renesas.com, alexandre.belloni@bootlin.com, p.zabel@pengutronix.de, claudiu.beznea@tuxon.dev, linux-i3c@lists.infradead.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Claudiu Beznea , "geert+renesas@glider.be" References: <20260522101815.1722909-1-claudiu.beznea@kernel.org> <20260522101815.1722909-18-claudiu.beznea@kernel.org> Content-Language: en-US From: Claudiu Beznea In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 5/22/26 23:01, Frank Li wrote: > On Fri, May 22, 2026 at 01:18:15PM +0300, Claudiu Beznea wrote: >> From: Claudiu Beznea >> >> On the SoCs where the Renesas I3C driver is enabled (RZ/G3S and RZ/G3E), >> the clocks of the IP are managed through a clock PM domain. To keep the >> I3C code simpler, the explicit clock handling was dropped along with the >> addition of runtime PM support, in favor of the runtime PM APIs. Only the >> code for getting tclk was preserved, as it is necessary to compute the >> I3C clock rate. >> >> All the APIs provided to the I3C subsystem through struct >> i3c_master_controller_ops are guarded with runtime PM APIs to >> enable/disable the controller at runtime. >> >> As the Renesas I3C driver implements an asynchronous transmit model by >> preparing a transfer and waiting for its completion through the ISR, >> renesas_i3c_abort_xfer() was added to disable interrupts and synchronize >> IRQs before runtime suspending the controller. For this, the interrupts >> were saved in struct renesas_i3c::irqs. Along with this, >> renesas_i3c_wait_xfer() return type was changed to unsigned long. >> >> Along with the clocks, the controller pin configuration is changed >> through the provided "sleep" pin configuration. >> >> Add runtime PM support for the Renesas I3C driver. >> >> Signed-off-by: Claudiu Beznea >> --- >> drivers/i3c/master/renesas-i3c.c | 183 ++++++++++++++++++++++++++----- >> 1 file changed, 156 insertions(+), 27 deletions(-) >> >> diff --git a/drivers/i3c/master/renesas-i3c.c b/drivers/i3c/master/renesas-i3c.c >> index a070db4d2440..3b9807a89b54 100644 >> --- a/drivers/i3c/master/renesas-i3c.c >> +++ b/drivers/i3c/master/renesas-i3c.c >> @@ -21,7 +21,9 @@ > ... >> static int renesas_i3c_probe(struct platform_device *pdev) >> { >> struct renesas_i3c *i3c; >> @@ -1360,12 +1448,21 @@ static int renesas_i3c_probe(struct platform_device *pdev) >> if (IS_ERR(i3c->regs)) >> return PTR_ERR(i3c->regs); >> >> - ret = devm_clk_bulk_get_all_enabled(&pdev->dev, &i3c->clks); >> - if (ret <= RENESAS_I3C_TCLK_IDX) >> - return dev_err_probe(&pdev->dev, ret < 0 ? ret : -EINVAL, >> - "Failed to get clocks (need > %d, got %d)\n", >> - RENESAS_I3C_TCLK_IDX, ret); >> - i3c->num_clks = ret; > > you can still use devm_clk_bulk_get_all(), if need tclk, you iterate clks > to find 'tclk', in case in future, need more clocks than tcls. Indeed, but as they are not needed in the current driver form, I would prefer to drop handling both of them as the final code looks simpler. As the clocks are enabled/disabled through PM domain, getting rid of devm_clk_bulk_get_all_enabled() simplifies the code, FMPOV, it drops 1 pointer and 1 int. So, I would like to keep it like this if all OK. Also, if I'm not wrong, Geert (in cc) prefers having the clock controlled directly through power domains if that is possible. I concluded that from: commit d303ce595cac Author: Geert Uytterhoeven Date: Wed Mar 20 11:30:03 2019 +0100 i2c: riic: Add Runtime PM support - Replace explicit clock handling by Runtime PM calls, - Streamline Runtime PM handling in error paths, - Enable Runtime PM in .probe(), - Disable Runtime PM in .remove(), - Make sure the device is runtime-resumed when disabling interrupts in .remove(). Signed-off-by: Geert Uytterhoeven Reviewed-by: Niklas Söderlund Tested-by: Chris Brandt Signed-off-by: Wolfram Sang > >> + i3c->tclk = devm_clk_get(&pdev->dev, "tclk"); >> + if (IS_ERR(i3c->tclk)) >> + return dev_err_probe(&pdev->dev, PTR_ERR(i3c->tclk), "Failed to get tclk"); >> + >> + i3c->dev = &pdev->dev; >> + pm_runtime_set_autosuspend_delay(&pdev->dev, 300); >> + pm_runtime_use_autosuspend(&pdev->dev); >> + ret = devm_add_action_or_reset(&pdev->dev, renesas_i3c_dont_use_autosuspend, >> + i3c->dev); > > do you cleanup resource in renesas_i3c_dont_use_autosuspend(), look likes > needn't it. According to documentation at [1] this is necessary. [1] https://elixir.bootlin.com/linux/v7.1-rc4/source/Documentation/power/runtime_pm.rst#L616 > >> + if (ret) >> + return ret; >> + >> + ret = devm_pm_runtime_enable(&pdev->dev); >> + if (ret) >> + return ret; >> > ... >> >> +static int renesas_i3c_runtime_suspend(struct device *dev) >> +{ >> + return pinctrl_pm_select_sleep_state(dev); > > Only change pin state, don't disable clock? Clocks are handled though the I3C PM domain. On the Renesas SoCs, where this driver is enabled, clocks are controlled though clock PM domains. Every runtime PM suspend/resume will call clk_disable()/clk_enable() though the PM domains. -- Thank you, Claudiu