• Imre Deak's avatar
    drm/i915/dp_mst: Handle the Synaptics HBlank expansion quirk · 55eaef16
    Imre Deak authored
    The Synaptics MST hubs expose some sink EDID modes with a reduced HBLANK
    period, presumedly to save BW, which the hub expands before forwarding
    the stream to the sink. In particular a 4k mode with a standard CVT
    HBLANK period is exposed with either a CVT reduced blank RBv1,v2 (80,
    160 pixel) or a non-CVT 56 pixel HBLANK period. The DP standard
    describes the above HBLANK expansion functionality, but it requires
    enabling this explicitly, whereas these hubs apply the expansion
    transparently.
    
    In some TBT docks with such a Synaptics hub (DELL WD22TB4) the above modes
    will work okay until DSC decompression is enabled in the hub for the given
    sink, but after this the same mode will not work reliably in decompressed
    mode. In another TBT dock (Thinkpad 40B0) the above modes will not work
    in uncompressed/18bpp mode (regardless of whether DSC decompression was
    enabled before or not).
    
    As a workaround force enable DSC for such modes.  Apply the WA when the
    HBLANK period is 300ns or below, matching the above tested modes with a
    533.25MHz dotclock and maximum 160 HBLANK pixels.
    
    OTOH DSC for these modes will only work above a certain compressed bpp
    threshold which depends on the link rate, so apply this limit as well
    in the workaround.
    
    On platforms, pipe/port configurations where DSC is not supported, for
    instance on ICL where DSC/MST is still work-in-progress, limit the
    minimum link bpp to 24.
    
    Apply the workaround only for Synaptics hubs which support the HBLANK
    expansion.
    
    v2:
    - Apply the WA whenever the HBLANK period is 300ns or below.
    v3:
    - Clarify in the commit log the failure modes of the different docks.
    - Handle platforms/pipe/port configurations without DSC support.
    
    Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> (v1)
    Signed-off-by: default avatarImre Deak <imre.deak@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20231107001505.3370108-4-imre.deak@intel.com
    55eaef16
intel_dp_mst.c 49.9 KB