All of lore.kernel.org
 help / color / mirror / Atom feed
From: jacopo mondi <jacopo@jmondi.org>
To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org,
	Archit Taneja <architt@codeaurora.org>,
	Andrzej Hajda <a.hajda@samsung.com>, Ulrich Hecht <uli@fpond.eu>
Subject: Re: [PATCH 00/16] R-Car D3/E3 display support (with LVDS PLL)
Date: Wed, 5 Sep 2018 18:22:29 +0200	[thread overview]
Message-ID: <20180905162229.GI28160@w540> (raw)
In-Reply-To: <20180904121027.24031-1-laurent.pinchart+renesas@ideasonboard.com>

[-- Attachment #1: Type: text/plain, Size: 5492 bytes --]

Hi Laurent,

On Tue, Sep 04, 2018 at 03:10:11PM +0300, Laurent Pinchart wrote:
> Hello everybody,
>
> This patch series adds display support for the D3 and E3 SoCs, and in
> particular the Draak and Ebisu boards.
>
> The code is based on Ulrich's "[PROTO][PATCH 00/10] R-Car D3 LVDS/HDMI support
> (with PLL)" series previously posted to the dri-devel and linux-renesas-soc
> mailing lists. It has been extensively reworked and partly rewritten, and
> support for E3 and Ebisu has been added.
>
> The DU in the D3 and E3 SoCs has no internal PLL. In order to achieve precise
> pixel clock rates (required, among other use cases, for HDMI operation), the
> PLL from the internal LVDS encoder must be programmed and its output clock
> routed back to the DU.
>
> The series starts with update to the DU and LVDS encoder DT bindings to add E3
> (R8A77990) support (patches 01/16 and 02/16) and new clock sources for the
> LVDS encoder (patch 03/16).
>
> The next patch (04/16) adds a .mode_valid() operation to the thc63lvd1024
> driver, to reject modes outside of the LVDS decoder's pixel clock operating
> range (8 MHz to 135 MHz). The patch can be merged on its own separately from
> this series.
>
> Patch (05/16) adds support for D3 and E3 to the LVDS encoder driver. Compared
> to the already supported SoCs, D3 and E3 use a different initialization
> sequence and have a different PLL architecture, with more options for the
> input clock.
>
> The next five patches (06/16 to 10/16) perform small reworks or add support
> for miscellaneous missing features and limitations of the DU, to be followed
> by patch 11/16 that adds support for the D3 and E3 to the DU driver.
>
> Finally patches 12/16 to 16/16 enable display for the D3 and E3 boards in DT.
> Patch 12/16 adds support for the I2C controllers in the E3 DT, and will likely
> be merged separately from this series. Patch 13/16 adds all the display IP
> cores (FCP, VSP, DU and LVDS encoders) to the E3 DT, while patch 14/16 adds
> (and wires up) the missing LVDS encoders to the D3 DT. Patches 15/16 and 16/16
> then enable display output for the Ebisu and Draak boards respectively.
>
> I believe the patch series to be ready for upstreaming (after fixing the
> issues found during review of course). There is no big hack in the code, and I
> haven't noticed any regression. A few issues are still unsolved, such as how
> to disable display outputs independently on D3 and E3, and usage of the LVDS
> PLL for the RGB output, but those are not regressions and shouldn't in my
> opinion be considered as show stoppers.
>
> The patches are available from
>
> 	git://linuxtv.org/pinchartl/media.git drm/du/lvds-pll
>
> with an additional patch for E3 pinctrl that is required for testing and has
> been queued by Geert for v4.20 already.
>
> I have successfully tested the series with the HDMI output of the Ebisu board.
> Ulrich, Jacopo, could you test it on D3 if you have time ? You only need to
> run kmstest or modetest to display an image on the HDMI output.

HDMI output works fine with several modes I have tested:
1920x1080, 1280x720, 1024x768 and 1366x768

You can add my:
Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

If you need more testing please let me know.

Thanks
  j

>
> Kieran Bingham (1):
>   arm64: dts: renesas: r8a77995: Add LVDS support
>
> Laurent Pinchart (12):
>   dt-bindings: display: renesas: du: Document r8a77990 bindings
>   dt-bindings: display: renesas: lvds: Document r8a77990 bindings
>   dt-bindings: display: renesas: lvds: Add EXTAL and DU_DOTCLKIN clocks
>   drm: bridge: thc63: Restrict modes based on hardware operating
>     frequency
>   drm: rcar-du: lvds: D3/E3 support
>   drm: rcar-du: Perform the initial CRTC setup from rcar_du_crtc_get()
>   drm: rcar-du: Use LVDS PLL clock as dot clock when possible
>   drm: rcar-du: Enable configurable DPAD0 routing on Gen3
>   drm: rcar-du: Cache DSYSR value to ensure known initial value
>   drm: rcar-du: Don't use TV sync mode when not supported by the
>     hardware
>   arm64: dts: renesas: r8a77990: Add display output support
>   arm64: dts: renesas: r8a77990: ebisu: Enable VGA and HDMI outputs
>
> Takeshi Kihara (1):
>   arm64: dts: renesas: r8a77990: Add I2C device nodes
>
> Ulrich Hecht (2):
>   drm: rcar-du: Add r8a77990 and r8a77995 device support
>   arm64: dts: renesas: r8a77995: draak: Enable HDMI display output
>
>  .../bindings/display/bridge/renesas,lvds.txt       |  13 +-
>  .../devicetree/bindings/display/renesas,du.txt     |   2 +
>  arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts     | 166 ++++++++++
>  arch/arm64/boot/dts/renesas/r8a77990.dtsi          | 290 ++++++++++++++++
>  arch/arm64/boot/dts/renesas/r8a77995-draak.dts     |  98 +++++-
>  arch/arm64/boot/dts/renesas/r8a77995.dtsi          |  56 ++++
>  drivers/gpu/drm/bridge/thc63lvd1024.c              |  18 +
>  drivers/gpu/drm/rcar-du/rcar_du_crtc.c             | 136 ++++----
>  drivers/gpu/drm/rcar-du/rcar_du_crtc.h             |   5 +
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c              |  63 +++-
>  drivers/gpu/drm/rcar-du/rcar_du_drv.h              |   3 +
>  drivers/gpu/drm/rcar-du/rcar_du_group.c            |  88 +++--
>  drivers/gpu/drm/rcar-du/rcar_du_kms.c              |  12 +
>  drivers/gpu/drm/rcar-du/rcar_lvds.c                | 365 ++++++++++++++++++---
>  drivers/gpu/drm/rcar-du/rcar_lvds_regs.h           |  43 ++-
>  15 files changed, 1210 insertions(+), 148 deletions(-)
>
> --
> Regards,
>
> Laurent Pinchart
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: jacopo mondi <jacopo@jmondi.org>
To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: devicetree@vger.kernel.org, Ulrich Hecht <uli@fpond.eu>,
	dri-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH 00/16] R-Car D3/E3 display support (with LVDS PLL)
