[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