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

Sascha Hauer s.hauer at pengutronix.de
Fri Apr 1 05:55:27 PDT 2022


On Thu, Mar 31, 2022 at 07:00:34PM +0800, Andy Yan wrote:
> Hi:
> 
> On 3/31/22 16:18, Sascha Hauer wrote:
> > On Thu, Mar 31, 2022 at 03:20:37PM +0800, Andy Yan wrote:
> > > Hi Sascha:
> > > 
> > > On 3/31/22 15:06, Sascha Hauer wrote:
> > > > 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 at 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.
> > > If follow this point, the current DW_MIPI also has not been tested for
> > > confirm that it
> > > 
> > > can really work with VOP2, so you should also make it depends on
> > > ROCKCHIP_VOP.
> > Well at least I have patches here which make DW_MIPI work with VOP2 ;)
> 
> 
> But you DW_MIPI patches for rk356x didn't come. So this is not keep
> consistency with this point.
> 
> > 
> > What about the others, like LVDS and RGB?
> 
> 
> Yes, we also have other interface , RK356X has LVDS/RGB/BT1120/BT656, RK3588
> has BT1120/BT656, no LVDS or RGB.
> 
> > > I think the current solution is just a workaround to make your patch pass
> > > the kernel compile
> > Indeed.
> > 
> > I agree that it would be good to add a note somewhere which outputs
> > work with the VOP2 driver (currently only HDMI), but I wonder if Kconfig
> > dependencies is the right place for it, because only people who deliberately
> > disable VOP support will see this information.
> > Maybe we should rather add it to the Kconfig help text?
> 
> 
> If a device is supported for this soc, we will add dt node at the dtsi file.
> 
> A Kconfig dependencies don't seems a good idea.

Ok, this means we can keep my current approach with just letting
ROCKCHIP_ANALOGIX_DP depend on ROCKCHIP_VOP to avoid having a non
buildable kernel.

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-rockchip mailing list