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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 D73BAC5DF8A for ; Wed, 19 Aug 2026 06:36:45 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 12C6D10E553; Wed, 19 Aug 2026 06:36:34 +0000 (UTC) Received: from out28-101.mail.aliyun.com (out28-101.mail.aliyun.com [115.124.28.101]) by gabe.freedesktop.org (Postfix) with ESMTPS id E484B10E3F6 for ; Mon, 17 Aug 2026 10:23:33 +0000 (UTC) X-Alimail-AntiSpam: AC=CONTINUE; BC=0.0854001|-1; CH=green; DM=|CONTINUE|false|; DS=CONTINUE|ham_enroll_verification|0.0234544-0.00745053-0.969095; FP=7821620049252767453|0|0|0|0|-1|-1|-1; HT=maildocker-contentspam011083013073; MF=support@armdesigner.com; NM=1; PH=DS; RN=4; RT=4; SR=0; TI=SMTPD_---.ip37YSz_1786962209; Received: from DESKTOP-F4DGRM2(mailfrom:support@armdesigner.com fp:SMTPD_---.ip37YSz_1786962209 cluster:ay29) by smtp.aliyun-inc.com; Mon, 17 Aug 2026 18:23:30 +0800 Date: Mon, 17 Aug 2026 18:23:28 +0800 Organization: boardcon From: support To: archive , dri-devel Cc: linux-pm , linux-rockchip Subject: Re: RK3576: rockchip-pm-domain fw_devlink device-link failures for nested power-domain nodes References: <202608171522158625086@armdesigner.com> X-Priority: 3 X-Has-Attach: no X-Mailer: Foxmail 7.2.25.563[cn] Mime-Version: 1.0 Message-ID: <202608171823281751347@armdesigner.com> Content-Type: multipart/alternative; boundary="----=_001_NextPart257607842044_=----" X-Mailman-Approved-At: Wed, 19 Aug 2026 06:36:31 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This is a multi-part message in MIME format. ------=_001_NextPart257607842044_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 SGkgU3ViYWlyLA0KV2UgaGF2ZSBlbmNvdW50ZXJlZCB0aGUgc2FtZSAiRmFpbGVkIHRvIGNyZWF0 ZSBkZXZpY2UgbGluayAoMHgxODApIiB3YXJuaW5ncyBhY3Jvc3Mgb3VyIFJvY2tjaGlwIEJTUCBk ZXZlbG9wbWVudCwgbm90IG9ubHkgb24gUkszNTc2IGJ1dCBhbHNvIG9uIFJLMzU4OCBhbmQgUksz NTY4LiBUaGlzIGlzIG5vdCBhbiBSSzM1NzYtc3BlY2lmaWMgRFRTIGlzc3VlLg0KQXMgU2ViYXN0 aWFuIFJlaWNoZWwgZXhwbGFpbmVkIGluIHRoZSBhY2NlbDogcm9ja2V0IE5QVSB0aHJlYWQgZWFy bGllciB0aGlzIHllYXIgWzFdLCB0aGUgcm9vdCBjYXVzZSBpcyBhIGZ1bmRhbWVudGFsIGN5Y2xp YyBkZXBlbmRlbmN5IGluIHRoZSBSb2NrY2hpcCBwb3dlci1jb250cm9sbGVyIGRyaXZlcjogdGhl IFBNIGRvbWFpbiBjb250cm9sbGVyIG1heSBkZXBlbmQgb24gYSByZWd1bGF0b3Igc3VwcGxpZWQg dmlhIEkyQywgd2hpbGUgdGhlIEkyQyBjb250cm9sbGVyIGl0c2VsZiBzaXRzIGluIGEgcG93ZXIg ZG9tYWluIG1hbmFnZWQgYnkgdGhlIHNhbWUgY29udHJvbGxlci4gZndfZGV2bGluayBkZXRlY3Rz IHRoaXMgY3ljbGUsIGdpdmVzIHVwLCBhbmQgcHJpbnRzIHRoZSB3YXJuaW5nLg0KRm9yIHRoZSBz cGVjaWZpYyBwYXR0ZXJuIHlvdSBhcmUgc2VlaW5nIKGqIHdoZXJlIHRoZSBmYWlsZWQgc3VwcGxp ZXIgaXMgInNvYyIgcmF0aGVyIHRoYW4gYW4gSTJDIFBNSUMgoaogdGhlIG1lY2hhbmlzbSBpcyBz bGlnaHRseSBkaWZmZXJlbnQuIFRoZSBuZXN0ZWQgcG93ZXItZG9tYWluIGNoaWxkIG5vZGVzIChw b3dlci1kb21haW5AMC9wb3dlci1kb21haW5AMSwgZXRjLikgYXJlIGNvbnN1bWVkIGludGVybmFs bHkgYnkgcm9ja2NoaXBfcG1fYWRkX29uZV9kb21haW4oKSwgYnV0IGZ3X2RldmxpbmsgdHJlYXRz IHRoZW0gYXMgcG90ZW50aWFsIGRldmljZXMuIEl0IHNlZXMgdGhlaXIgY2xvY2tzIHJlZmVyZW5j ZXMgYW5kIGF0dGVtcHRzIHRvIGNyZWF0ZSBwcm94eSBkZXZpY2UgbGlua3MuIFNpbmNlIHRoZSBj aGlsZCBmd25vZGVzIGhhdmUgbm8gYXNzb2NpYXRlZCBzdHJ1Y3QgZGV2aWNlLCB0aGUgbGlua3Mg ZmFpbCBhbmQgZmFsbCBiYWNrIHRvIHRoZSBwYXJlbnQgKCJzb2MiKS4NClJlZ2FyZGluZyB5b3Vy IHRocmVlIG9wdGlvbnM6DQpPcHRpb24gMiAoZHJpdmVyLWxldmVsIGZpeCkgaXMgdGhlIG1vc3Qg cHJhY3RpY2FsIHBhdGguIEluIHJvY2tjaGlwX3BtX2RvbWFpbl9wcm9iZSgpLCBhZnRlciBwYXJz aW5nIGVhY2ggY2hpbGQgbm9kZSB2aWEgcm9ja2NoaXBfcG1fYWRkX29uZV9kb21haW4oKSwgdGhl IGRyaXZlciBjb3VsZCBtYXJrIHRoZSBjaGlsZCBmd25vZGUgd2l0aCBGV05PREVfRkxBR19OT1Rf REVWSUNFLiBUaGlzIHRlbGxzIGZ3X2RldmxpbmsgdG8gc2tpcCBsaW5rIGNyZWF0aW9uIGZvciB0 aGF0IG5vZGUgYW5kIHdhbGsgdXAgdG8gdGhlIHBhcmVudCAocG93ZXItY29udHJvbGxlcikgZGV2 aWNlIGluc3RlYWQuIFNvbWV0aGluZyBsaWtlOg0KZm9yX2VhY2hfYXZhaWxhYmxlX2NoaWxkX29m X25vZGUobnAsIG5wX2NoaWxkKSB7CiAgICAvKiAuLi4gZXhpc3RpbmcgZG9tYWluIHJlZ2lzdHJh dGlvbiAuLi4gKi8KICAgIGZ3bm9kZV9zZXRfZmxhZygmbnBfY2hpbGQtPmZ3bm9kZSwgRldOT0RF X0ZMQUdfTk9UX0RFVklDRSk7Cn0KDQpUaGlzIGlzIHRhcmdldGVkLCBkb2VzIG5vdCBhZmZlY3Qg b3RoZXIgcGxhdGZvcm1zLCBhbmQgcmVxdWlyZXMgbm8gRFQgYmluZGluZyBjaGFuZ2VzLiBUaGUg c2FtZSBhcHByb2FjaCBjb3VsZCBiZSBhcHBsaWVkIHJlY3Vyc2l2ZWx5IGZvciBuZXN0ZWQgc3Vi LWRvbWFpbnMgKHBvd2VyLWRvbWFpbkAwL3Bvd2VyLWRvbWFpbkAxKS4NCk9wdGlvbiAxIChEVCBj aGFuZ2UpIHdvdWxkIGJlIGZyYWdpbGUgoaogdGhlIERUIGJpbmRpbmcgYWxyZWFkeSBjb3JyZWN0 bHkgZGVzY3JpYmVzIHRoZSBwb3dlci1kb21haW4gdG9wb2xvZ3ksIGFuZCBhZGRpbmcgYSBub24t c3RhbmRhcmQgYW5ub3RhdGlvbiBwcm9wZXJ0eSB3b3VsZCBiZSBhIHdvcmthcm91bmQgcmF0aGVy IHRoYW4gYSBmaXguDQpPcHRpb24gMyAoT0YvZndfZGV2bGluayBjb3JlIGNoYW5nZSkgaXMgdGhl IHByb3BlciBsb25nLXRlcm0gZml4IGJ1dCwgYXMgU2ViYXN0aWFuIG5vdGVkLCByZXF1aXJlcyBy ZXN0cnVjdHVyaW5nIGhvdyB0aGUgUm9ja2NoaXAgcG93ZXItY29udHJvbGxlciBkcml2ZXIgcmVn aXN0ZXJzIGl0cyBwcm92aWRlci4gVGhpcyBpcyB1bmxpa2VseSB0byBsYW5kIGluIHRoZSBuZWFy IHRlcm0uDQpJbiBvdXIgcHJvZHVjdGlvbiBCU1BzIChSSzM1ODgvUkszNTY4KSwgd2UgaGF2ZSBi ZWVuIHRyZWF0aW5nIHRoZXNlIHdhcm5pbmdzIGFzIGNvc21ldGljIKGqIHRoZSBhZmZlY3RlZCBk b21haW5zIGZ1bmN0aW9uIGNvcnJlY3RseSBiZWNhdXNlIHJvY2tjaGlwX3BkX3Bvd2VyKCkgaGFu ZGxlcyBkZXBlbmRlbmNpZXMgaW50ZXJuYWxseS4gSG93ZXZlciwgb24gUkszNTc2IHdpdGggaXRz IGRlZXBlciBuZXN0aW5nIG9mIHBvd2VyLWRvbWFpbiBjaGlsZCBub2RlcywgdGhlIHZvbHVtZSBv ZiB3YXJuaW5ncyBpcyBub3RpY2VhYmx5IGxhcmdlci4NCldlIHdvdWxkIGJlIGhhcHB5IHRvIHRl c3QgYSBwYXRjaCBmb3Igb3B0aW9uIDIgb24gUkszNTg4LCBSSzM1NjgsIGFuZCBSSzM1NzYgaGFy ZHdhcmUgaWYgc29tZW9uZSBwaWNrcyBpdCB1cC4NClsxXSBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAyNi1KdW5lLzU3MzgwMS5odG1sDQpCZXN0IHJl Z2FyZHMsDQoNCk93ZW4NCg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KQm9hcmRjb24gRW1iZWRkZWQgRGVzaWduDQpTa3lwZTog Qm9hcmRjb24NClRlbDogKzg2LTEzNTM3Njg1ODc4DQpGYXg6IDg2LTc1NS0yNzU3MTU1Mg0KRW1h aWw6IHN1cHBvcnRAYXJtZGVzaWduZXIuY29tDQpXZWJzaXRlOiBodHRwOi8vYXJtZGVzaWduZXIu Y29tDQp3d3cuYm9hcmRjb24uY29tDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqDQoNCg== ------=_001_NextPart257607842044_=---- Content-Type: text/html; charset="GB2312" Content-Transfer-Encoding: quoted-printable =0A

