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 98275CD98CF for ; Tue, 16 Jun 2026 10:19:21 +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-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=YKNBp1V1wiVucvHB7cr3ekNhKy6Tm0DNZvJYb8JS7xs=; b=LOTIcG1X06NoH0 us2JS76g/YBnAvZE+yUzxW1fK9zfNUuw77amj4KFnKevJk3fcY7VuAB5aYqiz+3bKTiYdYS/nImd3 Ck0i/1eV8H4pELtElpNB1GX8y6rQvDL5BEpZ8MqvbYR2djfHDOMsRSod/qLycn20YFoyTSfJSnv88 8kIjhEctzqjc1PIdLONZgiLQVjbdaY6LWJrVY3w5YWCUsQn+ik/LbS9IYUA5a4S5KyZS2T55k7YkV tW/GqDFCh10qWeZbJMDcTYMrZuBVBZgXZj33mwQpVKPVWjC4ecaKOx9T8S9XNV3UkOlZ+/rKcC1Eo +RXw+E/EJPlHem80Gx+Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wZQt7-0000000FbNQ-1U6w; Tue, 16 Jun 2026 10:19:21 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wZQt5-0000000FbNH-3Ske for linux-i3c@lists.infradead.org; Tue, 16 Jun 2026 10:19:19 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 94AC0401DF; Tue, 16 Jun 2026 10:19:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 299491F000E9; Tue, 16 Jun 2026 10:19:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1781605159; bh=MRjcUhnUfvUWbJsv/W5JzZ1v4mTvAbSMKvMjIuGQqkk=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=HUC7EEAN8RWZp3GHz3Tj8OKiY8adG7sEUbFZVAgiUF1Ktq73Lcsm7JW/8DuTT52cu Veu2M2WY5XOhKE/Mp2xv5FfQQsph39aU4yXLuu1ai4yhhf4DhC+qZw1kzp3H+0YvWJ 5AHJ4P2S4lM1fa4s8eib8/syEJHWNCA2DmluSwKF1QeETJ1v4VicyZQ6pLhxBdnyQ2 LXZj/tXH6Fl7HKBocjp12uNCJ5Z/3J7ggMISKlzCgOL4oQ+RhSqtZLmmpDk3c55zoR w3ntIyIfSiDg/mGCgWMprvmZRADq6tWyZ5UTaS0ZWQxZ6SCXMDLP2Kp3f9B4QzfLpI Ds1PaflYoXA/g== From: sashiko-bot@kernel.org Subject: Re: [PATCH v4 04/12] i3c: master: Add support for devices using SETAASA To: "Akhil R" Cc: robh@kernel.org, Frank.Li@kernel.org, linux-i3c@lists.infradead.org, devicetree@vger.kernel.org, linux-hwmon@vger.kernel.org, conor+dt@kernel.org In-Reply-To: <20260616095429.3947205-5-akhilrajeev@nvidia.com> References: <20260616095429.3947205-5-akhilrajeev@nvidia.com> Date: Tue, 16 Jun 2026 10:19:18 +0000 Message-Id: <20260616101919.299491F000E9@smtp.kernel.org> 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: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpOZXcgaXNzdWVzOgotIFtIaWdoXSBN aXNzaW5nIENDQyBjb21tYW5kIHdoaXRlbGlzdGluZyBpbiBJM0MgbWFzdGVyIGRyaXZlcnMgY2F1 c2VzIGVudGlyZSBidXMgaW5pdGlhbGl6YXRpb24gdG8gZmFpbC4KLSBbSGlnaF0gUHJlbWF0dXJl IFNFVEFBU0EgYnJvYWRjYXN0IHByZWVtcHRzIGFuZCBicmVha3MgU0VUREFTQSBpbml0aWFsaXph dGlvbi4KLSBbSGlnaF0gTWlzc2luZyBwaHlzaWNhbCBkZXZpY2UgYWRkcmVzcyByZXNldCAoUlNU REFBKSBvbiBTRVRBQVNBIGF0dGFjaCBmYWlsdXJlIGFsbG93cyBhZGRyZXNzIGNvbGxpc2lvbnMu CgpQcmUtZXhpc3RpbmcgaXNzdWVzOgotIFtIaWdoXSBCeXBhc3NpbmcgUElEIHZhbGlkYXRpb24g YWxsb3dzIGR1cGxpY2F0ZSBQSURzLCB0cmlnZ2VyaW5nIGEgcHJlLWV4aXN0aW5nIFVzZS1BZnRl ci1GcmVlIGR1cmluZyB0ZWFyZG93bi4KLS0KCmNvbW1pdCBlZjgyZGQ1MjY3MGNhODY1NGJmZjcw Njc4MjM3MjJmOGU3NzkzM2QxCkF1dGhvcjogQWtoaWwgUiA8YWtoaWxyYWplZXZAbnZpZGlhLmNv bT4KCmkzYzogbWFzdGVyOiBBZGQgc3VwcG9ydCBmb3IgZGV2aWNlcyB1c2luZyBTRVRBQVNBCgpB ZGQgc3VwcG9ydCBmb3IgZGV2aWNlcyB1c2luZyBTRVRBQVNBLCBzdWNoIGFzIFNQRDUxMTggYW5k IFNQRDUxMDgKYXR0YWNoZWQgdG8gRERSNSBtZW1vcnkgbW9kdWxlcyB0aGF0IGRvIG5vdCBzdXBw b3J0IEVOVERBQS4gRm9sbG93IHRoZQpndWlkZWxpbmVzIHByb3Bvc2VkIGJ5IHRoZSBNSVBJIERp c2NvdmVyeSBhbmQgQ29uZmlndXJhdGlvbgpTcGVjaWZpY2F0aW9uIFsxXSBmb3IgZGlzY292ZXJp bmcgc3VjaCBkZXZpY2VzLgoKU0VUQUFTQSAoU2V0IEFsbCBBZGRyZXNzZXMgdG8gU3RhdGljIEFk ZHJlc3MpIGRpZmZlcnMgZnJvbSBzdGFuZGFyZCBJM0MKYWRkcmVzcyBhc3NpZ25tZW50IHRoYXQg dXNlcyBFTlREQUEgb3IgU0VUREFTQSB0byBhc3NpZ24gZHluYW1pYwphZGRyZXNzZXMuIERldmlj ZXMgdXNpbmcgU0VUQUFTQSBhc3NpZ24gdGhlaXIgcHJlLWRlZmluZWQgc3RhdGljIGFkZHJlc3Nl cwphcyB0aGVpciBkeW5hbWljIGFkZHJlc3NlcyBkdXJpbmcgREFBLCBhbmQgaXQgaXMgbm90IG1h bmRhdG9yeSBmb3IgdGhlc2UKZGV2aWNlcyB0byBpbXBsZW1lbnQgc3RhbmRhcmQgQ0NDIGNvbW1h bmRzIGxpa2UgR0VUUElELCBHRVREQ1IsIG9yIEdFVEJDUi4KRm9yIHN1Y2ggZGV2aWNlcywgaXQg aXMgZ2VuZXJhbGx5IHJlY29tbWVuZGVkIHRvIGlzc3VlIFNFVEhJRCAoc3BlY2lmaWVkCmJ5IEpF REVDIEpFU0QzMDApIGFzIGEgcHJlcmVxdWlzaXRlIGZvciBTRVRBQVNBIHRvIHN0b3AgSElEIGJp dCBmbGlwcGluZy4KCkxpbms6IGh0dHBzOi8vd3d3Lm1pcGkub3JnL21pcGktZGlzY28tZm9yLWkz Yy1kb3dubG9hZAoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pM2MvbWFzdGVyLmMgYi9kcml2ZXJz L2kzYy9tYXN0ZXIuYwo+IGluZGV4IGYwZTA1YmNhYzI2ZGEuLjU1NzMzMmQ5MzI1NzYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9pM2MvbWFzdGVyLmMKPiArKysgYi9kcml2ZXJzL2kzYy9tYXN0ZXIu YwoKWyAuLi4gXQoKPiBAQCAtMTg1Miw2ICsxODk4LDIyIEBAIHN0YXRpYyBpbnQgaTNjX21hc3Rl cl9lYXJseV9pM2NfZGV2X2FkZChzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVyICptYXN0ZXIs Cj4gIAlpZiAocmV0KQo+ICAJCWdvdG8gZXJyX2ZyZWVfZGV2Owo+ICAKPiArCS8qCj4gKwkgKiBG b3IgZGV2aWNlcyB1c2luZyBTRVRBQVNBIGluc3RlYWQgb2YgRU5UREFBLCB0aGUgYWRkcmVzcyBp cyBzdGF0aWNhbGx5Cj4gKwkgKiBhc3NpZ25lZC4gVXBkYXRlIHRoZSBkeW5hbWljIGFkZHJlc3Mg dG8gdGhlIHByb3ZpZGVkIHN0YXRpYyBhZGRyZXNzLgo+ICsJICogUmVhdHRhY2ggdGhlIEkzQyBk ZXZpY2UgYWZ0ZXIgdXBkYXRpbmcgdGhlIGR5bmFtaWMgYWRkcmVzcyB3aXRoIHRoZSBzYW1lCj4g KwkgKiBzdGF0aWMgYWRkcmVzcy4gSXQgaXMgbm90IG1hbmRhdG9yeSBmb3Igc3VjaCBkZXZpY2Vz IHRvIGltcGxlbWVudCBDQ0MKPiArCSAqIGNvbW1hbmRzIGxpa2UgR0VUUElELCBHRVREQ1IgZXRj LiBIZW5jZSwgd2UgY2FuIHJldHVybiBhZnRlciByZWF0dGFjaGluZy4KPiArCSAqLwo+ICsJaWYg KGkzY2Rldi0+Ym9hcmRpbmZvLT5zdGF0aWNfYWRkcl9tZXRob2QgJiBJM0NfQUREUl9NRVRIT0Rf U0VUQUFTQSkgewo+ICsJCWkzY2Rldi0+aW5mby5keW5fYWRkciA9IGkzY2Rldi0+Ym9hcmRpbmZv LT5zdGF0aWNfYWRkcjsKPiArCQlyZXQgPSBpM2NfbWFzdGVyX3JlYXR0YWNoX2kzY19kZXYoaTNj ZGV2LCAwKTsKPiArCQlpZiAocmV0KQo+ICsJCQlnb3RvIGVycl9kZXRhY2hfZGV2OwogICAgICAg ICAgICAgICBeXl5eXl5eXgoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIHNraXBwaW5nIHRoZSBwaHlz aWNhbCBkZXZpY2UgYWRkcmVzcyByZXNldCAoUlNUREFBKSBoZXJlIGFsbG93IGFkZHJlc3MKY29s bGlzaW9ucz8KCklmIGkzY19tYXN0ZXJfcmVhdHRhY2hfaTNjX2RldigpIGZhaWxzIGZvciBhIFNF VEFBU0EgZGV2aWNlLCB0aGUgY29kZSBqdW1wcyB0bwplcnJfZGV0YWNoX2Rldi4gVW5saWtlIHRo ZSBTRVREQVNBIGVycm9yIHBhdGggd2hpY2gganVtcHMgdG8gZXJyX3JzdGRhYSB0bwppc3N1ZSBh IGRpcmVjdGVkIFJTVERBQSBjb21tYW5kIGFuZCBjbGVhciB0aGUgZHluYW1pYyBhZGRyZXNzLCB0 aGlzIHBhdGgKbGVhdmVzIHRoZSBwaHlzaWNhbCBkZXZpY2UgYWN0aXZlIGF0IHRoYXQgYWRkcmVz cy4KCk1lYW53aGlsZSwgaTNjX21hc3Rlcl9kZXRhY2hfaTNjX2RldigpIGZyZWVzIHRoZSBhZGRy ZXNzIHNsb3QgaW4gdGhlIG1hc3RlcidzCnNvZnR3YXJlIHN0YXRlLiBEdXJpbmcgc3Vic2VxdWVu dCBEeW5hbWljIEFkZHJlc3MgQXNzaWdubWVudCAoREFBKSwgdGhlIG1hc3RlcgptYXkgYXNzaWdu IHRoaXMgc3VwcG9zZWRseSAiZnJlZSIgYWRkcmVzcyB0byBhbm90aGVyIGRldmljZSwgcmVzdWx0 aW5nIGluIHR3bwpwaHlzaWNhbCBkZXZpY2VzIHJlc3BvbmRpbmcgdG8gdGhlIHNhbWUgZHluYW1p YyBhZGRyZXNzLgoKWyAuLi4gXQoKPiBAQCAtMjIwNiw2ICsyMjY4LDEyIEBAIHN0YXRpYyBpbnQg aTNjX21hc3Rlcl9idXNfaW5pdChzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVyICptYXN0ZXIp Cj4gIAlpZiAocmV0KQo+ICAJCWdvdG8gZXJyX2J1c19jbGVhbnVwOwo+ICAKPiArCWlmIChtYXN0 ZXItPmFkZHJfbWV0aG9kICYgSTNDX0FERFJfTUVUSE9EX1NFVEFBU0EpIHsKPiArCQlyZXQgPSBp M2NfbWFzdGVyX3NldGFhc2FfbG9ja2VkKG1hc3Rlcik7Cj4gKwkJaWYgKHJldCkKPiArCQkJZ290 byBlcnJfYnVzX2NsZWFudXA7Cj4gKwl9Cj4gKwoKW1NldmVyaXR5OiBIaWdoXQpXaWxsIHRoaXMg dW5jb25kaXRpb25hbCBicm9hZGNhc3Qgb2YgU0VUQUFTQSBjYXVzZSB0aGUgZW50aXJlIGJ1cyBp bml0aWFsaXphdGlvbgp0byBmYWlsIG9uIGNlcnRhaW4gY29udHJvbGxlcnM/CgpTZXZlcmFsIEkz QyBtYXN0ZXIgZHJpdmVycyAoZS5nLiwgQ2FkZW5jZSwgU1ZDLCBSZW5lc2FzKSBpbXBsZW1lbnQg YSBzdHJpY3QKd2hpdGVsaXN0IHZpYSB0aGUgc3VwcG9ydHNfY2NjX2NtZCBjYWxsYmFjay4gQmVj YXVzZSB0aGVzZSB3aGl0ZWxpc3RzIHdlcmUKbm90IHVwZGF0ZWQgdG8gYWxsb3cgSTNDX0NDQ19T RVRBQVNBICgweDI5KSBhbmQgSTNDX0NDQ19WRU5ET1IoMCwgdHJ1ZSkKKFNFVEhJRCksIHRoZSBt YXN0ZXIgZHJpdmVyIHJldHVybnMgLUVPUE5PVFNVUFAuIFRoaXMgZXJyb3IgcHJvcGFnYXRlcyB1 cAp0aHJvdWdoIGkzY19tYXN0ZXJfc2V0YWFzYV9sb2NrZWQoKSwgY2F1c2luZyBpM2NfbWFzdGVy X2J1c19pbml0KCkgdG8KaW1tZWRpYXRlbHkgYWJvcnQuCgpbU2V2ZXJpdHk6IEhpZ2hdCkRvZXMg dGhpcyBwcmVtYXR1cmUgU0VUQUFTQSBicm9hZGNhc3QgYnJlYWsgU0VUREFTQSBpbml0aWFsaXph dGlvbj8KCkJ5IGJyb2FkY2FzdGluZyBTRVRBQVNBIGJlZm9yZSBwcm9jZXNzaW5nIGRldmljZXMg dGhhdCByZXF1aXJlIFNFVERBU0E6CgogICAgbGlzdF9mb3JfZWFjaF9lbnRyeShpM2Nib2FyZGlu Zm8sICZtYXN0ZXItPmJvYXJkaW5mby5pM2MsIG5vZGUpIHsKICAgICAgICAuLi4KICAgICAgICBp ZiAoaTNjYm9hcmRpbmZvLT5zdGF0aWNfYWRkcikKICAgICAgICAgICAgaTNjX21hc3Rlcl9lYXJs eV9pM2NfZGV2X2FkZChtYXN0ZXIsIGkzY2JvYXJkaW5mbyk7CiAgICB9CgphbnkgZGV2aWNlIHdp dGggYSBzdGF0aWMgYWRkcmVzcyB3aWxsIGFjY2VwdCB0aGUgYnJvYWRjYXN0IGFuZCBhZG9wdCBp dHMKc3RhdGljIGFkZHJlc3MgYXMgaXRzIGR5bmFtaWMgYWRkcmVzcy4gSWYgYSBkZXZpY2Ugd2Fz IGNvbmZpZ3VyZWQgdG8gdXNlClNFVERBU0EsIGl0IHdpbGwgZXJyb25lb3VzbHkgYWNjZXB0IHRo ZSBTRVRBQVNBIGJyb2FkY2FzdC4KCldoZW4gaTNjX21hc3Rlcl9lYXJseV9pM2NfZGV2X2FkZCgp IHN1YnNlcXVlbnRseSBhdHRlbXB0cyB0byBpc3N1ZSB0aGUKZGlyZWN0ZWQgU0VUREFTQSBjb21t YW5kLCB0aGUgZGV2aWNlIGFscmVhZHkgaGFzIGFuIGFzc2lnbmVkIGR5bmFtaWMgYWRkcmVzcwph bmQgd2lsbCBpZ25vcmUgdGhlIGNvbW1hbmQuIFRoaXMgY2F1c2VzIHRoZSBzb2Z0d2FyZSBzdGF0 ZSB0byBkZXN5bmNocm9uaXplCmZyb20gdGhlIHBoeXNpY2FsIGRldmljZSBzdGF0ZS4gVGhlIE1J UEkgSTNDIHNwZWMgZXhwbGljaXRseSBtYW5kYXRlcyB0aGF0ClNFVERBU0EgY29tbWFuZHMgbXVz dCBiZSBzZW50IHByaW9yIHRvIHRoZSBTRVRBQVNBIGNvbW1hbmQuCgo+ICAJLyoKPiAgCSAqIFJl c2VydmUgaW5pdF9keW5fYWRkciBmaXJzdCwgYW5kIHRoZW4gdHJ5IHRvIHByZS1hc3NpZ24gZHlu YW1pYwoKWyAuLi4gXQoKPiBAQCAtMjcyNCw2ICsyNzk5LDkgQEAgaTNjX21hc3Rlcl9hZGRfaTNj X2JvYXJkaW5mbyhzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVyICptYXN0ZXIsCj4gIAkJCXJl dHVybiAtRUlOVkFMOwo+ICAJfQo+ICAKPiArCS8qIFVwZGF0ZSB0aGUgYWRkcmVzcyBtZXRob2Rz IHJlcXVpcmVkIGZvciBkZXZpY2UgZGlzY292ZXJ5ICovCj4gKwltYXN0ZXItPmFkZHJfbWV0aG9k IHw9IGJvYXJkaW5mby0+c3RhdGljX2FkZHJfbWV0aG9kOwo+ICsKPiAgCWJvYXJkaW5mby0+cGlk ID0gKCh1NjQpcmVnWzFdIDw8IDMyKSB8IHJlZ1syXTsKPiAgCj4gIAlpZiAoKGJvYXJkaW5mby0+ cGlkICYgR0VOTUFTS19VTEwoNjMsIDQ4KSkgfHwKICAgICAgICBeXl5eXl5eXgoKW1NldmVyaXR5 OiBIaWdoXQpUaGlzIGlzbid0IGEgYnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0IGRv ZXMgYWxsb3dpbmcgZHVwbGljYXRlIFBJRHMKKHN1Y2ggYXMgUElEPTAgZm9yIFNFVEFBU0EgZGV2 aWNlcykgdHJpZ2dlciBhIHByZS1leGlzdGluZyBVc2UtQWZ0ZXItRnJlZSBkdXJpbmcKdGVhcmRv d24/CgpTaW5jZSBTRVRBQVNBIGRldmljZXMgZG9uJ3QgcmVxdWlyZSBzdGFuZGFyZCBDQ0MgY29t bWFuZHMgbGlrZSBHRVRQSUQsCmNvbmZpZ3VyaW5nIG11bHRpcGxlIFNFVEFBU0EgZGV2aWNlcyB3 aXRoIGFuIGlkZW50aWNhbCBkdW1teSBQSUQgKGxpa2UgUElEPTApCnBhc3NlcyB0aGUgdmFsaWRh dGlvbiBoZXJlLgoKV2hlbiBpM2NfbWFzdGVyX3JlZ2lzdGVyX25ld19pM2NfZGV2cygpIGlzIGNh bGxlZCwgZGV2X3NldF9uYW1lKCkgYXNzaWducwppZGVudGljYWwgc3lzZnMgbmFtZXMgdG8gdGhl c2UgZHVwbGljYXRlIGRldmljZXMuIGRldmljZV9yZWdpc3RlcigpIHRoZW4gZmFpbHMKd2l0aCAt RUVYSVNULiBJbiB0aGUgZXJyb3IgcGF0aCwgcHV0X2RldmljZSgpIGlzIGNhbGxlZCwgZnJlZWlu ZyBkZXNjLT5kZXYsCmJ1dCBkZXNjLT5kZXYgaXMgbm90IHNldCB0byBOVUxMLgoKRHVyaW5nIGJ1 cyB0ZWFyZG93biBpbiBpM2NfbWFzdGVyX3VucmVnaXN0ZXJfaTNjX2RldnMoKSwgdGhlIGNvcmUg aXRlcmF0ZXMKb3ZlciBhbGwgZGV2aWNlcywgc2VlcyB0aGUgbm9uLU5VTEwgZGFuZ2xpbmcgcG9p bnRlciwgYW5kIGNhbGxzCmRldmljZV9pc19yZWdpc3RlcmVkKCZkZXNjLT5kZXYtPmRldiksIGxl YWRpbmcgdG8gYSBVc2UtQWZ0ZXItRnJlZS4KCi0tIApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRw czovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjA2MTYwOTU0MjkuMzk0NzIwNS0xLWFraGls cmFqZWV2QG52aWRpYS5jb20/cGFydD00CgotLSAKbGludXgtaTNjIG1haWxpbmcgbGlzdApsaW51 eC1pM2NAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWkzYwo= 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 DD9D93AB281; Tue, 16 Jun 2026 10:19:19 +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=1781605161; cv=none; b=HQ4ZTJq/IRrkzRelphPdYDn/6KxBUsrOAhAxHCL6HGJaeWdZLaU+CidHD/2Lld10sQYRJtM2oHLgNzT22XjErB7756xFXwPyIHjJrG5sra5laJLXgWe7n5VW8NF1ZXsauPiAu+ih9DJbwA6aHZqFPcuBJk01yh+F6kaJaliUm5Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781605161; c=relaxed/simple; bh=bnvCIXlxzX4LCQPXtowtX2FMuqhe81+3Wq9mbErYvyQ=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=jFxy4+o1Zjat6W331ar4hjXspx6diiDT7safhwwpJiRxyw/0g2Odu8aD+PT5IAUbjs0IJfzyXgNQjwThkvto80Wv6S8GGPKKdya2HKJZhvKw2GvXOOkAzTJ3zv0UNN2hLEDA+YVM4VSBmMEr2hmExAmVx4bBrC4gh952agwdrb0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HUC7EEAN; 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="HUC7EEAN" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 299491F000E9; Tue, 16 Jun 2026 10:19:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1781605159; bh=MRjcUhnUfvUWbJsv/W5JzZ1v4mTvAbSMKvMjIuGQqkk=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=HUC7EEAN8RWZp3GHz3Tj8OKiY8adG7sEUbFZVAgiUF1Ktq73Lcsm7JW/8DuTT52cu Veu2M2WY5XOhKE/Mp2xv5FfQQsph39aU4yXLuu1ai4yhhf4DhC+qZw1kzp3H+0YvWJ 5AHJ4P2S4lM1fa4s8eib8/syEJHWNCA2DmluSwKF1QeETJ1v4VicyZQ6pLhxBdnyQ2 LXZj/tXH6Fl7HKBocjp12uNCJ5Z/3J7ggMISKlzCgOL4oQ+RhSqtZLmmpDk3c55zoR w3ntIyIfSiDg/mGCgWMprvmZRADq6tWyZ5UTaS0ZWQxZ6SCXMDLP2Kp3f9B4QzfLpI Ds1PaflYoXA/g== From: sashiko-bot@kernel.org Subject: Re: [PATCH v4 04/12] i3c: master: Add support for devices using SETAASA Reply-To: sashiko-reviews@lists.linux.dev To: "Akhil R" Cc: robh@kernel.org, Frank.Li@kernel.org, linux-i3c@lists.infradead.org, devicetree@vger.kernel.org, linux-hwmon@vger.kernel.org, conor+dt@kernel.org In-Reply-To: <20260616095429.3947205-5-akhilrajeev@nvidia.com> References: <20260616095429.3947205-5-akhilrajeev@nvidia.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 16 Jun 2026 10:19:18 +0000 Message-Id: <20260616101919.299491F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: linux-hwmon@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 4 potential issue(= s) to consider: New issues: - [High] Missing CCC command whitelisting in I3C master drivers causes enti= re bus initialization to fail. - [High] Premature SETAASA broadcast preempts and breaks SETDASA initializa= tion. - [High] Missing physical device address reset (RSTDAA) on SETAASA attach f= ailure allows address collisions. Pre-existing issues: - [High] Bypassing PID validation allows duplicate PIDs, triggering a pre-e= xisting Use-After-Free during teardown. -- commit ef82dd52670ca8654bff7067823722f8e77933d1 Author: Akhil R i3c: master: Add support for devices using SETAASA Add support for devices using SETAASA, such as SPD5118 and SPD5108 attached to DDR5 memory modules that do not support ENTDAA. Follow the guidelines proposed by the MIPI Discovery and Configuration Specification [1] for discovering such devices. SETAASA (Set All Addresses to Static Address) differs from standard I3C address assignment that uses ENTDAA or SETDASA to assign dynamic addresses. Devices using SETAASA assign their pre-defined static addresses as their dynamic addresses during DAA, and it is not mandatory for these devices to implement standard CCC commands like GETPID, GETDCR, or GETBCR. For such devices, it is generally recommended to issue SETHID (specified by JEDEC JESD300) as a prerequisite for SETAASA to stop HID bit flipping. Link: https://www.mipi.org/mipi-disco-for-i3c-download > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index f0e05bcac26da..557332d932576 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c [ ... ] > @@ -1852,6 +1898,22 @@ static int i3c_master_early_i3c_dev_add(struct i3c= _master_controller *master, > if (ret) > goto err_free_dev; > =20 > + /* > + * For devices using SETAASA instead of ENTDAA, the address is statical= ly > + * assigned. Update the dynamic address to the provided static address. > + * Reattach the I3C device after updating the dynamic address with the = same > + * static address. It is not mandatory for such devices to implement CCC > + * commands like GETPID, GETDCR etc. Hence, we can return after reattac= hing. > + */ > + if (i3cdev->boardinfo->static_addr_method & I3C_ADDR_METHOD_SETAASA) { > + i3cdev->info.dyn_addr =3D i3cdev->boardinfo->static_addr; > + ret =3D i3c_master_reattach_i3c_dev(i3cdev, 0); > + if (ret) > + goto err_detach_dev; ^^^^^^^^ [Severity: High] Does skipping the physical device address reset (RSTDAA) here allow address collisions? If i3c_master_reattach_i3c_dev() fails for a SETAASA device, the code jumps= to err_detach_dev. Unlike the SETDASA error path which jumps to err_rstdaa to issue a directed RSTDAA command and clear the dynamic address, this path leaves the physical device active at that address. Meanwhile, i3c_master_detach_i3c_dev() frees the address slot in the master= 's software state. During subsequent Dynamic Address Assignment (DAA), the mas= ter may assign this supposedly "free" address to another device, resulting in t= wo physical devices responding to the same dynamic address. [ ... ] > @@ -2206,6 +2268,12 @@ static int i3c_master_bus_init(struct i3c_master_c= ontroller *master) > if (ret) > goto err_bus_cleanup; > =20 > + if (master->addr_method & I3C_ADDR_METHOD_SETAASA) { > + ret =3D i3c_master_setaasa_locked(master); > + if (ret) > + goto err_bus_cleanup; > + } > + [Severity: High] Will this unconditional broadcast of SETAASA cause the entire bus initializ= ation to fail on certain controllers? Several I3C master drivers (e.g., Cadence, SVC, Renesas) implement a strict whitelist via the supports_ccc_cmd callback. Because these whitelists were not updated to allow I3C_CCC_SETAASA (0x29) and I3C_CCC_VENDOR(0, true) (SETHID), the master driver returns -EOPNOTSUPP. This error propagates up through i3c_master_setaasa_locked(), causing i3c_master_bus_init() to immediately abort. [Severity: High] Does this premature SETAASA broadcast break SETDASA initialization? By broadcasting SETAASA before processing devices that require SETDASA: list_for_each_entry(i3cboardinfo, &master->boardinfo.i3c, node) { ... if (i3cboardinfo->static_addr) i3c_master_early_i3c_dev_add(master, i3cboardinfo); } any device with a static address will accept the broadcast and adopt its static address as its dynamic address. If a device was configured to use SETDASA, it will erroneously accept the SETAASA broadcast. When i3c_master_early_i3c_dev_add() subsequently attempts to issue the directed SETDASA command, the device already has an assigned dynamic address and will ignore the command. This causes the software state to desynchronize from the physical device state. The MIPI I3C spec explicitly mandates that SETDASA commands must be sent prior to the SETAASA command. > /* > * Reserve init_dyn_addr first, and then try to pre-assign dynamic [ ... ] > @@ -2724,6 +2799,9 @@ i3c_master_add_i3c_boardinfo(struct i3c_master_cont= roller *master, > return -EINVAL; > } > =20 > + /* Update the address methods required for device discovery */ > + master->addr_method |=3D boardinfo->static_addr_method; > + > boardinfo->pid =3D ((u64)reg[1] << 32) | reg[2]; > =20 > if ((boardinfo->pid & GENMASK_ULL(63, 48)) || ^^^^^^^^ [Severity: High] This isn't a bug introduced by this patch, but does allowing duplicate PIDs (such as PID=3D0 for SETAASA devices) trigger a pre-existing Use-After-Free= during teardown? Since SETAASA devices don't require standard CCC commands like GETPID, configuring multiple SETAASA devices with an identical dummy PID (like PID= =3D0) passes the validation here. When i3c_master_register_new_i3c_devs() is called, dev_set_name() assigns identical sysfs names to these duplicate devices. device_register() then fa= ils with -EEXIST. In the error path, put_device() is called, freeing desc->dev, but desc->dev is not set to NULL. During bus teardown in i3c_master_unregister_i3c_devs(), the core iterates over all devices, sees the non-NULL dangling pointer, and calls device_is_registered(&desc->dev->dev), leading to a Use-After-Free. --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260616095429.3947= 205-1-akhilrajeev@nvidia.com?part=3D4