[Freedreno] [PATCH] Revert "drm/msm/dp: Remove INIT_SETUP delay"
Abhinav Kumar
quic_abhinavk at quicinc.com
Tue May 9 19:15:17 UTC 2023
On 5/8/2023 4:30 AM, Dmitry Baryshkov wrote:
> On 08/05/2023 14:02, Leonard Lausen wrote:
>> Abhinav Kumar <quic_abhinavk at quicinc.com> writes:
>>> On 5/7/2023 7:15 PM, Bjorn Andersson wrote:
>>>> When booting with the cable connected on my X13s, 100 is long enough
>>>> for
>>>> my display to time out and require me to disconnect and reconnect the
>>>> cable again.
>>>>
>>>> Do we have any idea of why the reduction to 0 is causing an issue when
>>>> using the internal HPD?
>>>>
>>>> Regards,
>>>> Bjorn
>>> Yes, we do know why this is causing an issue. The cleaner patch for this
>>> will be posted this week.
>>
>> Great!
>>
>>> There is no need to add the 100ms delay back yet.
>>>
>>> thanks for posting this but NAK on this patch till we post the fix this
>>> week.
>>>
>>> Appreciate a bit of patience till then.
>>
>> This regression is already part of the 6.3 stable release series. Will
>> the new patch qualify for inclusion in 6.3.y? Or will it be part of 6.4
>> and this revert should go into 6.3.y?
>
> This is a tough situation, as landing a revert will break x13s, as noted
> by Bjorn. Given that the workaround is known at this moment, I would
> like to wait for the patch from Abhinav to appear, then we can decide
> which of the fixes should go to the stable kernel.
>
>>
>> Even with this revert, there are additional regressions in 6.3 causing
>> dpu errors and blank external display upon suspending and resuming the
>> system while an external display is connected. Will your new patch also
>> fix these regressions?
>>
>> [ 275.025497] [drm:dpu_encoder_phys_vid_wait_for_commit_done:488]
>> [dpu error]vblank timeout
>> [ 275.025514] [drm:dpu_kms_wait_for_commit_done:510] [dpu error]wait
>> for commit done returned -110
>> [ 275.064141] [drm:dpu_encoder_frame_done_timeout:2382] [dpu
>> error]enc33 frame done timeout
>>
>> followed by a kernel panic if any modification to the display settings
>> is done, such as disabling the external display:
>
> Interesting crash, thank you for the report.
>
This is a different crash but the root-cause of both the issues is the
bridge hpd_enable/disable series.
https://patchwork.freedesktop.org/patch/514414/
This is breaking the sequence and logic of internal hpd as per my
discussion with kuogee.
We are analyzing the issue and the fix internally first and once we
figure out all the details will post it.
>>
>> [ 341.631287] Hardware name: Google Lazor (rev3 - 8) (DT)
>> [ 341.631290] pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS
>> BTYPE=--)
>> [ 341.631296] pc : do_raw_spin_unlock+0xb8/0xc4
>> [ 341.631310] lr : do_raw_spin_unlock+0x78/0xc4
>> [ 341.631315] sp : ffffffc01100b880
>> [ 341.631317] x29: ffffffc01100b880 x28: 0000000000000028 x27:
>> 0000000000000038
>> [ 341.631326] x26: ffffff808c89e180 x25: ffffffef33e39920 x24:
>> 0000000000000000
>> [ 341.631333] x23: ffffffef33e3ca0c x22: 0000000000000002 x21:
>> ffffff808345ded8
>> [ 341.631339] x20: ffffff808345ded0 x19: 000000000000001e x18:
>> 0000000000000000
>> [ 341.631345] x17: 0048000000000460 x16: 0441043b04600438 x15:
>> 04380000089807d0
>> [ 341.631351] x14: 07b0089807800780 x13: 0000000000000068 x12:
>> 0000000000000001
>> [ 341.631357] x11: ffffffef3413bb76 x10: 0000000000000bb0 x9 :
>> ffffffef33e3d6bc
>> [ 341.631363] x8 : ffffff808c89ed90 x7 : ffffff80b1c9f738 x6 :
>> 0000000000000001
>> [ 341.631370] x5 : 0000000000000000 x4 : 0000000000000000 x3 :
>> ffffff808345def0
>> [ 341.631375] x2 : 00000000dead4ead x1 : 0000000000000003 x0 :
>> 0000000000000000
>> [ 341.631383] Kernel panic - not syncing: Asynchronous SError Interrupt
>> [ 341.631386] CPU: 3 PID: 1520 Comm: kwin_wayland Not tainted
>> 6.3.0-stb-cbq+ #2
>> [ 341.631390] Hardware name: Google Lazor (rev3 - 8) (DT)
>> [ 341.631393] Call trace:
>> [ 341.631395] dump_backtrace+0xc8/0x104
>> [ 341.631402] show_stack+0x20/0x30
>> [ 341.631407] dump_stack_lvl+0x48/0x60
>> [ 341.631414] dump_stack+0x18/0x24
>> [ 341.631419] panic+0x130/0x2fc
>> [ 341.631425] nmi_panic+0x54/0x78
>> [ 341.631428] arm64_serror_panic+0x74/0x80
>> [ 341.631434] arm64_is_fatal_ras_serror+0x6c/0x8c
>> [ 341.631439] do_serror+0x48/0x60
>> [ 341.631444] el1h_64_error_handler+0x30/0x48
>> [ 341.631450] el1h_64_error+0x68/0x6c
>> [ 341.631455] do_raw_spin_unlock+0xb8/0xc4
>> [ 341.631460] _raw_spin_unlock_irq+0x18/0x38
>> [ 341.631466] __wait_for_common+0xb8/0x154
>> [ 341.631472] wait_for_completion_timeout+0x28/0x34
>> [ 341.631477] dp_ctrl_push_idle+0x3c/0x88
>> [ 341.631483] dp_bridge_disable+0x20/0x2c
>> [ 341.631488] drm_atomic_bridge_chain_disable+0x8c/0xb8
>> [ 341.631495] drm_atomic_helper_commit_modeset_disables+0x198/0x450
>> [ 341.631501] msm_atomic_commit_tail+0x1c8/0x36c
>> [ 341.631507] commit_tail+0x80/0x108
>> [ 341.631512] drm_atomic_helper_commit+0x114/0x118
>> [ 341.631516] drm_atomic_commit+0xb4/0xe0
>> [ 341.631522] drm_mode_atomic_ioctl+0x6b0/0x890
>> [ 341.631527] drm_ioctl_kernel+0xe4/0x164
>> [ 341.631534] drm_ioctl+0x35c/0x3bc
>> [ 341.631539] vfs_ioctl+0x30/0x50
>> [ 341.631547] __arm64_sys_ioctl+0x80/0xb4
>> [ 341.631552] invoke_syscall+0x84/0x11c
>> [ 341.631558] el0_svc_common.constprop.0+0xc0/0xec
>> [ 341.631563] do_el0_svc+0x94/0xa4
>> [ 341.631567] el0_svc+0x2c/0x54
>> [ 341.631570] el0t_64_sync_handler+0x94/0x100
>> [ 341.631575] el0t_64_sync+0x194/0x198
>> [ 341.631580] SMP: stopping secondary CPUs
>> [ 341.831615] Kernel Offset: 0x2f2b200000 from 0xffffffc008000000
>> [ 341.831618] PHYS_OFFSET: 0x80000000
>> [ 341.831620] CPU features: 0x400000,61500506,3200720b
>> [ 341.831623] Memory Limit: none
>
More information about the Freedreno
mailing list