Hi Subair,

We have encountered the same "Failed to create= device link (0x180)" warnings across our Rockchip BSP development, not on= ly on RK3576 but also on RK3588 and RK3568. This is not an RK3576-specific= DTS issue.

As Sebastian Reichel explained in the accel: roc= ket NPU thread earlier this year [1], the root cause is a fundamental cycl= ic dependency in the Rockchip power-controller driver: the PM domain contr= oller may depend on a regulator supplied via I2C, while the I2C controller= itself sits in a power domain managed by the same controller. fw_devlink = detects this cycle, gives up, and prints the warning.

For th= e specific pattern you are seeing =A1=AA where the failed supplier is "soc= " rather than an I2C PMIC =A1=AA the mechanism is slightly different. The = nested power-domain child nodes (power-domain@0/power-domain@1, etc.) are = consumed internally by rockchip_pm_add_one_domain(), but fw_devlink treats= them as potential devices. It sees their clocks ref= erences and attempts to create proxy device links. Since the child fwnodes= have no associated struct device, the links fail and fall back to the par= ent ("soc").

Regarding your three options:

Option 2 (driver-le= vel fix) is the most practical path. In rockchip_pm_domain_pro= be(), after parsing each child node via rockchip_pm_add_one_domain(), the = driver could mark the child fwnode with FWNODE_FLAG_NOT_DEVICE. This tells= fw_devlink to skip link creation for that node and walk up to the parent = (power-controller) device instead. Something like:

