From: Peter Rosin <peda@axentia.se> To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Cc: Peter Rosin <peda@axentia.se>, Boris Brezillon <boris.brezillon@bootlin.com>, David Airlie <airlied@linux.ie>, Nicolas Ferre <nicolas.ferre@microchip.com>, Alexandre Belloni <alexandre.belloni@bootlin.com>, "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org> Subject: [PATCH 1/4] drm/atmel-hlcdc: rotate planes counterclockwise Date: Thu, 10 Jan 2019 15:10:34 +0000 [thread overview] Message-ID: <20190110151020.30468-2-peda@axentia.se> (raw) In-Reply-To: <20190110151020.30468-1-peda@axentia.se> Ouch, the driver rotates planes clockwise, which is simply not correct. Signed-off-by: Peter Rosin <peda@axentia.se> --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c index 47e0992f3908..ea8fc0deb814 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c @@ -691,13 +691,14 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p, switch (state->base.rotation & DRM_MODE_ROTATE_MASK) { case DRM_MODE_ROTATE_90: - offset = ((y_offset + state->src_y + patched_src_w - 1) / - ydiv) * fb->pitches[i]; - offset += ((x_offset + state->src_x) / xdiv) * - state->bpp[i]; - state->xstride[i] = ((patched_src_w - 1) / ydiv) * - fb->pitches[i]; - state->pstride[i] = -fb->pitches[i] - state->bpp[i]; + offset = ((y_offset + state->src_y) / ydiv) * + fb->pitches[i]; + offset += ((x_offset + state->src_x + patched_src_h - 1) / + xdiv) * state->bpp[i]; + state->xstride[i] = -(((patched_src_w - 1) / ydiv) * + fb->pitches[i]) - + (2 * state->bpp[i]); + state->pstride[i] = fb->pitches[i] - state->bpp[i]; break; case DRM_MODE_ROTATE_180: offset = ((y_offset + state->src_y + patched_src_h - 1) / @@ -709,14 +710,13 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p, state->pstride[i] = -2 * state->bpp[i]; break; case DRM_MODE_ROTATE_270: - offset = ((y_offset + state->src_y) / ydiv) * - fb->pitches[i]; - offset += ((x_offset + state->src_x + patched_src_h - 1) / - xdiv) * state->bpp[i]; - state->xstride[i] = -(((patched_src_w - 1) / ydiv) * - fb->pitches[i]) - - (2 * state->bpp[i]); - state->pstride[i] = fb->pitches[i] - state->bpp[i]; + offset = ((y_offset + state->src_y + patched_src_w - 1) / + ydiv) * fb->pitches[i]; + offset += ((x_offset + state->src_x) / xdiv) * + state->bpp[i]; + state->xstride[i] = ((patched_src_w - 1) / ydiv) * + fb->pitches[i]; + state->pstride[i] = -fb->pitches[i] - state->bpp[i]; break; case DRM_MODE_ROTATE_0: default: -- 2.11.0
WARNING: multiple messages have this Message-ID (diff)
From: Peter Rosin <peda@axentia.se> To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>, David Airlie <airlied@linux.ie>, "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>, Boris Brezillon <boris.brezillon@bootlin.com>, Peter Rosin <peda@axentia.se>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org> Subject: [PATCH 1/4] drm/atmel-hlcdc: rotate planes counterclockwise Date: Thu, 10 Jan 2019 15:10:34 +0000 [thread overview] Message-ID: <20190110151020.30468-2-peda@axentia.se> (raw) In-Reply-To: <20190110151020.30468-1-peda@axentia.se> Ouch, the driver rotates planes clockwise, which is simply not correct. Signed-off-by: Peter Rosin <peda@axentia.se> --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c index 47e0992f3908..ea8fc0deb814 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c @@ -691,13 +691,14 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p, switch (state->base.rotation & DRM_MODE_ROTATE_MASK) { case DRM_MODE_ROTATE_90: - offset = ((y_offset + state->src_y + patched_src_w - 1) / - ydiv) * fb->pitches[i]; - offset += ((x_offset + state->src_x) / xdiv) * - state->bpp[i]; - state->xstride[i] = ((patched_src_w - 1) / ydiv) * - fb->pitches[i]; - state->pstride[i] = -fb->pitches[i] - state->bpp[i]; + offset = ((y_offset + state->src_y) / ydiv) * + fb->pitches[i]; + offset += ((x_offset + state->src_x + patched_src_h - 1) / + xdiv) * state->bpp[i]; + state->xstride[i] = -(((patched_src_w - 1) / ydiv) * + fb->pitches[i]) - + (2 * state->bpp[i]); + state->pstride[i] = fb->pitches[i] - state->bpp[i]; break; case DRM_MODE_ROTATE_180: offset = ((y_offset + state->src_y + patched_src_h - 1) / @@ -709,14 +710,13 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p, state->pstride[i] = -2 * state->bpp[i]; break; case DRM_MODE_ROTATE_270: - offset = ((y_offset + state->src_y) / ydiv) * - fb->pitches[i]; - offset += ((x_offset + state->src_x + patched_src_h - 1) / - xdiv) * state->bpp[i]; - state->xstride[i] = -(((patched_src_w - 1) / ydiv) * - fb->pitches[i]) - - (2 * state->bpp[i]); - state->pstride[i] = fb->pitches[i] - state->bpp[i]; + offset = ((y_offset + state->src_y + patched_src_w - 1) / + ydiv) * fb->pitches[i]; + offset += ((x_offset + state->src_x) / xdiv) * + state->bpp[i]; + state->xstride[i] = ((patched_src_w - 1) / ydiv) * + fb->pitches[i]; + state->pstride[i] = -fb->pitches[i] - state->bpp[i]; break; case DRM_MODE_ROTATE_0: default: -- 2.11.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-01-10 15:10 UTC|newest] Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-01-10 15:10 [PATCH 0/4] drm/atmel-hlcdc: fix plane clipping/rotation issues Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 15:10 ` Peter Rosin [this message] 2019-01-10 15:10 ` [PATCH 1/4] drm/atmel-hlcdc: rotate planes counterclockwise Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 15:10 ` [PATCH 2/4] drm/atmel-hlcdc: do not swap w/h of the crtc when a plane is rotated Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 17:48 ` Boris Brezillon 2019-01-10 17:48 ` Boris Brezillon 2019-01-10 17:48 ` Boris Brezillon 2019-01-11 13:29 ` Peter Rosin 2019-01-11 13:29 ` Peter Rosin 2019-01-11 13:29 ` Peter Rosin 2019-01-11 14:14 ` Nicolas.Ferre 2019-01-11 14:14 ` Nicolas.Ferre 2019-01-11 14:14 ` Nicolas.Ferre 2019-01-10 15:10 ` [PATCH 3/4] drm/atmel-hlcdc: fix clipping of planes Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 15:10 ` [PATCH 4/4] drm/atmel-hlcdc: do not immediately disable planes, wait for next frame Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 15:10 ` Peter Rosin 2019-01-10 17:29 ` Boris Brezillon 2019-01-10 17:29 ` Boris Brezillon 2019-01-10 17:29 ` Boris Brezillon 2019-01-10 18:51 ` Peter Rosin 2019-01-10 18:51 ` Peter Rosin 2019-01-10 18:51 ` Peter Rosin 2019-01-10 19:25 ` Boris Brezillon 2019-01-10 19:25 ` Boris Brezillon 2019-01-10 19:25 ` Boris Brezillon 2019-01-11 14:29 ` Peter Rosin 2019-01-11 14:29 ` Peter Rosin 2019-01-11 14:29 ` Peter Rosin 2019-01-16 14:45 ` Boris Brezillon 2019-01-16 14:45 ` Boris Brezillon 2019-01-16 14:45 ` Boris Brezillon 2019-01-10 17:45 ` [PATCH 0/4] drm/atmel-hlcdc: fix plane clipping/rotation issues Boris Brezillon 2019-01-10 17:45 ` Boris Brezillon 2019-01-10 17:45 ` Boris Brezillon 2019-01-10 20:16 ` Sam Ravnborg 2019-01-10 20:16 ` Sam Ravnborg 2019-01-10 20:16 ` Sam Ravnborg 2019-01-11 9:16 ` Peter Rosin 2019-01-11 9:16 ` Peter Rosin 2019-01-11 9:16 ` Peter Rosin 2019-01-10 21:24 ` Peter Rosin 2019-01-10 21:24 ` Peter Rosin 2019-01-10 21:24 ` Peter Rosin 2019-01-11 14:18 ` Nicolas.Ferre 2019-01-11 14:18 ` Nicolas.Ferre 2019-01-11 14:18 ` Nicolas.Ferre 2019-01-27 8:27 ` Boris Brezillon 2019-01-27 8:27 ` Boris Brezillon 2019-01-27 8:27 ` Boris Brezillon 2019-01-31 13:13 ` Peter Rosin 2019-01-31 13:13 ` Peter Rosin 2019-01-31 13:13 ` Peter Rosin 2019-01-31 13:21 ` Boris Brezillon 2019-01-31 13:21 ` Boris Brezillon 2019-01-31 13:21 ` Boris Brezillon
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190110151020.30468-2-peda@axentia.se \ --to=peda@axentia.se \ --cc=airlied@linux.ie \ --cc=alexandre.belloni@bootlin.com \ --cc=boris.brezillon@bootlin.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=nicolas.ferre@microchip.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.