[PATCH v9 00/23] drm/rockchip: RK356x VOP2 support

Sascha Hauer s.hauer at pengutronix.de
Fri Apr 1 00:06:41 PDT 2022


On Fri, Apr 01, 2022 at 09:52:01AM +0800, Andy Yan wrote:
>    Hi Piotr:
> 
>    On 3/31/22 22:53, Piotr Oniszczuk wrote:
> 
> 
> 
>  Wiadomość napisana przez Andy Yan [1]<andy.yan at rock-chips.com> w dniu 31.03.2022, o godz. 14:13:
> 
> 
>  Piotr:
> 
>  What soc is on you board? rk3566 or rk3568?
> 
>  it is rk3566 in x96-x6 tvbox
> 
>    RK3566?  Maybe that is the problem.

Likely, yes.

> 
>    plane[43]: Esmart1-win0
>    crtc=(null)
>    fb=0
>    crtc-pos=0x0+0+0
>    src-pos=0.000000x0.000000+0.000000+0.000000
>    rotation=1
>    normalized-zpos=1
>    color-encoding=ITU-R BT.601 YCbCr
>    color-range=YCbCr limited range
> 
>    From your dri/state dump, Plane 43 is Esmart1.
> 
>    Cluster1, Esmart1, Smart1 are special on rk3566, they are
> 
>    mirror window of Cluster0, Esmart0, Esmart0. That means
> 
>    the software can't program  a independent framebuffer for
> 
>    these three windows. They can only share the fb address set
> 
>    in Cluster0, Esmart0, Smart0.

Downstream Kernel has this:

static bool vop2_is_mirror_win(struct vop2_win *win)
{
        return soc_is_rk3566() && (win->feature & WIN_FEATURE_MIRROR);
}

static int vop2_create_crtc(struct vop2 *vop2)
{
	...

        for (j = 0; j < vop2->registered_num_wins; j++) {
                win = &vop2->win[j];

                if (win->type != DRM_PLANE_TYPE_OVERLAY)
                        continue;
                /*
                 * Only dual display on rk3568(which need two crtcs) need mirror win
                 */
                if (registered_num_crtcs < 2 && vop2_is_mirror_win(win))
                        continue;

		...

                ret = vop2_plane_init(vop2, win, possible_crtcs);
	}

	...
}

"Smart1-win0" and "Esmart1-win0" have this WIN_FEATURE_MIRROR bit set. It
seems we just should just don't register these windows for rk3566.

Sascha

-- 
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 |



More information about the linux-arm-kernel mailing list