Date: Wed, 5 Sep 2018 18:22:29 +0200	[thread overview]
Message-ID: <20180905162229.GI28160@w540> (raw)
In-Reply-To: <20180904121027.24031-1-laurent.pinchart+renesas@ideasonboard.com>


[-- Attachment #1.1: Type: text/plain, Size: 5492 bytes --]

Hi Laurent,

On Tue, Sep 04, 2018 at 03:10:11PM +0300, Laurent Pinchart wrote:
> Hello everybody,
>
> This patch series adds display support for the D3 and E3 SoCs, and in
> particular the Draak and Ebisu boards.
>
> The code is based on Ulrich's "[PROTO][PATCH 00/10] R-Car D3 LVDS/HDMI support
> (with PLL)" series previously posted to the dri-devel and linux-renesas-soc
> mailing lists. It has been extensively reworked and partly rewritten, and
> support for E3 and Ebisu has been added.
>
> The DU in the D3 and E3 SoCs has no internal PLL. In order to achieve precise
> pixel clock rates (required, among other use cases, for HDMI operation), the
> PLL from the internal LVDS encoder must be programmed and its output clock
> routed back to the DU.
>
> The series starts with update to the DU and LVDS encoder DT bindings to add E3
> (R8A77990) support (patches 01/16 and 02/16) and new clock sources for the
> LVDS encoder (patch 03/16).
>
> The next patch (04/16) adds a .mode_valid() operation to the thc63lvd1024
> driver, to reject modes outside of the LVDS decoder's pixel clock operating
> range (8 MHz to 135 MHz). The patch can be merged on its own separately from
> this series.
>
> Patch (05/16) adds support for D3 and E3 to the LVDS encoder driver. Compared
> to the already supported SoCs, D3 and E3 use a different initialization
> sequence and have a different PLL architecture, with more options for the
> input clock.
>
> The next five patches (06/16 to 10/16) perform small reworks or add support
> for miscellaneous missing features and limitations of the DU, to be followed
> by patch 11/16 that adds support for the D3 and E3 to the DU driver.
>
> Finally patches 12/16 to 16/16 enable display for the D3 and E3 boards in DT.
> Patch 12/16 adds support for the I2C controllers in the E3 DT, and will likely
> be merged separately from this series. Patch 13/16 adds all the display IP
> cores (FCP, VSP, DU and LVDS encoders) to the E3 DT, while patch 14/16 adds
> (and wires up) the missing LVDS encoders to the D3 DT. Patches 15/16 and 16/16
> then enable display output for the Ebisu and Draak boards respectively.
>
> I believe the patch series to be ready for upstreaming (after fixing the
> issues found during review of course). There is no big hack in the code, and I
> haven't noticed any regression. A few issues are still unsolved, such as how
> to disable display outputs independently on D3 and E3, and usage of the LVDS
> PLL for the RGB output, but those are not regressions and shouldn't in my
> opinion be considered as show stoppers.
>
> The patches are available from
>
> 	git://linuxtv.org/pinchartl/media.git drm/du/lvds-pll
>
> with an additional patch for E3 pinctrl that is required for testing and has
> been queued by Geert for v4.20 already.
>
> I have successfully tested the series with the HDMI output of the Ebisu board.
> Ulrich, Jacopo, could you test it on D3 if you have time ? You only need to
> run kmstest or modetest to display an image on the HDMI output.

HDMI output works fine with several modes I have tested:
1920x1080, 1280x720, 1024x768 and 1366x768

You can add my:
Tested-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

If you need more testing please let me know.

Thanks
  j

>
> Kieran Bingham (1):
>   arm64: dts: renesas: r8a77995: Add LVDS support
>
> Laurent Pinchart (12):
>   dt-bindings: display: renesas: du: Document r8a77990 bindings
>   dt-bindings: display: renesas: lvds: Document r8a77990 bindings
>   dt-bindings: display: renesas: lvds: Add EXTAL and DU_DOTCLKIN clocks
>   drm: bridge: thc63: Restrict modes based on hardware operating
>     frequency
>   drm: rcar-du: lvds: D3/E3 support
>   drm: rcar-du: Perform the initial CRTC setup from rcar_du_crtc_get()
>   drm: rcar-du: Use LVDS PLL clock as dot clock when possible
>   drm: rcar-du: Enable configurable DPAD0 routing on Gen3
>   drm: rcar-du: Cache DSYSR value to ensure known initial value
>   drm: rcar-du: Don't use TV sync mode when not supported by the
>     hardware
>   arm64: dts: renesas: r8a77990: Add display output support
>   arm64: dts: renesas: r8a77990: ebisu: Enable VGA and HDMI outputs
>
> Takeshi Kihara (1):
>   arm64: dts: renesas: r8a77990: Add I2C device nodes
>
> Ulrich Hecht (2):
>   drm: rcar-du: Add r8a77990 and r8a77995 device support
>   arm64: dts: renesas: r8a77995: draak: Enable HDMI display output
>
>  .../bindings/display/bridge/renesas,lvds.txt       |  13 +-
>  .../devicetree/bindings/display/renesas,du.txt     |   2 +
>  arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts     | 166 ++++++++++
>  arch/arm64/boot/dts/renesas/r8a77990.dtsi          | 290 ++++++++++++++++
>  arch/arm64/boot/dts/renesas/r8a77995-draak.dts     |  98 +++++-
>  arch/arm64/boot/dts/renesas/r8a77995.dtsi          |  56 ++++
>  drivers/gpu/drm/bridge/thc63lvd1024.c              |  18 +
>  drivers/gpu/drm/rcar-du/rcar_du_crtc.c             | 136 ++++----
>  drivers/gpu/drm/rcar-du/rcar_du_crtc.h             |   5 +
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c              |  63 +++-
>  drivers/gpu/drm/rcar-du/rcar_du_drv.h              |   3 +
>  drivers/gpu/drm/rcar-du/rcar_du_group.c            |  88 +++--
>  drivers/gpu/drm/rcar-du/rcar_du_kms.c              |  12 +
>  drivers/gpu/drm/rcar-du/rcar_lvds.c                | 365 ++++++++++++++++++---
>  drivers/gpu/drm/rcar-du/rcar_lvds_regs.h           |  43 ++-
>  15 files changed, 1210 insertions(+), 148 deletions(-)
>
> --
> Regards,
>
> Laurent Pinchart
>

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2018-09-05 16:22 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 12:10 [PATCH 00/16] R-Car D3/E3 display support (with LVDS PLL) Laurent Pinchart
2018-09-04 12:10 ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 01/16] dt-bindings: display: renesas: du: Document r8a77990 bindings Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-14  7:56   ` jacopo mondi
2018-09-14  7:56     ` jacopo mondi
2018-09-17  5:44   ` Rob Herring
2018-09-04 12:10 ` [PATCH 02/16] dt-bindings: display: renesas: lvds: " Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-14  7:57   ` jacopo mondi
2018-09-14  7:57     ` jacopo mondi
2018-09-17  5:44   ` Rob Herring
2018-09-04 12:10 ` [PATCH 03/16] dt-bindings: display: renesas: lvds: Add EXTAL and DU_DOTCLKIN clocks Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-14  8:00   ` jacopo mondi
2018-09-14  8:00     ` jacopo mondi
2018-09-14  8:24     ` Laurent Pinchart
2018-09-14  8:24       ` Laurent Pinchart
2018-09-14  8:35       ` jacopo mondi
2018-09-14  8:35         ` jacopo mondi
2018-09-04 12:10 ` [PATCH 04/16] drm: bridge: thc63: Restrict modes based on hardware operating frequency Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-11 13:31   ` jacopo mondi
2018-09-11 13:31     ` jacopo mondi
2018-09-13 21:08     ` Laurent Pinchart
2018-09-13 21:08       ` Laurent Pinchart
2018-09-13 12:36   ` Andrzej Hajda
2018-09-13 12:36     ` Andrzej Hajda
2018-09-04 12:10 ` [PATCH 05/16] drm: rcar-du: lvds: D3/E3 support Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 14:29   ` Geert Uytterhoeven
2018-09-04 14:29     ` Geert Uytterhoeven
2018-09-05 14:01     ` Laurent Pinchart
2018-09-05 14:01       ` Laurent Pinchart
2018-09-11 13:23   ` jacopo mondi
2018-09-11 13:23     ` jacopo mondi
2018-09-13 21:14     ` Laurent Pinchart
2018-09-13 21:14       ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 06/16] drm: rcar-du: Perform the initial CRTC setup from rcar_du_crtc_get() Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-07 18:19   ` jacopo mondi
2018-09-07 18:19     ` jacopo mondi
2018-09-09 16:44     ` Laurent Pinchart
2018-09-09 16:44       ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 07/16] drm: rcar-du: Use LVDS PLL clock as dot clock when possible Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-11 14:59   ` jacopo mondi
2018-09-11 14:59     ` jacopo mondi
2018-09-13 21:17     ` Laurent Pinchart
2018-09-13 21:17       ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 08/16] drm: rcar-du: Enable configurable DPAD0 routing on Gen3 Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-11 15:46   ` jacopo mondi
2018-09-11 15:46     ` jacopo mondi
2018-09-13 21:25     ` Laurent Pinchart
2018-09-13 21:25       ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 09/16] drm: rcar-du: Cache DSYSR value to ensure known initial value Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 10/16] drm: rcar-du: Don't use TV sync mode when not supported by the hardware Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 11/16] drm: rcar-du: Add r8a77990 and r8a77995 device support Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 12/16] arm64: dts: renesas: r8a77990: Add I2C device nodes Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 14:32   ` Geert Uytterhoeven
2018-09-04 14:32     ` Geert Uytterhoeven
2018-09-04 14:49     ` jacopo mondi
2018-09-04 14:49       ` jacopo mondi
2018-09-05 13:53       ` Laurent Pinchart
2018-09-05 13:53         ` Laurent Pinchart
2018-09-06  9:26         ` Simon Horman
2018-09-06  9:26           ` Simon Horman
2018-09-06  9:48           ` Laurent Pinchart
2018-09-06  9:48             ` Laurent Pinchart
2018-09-05 13:52     ` Laurent Pinchart
2018-09-05 13:52       ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 13/16] arm64: dts: renesas: r8a77990: Add display output support Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 14/16] arm64: dts: renesas: r8a77995: Add LVDS support Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 15/16] arm64: dts: renesas: r8a77990: ebisu: Enable VGA and HDMI outputs Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-04 12:10 ` [PATCH 16/16] arm64: dts: renesas: r8a77995: draak: Enable HDMI display output Laurent Pinchart
2018-09-04 12:10   ` Laurent Pinchart
2018-09-05 16:22 ` jacopo mondi [this message]
2018-09-05 16:22   ` [PATCH 00/16] R-Car D3/E3 display support (with LVDS PLL) jacopo mondi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180905162229.GI28160@w540 \
    --to=jacopo@jmondi.org \
    --cc=a.hajda@samsung.com \
    --cc=architt@codeaurora.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=uli@fpond.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.