• Leo Li's avatar
    drm/amd/display: Disable VUpdate interrupt for DCN hardware · 3a2ce8d6
    Leo Li authored
    [Why]
    
    On DCN hardware, the crtc_high_irq handler makes vupdate_high_irq
    handler redundant.
    
    All the vupdate handler does is handle vblank events, and update vrr
    for DCE hw (excluding VEGA, more on that later). As far as usermode is
    concerned. vstartup happens close enough to vupdate on DCN that it can
    be considered the "same". Handling vblank and updating vrr at vstartup
    effectively replaces vupdate on DCN.
    
    Vega is a bit special. Like DCN, the VRR registers on Vega are
    double-buffered, and swapped at vupdate. But Unlike DCN, it lacks a
    vstartup interrupt. This means we can't quite remove the vupdate handler
    for it, since delayed user events due to vrr are sent off there.
    
    [How]
    
    Remove registration of vupdate interrupt handler for DCN. Disable
    vupdate interrupt if asic family DCN, enable otherwise.
    Reviewed-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
    Signed-off-by: default avatarLeo Li <sunpeng.li@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    3a2ce8d6
amdgpu_dm.c 228 KB