drm/irq: Add drm_crtc_handle_vblank()
This function is the KMS native variant of drm_handle_vblank(). It takes a struct drm_crtc * instead of a struct drm_device * and an index of the CRTC. Eventually the goal is to access vblank data through the CRTC only so that the per-CRTC data can be moved to struct drm_crtc. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Thierry Reding <treding@nvidia.com>
This commit is contained in:
parent
a4d7b30df5
commit
115ebcd4fa
|
@ -1613,6 +1613,8 @@ static void drm_handle_vblank_events(struct drm_device *dev, int crtc)
|
||||||
*
|
*
|
||||||
* Drivers should call this routine in their vblank interrupt handlers to
|
* Drivers should call this routine in their vblank interrupt handlers to
|
||||||
* update the vblank counter and send any signals that may be pending.
|
* update the vblank counter and send any signals that may be pending.
|
||||||
|
*
|
||||||
|
* This is the legacy version of drm_crtc_handle_vblank().
|
||||||
*/
|
*/
|
||||||
bool drm_handle_vblank(struct drm_device *dev, int crtc)
|
bool drm_handle_vblank(struct drm_device *dev, int crtc)
|
||||||
{
|
{
|
||||||
|
@ -1689,3 +1691,21 @@ bool drm_handle_vblank(struct drm_device *dev, int crtc)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_handle_vblank);
|
EXPORT_SYMBOL(drm_handle_vblank);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_crtc_handle_vblank - handle a vblank event
|
||||||
|
* @crtc: where this event occurred
|
||||||
|
*
|
||||||
|
* Drivers should call this routine in their vblank interrupt handlers to
|
||||||
|
* update the vblank counter and send any signals that may be pending.
|
||||||
|
*
|
||||||
|
* This is the native KMS version of drm_handle_vblank().
|
||||||
|
*
|
||||||
|
* Returns:
|
||||||
|
* True if the event was successfully handled, false on failure.
|
||||||
|
*/
|
||||||
|
bool drm_crtc_handle_vblank(struct drm_crtc *crtc)
|
||||||
|
{
|
||||||
|
return drm_handle_vblank(crtc->dev, drm_crtc_index(crtc));
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_crtc_handle_vblank);
|
||||||
|
|
|
@ -908,6 +908,7 @@ extern void drm_send_vblank_event(struct drm_device *dev, int crtc,
|
||||||
extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
|
extern void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
|
||||||
struct drm_pending_vblank_event *e);
|
struct drm_pending_vblank_event *e);
|
||||||
extern bool drm_handle_vblank(struct drm_device *dev, int crtc);
|
extern bool drm_handle_vblank(struct drm_device *dev, int crtc);
|
||||||
|
extern bool drm_crtc_handle_vblank(struct drm_crtc *crtc);
|
||||||
extern int drm_vblank_get(struct drm_device *dev, int crtc);
|
extern int drm_vblank_get(struct drm_device *dev, int crtc);
|
||||||
extern void drm_vblank_put(struct drm_device *dev, int crtc);
|
extern void drm_vblank_put(struct drm_device *dev, int crtc);
|
||||||
extern int drm_crtc_vblank_get(struct drm_crtc *crtc);
|
extern int drm_crtc_vblank_get(struct drm_crtc *crtc);
|
||||||
|
|
Loading…
Reference in New Issue