Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce481eda authored by Tomi Valkeinen's avatar Tomi Valkeinen
Browse files

drm/omap: fix pitch round-up



At the moment we calculate the buffer's pitch with:

  pitch = width * DIV_ROUND_UP(bpp, 8)

For CLUT modes with bpp of 1/2/4/8 this gives wrong result, and the
correct pitch is:

  pitch = DIV_ROUND_UP(width * bpp, 8)

In practice this doesn't change anything, as we don't support CLUT
modes, but it's better to have the pitch calculation correct.

Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
parent 6a5228fd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -125,8 +125,8 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,
	mode_cmd.width = sizes->surface_width;
	mode_cmd.height = sizes->surface_height;

	mode_cmd.pitches[0] = mode_cmd.width *
		DIV_ROUND_UP(sizes->surface_bpp, 8);
	mode_cmd.pitches[0] =
			DIV_ROUND_UP(mode_cmd.width * sizes->surface_bpp, 8);

	fbdev->ywrap_enabled = priv->has_dmm && ywrap_enabled;
	if (fbdev->ywrap_enabled) {
+1 −1
Original line number Diff line number Diff line
@@ -661,7 +661,7 @@ int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
{
	union omap_gem_size gsize;

	args->pitch = args->width * DIV_ROUND_UP(args->bpp, 8);
	args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8);

	args->size = PAGE_ALIGN(args->pitch * args->height);