• Roman Li's avatar
    drm/amd/display: Cap pflip irqs per max otg number · 328e34a5
    Roman Li authored
    [Why]
    pflip interrupt order are mapped 1 to 1 to otg id.
    e.g. if irq_src=26 corresponds to otg0 then 27->otg1, 28->otg2...
    
    Linux DM registers pflip interrupts per number of crtcs.
    In fused pipe case crtc numbers can be less than otg id.
    
    e.g. if one pipe out of 3(otg#0-2) is fused adev->mode_info.num_crtc=2
    so DM only registers irq_src 26,27.
    This is a bug since if pipe#2 remains unfused DM never gets
    otg2 pflip interrupt (irq_src=28)
    That may results in gfx failure due to pflip timeout.
    
    [How]
    Register pflip interrupts per max num of otg instead of num_crtc
    Signed-off-by: default avatarRoman Li <Roman.Li@amd.com>
    Reviewed-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    328e34a5
amdgpu_dm.c 338 KB