drm: Reorganize drm_pending_event to support future event types [v2]
Place drm_event_vblank in a new union that includes that and a bare drm_event structure. This will allow new members of that union to be added in the future without changing code related to the existing vbl event type. Assignments to the crtc_id field are now done when the event is allocated, rather than when delievered. This way, delivery doesn't need to have the crtc ID available. v2: * Remove 'dev' argument from create_vblank_event It wasn't being used anyways, and if we need it in the future, we can always get it from crtc->dev. * Check for MODESETTING before looking for crtc in queue_vblank_event UMS drivers will oops if we try to get a crtc, so make sure we're modesetting before we try to find a crtc_id to fill into the event. Signed-off-by:Keith Packard <keithp@keithp.com> Reviewed-by:
Sean Paul <seanpaul@chromium.org> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit dc695b85fde88eca3ef3b03fcd82f15b6bc6e462)
Showing
- drivers/gpu/drm/drm_atomic.c 4 additions, 3 deletionsdrivers/gpu/drm/drm_atomic.c
- drivers/gpu/drm/drm_plane.c 1 addition, 1 deletiondrivers/gpu/drm/drm_plane.c
- drivers/gpu/drm/drm_vblank.c 24 additions, 17 deletionsdrivers/gpu/drm/drm_vblank.c
- drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c 2 additions, 2 deletionsdrivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
- drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c 2 additions, 2 deletionsdrivers/gpu/drm/vmwgfx/vmwgfx_stdu.c
- include/drm/drm_vblank.h 7 additions, 1 deletioninclude/drm/drm_vblank.h
Please register or sign in to comment