.../drm/bridge/analogix/analogix_dp_core.c | 383 ++++++++++-------- .../drm/bridge/analogix/analogix_dp_core.h | 5 +- drivers/gpu/drm/exynos/exynos_dp.c | 48 +-- .../gpu/drm/rockchip/analogix_dp-rockchip.c | 53 +-- include/drm/bridge/analogix_dp.h | 7 +- 5 files changed, 248 insertions(+), 248 deletions(-)
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. Damon Ding (14): drm/bridge: analogix_dp: Formalize the struct analogix_dp_device drm/bridge: analogix_dp: Move &drm_bridge_funcs.mode_set to &drm_bridge_funcs.atomic_enable drm/rockchip: analogix_dp: Apply drmm_encoder_init() instead of drm_simple_encoder_init() drm/bridge: analogix_dp: Add &analogix_dp_plat_data.bridge drm/exynos: exynos_dp: Remove &exynos_dp_device.ptn_bridge drm/bridge: exynos_dp: Remove unused &exynos_dp_device.connector drm/bridge: analogix_dp: Remove redundant &analogix_dp_plat_data.skip_connector drm/bridge: analogix_dp: Apply drm_bridge_connector helper drm/bridge: analogix_dp: Add support to find panel or bridge drm/rockchip: analogix_dp: Apply analogix_dp_find_panel_or_bridge() drm/exynos: exynos_dp: Apply analogix_dp_find_panel_or_bridge() drm/bridge: analogix_dp: Remove panel disabling and enabling in analogix_dp_set_bridge() drm/bridge: analogix_dp: Remove bridge disabing and panel unpreparing in analogix_dp_unbind() drm/bridge: analogix_dp: Apply panel_bridge helper .../drm/bridge/analogix/analogix_dp_core.c | 383 ++++++++++-------- .../drm/bridge/analogix/analogix_dp_core.h | 5 +- drivers/gpu/drm/exynos/exynos_dp.c | 48 +-- .../gpu/drm/rockchip/analogix_dp-rockchip.c | 53 +-- include/drm/bridge/analogix_dp.h | 7 +- 5 files changed, 248 insertions(+), 248 deletions(-) -- 2.34.1
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@sntech.de>
Hi Heiko, 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@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. Best regards, Damon
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@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
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@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? And I will also perform additional verification on my RK3588S EVB1 board. Best regards, Damon
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@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 > > >
Hi Damon, Am Dienstag, 29. Juli 2025, 05:16:27 Mitteleuropäische Sommerzeit schrieb Damon Ding: > On 2025/7/29 11:02, Damon Ding wrote: > > On 2025/7/26 3:45, Heiko Stübner wrote: > >> 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@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...'. :-) sorry this took a tad longer for me to get back to this topic, but I was now able to run a number of scenarios: So I ran a number of variants and interestingly as the board I do eDP tests on does not have any PCIe parts, I enountered an issue with the PCIe SMMU [0]. When I disable the SMMU node, I also cannot reproduce the error from above. So I've rebooted so many times today both with and without the SMMU, and encountered the log from above only ever with the dangling SMMU. So I'd assume, the Analogix series is actually innocent :-) . Heiko [0] https://lore.kernel.org/linux-rockchip/4400329.mogB4TqSGs@diego/T/#m5901974351b7c11e34f29a02b4f7f69b6ef29b2f
Hi Heiko, On 2025/8/7 3:54, Heiko Stübner wrote: > Hi Damon, > > Am Dienstag, 29. Juli 2025, 05:16:27 Mitteleuropäische Sommerzeit schrieb Damon Ding: >> On 2025/7/29 11:02, Damon Ding wrote: >>> On 2025/7/26 3:45, Heiko Stübner wrote: >>>> 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@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...'. :-) > > sorry this took a tad longer for me to get back to this topic, but I was > now able to run a number of scenarios: > > So I ran a number of variants and interestingly as the board I do eDP > tests on does not have any PCIe parts, I enountered an issue with > the PCIe SMMU [0]. > > When I disable the SMMU node, I also cannot reproduce the error from > above. So I've rebooted so many times today both with and without the > SMMU, and encountered the log from above only ever with the dangling > SMMU. So I'd assume, the Analogix series is actually innocent :-) . > > > Heiko > > > > [0] https://lore.kernel.org/linux-rockchip/4400329.mogB4TqSGs@diego/T/#m5901974351b7c11e34f29a02b4f7f69b6ef29b2f > > Thanks for testing! And v4 patch series is on the way. ;-) Best regards, Damon
© 2016 - 2025 Red Hat, Inc.