[PATCH v3] drm/edid DSC pass-through timing support
Yaroslav Bolyukin
iam at lach.pw
Sun Feb 26 14:10:49 UTC 2023
VESA DisplayID spec allows the device to force its DSC bits per pixel
value.
For example, the HTC Vive Pro 2 VR headset uses this value in
high-resolution modes (3680x1836 at 90-120, 4896x2448 at 90-120), and when the
kernel doesn't respect this parameter, the garbage is displayed on HMD
instead.
I am unaware of any other hardware using this value; however, multiple
users have tested this patch on the Vive Pro 2, and it is known to work and
not break anything else.
Regarding driver support - I have looked at amdgpu and Nvidia's
open-gpu-kernel-modules, and both seem to have some indication for this
value; however, in Linux, it is unused in both.
Amdgpu integration was trivial, so I implemented it in the second patch;
other kernel drivers still need the support of this value, and I don't have
the necessary hardware to implement and test the handling of this value on
them.
BR,
Yaroslav
Yaroslav Bolyukin (2):
drm/edid: parse DRM VESA dsc bpp target
drm/amd: use fixed dsc bits-per-pixel from edid
.../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 2 +
.../gpu/drm/amd/display/dc/core/dc_stream.c | 2 +
drivers/gpu/drm/amd/display/dc/dc_types.h | 3 ++
drivers/gpu/drm/drm_edid.c | 42 ++++++++++++-------
include/drm/drm_connector.h | 6 +++
include/drm/drm_displayid.h | 4 ++
6 files changed, 45 insertions(+), 14 deletions(-)
base-commit: a48bba98380cb0b43dcd01d276c7efc282e3c33f
--
2.39.1
More information about the dri-devel
mailing list