[PATCH] libdrm: vblank wait on crtc > 1

Ilija Hadzic ihadzic at research.bell-labs.com
Sun Mar 20 10:33:30 PDT 2011



On Sat, 19 Mar 2011, Alex Deucher wrote:

> 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>
>

Signed-off-by: Ilija Hadzic <ihadzic at research.bell-labs.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