[PATCH 2/5] drm: Remove fb hsub/vsub alignment requirement

Ben Widawsky ben at bwidawsk.net
Tue Mar 21 20:26:23 UTC 2017


On 17-03-21 20:12:15, Ville Syrjälä wrote:
>From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
>Allow framebuffers dimesions to be misaligned w.r.t. the subsampling
>factors. No real reason the core should have to enforce this, and
>it definitely starts to cause us issues with the i915 CCS support.
>So let's just lift the restriction.
>
>Let's start to round up when computing the color plane dimesions
>so that we'll not end up with too low an estimate for the memory
>requirements and whatnot.
>
>Cc: Ben Widawsky <ben at bwidawsk.net>
>Cc: Jason Ekstrand <jason at jlekstrand.net>
>Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Both 1 and 2 are:
Reviewed-by: Ben Widawsky <ben at bwidawsk.net>

>---
> drivers/gpu/drm/drm_framebuffer.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_framebuffer.c
>index 1138f90a7d5d..69e4c1487420 100644
>--- a/drivers/gpu/drm/drm_framebuffer.c
>+++ b/drivers/gpu/drm/drm_framebuffer.c
>@@ -132,7 +132,7 @@ static int fb_plane_width(int width,
> 	if (plane == 0)
> 		return width;
>
>-	return width / format->hsub;
>+	return DIV_ROUND_UP(width, format->hsub);
> }
>
> static int fb_plane_height(int height,
>@@ -141,7 +141,7 @@ static int fb_plane_height(int height,
> 	if (plane == 0)
> 		return height;
>
>-	return height / format->vsub;
>+	return DIV_ROUND_UP(height, format->vsub);
> }
>
> static int framebuffer_check(const struct drm_mode_fb_cmd2 *r)
>@@ -158,12 +158,12 @@ static int framebuffer_check(const struct drm_mode_fb_cmd2 *r)
> 		return -EINVAL;
> 	}
>
>-	if (r->width == 0 || r->width % info->hsub) {
>+	if (r->width == 0) {
> 		DRM_DEBUG_KMS("bad framebuffer width %u\n", r->width);
> 		return -EINVAL;
> 	}
>
>-	if (r->height == 0 || r->height % info->vsub) {
>+	if (r->height == 0) {
> 		DRM_DEBUG_KMS("bad framebuffer height %u\n", r->height);
> 		return -EINVAL;
> 	}
>-- 
>2.10.2
>


More information about the dri-devel mailing list