All of lore.kernel.org
 help / color / mirror / Atom feed
From: Icenowy Zheng <icenowy@aosc.io>
To: "Jernej Škrabec" <jernej.skrabec@siol.net>,
	linux-sunxi@googlegroups.com, wens@csie.org
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-clk <linux-clk@vger.kernel.org>
Subject: Re: [linux-sunxi] [PATCH 10/13] [NOT FOR REVIEW NOW] clk: sunxi: Add CLK_SET_RATE_PARENT flag for H3 HDMI clock
Date: Fri, 04 Aug 2017 17:03:03 +0800	[thread overview]
Message-ID: <E50F5E8C-2121-493C-A7B2-D1535E916471@aosc.io> (raw)
In-Reply-To: <13060066.Dl610HiJ2r@jernej-laptop>



于 2017年8月4日 GMT+08:00 下午4:59:03, "Jernej Škrabec" <jernej.skrabec@siol.net> 写到:
>Hi Chen-Yu,
>
>Dne petek, 04. avgust 2017 ob 06:29:50 CEST je Chen-Yu Tsai napisal(a):
>> On Fri, Aug 4, 2017 at 12:16 PM, Icenowy Zheng <icenowy@aosc.io>
>wrote:
>> > 于 2017年8月4日 GMT+08:00 下午12:15:27, Chen-Yu Tsai <wens@csie.org> 写到:
>> >>Hi,
>> >>
>> >>On Tue, Aug 1, 2017 at 9:13 PM, Icenowy Zheng <icenowy@aosc.io>
>wrote:
>> >>> From: Jernej Skrabec <jernej.skrabec@siol.net>
>> >>> 
>> >>> When setting the HDMI clock of H3, the PLL_VIDEO clock needs to
>be
>> >>
>> >>set.
>> >>
>> >>> Add CLK_SET_RATE_PARENT flag for H3 HDMI clock.
>> >>> 
>> >>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
>> >>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>> >>> ---
>> >>> 
>> >>>  drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 2 +-
>> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> >>> 
>> >>> diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>
>> >>b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>
>> >>> index b1127e8629d9..2ebb3d865b01 100644
>> >>> --- a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>> +++ b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>> @@ -474,7 +474,7 @@ static SUNXI_CCU_GATE(avs_clk,
>> >>
>> >>"avs",          "osc24M",
>> >>
>> >>>  static const char * const hdmi_parents[] = { "pll-video" };
>> >>>  static SUNXI_CCU_M_WITH_MUX_GATE(hdmi_clk, "hdmi", hdmi_parents,
>> >>> 
>> >>> -                                0x150, 0, 4, 24, 2, BIT(31), 0);
>> >>> +                                0x150, 0, 4, 24, 2, BIT(31),
>> >>
>> >>CLK_SET_RATE_PARENT);
>> >>
>> >>Line is longer than 80 characters.
>> >>
>> >>This looks independent enough so I've merged this for 4.14 with the
>> >>offending line wrapped and the following tag added:
>> >>
>> >>Fixes: 0577e4853bfb ("clk: sunxi-ng: Add H3 clocks")
>> >>
>> > Please don't merge this now until Jernej send it.
>> 
>> (Dropped Rob, devicetree and dri mailing lists)
>> 
>> Hi Jernej,
>> 
>> Is it OK if we take this patch for the next release? Or rather,
>> if there anything blocking this patch?
>
>I just made last check now and this patch is indeed OK. Before merging,
>please 
>read explanation below.
>
>Background:
>According to H3 datasheet and BSP driver, HDMI clock has M factor
>(divider) to 
>correctly set pixel clock to desired value. However, Jens Kuske
>discovered 
>that this factor doesn't play any role whatsoever and instead, division
>factor 
>set in PHY registers is the important one. I confirmed that on BSP
>kernel by 
>tying M factor to 0. Both, HDMI video and audio, still worked
>correctly.
>
>So that flag is necessary to set pll-video to pixel clock * div factor.
>I can 
>also change HDMI clock type to SUNXI_CCU_GATE (without M factor) and
>document 
>discrepancy with datasheet in ccu-sun8i-h3.c. Alternatively to this
>patch, 
>just in case, to be on the safe side, I can add pll-video clock phandle
>to the 
>dt node. However, as far as I know, that might prevent selecting
>another 
>parent on SoCs where HDMI clock has multiple parents.

