Re: [PATCH v9 20/23] drm/rockchip: Make VOP driver optional

Sascha Hauer
2022-03-31T07:06:20Z

On Wed, Mar 30, 2022 at 08:50:09PM +0800, Andy Yan wrote:
> Hi Sascha:
>
> On 3/30/22 14:39, Sascha Hauer wrote:
> > Hi Andy,
> >
> > On Tue, Mar 29, 2022 at 07:56:27PM +0800, Andy Yan wrote:
> > > Hi Sascha:
> > >
> > > On 3/28/22 23:11, Sascha Hauer wrote:
> > > > With upcoming VOP2 support VOP won't be the only choice anymore, so make
> > > > the VOP driver optional.
> > > >
> > > > Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> > > > ---
> > > > drivers/gpu/drm/rockchip/Kconfig | 8 ++++++++
> > > > drivers/gpu/drm/rockchip/Makefile | 3 ++-
> > > > drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +-
> > > > 3 files changed, 11 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig
> > > > index fa5cfda4e90e3..7d22e2997a571 100644
> > > > --- a/drivers/gpu/drm/rockchip/Kconfig
> > > > +++ b/drivers/gpu/drm/rockchip/Kconfig
> > > > @@ -23,8 +23,16 @@ config DRM_ROCKCHIP
> > > > if DRM_ROCKCHIP
> > > > +config ROCKCHIP_VOP
> > > > + bool "Rockchip VOP driver"
> > > > + default y
> > > > + help
> > > > + This selects support for the VOP driver. You should enable it
> > > > + on all older SoCs up to RK3399.
> > That reminds me that I wanted to rephrase this. Will change in next
> > round.
> >
> > > > +
> > > > config ROCKCHIP_ANALOGIX_DP
> > > > bool "Rockchip specific extensions for Analogix DP driver"
> > > > + depends on ROCKCHIP_VOP
> > >
> > > Aanlogix dp is also on vop2 base soc such as  rk356x and rk3588.

BTW I just looked at the downstream driver. Here we have the same
situation that the analogix dp driver calls rockchip_drm_wait_vact_end()
which is implemented in the VOP driver, so when the analogix dp driver
is actually used on a VOP2 SoC then it is either used in a way that
rockchip_drm_wait_vact_end() will never be called or it explodes in all
colours.

> > I added the dependency because analogix_dp-rockchip.c calls
> > rockchip_drm_wait_vact_end() which is implemented in the VOP driver,
> > so this driver currenty can't work with the VOP2 driver and can't
> > be linked without the VOP driver being present.
> > I'll add a few words to the commit message.
>
>
> Maybe a better direction is move rockchip_drm_wait_vact_end from the VOP
> driver to rockchip_drm_drv.c

I am not sure if that's really worth it. Yes, the direction might be the
right one, but I would really prefer when somebody does the change who
can test and confirm that the analogix dp really works with VOP2 in the
end.

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 |