[PATCH] libdrm: vblank wait on crtc > 1

Alex Deucher alexdeucher at gmail.com
Sat Mar 19 12:36:02 PDT 2011


On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic
<ihadzic at research.bell-labs.com> wrote:
>
> Hi Alex,
>
> Below is a patch against the master branch of libdrm that adds support for
> waits for vblank events on CRTCs that are greater than 1 (and thus cannot be
> represented using current primary/secondary flags interface). The patch adds
> a new DRM_CAP so that the application can check whether the new vblank
> interface is supported and also adds the new DRM_VBLANK mask and shift value
> so that the application can construct vblank_wait ioctls that refer to crtc
>> 1
>
> The issue was discussed on the dri-devel list in these two threads
>
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html
> http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html
>
> Regards,
>
> Ilija
>
> Reviewed-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
> Acked-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>

Reviewed-by: Alex Deucher <alexdeucher at gmail.com>
Tested-by: Alex Deucher <alexdeucher at gmail.com>

>
>
> diff --git a/include/drm/drm.h b/include/drm/drm.h
> index 416673a..10afaf1 100644
> --- a/include/drm/drm.h
> +++ b/include/drm/drm.h
> @@ -755,6 +755,7 @@ struct drm_event_vblank {
>  };
>
>  #define DRM_CAP_DUMB_BUFFER 0x1
> +#define DRM_CAP_HIGH_CRTC   0x2
>
>  /* typedef area */
>  typedef struct drm_clip_rect drm_clip_rect_t;
> diff --git a/xf86drm.h b/xf86drm.h
> index bf0d5df..e2bea06 100644
> --- a/xf86drm.h
> +++ b/xf86drm.h
> @@ -302,6 +302,8 @@ typedef enum {
>     DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */
>     DRM_VBLANK_SIGNAL   = 0x40000000   /* Send signal instead of blocking */
>  } drmVBlankSeqType;
> +#define DRM_VBLANK_HIGH_CRTC_SHIFT 16
> +#define DRM_VBLANK_HIGH_CRTC_MASK 0x001F0000
>
>  typedef struct _drmVBlankReq {
>        drmVBlankSeqType type;
>


More information about the dri-devel mailing list