[RFC PATCH 0/3] drm/msm: correct DSC RGB and command-mode vblank handling

From: Zhang Jiaxi

Date: Thu Oct 08 2026 - 18:36:05 EST


These three independent corrections preserve current target APIs:
select the existing RGB DSC 1.2 RC table only for version 1.2 and reject
native subsampling in a forced-RGB path; retain the commit's vblank reference
until completion delivers its page-flip event; and reject video-porch
scanout-position conversion for a command-mode tear-check counter.

Command mode initializes that counter at vdisplay, puts RD_PTR at
vdisplay+1 and can wrap at twice vtotal. This is not the video raster used
by the shared timestamp conversion. Returning false only marks that
accurate scanout-derived timestamp unavailable; TE IRQ/counting and the
current off-delay policy remain in place. No always-on IRQ policy is added.
The completion callback consumes the current count/time and does not wait
for another TE interrupt.

The baseline is torvalds/linux
6c377d19d4a5116d9bec5203aa3c6c11523e7898. Normal arm64 Kbuild compiled
DSI/DPU after these revisions without diagnostics; the unchanged atomic
payload reuses its earlier object result. Actual DSI-populate/DPU-scanout
function tests with modeled helper I/O cover table selection, rejected
native formats, the command guard and unchanged video boundaries under
ASan/UBSan, including old-code counterexamples.

No new device timing, idle-power, DSC-math or panel cold-init result is
claimed. Original A830/SM8750 dependencies remain with their public authors
and are not part of this series.

Jiaxi Zhang (3):
drm/msm/dsi: select RGB DSC 1.2 rate-control parameters
drm/msm: keep the commit vblank reference through completion
drm/msm/dpu: reject video scanout timestamps in command mode