All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Cc: linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 2/5] drm: rcar-du: lvds: Add R8A77995 support
Date: Sun, 20 May 2018 11:45:24 +0300	[thread overview]
Message-ID: <3888488.E5UaB3ZWWj@avalon> (raw)
In-Reply-To: <1526386840-15368-3-git-send-email-ulrich.hecht+renesas@gmail.com>

Hi Ulrich,

Thank you for the patch.

On Tuesday, 15 May 2018 15:20:37 EEST Ulrich Hecht wrote:
> Add support for the R-Car D3 (R8A77995) SoC to the LVDS encoder driver.
> 
> Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
> ---
>  drivers/gpu/drm/rcar-du/rcar_lvds.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> b/drivers/gpu/drm/rcar-du/rcar_lvds.c index 3d2d3bb..58fb9f8 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> @@ -511,6 +511,11 @@ static const struct rcar_lvds_device_info
> rcar_lvds_r8a77970_info = { .quirks = RCAR_LVDS_QUIRK_GEN2_PLLCR |
> RCAR_LVDS_QUIRK_GEN3_LVEN, };
> 
> +static const struct rcar_lvds_device_info rcar_lvds_r8a77995_info = {
> +	.gen = 3,
> +	.quirks = RCAR_LVDS_QUIRK_GEN3_LVEN,

I'm afraid this won't be enough. With this patch the driver will call 
rcar_lvds_lvdpllcr_gen3(), which writes values to the LVDPLLCR register that 
don't match the register layout for D3.

While I'm fine with an initial version that doesn't support fine-grained 
control of the LVDS PLL to achieve the HDMI clock accuracy requirements, we 
need the LVDS encoder to be at least functional for the patches to get merged.

There are also other registers not related to the PLL that need to be set 
(such as the LVDSTRIPE register), and other differences in register layouts 
(for instance the D3 doesn't have a PLLON bit in register LVDC0).

Even the LVEN bit seems to need special handling on D3. According to version 
1.00 of the datasheet it should be set to 1 at the same time as bit LVRES.

Could you please study the datasheet in details and update the code 
accordingly ?

> +};
> +
>  static const struct of_device_id rcar_lvds_of_table[] = {
>  	{ .compatible = "renesas,r8a7743-lvds", .data = &rcar_lvds_gen2_info },
>  	{ .compatible = "renesas,r8a7790-lvds", .data = &rcar_lvds_r8a7790_info },
> @@ -519,6 +524,7 @@ static const struct of_device_id rcar_lvds_of_table[] =
> { { .compatible = "renesas,r8a7795-lvds", .data = &rcar_lvds_gen3_info }, {
> .compatible = "renesas,r8a7796-lvds", .data = &rcar_lvds_gen3_info }, {
> .compatible = "renesas,r8a77970-lvds", .data = &rcar_lvds_r8a77970_info },
> +	{ .compatible = "renesas,r8a77995-lvds", .data = &rcar_lvds_r8a77995_info
> }, { }
>  };

-- 
Regards,

Laurent Pinchart

WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
Cc: linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 2/5] drm: rcar-du: lvds: Add R8A77995 support
Date: Sun, 20 May 2018 11:45:24 +0300	[thread overview]
Message-ID: <3888488.E5UaB3ZWWj@avalon> (raw)
In-Reply-To: <1526386840-15368-3-git-send-email-ulrich.hecht+renesas@gmail.com>

Hi Ulrich,

Thank you for the patch.

On Tuesday, 15 May 2018 15:20:37 EEST Ulrich Hecht wrote:
> Add support for the R-Car D3 (R8A77995) SoC to the LVDS encoder driver.
> 
> Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com>
> ---
>  drivers/gpu/drm/rcar-du/rcar_lvds.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> b/drivers/gpu/drm/rcar-du/rcar_lvds.c index 3d2d3bb..58fb9f8 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> @@ -511,6 +511,11 @@ static const struct rcar_lvds_device_info
> rcar_lvds_r8a77970_info = { .quirks = RCAR_LVDS_QUIRK_GEN2_PLLCR |
> RCAR_LVDS_QUIRK_GEN3_LVEN, };
> 
> +static const struct rcar_lvds_device_info rcar_lvds_r8a77995_info = {
> +	.gen = 3,
> +	.quirks = RCAR_LVDS_QUIRK_GEN3_LVEN,

I'm afraid this won't be enough. With this patch the driver will call 
rcar_lvds_lvdpllcr_gen3(), which writes values to the LVDPLLCR register that 
don't match the register layout for D3.

While I'm fine with an initial version that doesn't support fine-grained 
control of the LVDS PLL to achieve the HDMI clock accuracy requirements, we 
need the LVDS encoder to be at least functional for the patches to get merged.

There are also other registers not related to the PLL that need to be set 
(such as the LVDSTRIPE register), and other differences in register layouts 
(for instance the D3 doesn't have a PLLON bit in register LVDC0).

Even the LVEN bit seems to need special handling on D3. According to version 
1.00 of the datasheet it should be set to 1 at the same time as bit LVRES.

Could you please study the datasheet in details and update the code 
accordingly ?

> +};
> +
>  static const struct of_device_id rcar_lvds_of_table[] = {
>  	{ .compatible = "renesas,r8a7743-lvds", .data = &rcar_lvds_gen2_info },
>  	{ .compatible = "renesas,r8a7790-lvds", .data = &rcar_lvds_r8a7790_info },
> @@ -519,6 +524,7 @@ static const struct of_device_id rcar_lvds_of_table[] =
> { { .compatible = "renesas,r8a7795-lvds", .data = &rcar_lvds_gen3_info }, {
> .compatible = "renesas,r8a7796-lvds", .data = &rcar_lvds_gen3_info }, {
> .compatible = "renesas,r8a77970-lvds", .data = &rcar_lvds_r8a77970_info },
> +	{ .compatible = "renesas,r8a77995-lvds", .data = &rcar_lvds_r8a77995_info
> }, { }
>  };

-- 
Regards,

Laurent Pinchart



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

  parent reply	other threads:[~2018-05-20  8:45 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-15 12:20 [PATCH 0/5] R-Car D3 LVDS/HDMI support Ulrich Hecht
2018-05-15 12:20 ` Ulrich Hecht
2018-05-15 12:20 ` [PATCH 1/5] drm: rcar-du: Add r8a77995 device support Ulrich Hecht
2018-05-15 12:20   ` Ulrich Hecht
2018-05-16  8:03   ` Simon Horman
2018-05-16  8:03     ` Simon Horman
2018-05-20  8:22   ` Laurent Pinchart
2018-05-20  8:22     ` Laurent Pinchart
2018-05-15 12:20 ` [PATCH 2/5] drm: rcar-du: lvds: Add R8A77995 support Ulrich Hecht
2018-05-15 12:20   ` Ulrich Hecht
2018-05-16  7:54   ` Simon Horman
2018-05-16  7:54     ` Simon Horman
2018-05-16  8:59     ` Sergei Shtylyov
2018-05-16  8:59       ` Sergei Shtylyov
2018-05-16 13:06       ` Ulrich Hecht
2018-05-16 13:06         ` Ulrich Hecht
2018-05-16 17:07         ` Sergei Shtylyov
2018-05-16 17:07           ` Sergei Shtylyov
2018-05-17  8:59       ` Simon Horman
2018-05-17  8:59         ` Simon Horman
2018-05-20  8:45   ` Laurent Pinchart [this message]
2018-05-20  8:45     ` Laurent Pinchart
2018-05-15 12:20 ` [PATCH 3/5] arm64: dts: renesas: r8a77995: Add LVDS support Ulrich Hecht
2018-05-15 12:20   ` Ulrich Hecht
2018-05-16  8:16   ` Simon Horman
2018-05-16  8:16     ` Simon Horman
2018-05-20  8:50   ` Laurent Pinchart
2018-05-20  8:50     ` Laurent Pinchart
2018-05-22 12:00     ` Geert Uytterhoeven
2018-05-22 12:00       ` Geert Uytterhoeven
2018-08-01 10:35   ` jacopo mondi
2018-08-01 10:35     ` jacopo mondi
2018-08-01 11:59     ` Ulrich Hecht
2018-08-01 11:59       ` Ulrich Hecht
2018-05-15 12:20 ` [PATCH 4/5] arm64: dts: renesas: r8a77995-draak: add HDMI output Ulrich Hecht
2018-05-15 12:20   ` Ulrich Hecht
2018-05-16  8:35   ` Simon Horman
2018-05-16  8:35     ` Simon Horman
2018-05-20  8:52   ` Laurent Pinchart
2018-05-20  8:52     ` Laurent Pinchart
2018-05-15 12:20 ` [PATCH 5/5] arm64: dts: renesas: r8a77995-draak: add X12 input dot clock Ulrich Hecht
2018-05-15 12:20   ` Ulrich Hecht
2018-05-16  8:38   ` Simon Horman
2018-05-16  8:38     ` Simon Horman
2018-05-20  8:58     ` Laurent Pinchart
2018-05-20  8:58       ` Laurent Pinchart
2018-05-22  8:58       ` Simon Horman
2018-05-22  8:58         ` Simon Horman
2018-05-20  8:27 ` [PATCH 0/5] R-Car D3 LVDS/HDMI support Laurent Pinchart
2018-05-20  8:27   ` Laurent Pinchart
2018-05-22 16:50   ` Laurent Pinchart
2018-05-22 16:50     ` Laurent Pinchart

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=3888488.E5UaB3ZWWj@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=ulrich.hecht+renesas@gmail.com \
    /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.