RE: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support
Hi Laurent, Thanks for the feedback. > Subject: Re: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support > > Hi Biju, > > On Thu, Jun 01, 2023 at 12:08:44PM +, Biju Das wrote: > > > Subject: Re: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support > > > > > > Hi Biju, > > > > > > Thank you for the patch. > > > > > > This is a partial review, because the driver is big, and because > > > some changes in v10 will (hopefully) simplify the code and make > > > review easier. > > > > I agree v10 will simplify the code as I have do clean-ups based on > > your review commnet. > > > > > On Tue, May 02, 2023 at 11:09:11AM +0100, Biju Das wrote: > > > > The LCD controller is composed of Frame Compression Processor > > > > (FCPVD), Video Signal Processor (VSPD), and Display Unit (DU). > > > > > > > > It has DPI/DSI interfaces and supports a maximum resolution of > > > > 1080p along with 2 RPFs to support the blending of two picture > > > > layers and raster operations (ROPs). > > > > > > > > The DU module is connected to VSPD. Add RZ/G2L DU support for > > > > RZ/G2L alike SoCs. > > > > > > > > Signed-off-by: Biju Das > > > > --- > > > > Ref: > > > > > > > > v8->v9: > > > > * Dropped reset_control_assert() from error patch for > rzg2l_du_crtc_get() as > > > >suggested by Philipp Zabel. > > > > v7->v8: > > > > * Dropped RCar du lib and created RZ/G2L DU DRM driver by > creating rz_du folder. > > > > * Updated KConfig and Makefile. > > > > v6->v7: > > > > * Split DU lib and RZ/G2L du driver as separate patch series as > > > >DU support added to more platforms based on RZ/G2L alike SoCs. > > > > * Rebased to latest drm-tip. > > > > * Added patch #2 for binding support for RZ/V2L DU > > > > * Added patch #4 for driver support for RZ/V2L DU > > > > * Added patch #5 for SoC DTSI support for RZ/G2L DU > > > > * Added patch #6 for SoC DTSI support for RZ/V2L DU > > > > * Added patch #7 for Enabling DU on SMARC EVK based on > RZ/{G2L,V2L} SoCs. > > > > * Added patch #8 for Enabling DU on SMARC EVK based on RZ/G2LC > SoC. > > > > --- > > > > drivers/gpu/drm/renesas/Kconfig | 1 + > > > > drivers/gpu/drm/renesas/Makefile | 1 + > > > > drivers/gpu/drm/renesas/rz-du/Kconfig | 20 + > > > > drivers/gpu/drm/renesas/rz-du/Makefile| 8 + > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c | 714 > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h | > > > > 99 +++ drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c | 188 + > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h | 89 ++ > > > > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.c | 112 +++ > > > > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.h | 28 + > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c | 770 > > > > ++ drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h > > > > | 43 + drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h | 67 ++ > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 430 ++ > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h | 94 +++ > > > > 15 files changed, 2664 insertions(+) create mode 100644 > > > > drivers/gpu/drm/renesas/rz-du/Kconfig > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/Makefile > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h > > > > create mode 100644 > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c > > > > create mode 100644 > > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.h > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c > > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h > > [snip] > > >
Re: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support
Hi Biju, On Thu, Jun 01, 2023 at 12:08:44PM +, Biju Das wrote: > > Subject: Re: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support > > > > Hi Biju, > > > > Thank you for the patch. > > > > This is a partial review, because the driver is big, and because some > > changes in v10 will (hopefully) simplify the code and make review > > easier. > > I agree v10 will simplify the code as I have do clean-ups based on your > review commnet. > > > On Tue, May 02, 2023 at 11:09:11AM +0100, Biju Das wrote: > > > The LCD controller is composed of Frame Compression Processor (FCPVD), > > > Video Signal Processor (VSPD), and Display Unit (DU). > > > > > > It has DPI/DSI interfaces and supports a maximum resolution of 1080p > > > along with 2 RPFs to support the blending of two picture layers and > > > raster operations (ROPs). > > > > > > The DU module is connected to VSPD. Add RZ/G2L DU support for RZ/G2L > > > alike SoCs. > > > > > > Signed-off-by: Biju Das > > > --- > > > Ref: > > > > > > v8->v9: > > > * Dropped reset_control_assert() from error patch for > > > rzg2l_du_crtc_get() as > > >suggested by Philipp Zabel. > > > v7->v8: > > > * Dropped RCar du lib and created RZ/G2L DU DRM driver by creating rz_du > > > folder. > > > * Updated KConfig and Makefile. > > > v6->v7: > > > * Split DU lib and RZ/G2L du driver as separate patch series as > > >DU support added to more platforms based on RZ/G2L alike SoCs. > > > * Rebased to latest drm-tip. > > > * Added patch #2 for binding support for RZ/V2L DU > > > * Added patch #4 for driver support for RZ/V2L DU > > > * Added patch #5 for SoC DTSI support for RZ/G2L DU > > > * Added patch #6 for SoC DTSI support for RZ/V2L DU > > > * Added patch #7 for Enabling DU on SMARC EVK based on RZ/{G2L,V2L} SoCs. > > > * Added patch #8 for Enabling DU on SMARC EVK based on RZ/G2LC SoC. > > > --- > > > drivers/gpu/drm/renesas/Kconfig | 1 + > > > drivers/gpu/drm/renesas/Makefile | 1 + > > > drivers/gpu/drm/renesas/rz-du/Kconfig | 20 + > > > drivers/gpu/drm/renesas/rz-du/Makefile| 8 + > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c | 714 > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h | 99 +++ > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c | 188 + > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h | 89 ++ > > > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.c | 112 +++ > > > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.h | 28 + > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c | 770 ++ > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h | 43 + > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h | 67 ++ > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 430 ++ > > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h | 94 +++ > > > 15 files changed, 2664 insertions(+) > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/Kconfig > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/Makefile > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.h > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c > > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h [snip] > > > diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c > > > b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c > > > new file mode 100644 > > > index ..d61d433d72e6 > > > --- /dev/null > > > +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c > > > @@ -0,0 +1,714 @@ [snip] > > > +/* > > > - > > > + * CRTC Functions > > > + */ >
RE: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support
Hi Laurent, Thanks for the feedback. > Subject: Re: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support > > Hi Biju, > > Thank you for the patch. > > This is a partial review, because the driver is big, and because some > changes in v10 will (hopefully) simplify the code and make review > easier. I agree v10 will simplify the code as I have do clean-ups based on your review commnet. > > On Tue, May 02, 2023 at 11:09:11AM +0100, Biju Das wrote: > > The LCD controller is composed of Frame Compression Processor (FCPVD), > > Video Signal Processor (VSPD), and Display Unit (DU). > > > > It has DPI/DSI interfaces and supports a maximum resolution of 1080p > > along with 2 RPFs to support the blending of two picture layers and > > raster operations (ROPs). > > > > The DU module is connected to VSPD. Add RZ/G2L DU support for RZ/G2L > > alike SoCs. > > > > Signed-off-by: Biju Das > > --- > > Ref: > > > > v8->v9: > > * Dropped reset_control_assert() from error patch for > rzg2l_du_crtc_get() as > >suggested by Philipp Zabel. > > v7->v8: > > * Dropped RCar du lib and created RZ/G2L DU DRM driver by creating > rz_du folder. > > * Updated KConfig and Makefile. > > v6->v7: > > * Split DU lib and RZ/G2L du driver as separate patch series as > >DU support added to more platforms based on RZ/G2L alike SoCs. > > * Rebased to latest drm-tip. > > * Added patch #2 for binding support for RZ/V2L DU > > * Added patch #4 for driver support for RZ/V2L DU > > * Added patch #5 for SoC DTSI support for RZ/G2L DU > > * Added patch #6 for SoC DTSI support for RZ/V2L DU > > * Added patch #7 for Enabling DU on SMARC EVK based on RZ/{G2L,V2L} > SoCs. > > * Added patch #8 for Enabling DU on SMARC EVK based on RZ/G2LC SoC. > > --- > > drivers/gpu/drm/renesas/Kconfig | 1 + > > drivers/gpu/drm/renesas/Makefile | 1 + > > drivers/gpu/drm/renesas/rz-du/Kconfig | 20 + > > drivers/gpu/drm/renesas/rz-du/Makefile| 8 + > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c | 714 > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h | 99 +++ > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c | 188 + > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h | 89 ++ > > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.c | 112 +++ > > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.h | 28 + > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c | 770 > ++ > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h | 43 + > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h | 67 ++ > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 430 ++ > > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h | 94 +++ > > 15 files changed, 2664 insertions(+) > > create mode 100644 drivers/gpu/drm/renesas/rz-du/Kconfig > > create mode 100644 drivers/gpu/drm/renesas/rz-du/Makefile > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.h > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c > > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h > > > > diff --git a/drivers/gpu/drm/renesas/Kconfig > b/drivers/gpu/drm/renesas/Kconfig > > index 3777dad17f81..21862a8ef710 100644 > > --- a/drivers/gpu/drm/renesas/Kconfig > > +++ b/drivers/gpu/drm/renesas/Kconfig > > @@ -1,4 +1,5 @@ > > # SPDX-License-Identifier: GPL-2.0-only > > > > source "drivers/gpu/drm/renesas/rcar-du/Kconfig" > > +source "drivers/gpu/drm/renesas/rz-du/Kconfig" > > source "drivers/gpu/drm/renesas/shmobile/Kconfig" > > diff --git a/drivers/gpu/drm/renesas/Makefile > b/drivers/gpu/drm/renesas/Makefile > > index ec0e89e7a592..b8d8bc53967f 100644 > > --- a/drivers/gpu/drm/renesas/Makefile > > +++ b/drivers/gpu/drm/renesas/Makefile > > @@ -1,4 +1,5 @@ > > # SPDX-License-Identifier: GPL-2.0 > > > > obj-y += rcar-du/ > > +obj-y += rz-du/ > > obj-$(CONFI
Re: [PATCH v9 RESEND 4/5] drm: Add RZ/G2L DU Support
Hi Biju, Thank you for the patch. This is a partial review, because the driver is big, and because some changes in v10 will (hopefully) simplify the code and make review easier. On Tue, May 02, 2023 at 11:09:11AM +0100, Biju Das wrote: > The LCD controller is composed of Frame Compression Processor (FCPVD), > Video Signal Processor (VSPD), and Display Unit (DU). > > It has DPI/DSI interfaces and supports a maximum resolution of 1080p > along with 2 RPFs to support the blending of two picture layers and > raster operations (ROPs). > > The DU module is connected to VSPD. Add RZ/G2L DU support for RZ/G2L > alike SoCs. > > Signed-off-by: Biju Das > --- > Ref: > > https://lore.kernel.org/linux-renesas-soc/os0pr01mb5922717e4ccfe07f3c25fbc986...@os0pr01mb5922.jpnprd01.prod.outlook.com/#t > v8->v9: > * Dropped reset_control_assert() from error patch for rzg2l_du_crtc_get() as >suggested by Philipp Zabel. > v7->v8: > * Dropped RCar du lib and created RZ/G2L DU DRM driver by creating rz_du > folder. > * Updated KConfig and Makefile. > v6->v7: > * Split DU lib and RZ/G2L du driver as separate patch series as >DU support added to more platforms based on RZ/G2L alike SoCs. > * Rebased to latest drm-tip. > * Added patch #2 for binding support for RZ/V2L DU > * Added patch #4 for driver support for RZ/V2L DU > * Added patch #5 for SoC DTSI support for RZ/G2L DU > * Added patch #6 for SoC DTSI support for RZ/V2L DU > * Added patch #7 for Enabling DU on SMARC EVK based on RZ/{G2L,V2L} SoCs. > * Added patch #8 for Enabling DU on SMARC EVK based on RZ/G2LC SoC. > --- > drivers/gpu/drm/renesas/Kconfig | 1 + > drivers/gpu/drm/renesas/Makefile | 1 + > drivers/gpu/drm/renesas/rz-du/Kconfig | 20 + > drivers/gpu/drm/renesas/rz-du/Makefile| 8 + > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c | 714 > drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h | 99 +++ > drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c | 188 + > drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h | 89 ++ > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.c | 112 +++ > .../gpu/drm/renesas/rz-du/rzg2l_du_encoder.h | 28 + > drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c | 770 ++ > drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h | 43 + > drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h | 67 ++ > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c | 430 ++ > drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h | 94 +++ > 15 files changed, 2664 insertions(+) > create mode 100644 drivers/gpu/drm/renesas/rz-du/Kconfig > create mode 100644 drivers/gpu/drm/renesas/rz-du/Makefile > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.c > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_crtc.h > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.c > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_drv.h > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.c > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_encoder.h > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.c > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_kms.h > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_regs.h > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.c > create mode 100644 drivers/gpu/drm/renesas/rz-du/rzg2l_du_vsp.h > > diff --git a/drivers/gpu/drm/renesas/Kconfig b/drivers/gpu/drm/renesas/Kconfig > index 3777dad17f81..21862a8ef710 100644 > --- a/drivers/gpu/drm/renesas/Kconfig > +++ b/drivers/gpu/drm/renesas/Kconfig > @@ -1,4 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0-only > > source "drivers/gpu/drm/renesas/rcar-du/Kconfig" > +source "drivers/gpu/drm/renesas/rz-du/Kconfig" > source "drivers/gpu/drm/renesas/shmobile/Kconfig" > diff --git a/drivers/gpu/drm/renesas/Makefile > b/drivers/gpu/drm/renesas/Makefile > index ec0e89e7a592..b8d8bc53967f 100644 > --- a/drivers/gpu/drm/renesas/Makefile > +++ b/drivers/gpu/drm/renesas/Makefile > @@ -1,4 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0 > > obj-y += rcar-du/ > +obj-y += rz-du/ > obj-$(CONFIG_DRM_SHMOBILE) += shmobile/ > diff --git a/drivers/gpu/drm/renesas/rz-du/Kconfig > b/drivers/gpu/drm/renesas/rz-du/Kconfig > new file mode 100644 > index ..90b1bf72e23b > --- /dev/null > +++ b/drivers/gpu/drm/renesas/rz-du/Kconfig > @@ -0,0 +1,20 @@ > +# SPDX-License-Identifier: GPL-2.0 > +config DRM_RZG2L_DU > + tristate "DRM Support for RZ/G2L Display Unit" > + depends on DRM && OF > + depends on ARM64 Does the driver fail to compile on !ARM64 platforms ? If no, I'd drop this. > + depends on DRM_RCAR_VSP > + depends on ARCH_RZG2L || COMPILE_TEST > + select DRM_KMS_HELPER > + select DRM_GEM_DMA_HELPER Alphabetical order please. > + select VIDEOMODE_HELPERS > + help > + Choose this option if you have an RZ/G2L alike chipset. > + If M is selected the m