From: Thierry Reding Date: Thu, 15 Mar 2018 15:45:45 +0000 (+0100) Subject: drm/tegra: fb: Properly support linear modifier X-Git-Tag: v4.19~1144^2~19^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4ae4b5c0dbaa499f2fd9215caac6e474c8dd477f;p=platform%2Fkernel%2Flinux-rpi.git drm/tegra: fb: Properly support linear modifier Instead of relying on the tiling attached to a buffer object, make sure to set the proper tiling for linear buffers. Signed-off-by: Thierry Reding --- diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c index 0786159..e694349 100644 --- a/drivers/gpu/drm/tegra/fb.c +++ b/drivers/gpu/drm/tegra/fb.c @@ -55,6 +55,11 @@ int tegra_fb_get_tiling(struct drm_framebuffer *framebuffer, uint64_t modifier = fb->base.modifier; switch (modifier) { + case DRM_FORMAT_MOD_LINEAR: + tiling->mode = TEGRA_BO_TILING_MODE_PITCH; + tiling->value = 0; + break; + case DRM_FORMAT_MOD_NVIDIA_TEGRA_TILED: tiling->mode = TEGRA_BO_TILING_MODE_TILED; tiling->value = 0; @@ -91,9 +96,7 @@ int tegra_fb_get_tiling(struct drm_framebuffer *framebuffer, break; default: - /* TODO: handle YUV formats? */ - *tiling = fb->planes[0]->tiling; - break; + return -EINVAL; } return 0;