• Alex Deucher's avatar
    drm/radeon/kms: enable UVD as needed (v9) · 8a227555
    Alex Deucher authored
    When using UVD, the driver must switch to a special UVD power
    state.  In the CS ioctl, switch to the power state and schedule
    work to change the power state back, when the work comes up,
    check if uvd is still busy and if not, switch back to the user
    state, otherwise, reschedule the work.
    
    Note:  We really need some better way to decide when to
    switch out of the uvd power state.  Switching power states
    while playback is active make uvd angry.
    
    V2: fix locking.
    
    V3: switch from timer to delayed work
    
    V4: check fence driver for UVD jobs, reduce timeout to
        1 second and rearm timeout on activity
    
    v5: rebase on new dpm tree
    
    v6: rebase on interim uvd on demand changes
    
    v7: fix UVD when DPM is disabled
    
    v8: unify non-DPM and DPM UVD handling
    
    v9: remove leftover idle work struct
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Signed-off-by: default avatarChristian König <deathsimple@vodafone.de>
    8a227555
radeon_uvd.c 20.5 KB