• Hersen Wu's avatar
    drm/amd/display: dsc engine not disabled after unplug dsc mst hub · a550bb16
    Hersen Wu authored
    [WHY]
    If timing and bpp of displays on mst hub are not changed,
    pbn, slot_num for displays should not be changed. Linux
    user mode may initiate atomic_check with different display
    configuration after set mode finished. This will call to
    amdgpu_dm to re-compute payload, slot_num of displays and
    saved to dm_connect_state. stream->timing.flags.dsc, pbn,
    slot_num are updated to values which may be different from
    that were used for set mode. when dsc hub with 3 4k@60hz dp
    connected, 3 dsc engines are enabled. timing.flags.dsc = 1.
    timing.flags.dsc are changed to 0 due to atomic check. when
    dsc hub is unplugged, amdgpu driver check timing.flags.dsc
    for last mode set and find out flags.dsc = 0, then does not
    disable dsc.
    
    [HOW]
    check status of  displays on dsc mst hubs. re-compute pbn,
    slot_num, timing.flags.dsc only if there is mode, connect
    or enable/disable change.
    Acked-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
    Signed-off-by: default avatarHersen Wu <hersenwu@amd.com>
    Reviewed-by: default avatarMikita Lipski <Mikita.Lipski@amd.com>
    Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    a550bb16
amdgpu_dm.c 330 KB