[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