[PATCH v3 00/14] Apply drm_bridge_connector and panel_bridge helper for the Analogix DP driver

Damon Ding damon.ding at rock-chips.com
Mon Jul 28 20:16:27 PDT 2025


On 2025/7/29 11:02, Damon Ding wrote:
> Hi Heiko,
> 
> On 2025/7/26 3:45, Heiko Stübner wrote:
>> Hi Damon,
>> Am Freitag, 25. Juli 2025, 04:15:06 Mitteleuropäische Sommerzeit 
>> schrieb Damon Ding:
>>> On 2025/7/24 21:10, Heiko Stübner wrote:
>>>> Am Donnerstag, 24. Juli 2025, 10:02:50 Mitteleuropäische Sommerzeit 
>>>> schrieb Damon Ding:
>>>>> PATCH 1 is a small format optimization for struct analogid_dp_device.
>>>>> PATCH 2 is to perform mode setting in &drm_bridge_funcs.atomic_enable.
>>>>> PATCH 3 is to apply a better API for the encoder initialization.
>>>>> PATCH 4-7 are preparations for apply drm_bridge_connector helper.
>>>>> PATCH 8 is to apply the drm_bridge_connector helper.
>>>>> PATCH 9-11 are to move the panel/bridge parsing to the Analogix side.
>>>>> PATCH 12-13 are preparations for apply panel_bridge helper.
>>>>> PATCH 14 is to apply the panel_bridge helper.
>>>>
>>>> for future revisions, please provide a changelog on what changed since
>>>> the previous version, I guess ideally here in the cover-letter.
>>>>
>>>>
>>>> On my rk3588-tiger-displayport-carrier this works like a charm
>>>> Tested-by: Heiko Stuebner <heiko at sntech.de>
>>>>
>>>>
>>>>
>>>>
>>>
>>> Glad to see your review and test. :-)
>>>
>>> I will include the version-to-version changelogs (v2 -> v3 and v3 -> v4)
>>> in the next iteration.
>>
>> I have to amend that a bit, sadly. When doing a reboot with the edp
>> running, I see logs like:
>>
>> [...]
>> [  139.614749] systemd-shutdown[1]: Syncing filesystems and block 
>> devices.
>> [  139.622201] systemd-shutdown[1]: Rebooting.
>> [  139.684845] ------------[ cut here ]------------
>> [  139.690050] WARNING: CPU: 0 PID: 110 at drivers/iommu/rockchip- 
>> iommu.c:989 rk_iommu_identity_attach+0xac/0xbc
>> [  139.701175] Modules linked in: panthor rockchip_vdec rocket 
>> drm_gpuvm v4l2_vp9 v4l2_h264 drm_exec rockchip_rng drm_shmem_helper 
>> v4l2_mem2mem gpu_sched rng_core fuse
>> [  139.717685] CPU: 0 UID: 0 PID: 110 Comm: irq/58-HPD Not tainted 
>> 6.16.0-rc7-00183-gd436cbe8e4b3 #1541 PREEMPT
>> [  139.728799] Hardware name: Theobroma Systems RK3588-Q7 SoM on Tiger 
>> Displayport Carrier v1 (DT)
>> [  139.738548] pstate: a0400009 (NzCv daif +PAN -UAO -TCO -DIT -SSBS 
>> BTYPE=--)
>> [  139.746351] pc : rk_iommu_identity_attach+0xac/0xbc
>> [  139.751821] lr : rk_iommu_identity_attach+0x70/0xbc
>> [  139.757290] sp : ffff800080e4b7c0
>> [  139.761001] x29: ffff800080e4b7c0 x28: ffff0001f6f98080 x27: 
>> ffff0001f0a4b010
>> [  139.769006] x26: ffff0001f6f98e58 x25: 0000000000000000 x24: 
>> 0000000000000000
>> [  139.777010] x23: 0000000000000000 x22: ffffdbf23c0485e0 x21: 
>> ffff0001f0e9cc10
>> [  139.785014] x20: ffff0001f0df17a0 x19: ffff0001f0e2cb80 x18: 
>> 0000000000000038
>> [  139.793018] x17: 0002550800000009 x16: 0000046c0446043e x15: 
>> 0438000008ca080c
>> [  139.801021] x14: 07d008ca07800780 x13: 0438000008ca080c x12: 
>> 07d0078000025508
>> [  139.809024] x11: 0002550800000009 x10: 0000046c0446043e x9 : 
>> ffffdbf23c137000
>> [  139.817031] x8 : 0000000000000438 x7 : 0000000000000000 x6 : 
>> 0000000000000000
>> [  139.825034] x5 : ffffdbf23adbb9c0 x4 : ffff0001f0df1780 x3 : 
>> ffff0001f0df1780
>> [  139.833038] x2 : 0000000000000081 x1 : ffff0001f6fad500 x0 : 
>> 00000000ffffffea
>> [  139.841042] Call trace:
>> [  139.843780]  rk_iommu_identity_attach+0xac/0xbc (P)
>> [  139.849252]  rk_iommu_attach_device+0x54/0x134
>> [  139.854236]  __iommu_device_set_domain+0x7c/0x110
>> [  139.859510]  __iommu_group_set_domain_internal+0x60/0x134
>> [  139.865561]  __iommu_attach_group+0x88/0x9c
>> [  139.870250]  iommu_attach_device+0x68/0xa0
>> [  139.874841]  rockchip_drm_dma_attach_device+0x28/0x7c
>> [  139.880508]  vop2_crtc_atomic_enable+0x620/0xaa0
>> [  139.885678]  drm_atomic_helper_commit_modeset_enables+0xac/0x26c
>> [  139.892413]  drm_atomic_helper_commit_tail_rpm+0x50/0xa0
>> [  139.898369]  commit_tail+0xa0/0x1a0
>> [  139.902279]  drm_atomic_helper_commit+0x17c/0x1b0
>> [  139.907552]  drm_atomic_commit+0x8c/0xcc
>> [  139.911951]  drm_client_modeset_commit_atomic+0x228/0x298
>> [  139.918005]  drm_client_modeset_commit_locked+0x5c/0x188
>> [  139.923960]  drm_client_modeset_commit+0x2c/0x58
>> [  139.929137]  __drm_fb_helper_restore_fbdev_mode_unlocked+0xb4/0x100
>> [  139.936164]  drm_fb_helper_hotplug_event+0xe8/0xf8
>> [  139.941526]  drm_fbdev_client_hotplug+0x24/0xe0
>> [  139.946605]  drm_client_hotplug+0x48/0xc4
>> [  139.951100]  drm_client_dev_hotplug+0x9c/0xd4
>> [  139.955984]  drm_kms_helper_connector_hotplug_event+0x20/0x30
>> [  139.962426]  drm_bridge_connector_hpd_cb+0x88/0xa0
>> [  139.967790]  drm_bridge_hpd_notify+0x3c/0x60
>> [  139.972577]  display_connector_hpd_irq+0x30/0xa4
>> [  139.978835]  irq_thread_fn+0x2c/0xb0
>> [  139.983894]  irq_thread+0x170/0x304
>> [  139.988833]  kthread+0x12c/0x204
>> [  139.993468]  ret_from_fork+0x10/0x20
>> [  139.998486] ---[ end trace 0000000000000000 ]---
>> [  140.004737] ------------[ cut here ]------------
>> [  140.010884] WARNING: CPU: 0 PID: 110 at drivers/iommu/rockchip- 
>> iommu.c:1040 rk_iommu_attach_device+0x114/0x134
>> [  140.023079] Modules linked in: panthor rockchip_vdec rocket 
>> drm_gpuvm v4l2_vp9 v4l2_h264 drm_exec rockchip_rng drm_shmem_helper 
>> v4l2_mem2mem gpu_sched rng_core fuse
>> [  140.040577] CPU: 0 UID: 0 PID: 110 Comm: irq/58-HPD Tainted: 
>> G        W           6.16.0-rc7-00183-gd436cbe8e4b3 #1541 PREEMPT
>> [  140.054457] Tainted: [W]=WARN
>> [  140.058804] Hardware name: Theobroma Systems RK3588-Q7 SoM on Tiger 
>> Displayport Carrier v1 (DT)
>> [  140.069595] pstate: a0400009 (NzCv daif +PAN -UAO -TCO -DIT -SSBS 
>> BTYPE=--)
>> [  140.078454] pc : rk_iommu_attach_device+0x114/0x134
>> [  140.084989] lr : rk_iommu_attach_device+0x98/0x134
>> [  140.091423] sp : ffff800080e4b7e0
>> [  140.096197] x29: ffff800080e4b7e0 x28: ffff0001f6f98080 x27: 
>> ffff0001f0a4b010
>> [  140.105270] x26: ffff0001f6f98e58 x25: 0000000000000000 x24: 
>> 0000000000000000
>> [  140.114351] x23: ffff0001f6f843e0 x22: ffffdbf23c0485e0 x21: 
>> ffff0001f0e9cc10
>> [  140.123425] x20: ffff0001f0e2cb80 x19: ffff0001f6f843c0 x18: 
>> 0000000000000038
>> [  140.132489] x17: 0002550800000009 x16: 0000046c0446043e x15: 
>> 0438000008ca080c
>> [  140.141552] x14: 07d008ca07800780 x13: 0438000008ca080c x12: 
>> 07d0078000025508
>> [  140.150623] x11: 0002550800000009 x10: 0000046c0446043e x9 : 
>> ffffdbf23c137000
>> [  140.159701] x8 : 0000000000000438 x7 : 0000000000000000 x6 : 
>> 0000000000000000
>> [  140.168772] x5 : ffffdbf23adbb9c0 x4 : ffff0001f0df1780 x3 : 
>> ffff0001f0e2cbe0
>> [  140.177825] x2 : 0000000000000081 x1 : ffff0001f6fad500 x0 : 
>> 00000000ffffffea
>> [  140.186858] Call trace:
>> [  140.190627]  rk_iommu_attach_device+0x114/0x134 (P)
>> [  140.197124]  __iommu_device_set_domain+0x7c/0x110
>> [  140.203417]  __iommu_group_set_domain_internal+0x60/0x134
>> [  140.210492]  __iommu_attach_group+0x88/0x9c
>> [  140.216203]  iommu_attach_device+0x68/0xa0
>> [  140.221802]  rockchip_drm_dma_attach_device+0x28/0x7c
>> [  140.228479]  vop2_crtc_atomic_enable+0x620/0xaa0
>> [  140.234664]  drm_atomic_helper_commit_modeset_enables+0xac/0x26c
>> [  140.242400]  drm_atomic_helper_commit_tail_rpm+0x50/0xa0
>> [  140.249349]  commit_tail+0xa0/0x1a0
>> [  140.254246]  drm_atomic_helper_commit+0x17c/0x1b0
>> [  140.260496]  drm_atomic_commit+0x8c/0xcc
>> [  140.265866]  drm_client_modeset_commit_atomic+0x228/0x298
>> [  140.272885]  drm_client_modeset_commit_locked+0x5c/0x188
>> [  140.279791]  drm_client_modeset_commit+0x2c/0x58
>> [  140.285914]  __drm_fb_helper_restore_fbdev_mode_unlocked+0xb4/0x100
>> [  140.293889]  drm_fb_helper_hotplug_event+0xe8/0xf8
>> [  140.300214]  drm_fbdev_client_hotplug+0x24/0xe0
>> [  140.306248]  drm_client_hotplug+0x48/0xc4
>> [  140.311695]  drm_client_dev_hotplug+0x9c/0xd4
>> [  140.317531]  drm_kms_helper_connector_hotplug_event+0x20/0x30
>> [  140.324930]  drm_bridge_connector_hpd_cb+0x88/0xa0
>> [  140.331248]  drm_bridge_hpd_notify+0x3c/0x60
>> [  140.336990]  display_connector_hpd_irq+0x30/0xa4
>> [  140.343120]  irq_thread_fn+0x2c/0xb0
>> [  140.348081]  irq_thread+0x170/0x304
>> [  140.352937]  kthread+0x12c/0x204
>> [  140.357501]  ret_from_fork+0x10/0x20
>> [  140.362453] ---[ end trace 0000000000000000 ]---
>>
>>
>> After some minutes of hanging it does reboot afterall.
>>
>> Heiko
>>
>>
> 
> Could you please help confirm whether the same error still occurs with 
> this patch series under the same conditions?

Careless, what I want to express should be '...without this patch 
series...'. :-)

> 
> And I will also perform additional verification on my RK3588S EVB1 board.
> 
> Best regards,
> Damon
> 
> 
> 




More information about the linux-arm-kernel mailing list