Thread (8 messages) 8 messages, 3 authors, 2016-10-12
STALE3518d

[PATCH] drm/sun4i: Check that the plane coordinates are not negative

From: Maxime Ripard <hidden>
Date: 2016-10-03 12:58:11
Also in: dri-devel

Hi Boris,

On Fri, Sep 30, 2016 at 06:08:26PM +0200, Boris Brezillon wrote:
On Fri, 30 Sep 2016 16:33:20 +0200
Maxime Ripard [off-list ref] wrote:
quoted
Our planes cannot be set at negative coordinates. Make sure we reject such
configuration.

Reported-by: Boris Brezillon <redacted>
Signed-off-by: Maxime Ripard <redacted>
---
 drivers/gpu/drm/sun4i/sun4i_layer.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun4i_layer.c b/drivers/gpu/drm/sun4i/sun4i_layer.c
index f0035bf5efea..f5463c4c2cde 100644
--- a/drivers/gpu/drm/sun4i/sun4i_layer.c
+++ b/drivers/gpu/drm/sun4i/sun4i_layer.c
@@ -29,6 +29,9 @@ struct sun4i_plane_desc {
 static int sun4i_backend_layer_atomic_check(struct drm_plane *plane,
 					    struct drm_plane_state *state)
 {
+	if ((state->crtc_x < 0) || (state->crtc_y < 0))
+		return -EINVAL;
+
Hm, I think it's a perfectly valid use case from the DRM framework and
DRM user PoV: you may want to place your plane at a negative CRTC
offset (which means part of the plane will be hidden).

Maybe I'm wrong, but it seems you can support that by adapting the
start address of your framebuffer pointer and the layer size.
Indeed, that would probably work. This is even somewhat what we've
been using to implement the VGA hack we use on the CHIP.

Can you send that patch?

Thanks,
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20161003/32b3fe92/attachment.sig>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help