[Intel-gfx] [PATCH i-g-t v4 5/5] lib/igt_kms: Added pipe_id_to_vbl_flag() to igt_kms.

Robert Foss robert.foss at collabora.com
Wed May 11 13:45:04 UTC 2016



On 2016-05-10 03:44 AM, Daniel Vetter wrote:
> On Tue, Apr 26, 2016 at 11:54:22AM -0400, robert.foss at collabora.com wrote:
>> From: Robert Foss <robert.foss at collabora.com>
>>
>> Added function pipe_id_to_vbl_flag() to igt_kms.
>> This function formats a pipe_id into the format
>> expected by DRM while processing DRM_IOCTL_WAIT_VBLANK.
>>
>> Signed-off-by: Robert Foss <robert.foss at collabora.com>
>
> This needs to be reorder with patch 4 since otherwise the patch to change
> kms_vblank won't compile.

Naturally, I will change that in v5.

>> ---
>>   lib/igt_kms.c | 16 ++++++++++++++++
>>   lib/igt_kms.h |  1 +
>>   2 files changed, 17 insertions(+)
>>
>> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
>> index 99b6279..48b95e6 100644
>> --- a/lib/igt_kms.c
>> +++ b/lib/igt_kms.c
>> @@ -2557,3 +2557,19 @@ void igt_reset_connectors(void)
>>   		close(fd);
>>   	}
>>   }
>> +
>> +/**
>> + * pipe_id_to_vbl_flag:
>> + *
>> + * Convert a pipe if into the flag representation
>> + * expected in DRM while processing DRM_IOCTL_WAIT_VBLANK.
>> + */
>> +uint32_t pipe_id_to_vbl_flag(uint32_t pipe_id)
>
> kmstest_ prefix please. Also, maybe we should directly take a drmModeCrtc
> for even more convenience.

I'll add the prefix and look into taking an drmModeCrtc instead of a 
pipe id.

>
> Also please use this helper everywhere, a quick grep shows drm_read.c,
> kms_flip.c, kms_vblank.c (already in this series) and lib/igt_kms.c.
> -Daniel
>

Will do. I'll add additional uses of this helper function in v5.

>> +{
>> +	if (pipe_id == 0)
>> +		return 0;
>> +	else if (pipe_id == 1)
>> +		return 1 | _DRM_VBLANK_SECONDARY;
>> +	else
>> +		return pipe_id << 1;
>> +}
>> diff --git a/lib/igt_kms.h b/lib/igt_kms.h
>> index d9a4e11..f74edaf 100644
>> --- a/lib/igt_kms.h
>> +++ b/lib/igt_kms.h
>> @@ -400,6 +400,7 @@ void igt_wait_for_vblank(int drm_fd, enum pipe pipe);
>>
>>   void igt_enable_connectors(void);
>>   void igt_reset_connectors(void);
>> +uint32_t pipe_id_to_vbl_flag(uint32_t pipe_id);
>>
>>   #define EDID_LENGTH 128
>>   const unsigned char* igt_kms_get_base_edid(void);
>> --
>> 2.5.0
>>
>


More information about the Intel-gfx mailing list