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
