• Daniel Vetter's avatar
    drm/vblank: Unexport drm_vblank_cleanup · b4164d66
    Daniel Vetter authored
    There's no reason for drivers to call this, and all the ones I've
    removed looked very fishy:
    - Proper quiescenting of the vblank machinery should be done by
      calling drm_crtc_vblank_off(), which is best done by shutting down
      the entire display engine with drm_atomic_helper_shutdown.
    
    - Releasing of allocated memory is done by the core already, it calls
      drm_vblank_cleanup as a fallback.
    
    - drm_vblank_cleanup also has checks for drivers which forget to clean
      up vblank interrupts.
    
    This essentially reverts
    
    commit e77cef9c
    Author: Jerome Glisse <jglisse@redhat.com>
    Date:   Thu Jan 7 15:39:13 2010 +0100
    
        drm: Avoid calling vblank function is vblank wasn't initialized
    
    which was done to fix a bug in radeon code with msi interrupts:
    
    commit 003e69f9
    Author: Jerome Glisse <jglisse@redhat.com>
    Date:   Thu Jan 7 15:39:14 2010 +0100
    
        drm/radeon/kms: Don't try to enable IRQ if we have no handler installed
    
    Afaict from digging around in old code, this was needed to avoid
    blowing up in the ums fallback, and has stopped serving it's purpose
    long ago - if irq init fails, the driver fails to load, and there's
    really no way to blow up anymore.
    
    Long story short, this was most likely a small ums compat/fallback
    hack that became a thing of it's own and got cargo-cult duplicated all
    over the drm codebase for essentially no gain at all.
    
    v2: Mention that for drivers with a ->release callback cleanup is
    handled by drm_dev_fini() (Thierry).
    
    Cc: Thierry Reding <treding@nvidia.com>
    Acked-by: default avatarThierry Reding <treding@nvidia.com>
    Cc: Jerome Glisse <jglisse@redhat.com>
    Reviewed-by: default avatarSean Paul <seanpaul@chromium.org>
    Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20170626161949.25629-2-daniel.vetter@ffwll.ch
    b4164d66
drm_vblank.c 49.1 KB