RE: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Laurent, > Subject: RE: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > Hi Laurent and all, > > Thanks for the feedback. > > > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > > > Hi Biju, > > > > On Tue, Aug 30, 2022 at 08:22:08AM +0000, Biju Das wrote: > > > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > > > On Mon, Aug 29, 2022 at 10:19:01AM +0100, Biju Das wrote: > > > > > This driver supports the MIPI DSI encoder found in the RZ/G2L SoC. > > > > > It currently supports DSI video mode only. > > > > > > > > > > Signed-off-by: Biju Das > > > > > Acked-by: Sam Ravnborg > > > > > --- > > > > > v5->v6: > > > > > * Updated commit description > > > > > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup- > > > > >runtime > > > > >PM suspend/resume handlers. > > > > > * Max lane capability read at probe(), and enforced in > > > > >rzg2l_mipi_dsi_host_attach() > > > > > * Simplified vich1ppsetr setting. > > > > > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > > > > > * Fixed typo in probe error message(arst->rst). > > > > > * Reordered DRM bridge initaization in probe() > > > > > * Updated typo in e-mail address. > > > > > v4->v5: > > > > > * Added Ack from Sam. > > > > > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() > > > > >with drm_of_get_data_lanes_count_ep() in probe. > > > > > v3->v4: > > > > > * Updated error handling in rzg2l_mipi_dsi_startup() and > > > > > rzg2l_mipi_dsi_atomic_enable() > > > > > v2->v3: > > > > > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr > > > > > function > > > > instead > > > > >of the memory pointer > > > > > * Fixed the comment in rzg2l_mipi_dsi_startup() > > > > > * Removed unnecessary dbg message from > > > > > rzg2l_mipi_dsi_start_video() > > > > > * DRM bridge parameter initialization moved to probe > > > > > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > > > > > * Inserted the missing blank lane after return in probe() > > > > > * Added missing MODULE_DEVICE_TABLE > > > > > * Added include linux/bits.h in header file > > > > > * Fixed various macros in header file. > > > > > * Reorder the make file for DSI, so that it is no more dependent > > > > >on RZ/G2L DU patch series. > > > > > v1->v2: > > > > > * Rework based on dt-binding change (DSI + D-PHY) as single > > > > > block > > > > > * Replaced link_mmio and phy_mmio with mmio in struct > > > > > rzg2l_mipi_dsi > > > > > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write > > > > >and rzg2l_mipi_dsi_link_write > > > > > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > > > > > RFC->v1: > > > > > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG > > > > >and dropped DRM as it is implied by DRM_BRIDGE > > > > > * Used devm_reset_control_get_exclusive() for reset handle > > > > > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > > > > > * Added error check for pm, using pm_runtime_resume_and_get() > > > > > instead > > > > of > > > > >pm_runtime_get_sync() > > > > > * Added check for unsupported formats in > > > > > rzg2l_mipi_dsi_host_attach() > > > > > * Avoided read-modify-write stopping hsclock > > > > > * Used devm_platform_ioremap_resource for resource allocation > > > > > * Removed unnecessary assert call from probe and remove. > > > > > * wrap the line after the PTR_ERR() in probe() > > > > > * Updated reset failure messages in probe > > > > > * Fixed the typo arstc->prstc > > > > > * Made hex constants to lower case. > > > > > RFC: > > > > > * > > > > > --- > > > > > drivers/gpu/drm/rcar-du/Kconfig | 8 + > > > > > drivers/gpu/drm/rcar-du/Makefile | 2 + > > > > > drivers/gpu/drm/rcar-du
RE: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Laurent and all, Thanks for the feedback. > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > Hi Biju, > > On Tue, Aug 30, 2022 at 08:22:08AM +, Biju Das wrote: > > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > > On Mon, Aug 29, 2022 at 10:19:01AM +0100, Biju Das wrote: > > > > This driver supports the MIPI DSI encoder found in the RZ/G2L SoC. > > > > It currently supports DSI video mode only. > > > > > > > > Signed-off-by: Biju Das > > > > Acked-by: Sam Ravnborg > > > > --- > > > > v5->v6: > > > > * Updated commit description > > > > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup- > > > >runtime > > > >PM suspend/resume handlers. > > > > * Max lane capability read at probe(), and enforced in > > > >rzg2l_mipi_dsi_host_attach() > > > > * Simplified vich1ppsetr setting. > > > > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > > > > * Fixed typo in probe error message(arst->rst). > > > > * Reordered DRM bridge initaization in probe() > > > > * Updated typo in e-mail address. > > > > v4->v5: > > > > * Added Ack from Sam. > > > > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() > > > >with drm_of_get_data_lanes_count_ep() in probe. > > > > v3->v4: > > > > * Updated error handling in rzg2l_mipi_dsi_startup() and > > > > rzg2l_mipi_dsi_atomic_enable() > > > > v2->v3: > > > > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr > > > > function > > > instead > > > >of the memory pointer > > > > * Fixed the comment in rzg2l_mipi_dsi_startup() > > > > * Removed unnecessary dbg message from > > > > rzg2l_mipi_dsi_start_video() > > > > * DRM bridge parameter initialization moved to probe > > > > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > > > > * Inserted the missing blank lane after return in probe() > > > > * Added missing MODULE_DEVICE_TABLE > > > > * Added include linux/bits.h in header file > > > > * Fixed various macros in header file. > > > > * Reorder the make file for DSI, so that it is no more dependent > > > >on RZ/G2L DU patch series. > > > > v1->v2: > > > > * Rework based on dt-binding change (DSI + D-PHY) as single block > > > > * Replaced link_mmio and phy_mmio with mmio in struct > > > > rzg2l_mipi_dsi > > > > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write > > > >and rzg2l_mipi_dsi_link_write > > > > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > > > > RFC->v1: > > > > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG > > > >and dropped DRM as it is implied by DRM_BRIDGE > > > > * Used devm_reset_control_get_exclusive() for reset handle > > > > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > > > > * Added error check for pm, using pm_runtime_resume_and_get() > > > > instead > > > of > > > >pm_runtime_get_sync() > > > > * Added check for unsupported formats in > > > > rzg2l_mipi_dsi_host_attach() > > > > * Avoided read-modify-write stopping hsclock > > > > * Used devm_platform_ioremap_resource for resource allocation > > > > * Removed unnecessary assert call from probe and remove. > > > > * wrap the line after the PTR_ERR() in probe() > > > > * Updated reset failure messages in probe > > > > * Fixed the typo arstc->prstc > > > > * Made hex constants to lower case. > > > > RFC: > > > > * > > > > --- > > > > drivers/gpu/drm/rcar-du/Kconfig | 8 + > > > > drivers/gpu/drm/rcar-du/Makefile | 2 + > > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 703 > > > ++ > > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h | 151 > > > > 4 files changed, 864 insertions(+) create mode 100644 > > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > > > > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h > > > > > > > > diff --git a/drivers/gpu/drm/rcar-du/Kconfig > > > > b/drivers/gpu/drm/rcar-du/Kconfig index c959e8c6b
RE: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Laurent, > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > Hi Biju, > > On Tue, Aug 30, 2022 at 08:22:08AM +, Biju Das wrote: > > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > > On Mon, Aug 29, 2022 at 10:19:01AM +0100, Biju Das wrote: > > > > This driver supports the MIPI DSI encoder found in the RZ/G2L SoC. > > > > It currently supports DSI video mode only. > > > > > > > > Signed-off-by: Biju Das > > > > Acked-by: Sam Ravnborg > > > > --- > > > > v5->v6: > > > > * Updated commit description > > > > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup- > > > >runtime > > > >PM suspend/resume handlers. > > > > * Max lane capability read at probe(), and enforced in > > > >rzg2l_mipi_dsi_host_attach() > > > > * Simplified vich1ppsetr setting. > > > > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > > > > * Fixed typo in probe error message(arst->rst). > > > > * Reordered DRM bridge initaization in probe() > > > > * Updated typo in e-mail address. > > > > v4->v5: > > > > * Added Ack from Sam. > > > > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() > > > >with drm_of_get_data_lanes_count_ep() in probe. > > > > v3->v4: > > > > * Updated error handling in rzg2l_mipi_dsi_startup() and > > > > rzg2l_mipi_dsi_atomic_enable() > > > > v2->v3: > > > > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr > > > > function > > > instead > > > >of the memory pointer > > > > * Fixed the comment in rzg2l_mipi_dsi_startup() > > > > * Removed unnecessary dbg message from > > > > rzg2l_mipi_dsi_start_video() > > > > * DRM bridge parameter initialization moved to probe > > > > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > > > > * Inserted the missing blank lane after return in probe() > > > > * Added missing MODULE_DEVICE_TABLE > > > > * Added include linux/bits.h in header file > > > > * Fixed various macros in header file. > > > > * Reorder the make file for DSI, so that it is no more dependent > > > >on RZ/G2L DU patch series. > > > > v1->v2: > > > > * Rework based on dt-binding change (DSI + D-PHY) as single block > > > > * Replaced link_mmio and phy_mmio with mmio in struct > > > > rzg2l_mipi_dsi > > > > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write > > > >and rzg2l_mipi_dsi_link_write > > > > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > > > > RFC->v1: > > > > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG > > > >and dropped DRM as it is implied by DRM_BRIDGE > > > > * Used devm_reset_control_get_exclusive() for reset handle > > > > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > > > > * Added error check for pm, using pm_runtime_resume_and_get() > > > > instead > > > of > > > >pm_runtime_get_sync() > > > > * Added check for unsupported formats in > > > > rzg2l_mipi_dsi_host_attach() > > > > * Avoided read-modify-write stopping hsclock > > > > * Used devm_platform_ioremap_resource for resource allocation > > > > * Removed unnecessary assert call from probe and remove. > > > > * wrap the line after the PTR_ERR() in probe() > > > > * Updated reset failure messages in probe > > > > * Fixed the typo arstc->prstc > > > > * Made hex constants to lower case. > > > > RFC: > > > > * > > > > --- > > > > drivers/gpu/drm/rcar-du/Kconfig | 8 + > > > > drivers/gpu/drm/rcar-du/Makefile | 2 + > > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 703 > > > ++ > > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h | 151 > > > > 4 files changed, 864 insertions(+) create mode 100644 > > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > > > > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h > > > > > > > > diff --git a/drivers/gpu/drm/rcar-du/Kconfig > > > > b/drivers/gpu/drm/rcar-du/Kconfig index c959e8c6be7d..58ffb8c2443b > > &g
Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Biju, On Tue, Aug 30, 2022 at 08:22:08AM +, Biju Das wrote: > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > On Mon, Aug 29, 2022 at 10:19:01AM +0100, Biju Das wrote: > > > This driver supports the MIPI DSI encoder found in the RZ/G2L SoC. It > > > currently supports DSI video mode only. > > > > > > Signed-off-by: Biju Das > > > Acked-by: Sam Ravnborg > > > --- > > > v5->v6: > > > * Updated commit description > > > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup- > > >runtime > > >PM suspend/resume handlers. > > > * Max lane capability read at probe(), and enforced in > > >rzg2l_mipi_dsi_host_attach() > > > * Simplified vich1ppsetr setting. > > > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > > > * Fixed typo in probe error message(arst->rst). > > > * Reordered DRM bridge initaization in probe() > > > * Updated typo in e-mail address. > > > v4->v5: > > > * Added Ack from Sam. > > > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() > > >with drm_of_get_data_lanes_count_ep() in probe. > > > v3->v4: > > > * Updated error handling in rzg2l_mipi_dsi_startup() and > > > rzg2l_mipi_dsi_atomic_enable() > > > v2->v3: > > > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr function > > instead > > >of the memory pointer > > > * Fixed the comment in rzg2l_mipi_dsi_startup() > > > * Removed unnecessary dbg message from rzg2l_mipi_dsi_start_video() > > > * DRM bridge parameter initialization moved to probe > > > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > > > * Inserted the missing blank lane after return in probe() > > > * Added missing MODULE_DEVICE_TABLE > > > * Added include linux/bits.h in header file > > > * Fixed various macros in header file. > > > * Reorder the make file for DSI, so that it is no more dependent > > >on RZ/G2L DU patch series. > > > v1->v2: > > > * Rework based on dt-binding change (DSI + D-PHY) as single block > > > * Replaced link_mmio and phy_mmio with mmio in struct rzg2l_mipi_dsi > > > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write > > >and rzg2l_mipi_dsi_link_write > > > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > > > RFC->v1: > > > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG > > >and dropped DRM as it is implied by DRM_BRIDGE > > > * Used devm_reset_control_get_exclusive() for reset handle > > > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > > > * Added error check for pm, using pm_runtime_resume_and_get() instead > > of > > >pm_runtime_get_sync() > > > * Added check for unsupported formats in rzg2l_mipi_dsi_host_attach() > > > * Avoided read-modify-write stopping hsclock > > > * Used devm_platform_ioremap_resource for resource allocation > > > * Removed unnecessary assert call from probe and remove. > > > * wrap the line after the PTR_ERR() in probe() > > > * Updated reset failure messages in probe > > > * Fixed the typo arstc->prstc > > > * Made hex constants to lower case. > > > RFC: > > > * > > > --- > > > drivers/gpu/drm/rcar-du/Kconfig | 8 + > > > drivers/gpu/drm/rcar-du/Makefile | 2 + > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 703 > > ++ > > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h | 151 > > > 4 files changed, 864 insertions(+) > > > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > > > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h > > > > > > diff --git a/drivers/gpu/drm/rcar-du/Kconfig > > > b/drivers/gpu/drm/rcar-du/Kconfig index c959e8c6be7d..58ffb8c2443b > > > 100644 > > > --- a/drivers/gpu/drm/rcar-du/Kconfig > > > +++ b/drivers/gpu/drm/rcar-du/Kconfig > > > @@ -51,6 +51,14 @@ config DRM_RCAR_MIPI_DSI > > > help > > > Enable support for the R-Car Display Unit embedded MIPI DSI > > encoders. > > > > > > +config DRM_RZG2L_MIPI_DSI > > > + tristate "RZ/G2L MIPI DSI Encoder Support" > > > + depends on DRM_BRIDGE && OF > > > + depends on ARCH_RENESAS || COMPILE_TEST > > > + select DRM_MIPI_DSI > > > + help > &g
RE: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Laurent, Thanks for the feedback. > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > Hi Biju, > > Thank you for the patch. > > On Mon, Aug 29, 2022 at 10:19:01AM +0100, Biju Das wrote: > > This driver supports the MIPI DSI encoder found in the RZ/G2L SoC. It > > currently supports DSI video mode only. > > > > Signed-off-by: Biju Das > > Acked-by: Sam Ravnborg > > --- > > v5->v6: > > * Updated commit description > > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup- > >runtime > >PM suspend/resume handlers. > > * Max lane capability read at probe(), and enforced in > >rzg2l_mipi_dsi_host_attach() > > * Simplified vich1ppsetr setting. > > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > > * Fixed typo in probe error message(arst->rst). > > * Reordered DRM bridge initaization in probe() > > * Updated typo in e-mail address. > > v4->v5: > > * Added Ack from Sam. > > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() > >with drm_of_get_data_lanes_count_ep() in probe. > > v3->v4: > > * Updated error handling in rzg2l_mipi_dsi_startup() and > > rzg2l_mipi_dsi_atomic_enable() > > v2->v3: > > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr function > instead > >of the memory pointer > > * Fixed the comment in rzg2l_mipi_dsi_startup() > > * Removed unnecessary dbg message from rzg2l_mipi_dsi_start_video() > > * DRM bridge parameter initialization moved to probe > > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > > * Inserted the missing blank lane after return in probe() > > * Added missing MODULE_DEVICE_TABLE > > * Added include linux/bits.h in header file > > * Fixed various macros in header file. > > * Reorder the make file for DSI, so that it is no more dependent > >on RZ/G2L DU patch series. > > v1->v2: > > * Rework based on dt-binding change (DSI + D-PHY) as single block > > * Replaced link_mmio and phy_mmio with mmio in struct rzg2l_mipi_dsi > > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write > >and rzg2l_mipi_dsi_link_write > > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > > RFC->v1: > > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG > >and dropped DRM as it is implied by DRM_BRIDGE > > * Used devm_reset_control_get_exclusive() for reset handle > > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > > * Added error check for pm, using pm_runtime_resume_and_get() instead > of > >pm_runtime_get_sync() > > * Added check for unsupported formats in rzg2l_mipi_dsi_host_attach() > > * Avoided read-modify-write stopping hsclock > > * Used devm_platform_ioremap_resource for resource allocation > > * Removed unnecessary assert call from probe and remove. > > * wrap the line after the PTR_ERR() in probe() > > * Updated reset failure messages in probe > > * Fixed the typo arstc->prstc > > * Made hex constants to lower case. > > RFC: > > * > > --- > > drivers/gpu/drm/rcar-du/Kconfig | 8 + > > drivers/gpu/drm/rcar-du/Makefile | 2 + > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 703 > ++ > > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h | 151 > > 4 files changed, 864 insertions(+) > > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h > > > > diff --git a/drivers/gpu/drm/rcar-du/Kconfig > > b/drivers/gpu/drm/rcar-du/Kconfig index c959e8c6be7d..58ffb8c2443b > > 100644 > > --- a/drivers/gpu/drm/rcar-du/Kconfig > > +++ b/drivers/gpu/drm/rcar-du/Kconfig > > @@ -51,6 +51,14 @@ config DRM_RCAR_MIPI_DSI > > help > > Enable support for the R-Car Display Unit embedded MIPI DSI > encoders. > > > > +config DRM_RZG2L_MIPI_DSI > > + tristate "RZ/G2L MIPI DSI Encoder Support" > > + depends on DRM_BRIDGE && OF > > + depends on ARCH_RENESAS || COMPILE_TEST > > + select DRM_MIPI_DSI > > + help > > + Enable support for the RZ/G2L Display Unit embedded MIPI DSI > encoders. > > + > > config DRM_RCAR_VSP > > bool "R-Car DU VSP Compositor Support" if ARM > > default y if ARM64 > > diff --git a/drivers/gpu/drm/rcar-du/Makefile > > b/drivers/gpu/drm/rcar-du/Makefile > > index 6f132325c8b7..b8f2c82651d9 100644 > >
RE: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Laurent, Thanks for the feedback. > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > Hi Biju, > > On Mon, Aug 29, 2022 at 04:26:02PM +, Biju Das wrote: > > Hi Robert, > > > > Thanks for the feedback. > > > > > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > > > > > Hey Biju, > > > > > > The patch does not apply on drm-misc-next, could you rebase it and > > > submit the next version? > > > > I believe[1] is dependent on this patch series. Sorry for not making > > it clear while sending this patch series out. > > > > I thought Laurent is going to give a pull request for RCar DU patches. > > That's right. The patches apply fine to my branch. > > > Based on that assumption, currently my environment is drm-tip + > > 12 patches from[2], as [2] doesn't have all the latest patches from > > drm-misc-next/drm-tip. > > > > > > > Additionally it has a few 'checkpatch --strict' warnings. > > > > I got a review comment[3] to use (1 << 1) style instead of BIT macro. > > Some of the warnings related to this. > > > > Laurent, any thoughts?? > > (1 << x) instead of BIT it correct when the field stores a value, not a > single bit flag. OK, then it is fine. Cheers, Biju
Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Biju, Thank you for the patch. On Mon, Aug 29, 2022 at 10:19:01AM +0100, Biju Das wrote: > This driver supports the MIPI DSI encoder found in the RZ/G2L > SoC. It currently supports DSI video mode only. > > Signed-off-by: Biju Das > Acked-by: Sam Ravnborg > --- > v5->v6: > * Updated commit description > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup->runtime >PM suspend/resume handlers. > * Max lane capability read at probe(), and enforced in >rzg2l_mipi_dsi_host_attach() > * Simplified vich1ppsetr setting. > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > * Fixed typo in probe error message(arst->rst). > * Reordered DRM bridge initaization in probe() > * Updated typo in e-mail address. > v4->v5: > * Added Ack from Sam. > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() >with drm_of_get_data_lanes_count_ep() in probe. > v3->v4: > * Updated error handling in rzg2l_mipi_dsi_startup() and > rzg2l_mipi_dsi_atomic_enable() > v2->v3: > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr function instead >of the memory pointer > * Fixed the comment in rzg2l_mipi_dsi_startup() > * Removed unnecessary dbg message from rzg2l_mipi_dsi_start_video() > * DRM bridge parameter initialization moved to probe > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > * Inserted the missing blank lane after return in probe() > * Added missing MODULE_DEVICE_TABLE > * Added include linux/bits.h in header file > * Fixed various macros in header file. > * Reorder the make file for DSI, so that it is no more dependent >on RZ/G2L DU patch series. > v1->v2: > * Rework based on dt-binding change (DSI + D-PHY) as single block > * Replaced link_mmio and phy_mmio with mmio in struct rzg2l_mipi_dsi > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write >and rzg2l_mipi_dsi_link_write > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > RFC->v1: > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG >and dropped DRM as it is implied by DRM_BRIDGE > * Used devm_reset_control_get_exclusive() for reset handle > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > * Added error check for pm, using pm_runtime_resume_and_get() instead of >pm_runtime_get_sync() > * Added check for unsupported formats in rzg2l_mipi_dsi_host_attach() > * Avoided read-modify-write stopping hsclock > * Used devm_platform_ioremap_resource for resource allocation > * Removed unnecessary assert call from probe and remove. > * wrap the line after the PTR_ERR() in probe() > * Updated reset failure messages in probe > * Fixed the typo arstc->prstc > * Made hex constants to lower case. > RFC: > * > https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220112174612.10773-23-biju.das...@bp.renesas.com/ > --- > drivers/gpu/drm/rcar-du/Kconfig | 8 + > drivers/gpu/drm/rcar-du/Makefile | 2 + > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 703 ++ > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h | 151 > 4 files changed, 864 insertions(+) > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h > > diff --git a/drivers/gpu/drm/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig > index c959e8c6be7d..58ffb8c2443b 100644 > --- a/drivers/gpu/drm/rcar-du/Kconfig > +++ b/drivers/gpu/drm/rcar-du/Kconfig > @@ -51,6 +51,14 @@ config DRM_RCAR_MIPI_DSI > help > Enable support for the R-Car Display Unit embedded MIPI DSI encoders. > > +config DRM_RZG2L_MIPI_DSI > + tristate "RZ/G2L MIPI DSI Encoder Support" > + depends on DRM_BRIDGE && OF > + depends on ARCH_RENESAS || COMPILE_TEST > + select DRM_MIPI_DSI > + help > + Enable support for the RZ/G2L Display Unit embedded MIPI DSI encoders. > + > config DRM_RCAR_VSP > bool "R-Car DU VSP Compositor Support" if ARM > default y if ARM64 > diff --git a/drivers/gpu/drm/rcar-du/Makefile > b/drivers/gpu/drm/rcar-du/Makefile > index 6f132325c8b7..b8f2c82651d9 100644 > --- a/drivers/gpu/drm/rcar-du/Makefile > +++ b/drivers/gpu/drm/rcar-du/Makefile > @@ -14,3 +14,5 @@ obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o > obj-$(CONFIG_DRM_RCAR_DW_HDMI) += rcar_dw_hdmi.o > obj-$(CONFIG_DRM_RCAR_LVDS) += rcar_lvds.o > obj-$(CONFIG_DRM_RCAR_MIPI_DSI) += rcar_mipi_dsi.o > + > +obj-$(CONFIG_DRM_RZG2L_MIPI_DSI) += rzg2l_mipi_dsi.o > diff --git a/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > b/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > new file mode 100644 > index ..46a71e39e336 > --- /dev/null > +++ b/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > @@ -0,0 +1,703 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * RZ/G2L MIPI DSI Encoder Driver > + * > + * Copyright (C) 2022 Renesas Electronics Corporation > + */ > +#include > +#include > +#include > +#include >
Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Biju, On Mon, Aug 29, 2022 at 04:26:02PM +, Biju Das wrote: > Hi Robert, > > Thanks for the feedback. > > > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > > > Hey Biju, > > > > The patch does not apply on drm-misc-next, could you rebase it and > > submit the next version? > > I believe[1] is dependent on this patch series. Sorry for not > making it clear while sending this patch series out. > > I thought Laurent is going to give a pull request for RCar DU patches. That's right. The patches apply fine to my branch. > Based on that assumption, currently my environment is drm-tip + > 12 patches from[2], as [2] doesn't have all the latest patches from > drm-misc-next/drm-tip. > > [1] > https://git.linuxtv.org/pinchartl/media.git/commit/drivers/gpu/drm/rcar-du?h=drm/du/next=2de250465c3ed5e13bfb5139d9a8c17105d3a1f1 > > [2] > https://git.linuxtv.org/pinchartl/media.git/log/drivers/gpu/drm/rcar-du?h=drm/du/next > > > Additionally it has a few 'checkpatch --strict' warnings. > > I got a review comment[3] to use (1 << 1) style instead of BIT macro. > Some of the warnings related to this. > > [3] > https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220328065115.11724-1-biju.das...@bp.renesas.com/ > > Laurent, any thoughts?? (1 << x) instead of BIT it correct when the field stores a value, not a single bit flag. > > On Mon, 29 Aug 2022 at 11:19, Biju Das wrote: > > > > > > This driver supports the MIPI DSI encoder found in the RZ/G2L SoC. It > > > currently supports DSI video mode only. > > > > > > Signed-off-by: Biju Das > > > Acked-by: Sam Ravnborg > > > --- > > > v5->v6: > > > * Updated commit description > > > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup- > > >runtime > > >PM suspend/resume handlers. > > > * Max lane capability read at probe(), and enforced in > > >rzg2l_mipi_dsi_host_attach() > > > * Simplified vich1ppsetr setting. > > > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > > > * Fixed typo in probe error message(arst->rst). > > > * Reordered DRM bridge initaization in probe() > > > * Updated typo in e-mail address. > > > v4->v5: > > > * Added Ack from Sam. > > > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() > > >with drm_of_get_data_lanes_count_ep() in probe. > > > v3->v4: > > > * Updated error handling in rzg2l_mipi_dsi_startup() and > > > rzg2l_mipi_dsi_atomic_enable() > > > v2->v3: > > > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr function > > instead > > >of the memory pointer > > > * Fixed the comment in rzg2l_mipi_dsi_startup() > > > * Removed unnecessary dbg message from rzg2l_mipi_dsi_start_video() > > > * DRM bridge parameter initialization moved to probe > > > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > > > * Inserted the missing blank lane after return in probe() > > > * Added missing MODULE_DEVICE_TABLE > > > * Added include linux/bits.h in header file > > > * Fixed various macros in header file. > > > * Reorder the make file for DSI, so that it is no more dependent > > >on RZ/G2L DU patch series. > > > v1->v2: > > > * Rework based on dt-binding change (DSI + D-PHY) as single block > > > * Replaced link_mmio and phy_mmio with mmio in struct rzg2l_mipi_dsi > > > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write > > >and rzg2l_mipi_dsi_link_write > > > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > > > RFC->v1: > > > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG > > >and dropped DRM as it is implied by DRM_BRIDGE > > > * Used devm_reset_control_get_exclusive() for reset handle > > > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > > > * Added error check for pm, using pm_runtime_resume_and_get() instead > > of > > >pm_runtime_get_sync() > > > * Added check for unsupported formats in rzg2l_mipi_dsi_host_attach() > > > * Avoided read-modify-write stopping hsclock > > > * Used devm_platform_ioremap_resource for resource allocation > > > * Removed unnecessary assert call from probe and remove. > > > * wrap the line after the PTR_ERR() in probe() > > > * Updated reset failure messages in probe > > > * Fixed the typo arstc->p
RE: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hi Robert, Thanks for the feedback. > Subject: Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver > > Hey Biju, > > The patch does not apply on drm-misc-next, could you rebase it and > submit the next version? I believe[1] is dependent on this patch series. Sorry for not making it clear while sending this patch series out. I thought Laurent is going to give a pull request for RCar DU patches. Based on that assumption, currently my environment is drm-tip + 12 patches from[2], as [2] doesn't have all the latest patches from drm-misc-next/drm-tip. [1] https://git.linuxtv.org/pinchartl/media.git/commit/drivers/gpu/drm/rcar-du?h=drm/du/next=2de250465c3ed5e13bfb5139d9a8c17105d3a1f1 [2] https://git.linuxtv.org/pinchartl/media.git/log/drivers/gpu/drm/rcar-du?h=drm/du/next > > Additionally it has a few 'checkpatch --strict' warnings. I got a review comment[3] to use (1 << 1) style instead of BIT macro. Some of the warnings related to this. [3]https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220328065115.11724-1-biju.das...@bp.renesas.com/ Laurent, any thoughts?? Cheers, Biju > > On Mon, 29 Aug 2022 at 11:19, Biju Das > wrote: > > > > This driver supports the MIPI DSI encoder found in the RZ/G2L SoC. It > > currently supports DSI video mode only. > > > > Signed-off-by: Biju Das > > Acked-by: Sam Ravnborg > > --- > > v5->v6: > > * Updated commit description > > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup- > >runtime > >PM suspend/resume handlers. > > * Max lane capability read at probe(), and enforced in > >rzg2l_mipi_dsi_host_attach() > > * Simplified vich1ppsetr setting. > > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > > * Fixed typo in probe error message(arst->rst). > > * Reordered DRM bridge initaization in probe() > > * Updated typo in e-mail address. > > v4->v5: > > * Added Ack from Sam. > > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() > >with drm_of_get_data_lanes_count_ep() in probe. > > v3->v4: > > * Updated error handling in rzg2l_mipi_dsi_startup() and > > rzg2l_mipi_dsi_atomic_enable() > > v2->v3: > > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr function > instead > >of the memory pointer > > * Fixed the comment in rzg2l_mipi_dsi_startup() > > * Removed unnecessary dbg message from rzg2l_mipi_dsi_start_video() > > * DRM bridge parameter initialization moved to probe > > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > > * Inserted the missing blank lane after return in probe() > > * Added missing MODULE_DEVICE_TABLE > > * Added include linux/bits.h in header file > > * Fixed various macros in header file. > > * Reorder the make file for DSI, so that it is no more dependent > >on RZ/G2L DU patch series. > > v1->v2: > > * Rework based on dt-binding change (DSI + D-PHY) as single block > > * Replaced link_mmio and phy_mmio with mmio in struct rzg2l_mipi_dsi > > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write > >and rzg2l_mipi_dsi_link_write > > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > > RFC->v1: > > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG > >and dropped DRM as it is implied by DRM_BRIDGE > > * Used devm_reset_control_get_exclusive() for reset handle > > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > > * Added error check for pm, using pm_runtime_resume_and_get() instead > of > >pm_runtime_get_sync() > > * Added check for unsupported formats in rzg2l_mipi_dsi_host_attach() > > * Avoided read-modify-write stopping hsclock > > * Used devm_platform_ioremap_resource for resource allocation > > * Removed unnecessary assert call from probe and remove. > > * wrap the line after the PTR_ERR() in probe() > > * Updated reset failure messages in probe > > * Fixed the typo arstc->prstc > > * Made hex constants to lower case. > > RFC: > > * > > https://jpn01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc > > hwork.kernel.org%2Fproject%2Flinux-renesas-soc%2Fpatch%2F2022011217461 > > 2.10773-23-biju.das.jz%40bp.renesas.com%2Fdata=05%7C01%7Cbiju.das > > .jz%40bp.renesas.com%7C003e031f5e7f454bdfdf08da89d4d82d%7C53d82571da19 > > 47e49cb4625a166a4a2a%7C0%7C0%7C637973844501238222%7CUnknown%7CTWFpbGZs > > b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D > > %7C3000%7C%7C%7Csdata=uNJMSsB3FHHDBnczS4jLEL8OADLe03K6gksF2aNn31k > > %3Dreserved=0 > > --- > >
Re: [PATCH v6 2/2] drm: rcar-du: Add RZ/G2L DSI driver
Hey Biju, The patch does not apply on drm-misc-next, could you rebase it and submit the next version? Additionally it has a few 'checkpatch --strict' warnings. On Mon, 29 Aug 2022 at 11:19, Biju Das wrote: > > This driver supports the MIPI DSI encoder found in the RZ/G2L > SoC. It currently supports DSI video mode only. > > Signed-off-by: Biju Das > Acked-by: Sam Ravnborg > --- > v5->v6: > * Updated commit description > * Moved handling of arst and prst from rzg2l_mipi_dsi_startup->runtime >PM suspend/resume handlers. > * Max lane capability read at probe(), and enforced in >rzg2l_mipi_dsi_host_attach() > * Simplified vich1ppsetr setting. > * Renamed hsclk_running_mode,hsclk_mode->is_clk_cont. > * Fixed typo in probe error message(arst->rst). > * Reordered DRM bridge initaization in probe() > * Updated typo in e-mail address. > v4->v5: > * Added Ack from Sam. > * Added a trivial change, replaced rzg2l_mipi_dsi_parse_dt() >with drm_of_get_data_lanes_count_ep() in probe. > v3->v4: > * Updated error handling in rzg2l_mipi_dsi_startup() and > rzg2l_mipi_dsi_atomic_enable() > v2->v3: > * pass rzg2l_mipi_dsi pointer to {Link,Phy} register rd/wr function instead >of the memory pointer > * Fixed the comment in rzg2l_mipi_dsi_startup() > * Removed unnecessary dbg message from rzg2l_mipi_dsi_start_video() > * DRM bridge parameter initialization moved to probe > * Replaced dev_dbg->dev_err in rzg2l_mipi_dsi_parse_dt() > * Inserted the missing blank lane after return in probe() > * Added missing MODULE_DEVICE_TABLE > * Added include linux/bits.h in header file > * Fixed various macros in header file. > * Reorder the make file for DSI, so that it is no more dependent >on RZ/G2L DU patch series. > v1->v2: > * Rework based on dt-binding change (DSI + D-PHY) as single block > * Replaced link_mmio and phy_mmio with mmio in struct rzg2l_mipi_dsi > * Replaced rzg2l_mipi_phy_write with rzg2l_mipi_dsi_phy_write >and rzg2l_mipi_dsi_link_write > * Replaced rzg2l_mipi_phy_read->rzg2l_mipi_dsi_link_read > RFC->v1: > * Added "depends on ARCH_RENESAS || COMPILE_TEST" on KCONFIG >and dropped DRM as it is implied by DRM_BRIDGE > * Used devm_reset_control_get_exclusive() for reset handle > * Removed bool hsclkmode from struct rzg2l_mipi_dsi > * Added error check for pm, using pm_runtime_resume_and_get() instead of >pm_runtime_get_sync() > * Added check for unsupported formats in rzg2l_mipi_dsi_host_attach() > * Avoided read-modify-write stopping hsclock > * Used devm_platform_ioremap_resource for resource allocation > * Removed unnecessary assert call from probe and remove. > * wrap the line after the PTR_ERR() in probe() > * Updated reset failure messages in probe > * Fixed the typo arstc->prstc > * Made hex constants to lower case. > RFC: > * > https://patchwork.kernel.org/project/linux-renesas-soc/patch/20220112174612.10773-23-biju.das...@bp.renesas.com/ > --- > drivers/gpu/drm/rcar-du/Kconfig | 8 + > drivers/gpu/drm/rcar-du/Makefile | 2 + > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c | 703 ++ > drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h | 151 > 4 files changed, 864 insertions(+) > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > create mode 100644 drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi_regs.h > > diff --git a/drivers/gpu/drm/rcar-du/Kconfig b/drivers/gpu/drm/rcar-du/Kconfig > index c959e8c6be7d..58ffb8c2443b 100644 > --- a/drivers/gpu/drm/rcar-du/Kconfig > +++ b/drivers/gpu/drm/rcar-du/Kconfig > @@ -51,6 +51,14 @@ config DRM_RCAR_MIPI_DSI > help > Enable support for the R-Car Display Unit embedded MIPI DSI > encoders. > > +config DRM_RZG2L_MIPI_DSI > + tristate "RZ/G2L MIPI DSI Encoder Support" > + depends on DRM_BRIDGE && OF > + depends on ARCH_RENESAS || COMPILE_TEST > + select DRM_MIPI_DSI > + help > + Enable support for the RZ/G2L Display Unit embedded MIPI DSI > encoders. > + > config DRM_RCAR_VSP > bool "R-Car DU VSP Compositor Support" if ARM > default y if ARM64 > diff --git a/drivers/gpu/drm/rcar-du/Makefile > b/drivers/gpu/drm/rcar-du/Makefile > index 6f132325c8b7..b8f2c82651d9 100644 > --- a/drivers/gpu/drm/rcar-du/Makefile > +++ b/drivers/gpu/drm/rcar-du/Makefile > @@ -14,3 +14,5 @@ obj-$(CONFIG_DRM_RCAR_DU) += rcar-du-drm.o > obj-$(CONFIG_DRM_RCAR_DW_HDMI) += rcar_dw_hdmi.o > obj-$(CONFIG_DRM_RCAR_LVDS)+= rcar_lvds.o > obj-$(CONFIG_DRM_RCAR_MIPI_DSI)+= rcar_mipi_dsi.o > + > +obj-$(CONFIG_DRM_RZG2L_MIPI_DSI) += rzg2l_mipi_dsi.o > diff --git a/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > b/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > new file mode 100644 > index ..46a71e39e336 > --- /dev/null > +++ b/drivers/gpu/drm/rcar-du/rzg2l_mipi_dsi.c > @@ -0,0 +1,703 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * RZ/G2L MIPI DSI