Unfortunately A64 is this situation -- A64 TCON1/HDMI clocks can
use pll-video0/1 as parent, but TCON0 can only use pll-video0 or
pll-mipi (also a downstream clock of pll-video0), and by default
TCON1/HDMI also uses pll-video0.

Because of this I have never succeeded in multihead (LCD+HDMI)
on Pinebook.

>
>Regards,
>Jernej
>
>> 
>> Thanks
>> ChenYu
>> 
>> >>ChenYu
>> >>
>> >>>  static SUNXI_CCU_GATE(hdmi_ddc_clk,    "hdmi-ddc",     "osc24M",
>> >>>  
>> >>>                       0x154, BIT(31), 0);
>> >>> 
>> >>> --
>> >>> 2.13.0
>> >>> 
>> >>> --
>> >>> You received this message because you are subscribed to the
>Google
>> >>
>> >>Groups "linux-sunxi" group.
>> >>
>> >>> To unsubscribe from this group and stop receiving emails from it,
>> >>
>> >>send an email to linux-sunxi+unsubscribe@googlegroups.com.
>> >>
>> >>> For more options, visit https://groups.google.com/d/optout.
>> > 
>> > --
>> > You received this message because you are subscribed to the Google
>Groups
>> > "linux-sunxi" group. To unsubscribe from this group and stop
>receiving
>> > emails from it, send an email to
>> > linux-sunxi+unsubscribe@googlegroups.com. For more options, visit
>> > https://groups.google.com/d/optout.
>> 
>> --
>> You received this message because you are subscribed to the Google
>Groups
>> "linux-sunxi" group. To unsubscribe from this group and stop
>receiving
>> emails from it, send an email to
>linux-sunxi+unsubscribe@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.

WARNING: multiple messages have this Message-ID (diff)
From: icenowy@aosc.io (Icenowy Zheng)
To: linux-arm-kernel@lists.infradead.org
Subject: [linux-sunxi] [PATCH 10/13] [NOT FOR REVIEW NOW] clk: sunxi: Add CLK_SET_RATE_PARENT flag for H3 HDMI clock
Date: Fri, 04 Aug 2017 17:03:03 +0800	[thread overview]
Message-ID: <E50F5E8C-2121-493C-A7B2-D1535E916471@aosc.io> (raw)
In-Reply-To: <13060066.Dl610HiJ2r@jernej-laptop>



? 2017?8?4? GMT+08:00 ??4:59:03, "Jernej ?krabec" <jernej.skrabec@siol.net> ??:
>Hi Chen-Yu,
>
>Dne petek, 04. avgust 2017 ob 06:29:50 CEST je Chen-Yu Tsai napisal(a):
>> On Fri, Aug 4, 2017 at 12:16 PM, Icenowy Zheng <icenowy@aosc.io>
>wrote:
>> > ? 2017?8?4? GMT+08:00 ??12:15:27, Chen-Yu Tsai <wens@csie.org> ??:
>> >>Hi,
>> >>
>> >>On Tue, Aug 1, 2017 at 9:13 PM, Icenowy Zheng <icenowy@aosc.io>
>wrote:
>> >>> From: Jernej Skrabec <jernej.skrabec@siol.net>
>> >>> 
>> >>> When setting the HDMI clock of H3, the PLL_VIDEO clock needs to
>be
>> >>
>> >>set.
>> >>
>> >>> Add CLK_SET_RATE_PARENT flag for H3 HDMI clock.
>> >>> 
>> >>> Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
>> >>> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
>> >>> ---
>> >>> 
>> >>>  drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 2 +-
>> >>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> >>> 
>> >>> diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>
>> >>b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>
>> >>> index b1127e8629d9..2ebb3d865b01 100644
>> >>> --- a/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>> +++ b/drivers/clk/sunxi-ng/ccu-sun8i-h3.c
>> >>> @@ -474,7 +474,7 @@ static SUNXI_CCU_GATE(avs_clk,
>> >>
>> >>"avs",          "osc24M",
>> >>
>> >>>  static const char * const hdmi_parents[] = { "pll-video" };
>> >>>  static SUNXI_CCU_M_WITH_MUX_GATE(hdmi_clk, "hdmi", hdmi_parents,
>> >>> 
>> >>> -                                0x150, 0, 4, 24, 2, BIT(31), 0);
>> >>> +                                0x150, 0, 4, 24, 2, BIT(31),
>> >>
>> >>CLK_SET_RATE_PARENT);
>> >>
>> >>Line is longer than 80 characters.
>> >>
>> >>This looks independent enough so I've merged this for 4.14 with the
>> >>offending line wrapped and the following tag added:
>> >>
>> >>Fixes: 0577e4853bfb ("clk: sunxi-ng: Add H3 clocks")
>> >>
>> > Please don't merge this now until Jernej send it.
>> 
>> (Dropped Rob, devicetree and dri mailing lists)
>> 
>> Hi Jernej,
>> 
>> Is it OK if we take this patch for the next release? Or rather,
>> if there anything blocking this patch?
>
>I just made last check now and this patch is indeed OK. Before merging,
>please 
>read explanation below.
>
>Background:
>According to H3 datasheet and BSP driver, HDMI clock has M factor
>(divider) to 
>correctly set pixel clock to desired value. However, Jens Kuske
>discovered 
>that this factor doesn't play any role whatsoever and instead, division
>factor 
>set in PHY registers is the important one. I confirmed that on BSP
>kernel by 
>tying M factor to 0. Both, HDMI video and audio, still worked
>correctly.
>
>So that flag is necessary to set pll-video to pixel clock * div factor.
>I can 
>also change HDMI clock type to SUNXI_CCU_GATE (without M factor) and
>document 
>discrepancy with datasheet in ccu-sun8i-h3.c. Alternatively to this
>patch, 
>just in case, to be on the safe side, I can add pll-video clock phandle
>to the 
>dt node. However, as far as I know, that might prevent selecting
>another 
>parent on SoCs where HDMI clock has multiple parents.

