diff for duplicates of <4758026.sMRKe6aTTs@jernej-laptop>
diff --git a/a/1.txt b/N1/1.txt
index 775b405..69b0bfa 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -5,14 +5,14 @@ Dne četrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej Škrabec napisal(a):
> wrote:
> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a):
> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej Škrabec
-> > >> <jernej.skrabec@siol.net>
+> > >> <jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
> > >
> > > wrote:
> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai
napisal(a):
> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej Škrabec
> > >> >>
-> > >> >> <jernej.skrabec@siol.net> wrote:
+> > >> >> <jernej.skrabec-gGgVlfcn5nU@public.gmane.org> wrote:
> > >> >> > Hi,
> > >> >> >
> > >> >> > Dne petek, 15. junij 2018 ob 10:31:10 CEST je Maxime Ripard
@@ -28,7 +28,7 @@ napisal(a):
> > >> >> >> >
> > >> >> >> > Add support for such TCONs.
> > >> >> >> >
-> > >> >> >> > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
+> > >> >> >> > Signed-off-by: Jernej Skrabec <jernej.skrabec-gGgVlfcn5nU@public.gmane.org>
> > >> >> >> > ---
> > >> >> >> >
> > >> >> >> > drivers/gpu/drm/sun4i/sun4i_tcon.c | 11 +++++++++++
@@ -234,4 +234,12 @@ setting clock rate, because TCON-TV0 clock would be decoupled in TCON-TOP mux.
What do you think?
Best regards,
-Jernej
\ No newline at end of file
+Jernej
+
+
+
+
+--
+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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
+For more options, visit https://groups.google.com/d/optout.
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index 67c89e1..dc66f8d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -8,31 +8,31 @@
"ref\0002366311.u3CXHO0a4d\@jernej-laptop\0"
]
[
- "From\0Jernej \305\240krabec <jernej.skrabec\@gmail.com>\0"
+ "From\0Jernej \305\240krabec <jernej.skrabec-Re5JQEeQqe8AvxtiuMwx3w\@public.gmane.org>\0"
]
[
- "Subject\0Re: [linux-sunxi] Re: [PATCH v2 11/27] drm/sun4i: tcon: Add support for tcon-top gate\0"
+ "Subject\0Re: Re: [PATCH v2 11/27] drm/sun4i: tcon: Add support for tcon-top gate\0"
]
[
"Date\0Sun, 24 Jun 2018 21:52:36 +0200\0"
]
[
- "To\0linux-sunxi\@googlegroups.com\0"
+ "To\0linux-sunxi-/JYPxA39Uh5TLH3MbocFFw\@public.gmane.org\0"
]
[
- "Cc\0Chen-Yu Tsai <wens\@csie.org>",
- " Maxime Ripard <maxime.ripard\@bootlin.com>",
- " Rob Herring <robh+dt\@kernel.org>",
- " David Airlie <airlied\@linux.ie>",
- " Gustavo Padovan <gustavo\@padovan.org>",
- " Maarten Lankhorst <maarten.lankhorst\@linux.intel.com>",
- " Sean Paul <seanpaul\@chromium.org>",
- " Mark Rutland <mark.rutland\@arm.com>",
- " dri-devel <dri-devel\@lists.freedesktop.org>",
- " devicetree <devicetree\@vger.kernel.org>",
- " linux-arm-kernel <linux-arm-kernel\@lists.infradead.org>",
- " linux-kernel <linux-kernel\@vger.kernel.org>",
- " linux-clk <linux-clk\@vger.kernel.org>\0"
+ "Cc\0Chen-Yu Tsai <wens-jdAy2FN1RRM\@public.gmane.org>",
+ " Maxime Ripard <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ\@public.gmane.org>",
+ " Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>",
+ " David Airlie <airlied-cv59FeDIM0c\@public.gmane.org>",
+ " Gustavo Padovan <gustavo-THi1TnShQwVAfugRpC6u6w\@public.gmane.org>",
+ " Maarten Lankhorst <maarten.lankhorst-VuQAYsv1563Yd54FQh9/CA\@public.gmane.org>",
+ " Sean Paul <seanpaul-F7+t8E8rja9g9hUCZPvPmw\@public.gmane.org>",
+ " Mark Rutland <mark.rutland-5wv7dgnIgG8\@public.gmane.org>",
+ " dri-devel <dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW\@public.gmane.org>",
+ " devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+ " linux-arm-kernel <linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r\@public.gmane.org>",
+ " linux-kernel <linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+ " linux-clk <linux-clk-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>\0"
]
[
"\0000:1\0"
@@ -48,14 +48,14 @@
"> wrote:\n",
"> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a):\n",
"> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej \305\240krabec\n",
- "> > >> <jernej.skrabec\@siol.net>\n",
+ "> > >> <jernej.skrabec-gGgVlfcn5nU\@public.gmane.org>\n",
"> > > \n",
"> > > wrote:\n",
"> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai \n",
"napisal(a):\n",
"> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej \305\240krabec\n",
"> > >> >> \n",
- "> > >> >> <jernej.skrabec\@siol.net> wrote:\n",
+ "> > >> >> <jernej.skrabec-gGgVlfcn5nU\@public.gmane.org> wrote:\n",
"> > >> >> > Hi,\n",
"> > >> >> > \n",
"> > >> >> > Dne petek, 15. junij 2018 ob 10:31:10 CEST je Maxime Ripard\n",
@@ -71,7 +71,7 @@
"> > >> >> >> > \n",
"> > >> >> >> > Add support for such TCONs.\n",
"> > >> >> >> > \n",
- "> > >> >> >> > Signed-off-by: Jernej Skrabec <jernej.skrabec\@siol.net>\n",
+ "> > >> >> >> > Signed-off-by: Jernej Skrabec <jernej.skrabec-gGgVlfcn5nU\@public.gmane.org>\n",
"> > >> >> >> > ---\n",
"> > >> >> >> > \n",
"> > >> >> >> > drivers/gpu/drm/sun4i/sun4i_tcon.c | 11 +++++++++++\n",
@@ -277,7 +277,15 @@
"What do you think?\n",
"\n",
"Best regards,\n",
- "Jernej"
+ "Jernej\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "-- \n",
+ "You received this message because you are subscribed to the Google Groups \"linux-sunxi\" group.\n",
+ "To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0\@public.gmane.org\n",
+ "For more options, visit https://groups.google.com/d/optout."
]
-393f8458ad4dd0a02595c18300e1ed330151a667477f1f5c3aeb8f77867c1a09
+5657d3d763417ce932d8b2c0e6318103d7ff5e514c14795bed47092c74a0a71b
diff --git a/a/1.txt b/N2/1.txt
index 775b405..360fa4b 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,40 +1,44 @@
-Dne četrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej Škrabec napisal(a):
-> Dne četrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal(a):
-> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej Škrabec <jernej.skrabec@siol.net>
->
+Dne =C4=8Detrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej =C5=A0krabec na=
+pisal(a):
+> Dne =C4=8Detrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal=
+(a):
+> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej =C5=A0krabec <jernej.skrabec@si=
+ol.net>
+>=20
> wrote:
-> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a):
-> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej Škrabec
+> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a=
+):
+> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej =C5=A0krabec
> > >> <jernej.skrabec@siol.net>
-> > >
+> > >=20
> > > wrote:
-> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai
+> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai=20
napisal(a):
-> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej Škrabec
-> > >> >>
+> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej =C5=A0krabec
+> > >> >>=20
> > >> >> <jernej.skrabec@siol.net> wrote:
> > >> >> > Hi,
-> > >> >> >
+> > >> >> >=20
> > >> >> > Dne petek, 15. junij 2018 ob 10:31:10 CEST je Maxime Ripard
->
+>=20
> napisal(a):
> > >> >> >> Hi,
-> > >> >> >>
+> > >> >> >>=20
> > >> >> >> On Tue, Jun 12, 2018 at 10:00:20PM +0200, Jernej Skrabec wrote:
> > >> >> >> > TV TCONs connected to TCON TOP have to enable additional gate
> > >> >> >> > in
> > >> >> >> > order
> > >> >> >> > to work.
-> > >> >> >> >
+> > >> >> >> >=20
> > >> >> >> > Add support for such TCONs.
-> > >> >> >> >
+> > >> >> >> >=20
> > >> >> >> > Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
> > >> >> >> > ---
-> > >> >> >> >
+> > >> >> >> >=20
> > >> >> >> > drivers/gpu/drm/sun4i/sun4i_tcon.c | 11 +++++++++++
> > >> >> >> > drivers/gpu/drm/sun4i/sun4i_tcon.h | 4 ++++
> > >> >> >> > 2 files changed, 15 insertions(+)
-> > >> >> >> >
+> > >> >> >> >=20
> > >> >> >> > diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c
> > >> >> >> > b/drivers/gpu/drm/sun4i/sun4i_tcon.c index
> > >> >> >> > 08747fc3ee71..0afb5a94a414
@@ -44,41 +48,45 @@ napisal(a):
> > >> >> >> > @@ -688,6 +688,16 @@ static int sun4i_tcon_init_clocks(struct
> > >> >> >> > device
> > >> >> >> > *dev,
-> > >> >> >> >
-> > >> >> >> > dev_err(dev, "Couldn't get the TCON bus clock\n");
+> > >> >> >> >=20
+> > >> >> >> > dev_err(dev, "Couldn't get the TCON bus clock\n"=
+);
> > >> >> >> > return PTR_ERR(tcon->clk);
-> > >> >> >> >
+> > >> >> >> > =20
> > >> >> >> > }
-> > >> >> >> >
+> > >> >> >> >=20
> > >> >> >> > +
> > >> >> >> > + if (tcon->quirks->has_tcon_top_gate) {
-> > >> >> >> > + tcon->top_clk = devm_clk_get(dev, "tcon-top");
+> > >> >> >> > + tcon->top_clk =3D devm_clk_get(dev, "tcon-top");
> > >> >> >> > + if (IS_ERR(tcon->top_clk)) {
-> > >> >> >> > + dev_err(dev, "Couldn't get the TCON TOP bus
+> > >> >> >> > + dev_err(dev, "Couldn't get the TCON TOP =
+bus
> > >> >> >> > clock\n");
> > >> >> >> > + return PTR_ERR(tcon->top_clk);
> > >> >> >> > + }
> > >> >> >> > + clk_prepare_enable(tcon->top_clk);
> > >> >> >> > + }
> > >> >> >> > +
-> > >> >> >>
+> > >> >> >>=20
> > >> >> >> Is it required for the TCON itself to operate, or does the TCON
> > >> >> >> requires the TCON TOP, which in turn requires that clock to be
> > >> >> >> functional?
-> > >> >> >>
+> > >> >> >>=20
> > >> >> >> I find it quite odd to have a clock that isn't meant for a
> > >> >> >> particular
> > >> >> >> device to actually be wired to another device. I'm not saying
> > >> >> >> this
> > >> >> >> isn't the case, but it would be a first.
-> > >> >> >
+> > >> >> >=20
> > >> >> > Documentation doesn't say much about that gate. I did few tests
> > >> >> > and
> > >> >> > TCON
-> > >> >> > registers can be read and written even if TCON TOP TV TCON gate is
+> > >> >> > registers can be read and written even if TCON TOP TV TCON gate=
+ is
> > >> >> > disabled. However, there is no image, as expected.
-> > >> >>
-> > >> >> The R40 manual does include it in the diagram, on page 504. There's
+> > >> >>=20
+> > >> >> The R40 manual does include it in the diagram, on page 504. There=
+'s
> > >> >> also
> > >> >> a
> > >> >> mux to select whether the clock comes directly from the CCU or the
@@ -90,7 +98,7 @@ napisal(a):
> > >> >> module
> > >> >> or
> > >> >> channel clock, strangely routed.
-> > >> >>
+> > >> >>=20
> > >> >> > More interestingly, I enabled test pattern directly in TCON to
> > >> >> > eliminate
> > >> >> > influence of the mixer. As soon as I disabled that gate, test
@@ -99,137 +107,155 @@ napisal(a):
> > >> >> > HDMI screen was gone, which suggest that this gate influences
> > >> >> > something
> > >> >> > inside TCON.
-> > >> >> >
+> > >> >> >=20
> > >> >> > Another test I did was that I moved enable/disable gate code to
> > >> >> > sun4i_tcon_channel_set_status() and it worked just as well.
-> > >> >> >
-> > >> >> > I'll ask AW engineer what that gate actually does, but from what I
+> > >> >> >=20
+> > >> >> > I'll ask AW engineer what that gate actually does, but from wha=
+t I
> > >> >> > saw,
> > >> >> > I
> > >> >> > would say that most appropriate location to enable/disable TCON
> > >> >> > TOP
> > >> >> > TV
> > >> >> > TCON
-> > >> >> > gate is TCON driver. Alternatively, TCON TOP driver could check if
+> > >> >> > gate is TCON driver. Alternatively, TCON TOP driver could check=
+ if
> > >> >> > any
> > >> >> > TV
-> > >> >> > TCON is in use and enable appropriate gate. However, that doesn't
+> > >> >> > TCON is in use and enable appropriate gate. However, that doesn=
+'t
> > >> >> > sound
> > >> >> > right to me for some reason.
-> > >> >>
-> > >> >> If what I said above it true, then yes, the appropriate location to
+> > >> >>=20
+> > >> >> If what I said above it true, then yes, the appropriate location =
+to
> > >> >> enable
-> > >> >> it is the TCON driver, but moreover, the representation of the clock
+> > >> >> it is the TCON driver, but moreover, the representation of the cl=
+ock
> > >> >> tree
-> > >> >> should be fixed such that the TCON takes the clock from the TCON TOP
+> > >> >> should be fixed such that the TCON takes the clock from the TCON =
+TOP
> > >> >> as
> > >> >> its
> > >> >> channel/ module clock instead. That way you don't need this patch,
> > >> >> but
> > >> >> you'd add another for all the clock routing.
-> > >> >
+> > >> >=20
> > >> > Can you be more specific? I not sure what you mean here.
-> > >>
+> > >>=20
> > >> For clock related properties in the device tree:
-> > >>
+> > >>=20
> > >> &tcon_top {
-> > >>
-> > >> clocks = <&ccu CLK_BUS_TCON_TOP>,
-> > >>
+> > >>=20
+> > >> clocks =3D <&ccu CLK_BUS_TCON_TOP>,
+> > >> =20
> > >> <&ccu CLK_TCON_TV0>,
> > >> <&tve0>,
> > >> <&ccu CLK_TCON_TV1>,
> > >> <&tve1>;
-> > >>
-> > >> clock-names = "bus", "tcon-tv0", "tve0", "tcon-tv1", "tve1";
-> > >> clock-output-names = "tcon-top-tv0", "tcon-top-tv1";
-> > >>
+> > >> =20
+> > >> clock-names =3D "bus", "tcon-tv0", "tve0", "tcon-tv1", "tve1";
+> > >> clock-output-names =3D "tcon-top-tv0", "tcon-top-tv1";
+> > >>=20
> > >> };
-> > >>
+> > >>=20
> > >> &tcon_tv0 {
-> > >>
-> > >> clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>'
-> > >> clock-names = "ahb", "tcon-ch1";
-> > >>
+> > >>=20
+> > >> clocks =3D <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>'
+> > >> clock-names =3D "ahb", "tcon-ch1";
+> > >>=20
> > >> };
-> > >>
+> > >>=20
> > >> A diagram would look like:
> > >> | This part is TCON TOP |
-> > >>
+> > >> =20
> > >> v v
-> > >>
+> > >>=20
> > >> CCU CLK_TCON_TV0 --|----\ |
-> > >>
+> > >>=20
> > >> | mux ---- gate ----|-- TCON_TV0
-> > >>
+> > >>=20
> > >> TVE0 --------------|----/ |
-> > >>
+> > >>=20
> > >> And the same goes for TCON_TV1 and TVE1.
-> > >>
+> > >>=20
> > >> The user manual is a bit lacking on how TVE outputs a clock though.
-> > >
-> > > I didn't yet received any response on HW details from AW till now, but I
+> > >=20
+> > > I didn't yet received any response on HW details from AW till now, bu=
+t I
> > > would like to post new version of patches soon.
-> > >
+> > >=20
> > > While chaining like you described could be implemented easily, I don't
> > > think it really represents HW as it is. Tests showed that these two
> > > clocks are independent, otherwise register writes/reads wouldn't be
> > > possible with tcon- top gate disabled. I chose tcon-top bus clock as a
> > > parent becase if it is not enabled, it simply won't work.
-> >
-> > AFAIK with the TCONs, even when the TCON channel clock (not the bus clock)
+> >=20
+> > AFAIK with the TCONs, even when the TCON channel clock (not the bus clo=
+ck)
> > is disabled, register accesses still work.
->
+>=20
> You're right, I just tested that.
->
+>=20
> > I'm saying that the TCON TOP
> > gate is downstream from the TCON channel clock in the CCU. These are not
> > related to the TCON bus clock in the CCU, which affects register access.
-> >
+> >=20
> > Did Allwinner provide any information regarding the hierarchy of the
> > clocks?
> No reponse for now.
->
+>=20
> > > However, if everyone feels chaining is the best way to implement it,
> > > I'll
> > > do it.
-> >
+> >=20
> > I would like to get it right and match actual hardware. My proposal is
> > based on my understanding from the diagrams in the user manual.
->
-> So for now, your explanation is the most reasonable. Should we go ahead and
+>=20
+> So for now, your explanation is the most reasonable. Should we go ahead a=
+nd
> implement your idea?
->
+>=20
> Please note that H6 has TCON-TOP too, but it has only one LCD TCON and one
> TV TCON instead of two of each kind. That means we will have hole in
> indices (tcon_lcd0 is 1, tcon_tv0 is 3, which is aligned with R40) and
> different TCON- TOP binding (no tcon_tv1 channel clock), but setup is
> exactly the same.
-I just noticed issue with this proposal. If we have following clock chain for
+I just noticed issue with this proposal. If we have following clock chain f=
+or=20
HDMI, everythings is ok:
TCON-TV0 -> TCON-TOP-TV0
-TCON TV sets TCON-TOP-TV0 clock rate, which in turn sets TCON-TV0 clock and
+TCON TV sets TCON-TOP-TV0 clock rate, which in turn sets TCON-TV0 clock and=
+=20
everything works.
However, when TVE will be configured, it would look like this:
TVE0 -> TCON-TOP-TV0
-TVE driver will set TVE0 clock to 216 MHz and TCON TV would set TCON-TOP-TV0
-rate which in turn sets TVE0 clock to something like 13.5 MHz (or whatever is
-the right clock rate for PAL and NTSC). As you can see, same clock is set to
+TVE driver will set TVE0 clock to 216 MHz and TCON TV would set TCON-TOP-TV=
+0=20
+rate which in turn sets TVE0 clock to something like 13.5 MHz (or whatever =
+is=20
+the right clock rate for PAL and NTSC). As you can see, same clock is set t=
+o=20
two different rates by two different drivers.
-It *might* still work, since encoders set clock rate after TCON (at least that
+It *might* still work, since encoders set clock rate after TCON (at least t=
+hat=20
is my experience for HDMI pipeline), but that is still wrong.
-To overcome above issue, I would stick to original proposal with additional
-clock specified in TCON TV DT node. That way TCON driver would always set
-clock rate to TCON-TV0 clock. If TVE0 is enabled, TCON wouldn't interfere with
-setting clock rate, because TCON-TV0 clock would be decoupled in TCON-TOP mux.
+To overcome above issue, I would stick to original proposal with additional=
+=20
+clock specified in TCON TV DT node. That way TCON driver would always set=20
+clock rate to TCON-TV0 clock. If TVE0 is enabled, TCON wouldn't interfere w=
+ith=20
+setting clock rate, because TCON-TV0 clock would be decoupled in TCON-TOP m=
+ux.
What do you think?
diff --git a/a/content_digest b/N2/content_digest
index 67c89e1..c92632b 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -41,43 +41,47 @@
"b\0"
]
[
- "Dne \304\215etrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej \305\240krabec napisal(a):\n",
- "> Dne \304\215etrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal(a):\n",
- "> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej \305\240krabec <jernej.skrabec\@siol.net>\n",
- "> \n",
+ "Dne =C4=8Detrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej =C5=A0krabec na=\n",
+ "pisal(a):\n",
+ "> Dne =C4=8Detrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal=\n",
+ "(a):\n",
+ "> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej =C5=A0krabec <jernej.skrabec\@si=\n",
+ "ol.net>\n",
+ ">=20\n",
"> wrote:\n",
- "> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a):\n",
- "> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej \305\240krabec\n",
+ "> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a=\n",
+ "):\n",
+ "> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej =C5=A0krabec\n",
"> > >> <jernej.skrabec\@siol.net>\n",
- "> > > \n",
+ "> > >=20\n",
"> > > wrote:\n",
- "> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai \n",
+ "> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai=20\n",
"napisal(a):\n",
- "> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej \305\240krabec\n",
- "> > >> >> \n",
+ "> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej =C5=A0krabec\n",
+ "> > >> >>=20\n",
"> > >> >> <jernej.skrabec\@siol.net> wrote:\n",
"> > >> >> > Hi,\n",
- "> > >> >> > \n",
+ "> > >> >> >=20\n",
"> > >> >> > Dne petek, 15. junij 2018 ob 10:31:10 CEST je Maxime Ripard\n",
- "> \n",
+ ">=20\n",
"> napisal(a):\n",
"> > >> >> >> Hi,\n",
- "> > >> >> >> \n",
+ "> > >> >> >>=20\n",
"> > >> >> >> On Tue, Jun 12, 2018 at 10:00:20PM +0200, Jernej Skrabec wrote:\n",
"> > >> >> >> > TV TCONs connected to TCON TOP have to enable additional gate\n",
"> > >> >> >> > in\n",
"> > >> >> >> > order\n",
"> > >> >> >> > to work.\n",
- "> > >> >> >> > \n",
+ "> > >> >> >> >=20\n",
"> > >> >> >> > Add support for such TCONs.\n",
- "> > >> >> >> > \n",
+ "> > >> >> >> >=20\n",
"> > >> >> >> > Signed-off-by: Jernej Skrabec <jernej.skrabec\@siol.net>\n",
"> > >> >> >> > ---\n",
- "> > >> >> >> > \n",
+ "> > >> >> >> >=20\n",
"> > >> >> >> > drivers/gpu/drm/sun4i/sun4i_tcon.c | 11 +++++++++++\n",
"> > >> >> >> > drivers/gpu/drm/sun4i/sun4i_tcon.h | 4 ++++\n",
"> > >> >> >> > 2 files changed, 15 insertions(+)\n",
- "> > >> >> >> > \n",
+ "> > >> >> >> >=20\n",
"> > >> >> >> > diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c\n",
"> > >> >> >> > b/drivers/gpu/drm/sun4i/sun4i_tcon.c index\n",
"> > >> >> >> > 08747fc3ee71..0afb5a94a414\n",
@@ -87,41 +91,45 @@
"> > >> >> >> > \@\@ -688,6 +688,16 \@\@ static int sun4i_tcon_init_clocks(struct\n",
"> > >> >> >> > device\n",
"> > >> >> >> > *dev,\n",
- "> > >> >> >> > \n",
- "> > >> >> >> > dev_err(dev, \"Couldn't get the TCON bus clock\\n\");\n",
+ "> > >> >> >> >=20\n",
+ "> > >> >> >> > dev_err(dev, \"Couldn't get the TCON bus clock\\n\"=\n",
+ ");\n",
"> > >> >> >> > return PTR_ERR(tcon->clk);\n",
- "> > >> >> >> > \n",
+ "> > >> >> >> > =20\n",
"> > >> >> >> > }\n",
- "> > >> >> >> > \n",
+ "> > >> >> >> >=20\n",
"> > >> >> >> > +\n",
"> > >> >> >> > + if (tcon->quirks->has_tcon_top_gate) {\n",
- "> > >> >> >> > + tcon->top_clk = devm_clk_get(dev, \"tcon-top\");\n",
+ "> > >> >> >> > + tcon->top_clk =3D devm_clk_get(dev, \"tcon-top\");\n",
"> > >> >> >> > + if (IS_ERR(tcon->top_clk)) {\n",
- "> > >> >> >> > + dev_err(dev, \"Couldn't get the TCON TOP bus\n",
+ "> > >> >> >> > + dev_err(dev, \"Couldn't get the TCON TOP =\n",
+ "bus\n",
"> > >> >> >> > clock\\n\");\n",
"> > >> >> >> > + return PTR_ERR(tcon->top_clk);\n",
"> > >> >> >> > + }\n",
"> > >> >> >> > + clk_prepare_enable(tcon->top_clk);\n",
"> > >> >> >> > + }\n",
"> > >> >> >> > +\n",
- "> > >> >> >> \n",
+ "> > >> >> >>=20\n",
"> > >> >> >> Is it required for the TCON itself to operate, or does the TCON\n",
"> > >> >> >> requires the TCON TOP, which in turn requires that clock to be\n",
"> > >> >> >> functional?\n",
- "> > >> >> >> \n",
+ "> > >> >> >>=20\n",
"> > >> >> >> I find it quite odd to have a clock that isn't meant for a\n",
"> > >> >> >> particular\n",
"> > >> >> >> device to actually be wired to another device. I'm not saying\n",
"> > >> >> >> this\n",
"> > >> >> >> isn't the case, but it would be a first.\n",
- "> > >> >> > \n",
+ "> > >> >> >=20\n",
"> > >> >> > Documentation doesn't say much about that gate. I did few tests\n",
"> > >> >> > and\n",
"> > >> >> > TCON\n",
- "> > >> >> > registers can be read and written even if TCON TOP TV TCON gate is\n",
+ "> > >> >> > registers can be read and written even if TCON TOP TV TCON gate=\n",
+ " is\n",
"> > >> >> > disabled. However, there is no image, as expected.\n",
- "> > >> >> \n",
- "> > >> >> The R40 manual does include it in the diagram, on page 504. There's\n",
+ "> > >> >>=20\n",
+ "> > >> >> The R40 manual does include it in the diagram, on page 504. There=\n",
+ "'s\n",
"> > >> >> also\n",
"> > >> >> a\n",
"> > >> >> mux to select whether the clock comes directly from the CCU or the\n",
@@ -133,7 +141,7 @@
"> > >> >> module\n",
"> > >> >> or\n",
"> > >> >> channel clock, strangely routed.\n",
- "> > >> >> \n",
+ "> > >> >>=20\n",
"> > >> >> > More interestingly, I enabled test pattern directly in TCON to\n",
"> > >> >> > eliminate\n",
"> > >> >> > influence of the mixer. As soon as I disabled that gate, test\n",
@@ -142,137 +150,155 @@
"> > >> >> > HDMI screen was gone, which suggest that this gate influences\n",
"> > >> >> > something\n",
"> > >> >> > inside TCON.\n",
- "> > >> >> > \n",
+ "> > >> >> >=20\n",
"> > >> >> > Another test I did was that I moved enable/disable gate code to\n",
"> > >> >> > sun4i_tcon_channel_set_status() and it worked just as well.\n",
- "> > >> >> > \n",
- "> > >> >> > I'll ask AW engineer what that gate actually does, but from what I\n",
+ "> > >> >> >=20\n",
+ "> > >> >> > I'll ask AW engineer what that gate actually does, but from wha=\n",
+ "t I\n",
"> > >> >> > saw,\n",
"> > >> >> > I\n",
"> > >> >> > would say that most appropriate location to enable/disable TCON\n",
"> > >> >> > TOP\n",
"> > >> >> > TV\n",
"> > >> >> > TCON\n",
- "> > >> >> > gate is TCON driver. Alternatively, TCON TOP driver could check if\n",
+ "> > >> >> > gate is TCON driver. Alternatively, TCON TOP driver could check=\n",
+ " if\n",
"> > >> >> > any\n",
"> > >> >> > TV\n",
- "> > >> >> > TCON is in use and enable appropriate gate. However, that doesn't\n",
+ "> > >> >> > TCON is in use and enable appropriate gate. However, that doesn=\n",
+ "'t\n",
"> > >> >> > sound\n",
"> > >> >> > right to me for some reason.\n",
- "> > >> >> \n",
- "> > >> >> If what I said above it true, then yes, the appropriate location to\n",
+ "> > >> >>=20\n",
+ "> > >> >> If what I said above it true, then yes, the appropriate location =\n",
+ "to\n",
"> > >> >> enable\n",
- "> > >> >> it is the TCON driver, but moreover, the representation of the clock\n",
+ "> > >> >> it is the TCON driver, but moreover, the representation of the cl=\n",
+ "ock\n",
"> > >> >> tree\n",
- "> > >> >> should be fixed such that the TCON takes the clock from the TCON TOP\n",
+ "> > >> >> should be fixed such that the TCON takes the clock from the TCON =\n",
+ "TOP\n",
"> > >> >> as\n",
"> > >> >> its\n",
"> > >> >> channel/ module clock instead. That way you don't need this patch,\n",
"> > >> >> but\n",
"> > >> >> you'd add another for all the clock routing.\n",
- "> > >> > \n",
+ "> > >> >=20\n",
"> > >> > Can you be more specific? I not sure what you mean here.\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> For clock related properties in the device tree:\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> &tcon_top {\n",
- "> > >> \n",
- "> > >> clocks = <&ccu CLK_BUS_TCON_TOP>,\n",
- "> > >> \n",
+ "> > >>=20\n",
+ "> > >> clocks =3D <&ccu CLK_BUS_TCON_TOP>,\n",
+ "> > >> =20\n",
"> > >> <&ccu CLK_TCON_TV0>,\n",
"> > >> <&tve0>,\n",
"> > >> <&ccu CLK_TCON_TV1>,\n",
"> > >> <&tve1>;\n",
- "> > >> \n",
- "> > >> clock-names = \"bus\", \"tcon-tv0\", \"tve0\", \"tcon-tv1\", \"tve1\";\n",
- "> > >> clock-output-names = \"tcon-top-tv0\", \"tcon-top-tv1\";\n",
- "> > >> \n",
+ "> > >> =20\n",
+ "> > >> clock-names =3D \"bus\", \"tcon-tv0\", \"tve0\", \"tcon-tv1\", \"tve1\";\n",
+ "> > >> clock-output-names =3D \"tcon-top-tv0\", \"tcon-top-tv1\";\n",
+ "> > >>=20\n",
"> > >> };\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> &tcon_tv0 {\n",
- "> > >> \n",
- "> > >> clocks = <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>'\n",
- "> > >> clock-names = \"ahb\", \"tcon-ch1\";\n",
- "> > >> \n",
+ "> > >>=20\n",
+ "> > >> clocks =3D <&ccu CLK_BUS_TCON_TV0>, <&tcon_top 0>'\n",
+ "> > >> clock-names =3D \"ahb\", \"tcon-ch1\";\n",
+ "> > >>=20\n",
"> > >> };\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> A diagram would look like:\n",
"> > >> | This part is TCON TOP |\n",
- "> > >> \n",
+ "> > >> =20\n",
"> > >> v v\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> CCU CLK_TCON_TV0 --|----\\ |\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> | mux ---- gate ----|-- TCON_TV0\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> TVE0 --------------|----/ |\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> And the same goes for TCON_TV1 and TVE1.\n",
- "> > >> \n",
+ "> > >>=20\n",
"> > >> The user manual is a bit lacking on how TVE outputs a clock though.\n",
- "> > > \n",
- "> > > I didn't yet received any response on HW details from AW till now, but I\n",
+ "> > >=20\n",
+ "> > > I didn't yet received any response on HW details from AW till now, bu=\n",
+ "t I\n",
"> > > would like to post new version of patches soon.\n",
- "> > > \n",
+ "> > >=20\n",
"> > > While chaining like you described could be implemented easily, I don't\n",
"> > > think it really represents HW as it is. Tests showed that these two\n",
"> > > clocks are independent, otherwise register writes/reads wouldn't be\n",
"> > > possible with tcon- top gate disabled. I chose tcon-top bus clock as a\n",
"> > > parent becase if it is not enabled, it simply won't work.\n",
- "> > \n",
- "> > AFAIK with the TCONs, even when the TCON channel clock (not the bus clock)\n",
+ "> >=20\n",
+ "> > AFAIK with the TCONs, even when the TCON channel clock (not the bus clo=\n",
+ "ck)\n",
"> > is disabled, register accesses still work.\n",
- "> \n",
+ ">=20\n",
"> You're right, I just tested that.\n",
- "> \n",
+ ">=20\n",
"> > I'm saying that the TCON TOP\n",
"> > gate is downstream from the TCON channel clock in the CCU. These are not\n",
"> > related to the TCON bus clock in the CCU, which affects register access.\n",
- "> > \n",
+ "> >=20\n",
"> > Did Allwinner provide any information regarding the hierarchy of the\n",
"> > clocks?\n",
"> No reponse for now.\n",
- "> \n",
+ ">=20\n",
"> > > However, if everyone feels chaining is the best way to implement it,\n",
"> > > I'll\n",
"> > > do it.\n",
- "> > \n",
+ "> >=20\n",
"> > I would like to get it right and match actual hardware. My proposal is\n",
"> > based on my understanding from the diagrams in the user manual.\n",
- "> \n",
- "> So for now, your explanation is the most reasonable. Should we go ahead and\n",
+ ">=20\n",
+ "> So for now, your explanation is the most reasonable. Should we go ahead a=\n",
+ "nd\n",
"> implement your idea?\n",
- "> \n",
+ ">=20\n",
"> Please note that H6 has TCON-TOP too, but it has only one LCD TCON and one\n",
"> TV TCON instead of two of each kind. That means we will have hole in\n",
"> indices (tcon_lcd0 is 1, tcon_tv0 is 3, which is aligned with R40) and\n",
"> different TCON- TOP binding (no tcon_tv1 channel clock), but setup is\n",
"> exactly the same.\n",
"\n",
- "I just noticed issue with this proposal. If we have following clock chain for \n",
+ "I just noticed issue with this proposal. If we have following clock chain f=\n",
+ "or=20\n",
"HDMI, everythings is ok:\n",
"\n",
"TCON-TV0 -> TCON-TOP-TV0\n",
"\n",
- "TCON TV sets TCON-TOP-TV0 clock rate, which in turn sets TCON-TV0 clock and \n",
+ "TCON TV sets TCON-TOP-TV0 clock rate, which in turn sets TCON-TV0 clock and=\n",
+ "=20\n",
"everything works.\n",
"\n",
"However, when TVE will be configured, it would look like this:\n",
"\n",
"TVE0 -> TCON-TOP-TV0\n",
"\n",
- "TVE driver will set TVE0 clock to 216 MHz and TCON TV would set TCON-TOP-TV0 \n",
- "rate which in turn sets TVE0 clock to something like 13.5 MHz (or whatever is \n",
- "the right clock rate for PAL and NTSC). As you can see, same clock is set to \n",
+ "TVE driver will set TVE0 clock to 216 MHz and TCON TV would set TCON-TOP-TV=\n",
+ "0=20\n",
+ "rate which in turn sets TVE0 clock to something like 13.5 MHz (or whatever =\n",
+ "is=20\n",
+ "the right clock rate for PAL and NTSC). As you can see, same clock is set t=\n",
+ "o=20\n",
"two different rates by two different drivers.\n",
"\n",
- "It *might* still work, since encoders set clock rate after TCON (at least that \n",
+ "It *might* still work, since encoders set clock rate after TCON (at least t=\n",
+ "hat=20\n",
"is my experience for HDMI pipeline), but that is still wrong.\n",
"\n",
- "To overcome above issue, I would stick to original proposal with additional \n",
- "clock specified in TCON TV DT node. That way TCON driver would always set \n",
- "clock rate to TCON-TV0 clock. If TVE0 is enabled, TCON wouldn't interfere with \n",
- "setting clock rate, because TCON-TV0 clock would be decoupled in TCON-TOP mux.\n",
+ "To overcome above issue, I would stick to original proposal with additional=\n",
+ "=20\n",
+ "clock specified in TCON TV DT node. That way TCON driver would always set=20\n",
+ "clock rate to TCON-TV0 clock. If TVE0 is enabled, TCON wouldn't interfere w=\n",
+ "ith=20\n",
+ "setting clock rate, because TCON-TV0 clock would be decoupled in TCON-TOP m=\n",
+ "ux.\n",
"\n",
"What do you think?\n",
"\n",
@@ -280,4 +306,4 @@
"Jernej"
]
-393f8458ad4dd0a02595c18300e1ed330151a667477f1f5c3aeb8f77867c1a09
+b5cff252614b205ce0afbc6fe048fe65c3c2a49748f8184fbf540c94bfda76c5
diff --git a/a/1.txt b/N3/1.txt
index 775b405..aa32339 100644
--- a/a/1.txt
+++ b/N3/1.txt
@@ -1,16 +1,16 @@
-Dne četrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej Škrabec napisal(a):
-> Dne četrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal(a):
-> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej Škrabec <jernej.skrabec@siol.net>
+Dne ?etrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej ?krabec napisal(a):
+> Dne ?etrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal(a):
+> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej ?krabec <jernej.skrabec@siol.net>
>
> wrote:
> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a):
-> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej Škrabec
+> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej ?krabec
> > >> <jernej.skrabec@siol.net>
> > >
> > > wrote:
> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai
napisal(a):
-> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej Škrabec
+> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej ?krabec
> > >> >>
> > >> >> <jernej.skrabec@siol.net> wrote:
> > >> >> > Hi,
diff --git a/a/content_digest b/N3/content_digest
index 67c89e1..ec185d0 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -8,31 +8,16 @@
"ref\0002366311.u3CXHO0a4d\@jernej-laptop\0"
]
[
- "From\0Jernej \305\240krabec <jernej.skrabec\@gmail.com>\0"
+ "From\0jernej.skrabec\@gmail.com (Jernej \305\240krabec)\0"
]
[
- "Subject\0Re: [linux-sunxi] Re: [PATCH v2 11/27] drm/sun4i: tcon: Add support for tcon-top gate\0"
+ "Subject\0[linux-sunxi] Re: [PATCH v2 11/27] drm/sun4i: tcon: Add support for tcon-top gate\0"
]
[
"Date\0Sun, 24 Jun 2018 21:52:36 +0200\0"
]
[
- "To\0linux-sunxi\@googlegroups.com\0"
-]
-[
- "Cc\0Chen-Yu Tsai <wens\@csie.org>",
- " Maxime Ripard <maxime.ripard\@bootlin.com>",
- " Rob Herring <robh+dt\@kernel.org>",
- " David Airlie <airlied\@linux.ie>",
- " Gustavo Padovan <gustavo\@padovan.org>",
- " Maarten Lankhorst <maarten.lankhorst\@linux.intel.com>",
- " Sean Paul <seanpaul\@chromium.org>",
- " Mark Rutland <mark.rutland\@arm.com>",
- " dri-devel <dri-devel\@lists.freedesktop.org>",
- " devicetree <devicetree\@vger.kernel.org>",
- " linux-arm-kernel <linux-arm-kernel\@lists.infradead.org>",
- " linux-kernel <linux-kernel\@vger.kernel.org>",
- " linux-clk <linux-clk\@vger.kernel.org>\0"
+ "To\0linux-arm-kernel\@lists.infradead.org\0"
]
[
"\0000:1\0"
@@ -41,19 +26,19 @@
"b\0"
]
[
- "Dne \304\215etrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej \305\240krabec napisal(a):\n",
- "> Dne \304\215etrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal(a):\n",
- "> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej \305\240krabec <jernej.skrabec\@siol.net>\n",
+ "Dne ?etrtek, 21. junij 2018 ob 17:35:45 CEST je Jernej ?krabec napisal(a):\n",
+ "> Dne ?etrtek, 21. junij 2018 ob 03:23:27 CEST je Chen-Yu Tsai napisal(a):\n",
+ "> > On Thu, Jun 21, 2018 at 3:37 AM, Jernej ?krabec <jernej.skrabec\@siol.net>\n",
"> \n",
"> wrote:\n",
"> > > Dne sobota, 16. junij 2018 ob 07:48:38 CEST je Chen-Yu Tsai napisal(a):\n",
- "> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej \305\240krabec\n",
+ "> > >> On Sat, Jun 16, 2018 at 1:33 AM, Jernej ?krabec\n",
"> > >> <jernej.skrabec\@siol.net>\n",
"> > > \n",
"> > > wrote:\n",
"> > >> > Dne petek, 15. junij 2018 ob 19:13:17 CEST je Chen-Yu Tsai \n",
"napisal(a):\n",
- "> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej \305\240krabec\n",
+ "> > >> >> On Sat, Jun 16, 2018 at 12:41 AM, Jernej ?krabec\n",
"> > >> >> \n",
"> > >> >> <jernej.skrabec\@siol.net> wrote:\n",
"> > >> >> > Hi,\n",
@@ -280,4 +265,4 @@
"Jernej"
]
-393f8458ad4dd0a02595c18300e1ed330151a667477f1f5c3aeb8f77867c1a09
+6fb13b956d1ec220db032d70b26e477c178aad9ea0d39432c29ba1c0298ba8bc
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.