Message ID | 20211117143347.314294-12-s.hauer@pengutronix.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/rockchip: RK356x VOP2 support | expand |
Am Mittwoch, 17. November 2021, 15:33:46 CET schrieb Sascha Hauer: > 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> > --- > arch/arm/configs/multi_v7_defconfig | 1 + > arch/arm64/configs/defconfig | 1 + > drivers/gpu/drm/rockchip/Kconfig | 7 +++++++ > drivers/gpu/drm/rockchip/Makefile | 3 ++- > drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +- > 5 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig > index c951aeed2138c..fc123e8f3e2f9 100644 > --- a/arch/arm/configs/multi_v7_defconfig > +++ b/arch/arm/configs/multi_v7_defconfig > @@ -667,6 +667,7 @@ CONFIG_DRM_EXYNOS_DPI=y > CONFIG_DRM_EXYNOS_DSI=y > CONFIG_DRM_EXYNOS_HDMI=y > CONFIG_DRM_ROCKCHIP=m > +CONFIG_ROCKCHIP_VOP=y > CONFIG_ROCKCHIP_ANALOGIX_DP=y > CONFIG_ROCKCHIP_DW_HDMI=y > CONFIG_ROCKCHIP_DW_MIPI_DSI=y > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > index f2e2b9bdd7024..a623386473dc9 100644 > --- a/arch/arm64/configs/defconfig > +++ b/arch/arm64/configs/defconfig > @@ -682,6 +682,7 @@ CONFIG_DRM_EXYNOS_DSI=y > CONFIG_DRM_EXYNOS_HDMI=y > CONFIG_DRM_EXYNOS_MIC=y > CONFIG_DRM_ROCKCHIP=m > +CONFIG_ROCKCHIP_VOP=y > CONFIG_ROCKCHIP_ANALOGIX_DP=y > CONFIG_ROCKCHIP_CDN_DP=y > CONFIG_ROCKCHIP_DW_HDMI=y > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig > index 9f1ecefc39332..a1c4158259099 100644 > --- a/drivers/gpu/drm/rockchip/Kconfig > +++ b/drivers/gpu/drm/rockchip/Kconfig > @@ -21,8 +21,15 @@ config DRM_ROCKCHIP > > if DRM_ROCKCHIP > > +config ROCKCHIP_VOP > + bool "Rockchip VOP driver" would this benefit from a default-y ? For builds reusing preexisting .configs. Heiko > + help > + This selects support for the VOP driver. You should enable it > + on all older SoCs up to RK3399. > + > config ROCKCHIP_ANALOGIX_DP > bool "Rockchip specific extensions for Analogix DP driver" > + depends on ROCKCHIP_VOP > help > This selects support for Rockchip SoC specific extensions > for the Analogix Core DP driver. If you want to enable DP > diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rockchip/Makefile > index 17a9e7eb2130d..cd6e7bb5ce9c5 100644 > --- a/drivers/gpu/drm/rockchip/Makefile > +++ b/drivers/gpu/drm/rockchip/Makefile > @@ -4,9 +4,10 @@ > # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. > > rockchipdrm-y := rockchip_drm_drv.o rockchip_drm_fb.o \ > - rockchip_drm_gem.o rockchip_drm_vop.o rockchip_vop_reg.o > + rockchip_drm_gem.o > rockchipdrm-$(CONFIG_DRM_FBDEV_EMULATION) += rockchip_drm_fbdev.o > > +rockchipdrm-$(CONFIG_ROCKCHIP_VOP) += rockchip_drm_vop.o rockchip_vop_reg.o > rockchipdrm-$(CONFIG_ROCKCHIP_ANALOGIX_DP) += analogix_dp-rockchip.o > rockchipdrm-$(CONFIG_ROCKCHIP_CDN_DP) += cdn-dp-core.o cdn-dp-reg.o > rockchipdrm-$(CONFIG_ROCKCHIP_DW_HDMI) += dw_hdmi-rockchip.o > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c > index e4ebe60b3cc1a..64fa5fd62c01a 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c > @@ -473,7 +473,7 @@ static int __init rockchip_drm_init(void) > int ret; > > num_rockchip_sub_drivers = 0; > - ADD_ROCKCHIP_SUB_DRIVER(vop_platform_driver, CONFIG_DRM_ROCKCHIP); > + ADD_ROCKCHIP_SUB_DRIVER(vop_platform_driver, CONFIG_ROCKCHIP_VOP); > ADD_ROCKCHIP_SUB_DRIVER(rockchip_lvds_driver, > CONFIG_ROCKCHIP_LVDS); > ADD_ROCKCHIP_SUB_DRIVER(rockchip_dp_driver, >
On Wed, Nov 17, 2021 at 03:40:26PM +0100, Heiko Stübner wrote: > Am Mittwoch, 17. November 2021, 15:33:46 CET schrieb Sascha Hauer: > > 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> > > --- > > arch/arm/configs/multi_v7_defconfig | 1 + > > arch/arm64/configs/defconfig | 1 + > > drivers/gpu/drm/rockchip/Kconfig | 7 +++++++ > > drivers/gpu/drm/rockchip/Makefile | 3 ++- > > drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +- > > 5 files changed, 12 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig > > index c951aeed2138c..fc123e8f3e2f9 100644 > > --- a/arch/arm/configs/multi_v7_defconfig > > +++ b/arch/arm/configs/multi_v7_defconfig > > @@ -667,6 +667,7 @@ CONFIG_DRM_EXYNOS_DPI=y > > CONFIG_DRM_EXYNOS_DSI=y > > CONFIG_DRM_EXYNOS_HDMI=y > > CONFIG_DRM_ROCKCHIP=m > > +CONFIG_ROCKCHIP_VOP=y > > CONFIG_ROCKCHIP_ANALOGIX_DP=y > > CONFIG_ROCKCHIP_DW_HDMI=y > > CONFIG_ROCKCHIP_DW_MIPI_DSI=y > > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > > index f2e2b9bdd7024..a623386473dc9 100644 > > --- a/arch/arm64/configs/defconfig > > +++ b/arch/arm64/configs/defconfig > > @@ -682,6 +682,7 @@ CONFIG_DRM_EXYNOS_DSI=y > > CONFIG_DRM_EXYNOS_HDMI=y > > CONFIG_DRM_EXYNOS_MIC=y > > CONFIG_DRM_ROCKCHIP=m > > +CONFIG_ROCKCHIP_VOP=y > > CONFIG_ROCKCHIP_ANALOGIX_DP=y > > CONFIG_ROCKCHIP_CDN_DP=y > > CONFIG_ROCKCHIP_DW_HDMI=y > > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig > > index 9f1ecefc39332..a1c4158259099 100644 > > --- a/drivers/gpu/drm/rockchip/Kconfig > > +++ b/drivers/gpu/drm/rockchip/Kconfig > > @@ -21,8 +21,15 @@ config DRM_ROCKCHIP > > > > if DRM_ROCKCHIP > > > > +config ROCKCHIP_VOP > > + bool "Rockchip VOP driver" > > would this benefit from a default-y ? > For builds reusing preexisting .configs. I enabled CONFIG_ROCKCHIP_VOP for all configs in the tree that enable CONFIG_DRM_ROCKCHIP, so defconfig users shouldn't see any surprises. That won't help users of custom configs of course. I don't know what's preferred in such cases, I can change to default-y if you like. Sascha
Am Mittwoch, 17. November 2021, 15:50:54 CET schrieb Sascha Hauer: > On Wed, Nov 17, 2021 at 03:40:26PM +0100, Heiko Stübner wrote: > > Am Mittwoch, 17. November 2021, 15:33:46 CET schrieb Sascha Hauer: > > > 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> > > > --- > > > arch/arm/configs/multi_v7_defconfig | 1 + > > > arch/arm64/configs/defconfig | 1 + > > > drivers/gpu/drm/rockchip/Kconfig | 7 +++++++ > > > drivers/gpu/drm/rockchip/Makefile | 3 ++- > > > drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +- > > > 5 files changed, 12 insertions(+), 2 deletions(-) > > > > > > diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig > > > index c951aeed2138c..fc123e8f3e2f9 100644 > > > --- a/arch/arm/configs/multi_v7_defconfig > > > +++ b/arch/arm/configs/multi_v7_defconfig > > > @@ -667,6 +667,7 @@ CONFIG_DRM_EXYNOS_DPI=y > > > CONFIG_DRM_EXYNOS_DSI=y > > > CONFIG_DRM_EXYNOS_HDMI=y > > > CONFIG_DRM_ROCKCHIP=m > > > +CONFIG_ROCKCHIP_VOP=y > > > CONFIG_ROCKCHIP_ANALOGIX_DP=y > > > CONFIG_ROCKCHIP_DW_HDMI=y > > > CONFIG_ROCKCHIP_DW_MIPI_DSI=y > > > diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig > > > index f2e2b9bdd7024..a623386473dc9 100644 > > > --- a/arch/arm64/configs/defconfig > > > +++ b/arch/arm64/configs/defconfig > > > @@ -682,6 +682,7 @@ CONFIG_DRM_EXYNOS_DSI=y > > > CONFIG_DRM_EXYNOS_HDMI=y > > > CONFIG_DRM_EXYNOS_MIC=y > > > CONFIG_DRM_ROCKCHIP=m > > > +CONFIG_ROCKCHIP_VOP=y > > > CONFIG_ROCKCHIP_ANALOGIX_DP=y > > > CONFIG_ROCKCHIP_CDN_DP=y > > > CONFIG_ROCKCHIP_DW_HDMI=y > > > diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig > > > index 9f1ecefc39332..a1c4158259099 100644 > > > --- a/drivers/gpu/drm/rockchip/Kconfig > > > +++ b/drivers/gpu/drm/rockchip/Kconfig > > > @@ -21,8 +21,15 @@ config DRM_ROCKCHIP > > > > > > if DRM_ROCKCHIP > > > > > > +config ROCKCHIP_VOP > > > + bool "Rockchip VOP driver" > > > > would this benefit from a default-y ? > > For builds reusing preexisting .configs. > > I enabled CONFIG_ROCKCHIP_VOP for all configs in the tree that enable > CONFIG_DRM_ROCKCHIP, so defconfig users shouldn't see any surprises. > That won't help users of custom configs of course. > > I don't know what's preferred in such cases, I can change to default-y > if you like. default-y would keep the behaviour identical for all existing configs I guess and right now vop(1) is still the most used variant and will stay that way for a while longer, so I guess my preference would be for going that route - also so that we don't drown in "my display stopped working" during 5.17 ;-) Heiko
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig index c951aeed2138c..fc123e8f3e2f9 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -667,6 +667,7 @@ CONFIG_DRM_EXYNOS_DPI=y CONFIG_DRM_EXYNOS_DSI=y CONFIG_DRM_EXYNOS_HDMI=y CONFIG_DRM_ROCKCHIP=m +CONFIG_ROCKCHIP_VOP=y CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_DW_HDMI=y CONFIG_ROCKCHIP_DW_MIPI_DSI=y diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index f2e2b9bdd7024..a623386473dc9 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -682,6 +682,7 @@ CONFIG_DRM_EXYNOS_DSI=y CONFIG_DRM_EXYNOS_HDMI=y CONFIG_DRM_EXYNOS_MIC=y CONFIG_DRM_ROCKCHIP=m +CONFIG_ROCKCHIP_VOP=y CONFIG_ROCKCHIP_ANALOGIX_DP=y CONFIG_ROCKCHIP_CDN_DP=y CONFIG_ROCKCHIP_DW_HDMI=y diff --git a/drivers/gpu/drm/rockchip/Kconfig b/drivers/gpu/drm/rockchip/Kconfig index 9f1ecefc39332..a1c4158259099 100644 --- a/drivers/gpu/drm/rockchip/Kconfig +++ b/drivers/gpu/drm/rockchip/Kconfig @@ -21,8 +21,15 @@ config DRM_ROCKCHIP if DRM_ROCKCHIP +config ROCKCHIP_VOP + bool "Rockchip VOP driver" + help + This selects support for the VOP driver. You should enable it + on all older SoCs up to RK3399. + config ROCKCHIP_ANALOGIX_DP bool "Rockchip specific extensions for Analogix DP driver" + depends on ROCKCHIP_VOP help This selects support for Rockchip SoC specific extensions for the Analogix Core DP driver. If you want to enable DP diff --git a/drivers/gpu/drm/rockchip/Makefile b/drivers/gpu/drm/rockchip/Makefile index 17a9e7eb2130d..cd6e7bb5ce9c5 100644 --- a/drivers/gpu/drm/rockchip/Makefile +++ b/drivers/gpu/drm/rockchip/Makefile @@ -4,9 +4,10 @@ # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. rockchipdrm-y := rockchip_drm_drv.o rockchip_drm_fb.o \ - rockchip_drm_gem.o rockchip_drm_vop.o rockchip_vop_reg.o + rockchip_drm_gem.o rockchipdrm-$(CONFIG_DRM_FBDEV_EMULATION) += rockchip_drm_fbdev.o +rockchipdrm-$(CONFIG_ROCKCHIP_VOP) += rockchip_drm_vop.o rockchip_vop_reg.o rockchipdrm-$(CONFIG_ROCKCHIP_ANALOGIX_DP) += analogix_dp-rockchip.o rockchipdrm-$(CONFIG_ROCKCHIP_CDN_DP) += cdn-dp-core.o cdn-dp-reg.o rockchipdrm-$(CONFIG_ROCKCHIP_DW_HDMI) += dw_hdmi-rockchip.o diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index e4ebe60b3cc1a..64fa5fd62c01a 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -473,7 +473,7 @@ static int __init rockchip_drm_init(void) int ret; num_rockchip_sub_drivers = 0; - ADD_ROCKCHIP_SUB_DRIVER(vop_platform_driver, CONFIG_DRM_ROCKCHIP); + ADD_ROCKCHIP_SUB_DRIVER(vop_platform_driver, CONFIG_ROCKCHIP_VOP); ADD_ROCKCHIP_SUB_DRIVER(rockchip_lvds_driver, CONFIG_ROCKCHIP_LVDS); ADD_ROCKCHIP_SUB_DRIVER(rockchip_dp_driver,
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> --- arch/arm/configs/multi_v7_defconfig | 1 + arch/arm64/configs/defconfig | 1 + drivers/gpu/drm/rockchip/Kconfig | 7 +++++++ drivers/gpu/drm/rockchip/Makefile | 3 ++- drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 2 +- 5 files changed, 12 insertions(+), 2 deletions(-)