diff options
| author | Jason-JH Lin <[email protected]> | 2025-06-24 11:31:41 +0000 |
|---|---|---|
| committer | Chun-Kuang Hu <[email protected]> | 2025-07-17 23:18:53 +0000 |
| commit | d208261e9f7c66960587b10473081dc1cecbe50b (patch) | |
| tree | caac5d6c0b98517e32c024ea5f7c544a4442e568 /lib/crypto/mpi/mpi-mul.c | |
| parent | Linux 6.16-rc1 (diff) | |
| download | kernel-d208261e9f7c66960587b10473081dc1cecbe50b.tar.gz kernel-d208261e9f7c66960587b10473081dc1cecbe50b.zip | |
drm/mediatek: Add wait_event_timeout when disabling plane
Our hardware registers are set through GCE, not by the CPU.
DRM might assume the hardware is disabled immediately after calling
atomic_disable() of drm_plane, but it is only truly disabled after the
GCE IRQ is triggered.
Additionally, the cursor plane in DRM uses async_commit, so DRM will
not wait for vblank and will free the buffer immediately after calling
atomic_disable().
To prevent the framebuffer from being freed before the layer disable
settings are configured into the hardware, which can cause an IOMMU
fault error, a wait_event_timeout has been added to wait for the
ddp_cmdq_cb() callback,indicating that the GCE IRQ has been triggered.
Fixes: 2f965be7f900 ("drm/mediatek: apply CMDQ control flow")
Signed-off-by: Jason-JH Lin <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
Reviewed-by: CK Hu <[email protected]>
Link: https://patchwork.kernel.org/project/linux-mediatek/patch/[email protected]/
Signed-off-by: Chun-Kuang Hu <[email protected]>
Diffstat (limited to 'lib/crypto/mpi/mpi-mul.c')
0 files changed, 0 insertions, 0 deletions
