[Intel-gfx] [PATCH 1/4] igt_fb: Add Y-tiling support

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Tue Oct 25 12:36:42 UTC 2016


On 25/10/2016 13:06, Paneri, Praveen wrote:
> Hi Tvrtko,
>
> Along with this change I made following change in the kernel side. I was not sure if this is a hack of a legitimate change. Could you please give me a pointer about how to move fwd from here? Without this all Y-tiling tests would fail.
>
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -15406,8 +15406,7 @@ static int intel_framebuffer_init(struct drm_device *dev,
>                 if (obj->tiling_mode == I915_TILING_X)
>                         mode_cmd->modifier[0] = I915_FORMAT_MOD_X_TILED;
>                 else if (obj->tiling_mode == I915_TILING_Y) {
> -                       DRM_DEBUG("No Y tiling for legacy addfb\n");
> -                       return -EINVAL;
> +                       mode_cmd->modifier[0] = I915_FORMAT_MOD_Y_TILED;
>                 }
>         }

It would be a controversial change, "beyond my pay grade". :)

If you drop this particular IGT patch, you can still create Y tiled 
framebuffers and display them (as the existing tests already do that). 
So when you say that all Y tiling tests fail without this kernel hack, 
which tests you are referring to?

Regards,

Tvrtko

> Regards,
> Praveen
>
>
> -----Original Message-----
> From: Tvrtko Ursulin [mailto:tvrtko.ursulin at linux.intel.com]
> Sent: Tuesday, October 25, 2016 1:36 PM
> To: Paneri, Praveen <praveen.paneri at intel.com>; intel-gfx at lists.freedesktop.org
> Subject: Re: [Intel-gfx] [PATCH 1/4] igt_fb: Add Y-tiling support
>
>
> On 24/10/2016 17:55, Praveen Paneri wrote:
>> This adds Y-tiling check in igt_create_fb_with_bo_size as now we
>> should also be able to create Y-tiled FBs.
>>
>> Signed-off-by: Praveen Paneri <praveen.paneri at intel.com>
>> ---
>>  lib/igt_fb.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/igt_fb.c b/lib/igt_fb.c index 47472f4..bf1d372 100644
>> --- a/lib/igt_fb.c
>> +++ b/lib/igt_fb.c
>> @@ -608,7 +608,8 @@ igt_create_fb_with_bo_size(int fd, int width, int height,
>>  		  __func__, fb->gem_handle, fb->stride);
>>
>>  	if (tiling != LOCAL_DRM_FORMAT_MOD_NONE &&
>> -	    tiling != LOCAL_I915_FORMAT_MOD_X_TILED) {
>> +	    tiling != LOCAL_I915_FORMAT_MOD_X_TILED &&
>> +	    tiling != LOCAL_I915_FORMAT_MOD_Y_TILED) {
>>  		do_or_die(__kms_addfb(fd, fb->gem_handle, width, height,
>>  				      fb->stride, format, tiling,
>>  				      LOCAL_DRM_MODE_FB_MODIFIERS, &fb_id));
>>
>
> This works now? Ie. doesn't hit "No Y Tiling for legacy addfb" error in the driver?
>
> Regards,
>
> Tvrtko
>


More information about the Intel-gfx mailing list