Unfortunately A64 is this situation -- A64 TCON1/HDMI clocks can
use pll-video0/1 as parent, but TCON0 can only use pll-video0 or
pll-mipi (also a downstream clock of pll-video0), and by default
TCON1/HDMI also uses pll-video0.

Because of this I have never succeeded in multihead (LCD+HDMI)
on Pinebook.

>
>Regards,
>Jernej
>
>> 
>> Thanks
>> ChenYu
>> 
>> >>ChenYu
>> >>
>> >>>  static SUNXI_CCU_GATE(hdmi_ddc_clk,    "hdmi-ddc",     "osc24M",
>> >>>  
>> >>>                       0x154, BIT(31), 0);
>> >>> 
>> >>> --
>> >>> 2.13.0
>> >>> 
>> >>> --
>> >>> You received this message because you are subscribed to the
>Google
>> >>
>> >>Groups "linux-sunxi" group.
>> >>
>> >>> To unsubscribe from this group and stop receiving emails from it,
>> >>
>> >>send an email to linux-sunxi+unsubscribe at googlegroups.com.
>> >>
>> >>> For more options, visit https://groups.google.com/d/optout.
>> > 
>> > --
>> > You received this message because you are subscribed to the Google
>Groups
>> > "linux-sunxi" group. To unsubscribe from this group and stop
>receiving
>> > emails from it, send an email to
>> > linux-sunxi+unsubscribe at googlegroups.com. For more options, visit
>> > https://groups.google.com/d/optout.
>> 
>> --
>> You received this message because you are subscribed to the Google
>Groups
>> "linux-sunxi" group. To unsubscribe from this group and stop
>receiving
>> emails from it, send an email to
>linux-sunxi+unsubscribe at googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.

  reply	other threads:[~2017-08-04  9:03 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-01 13:12 [PATCH 00/13] Allwinner H3 DE2 basical support Icenowy Zheng
2017-08-01 13:12 ` Icenowy Zheng
2017-08-01 13:12 ` Icenowy Zheng
2017-08-01 13:12 ` [PATCH 01/13] dt-bindings: update the binding for Allwinner H3 DE2 support Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-02  4:53   ` [linux-sunxi] " Jernej Škrabec
2017-08-02  4:53     ` Jernej Škrabec
2017-08-02  4:53     ` Jernej Škrabec
2017-08-02  5:02     ` [linux-sunxi] " icenowy
2017-08-02  5:02       ` icenowy at aosc.io
2017-08-02  5:02       ` icenowy-h8G6r0blFSE
2017-08-02 19:06       ` [linux-sunxi] " Jernej Škrabec
2017-08-02 19:06         ` Jernej Škrabec
2017-08-02 19:06         ` Jernej Škrabec
2017-08-02 22:49         ` [linux-sunxi] " Icenowy Zheng
2017-08-02 22:49           ` Icenowy Zheng
2017-08-02 22:49           ` Icenowy Zheng
2017-08-10  0:21         ` [linux-sunxi] " Rob Herring
2017-08-10  0:21           ` Rob Herring
2017-08-10  0:21           ` Rob Herring
2017-08-16 21:46           ` [linux-sunxi] " Jernej Škrabec
2017-08-16 21:46             ` Jernej Škrabec
2017-08-10  0:18   ` Rob Herring
2017-08-10  0:18     ` Rob Herring
2017-08-10  0:18     ` Rob Herring
2017-08-01 13:12 ` [PATCH 02/13] drm: sun4i: add support for H3 mixers Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12 ` [PATCH 03/13] drm: sun4i: add support for H3's TCON Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-04  3:56   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-04  3:56     ` Chen-Yu Tsai
2017-08-04  3:56     ` Chen-Yu Tsai
2017-08-04  3:56     ` Chen-Yu Tsai
2017-08-01 13:12 ` [PATCH 04/13] drm: sun4i: add compatible for H3 display engine Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12 ` [PATCH 05/13] clk: sunxi-ng: allow CLK_DE to set CLK_PLL_DE for H3 Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12 ` [PATCH 06/13] clk: sunxi-ng: export " Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12 ` [PATCH 07/13] ARM: sun8i: h3: add display engine pipeline barebone Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-02  4:47   ` [linux-sunxi] " Jernej Škrabec
2017-08-02  4:47     ` Jernej Škrabec
2017-08-02  5:07     ` icenowy
2017-08-02  5:07       ` icenowy at aosc.io
2017-08-02  5:07       ` icenowy-h8G6r0blFSE
2017-08-21  8:30       ` Maxime Ripard
2017-08-21  8:30         ` Maxime Ripard
2017-08-01 13:12 ` [PATCH 08/13] [NOT FOR REVIEW NOW] drm: bridge: Enable polling hpd event in dw_hdmi Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:12   ` Icenowy Zheng
2017-08-01 13:13 ` [PATCH 09/13] [NOT FOR REVIEW NOW] drm: bridge: Add a pre_init function for the dw_hdmi driver Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13 ` [PATCH 10/13] [NOT FOR REVIEW NOW] clk: sunxi: Add CLK_SET_RATE_PARENT flag for H3 HDMI clock Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-04  4:15   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-04  4:15     ` Chen-Yu Tsai
2017-08-04  4:15     ` Chen-Yu Tsai
2017-08-04  4:16     ` Icenowy Zheng
2017-08-04  4:16       ` Icenowy Zheng
2017-08-04  4:16       ` Icenowy Zheng
2017-08-04  4:29       ` Chen-Yu Tsai
2017-08-04  4:29         ` Chen-Yu Tsai
2017-08-04  8:59         ` Jernej Škrabec
2017-08-04  8:59           ` Jernej Škrabec
2017-08-04  9:03           ` Icenowy Zheng [this message]
2017-08-04  9:03             ` Icenowy Zheng
2017-08-04  9:39             ` Chen-Yu Tsai
2017-08-04  9:39               ` Chen-Yu Tsai
2017-08-04  9:27           ` Chen-Yu Tsai
2017-08-04  9:27             ` Chen-Yu Tsai
2017-08-04 13:49             ` Jernej Škrabec
2017-08-04 13:49               ` Jernej Škrabec
2017-08-04 14:16               ` Chen-Yu Tsai
2017-08-04 14:16                 ` Chen-Yu Tsai
2017-08-01 13:13 ` [PATCH 11/13] [NOT FOR REVIEW NOW] drm: sun4i: Add a glue for the DesignWare HDMI controller in H3 Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13 ` [PATCH 12/13] [NOT FOR REVIEW NOW] ARM: sun8i: h3: enable DesignWare HDMI controller Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13 ` [PATCH 13/13] [NOT FOR REVIEW NOW] ARM: sun8i: h3: enable HDMI output on Orange Pi PC Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-01 13:13   ` Icenowy Zheng
2017-08-02  4:46 ` [linux-sunxi] [PATCH 00/13] Allwinner H3 DE2 basical support Chen-Yu Tsai
2017-08-02  4:46   ` Chen-Yu Tsai
2017-08-02  4:46   ` Chen-Yu Tsai

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=E50F5E8C-2121-493C-A7B2-D1535E916471@aosc.io \
    --to=icenowy@aosc.io \
    --cc=jernej.skrabec@siol.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=wens@csie.org \
    /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.