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@xxxxxxxxxxxxxx>
---
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 .
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
int rockchip_drm_wait_vact_end(struct drm_crtc *crtc, unsigned int
mstimeout)
{
struct rockchip_drm_private *priv;
int pipe, ret = 0;
if (!crtc)
return -ENODEV;
if (mstimeout <= 0)
return -EINVAL;
priv = crtc->dev->dev_private;
pipe = drm_crtc_index(crtc);
if (priv->crtc_funcs[pipe] &&
priv->crtc_funcs[pipe]->wait_vact_end)
ret = priv->crtc_funcs[pipe]->wait_vact_end(crtc,
mstimeout);
return ret;
}
EXPORT_SYMBOL(rockchip_drm_wait_vact_end);
Sascha