for_each_available_child_of_node(np, np_child) {=0A    =
/* ... existing domain registration ... */=0A    fwnode_set_flag(&np_c=
hild->fwnode, FWNODE_FLAG_NOT_DEVICE);=0A}=0A
<= p style=3D"box-sizing: border-box; margin: 0px; padding: 0px 0px 12px; fon= t-size: 15.0001px; line-height: 1.786; font-family: -apple-system, BlinkMa= cSystemFont, "Segoe UI", Roboto, "Helvetica Neue", san= s-serif;">This is targeted, does not affect other platforms, and requires = no DT binding changes. The same approach could be applied recursively for = nested sub-domains (power-domain@0/power-domain@1).

Option 1 (DT change) would be fragile =A1=AA the DT binding already correctly describe= s the power-domain topology, and adding a non-standard annotation property= would be a workaround rather than a fix.

Option 3 (OF/fw_devlink core chang= e) is the proper long-term fix but, as Sebastian noted, requir= es restructuring how the Rockchip power-controller driver registers its pr= ovider. This is unlikely to land in the near term.

In our pr= oduction BSPs (RK3588/RK3568), we have been treating these warnings as cos= metic =A1=AA the affected domains function correctly because rockchip_pd_p= ower() handles dependencies internally. However, on RK3576 with its deeper= nesting of power-domain child nodes, the volume of warnings is noticeably= larger.

We would be happy to test a patch for option 2 on R= K3588, RK3568, and RK3576 hardware if someone picks it up.

[= 1] https://lists= .freedesktop.org/archives/dri-devel/2026-June/573801.html

Best r= egards,


Owen

=0A

*************************************************= ************

= Boardcon Embedded Design

Skype: Boardcon
Tel: +86-13537685878
Fax: 86-755-27571552

Email: support@armdesigner.com
Website: http://armdesigner.com= <= /span>

www.boardcon.com=

<= span lang=3D"EN-US" style=3D"font-size: 10pt; color: navy;">******************************************************= *******


=0A=0A<= /html> ------=_001_NextPart257607842044_=------