]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/dp: Add DSC virtual DPCD quirk for Realtek MST branch device
authorImre Deak <imre.deak@intel.com>
Mon, 25 May 2026 12:55:16 +0000 (15:55 +0300)
committerImre Deak <imre.deak@intel.com>
Wed, 27 May 2026 13:36:58 +0000 (16:36 +0300)
The ASUS DC301 USB-C dock containing a Realtek MST branch device
supports the DSC decompression functionality on each of the dock's
downstream connectors, even though there is no discoverable peer-to-peer
virtual device in the MST topology (which the DP Standard
requires/suggests to control the DSC functionality on a per-DFP basis).
Add the DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD quirk for this branch
device as well to enable the DSC decompression functionality on all DFP
connectors of the dock, similarly to how this is done for dock's
containing older Synaptics branch devices.

Cc: Lyude Paul <lyude@redhat.com>
Reported-and-tested-by: Shawn C Lee <shawn.c.lee@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patch.msgid.link/20260525125516.2794636-1-imre.deak@intel.com
drivers/gpu/drm/display/drm_dp_helper.c

index a6067471dd56316f2948277567b00b3289ef949b..9c31e14cc413bdf805dc338403a40c0a12f6afd7 100644 (file)
@@ -2546,6 +2546,8 @@ static const struct dpcd_quirk dpcd_quirk_list[] = {
        { OUI(0x00, 0x00, 0x00), DEVICE_ID('C', 'H', '7', '5', '1', '1'), false, BIT(DP_DPCD_QUIRK_NO_SINK_COUNT) },
        /* Synaptics DP1.4 MST hubs can support DSC without virtual DPCD */
        { OUI(0x90, 0xCC, 0x24), DEVICE_ID_ANY, true, BIT(DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) },
+       /* Realtek DP1.4 MST hubs can support DSC without virtual DPCD */
+       { OUI(0x00, 0xe0, 0x4c), DEVICE_ID('D', 'p', '1', '.', '4', 0), true, BIT(DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) },
        /* Synaptics DP1.4 MST hubs require DSC for some modes on which it applies HBLANK expansion. */
        { OUI(0x90, 0xCC, 0x24), DEVICE_ID_ANY, true, BIT(DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC) },
        /* MediaTek panels (at least in U3224KBA) require DSC for modes with a short HBLANK on UHBR links. */