Re: [PATCH v8 22/24] drm: rockchip: Add VOP2 driver

From
Sascha Hauer <s.hauer@pengutronix.de>
Date
2022-03-18 08:52:14
Also in
dri-devel, linux-arm-kernel, linux-rockchip
Hi Andy,

On Thu, Mar 17, 2022 at 03:23:12PM +0800, Andy Yan wrote:
   I found a obvious  error in 0x604(OVERLAY_LAYER_SEL) register, the
   configuration value

   is 0x54763513.

   I am not sure if you know clearly about this register:

   Every four bits of this register select a Window(Cluster0,Cluster1,
   Esmart0, Esmart1, Smart0. Smart1)

   for layer0 to layer 5 from bottom to top.

   0: Cluster0

   1: Cluster1:

   2: Esmart0

   3: Smart0

   6: Esmart1

   7: Smart1

   And one window can only be selected by one layer at a time.

   So when I change this register to 0x54762513, the square draw by
   weston-simple-dmabuf-egl appeared on the top of the weston background on
   screen.
I can reproduce this here. It seems I have only tested overlays with two
active VPs. With only one active VP I see the same behaviour as you do.

The following patch fixes this, will include that in the next round.

Sascha

------------------------------8<-------------------------------
From d07036753bd1496fa8a49c31eff004e927ce412b Mon Sep 17 00:00:00 2001
From: Sascha Hauer <s.hauer@pengutronix.de>
Date: Fri, 18 Mar 2022 09:47:53 +0100
Subject: [PATCH] fixup! drm: rockchip: Add VOP2 driver

---
 drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
index 81ff79eddb8a0..71bc8c11b8bcf 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c
@@ -1941,7 +1941,7 @@ static void vop2_setup_layer_mixer(struct vop2_video_port *vp)
 	}
 
 	/* configure unused layers to 0x5 (reserved) */
-	for (; nlayer < 3; nlayer++) {
+	for (; nlayer < vp->nlayers; nlayer++) {
 		layer_sel &= ~RK3568_OVL_LAYER_SEL__LAYER(nlayer + ofs, 0x7);
 		layer_sel |= RK3568_OVL_LAYER_SEL__LAYER(nlayer + ofs, 5);
 	}
-- 
2.30.2

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
Thread (1 message) 1 message, 1 author, last reply 2022-03-18
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help