All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Jagan Teki <jagan@amarulasolutions.com>
Cc: Chen-Yu Tsai <wens@csie.org>, Icenowy Zheng <icenowy@aosc.io>,
	Jernej Skrabec <jernej.skrabec@siol.net>,
	Vasily Khoruzhick <anarsoul@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	David Airlie <airlied@linux.ie>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-clk <linux-clk@vger.kernel.org>,
	Michael Trimarchi <michael@amarulasolutions.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	devicetree <devicetree@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-sunxi <linux-sunxi@googlegroups.com>
Subject: Re: [PATCH 08/12] drm/sun4i: sun6i_mipi_dsi: Refactor vertical video start delay
Date: Sat, 29 Sep 2018 17:27:58 +0200	[thread overview]
Message-ID: <20180929152758.g3goxwjud2ym5rft@flea> (raw)
In-Reply-To: <CAMty3ZDxpLwVDsgVMjX+6+uz89sQ1aZaXHHZ+-5aogrA4MHmqw@mail.gmail.com>

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

On Thu, Sep 27, 2018 at 11:03:19PM +0530, Jagan Teki wrote:
> On Thu, Sep 27, 2018 at 10:44 PM Maxime Ripard
> <maxime.ripard@bootlin.com> wrote:
> >
> > On Thu, Sep 27, 2018 at 05:18:46PM +0530, Jagan Teki wrote:
> > > Accordingly to BPI-M64-bsp DE DSI code Video start delay
> > > can be computed by subtracting total vertical timing with
> > > front porch timing and with adding 1 delay line for TCON.
> >
> > This is what the current code is doing as well.
> 
> The current code
> return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
> 
> (mode->vsync_end - mode->vdisplay) = front porch + sync
> 
> but I'm updating here only front porch.
> 
> >
> > > This patch simply add the start_delay logic from BPI-M64-bsp,
> > > w/o this new computation, the DSI on A64 encounter vblank time out.
> > >
> > > [CRTC:36:crtc-0] vblank wait timed out
> > >
> > > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> > > ---
> > >  drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 12 +++++++++++-
> > >  1 file changed, 11 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > index 9918fdb990ff..217db74c6dc3 100644
> > > --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > @@ -358,7 +358,17 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi,
> > >  static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi,
> > >                                          struct drm_display_mode *mode)
> > >  {
> > > -     return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
> > > +     u32 vfp = mode->vsync_start - mode->vdisplay;
> 
> let me explain this.
> 
> Actual code from Allwinner
> u32 vfp = panel->lcd_vt - panel->lcd_y - panel->lcd_vbp;
> 
> So,
> 
> => (panel->lcd_vt - panel->lcd_y) - (panel->lcd_vbp)
> => (front porch + sync + back porch) - (back porch + sync)

Unless Allwinner is doing something fishy, in which case that should
be mentionned, the back porch doesn't contain the sync pulse.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

WARNING: multiple messages have this Message-ID (diff)
From: Maxime Ripard <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>
To: Jagan Teki <jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>
Cc: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
	Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>,
	Jernej Skrabec <jernej.skrabec-gGgVlfcn5nU@public.gmane.org>,
	Vasily Khoruzhick
	<anarsoul-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>,
	Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>,
	David Airlie <airlied-cv59FeDIM0c@public.gmane.org>,
	dri-devel
	<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	Michael Turquette
	<mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org>,
	Stephen Boyd <sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-clk <linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Michael Trimarchi
	<michael-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>,
	linux-arm-kernel
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	devicetree <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-kernel
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-sunxi <linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: [PATCH 08/12] drm/sun4i: sun6i_mipi_dsi: Refactor vertical video start delay
Date: Sat, 29 Sep 2018 17:27:58 +0200	[thread overview]
Message-ID: <20180929152758.g3goxwjud2ym5rft@flea> (raw)
In-Reply-To: <CAMty3ZDxpLwVDsgVMjX+6+uz89sQ1aZaXHHZ+-5aogrA4MHmqw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

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

On Thu, Sep 27, 2018 at 11:03:19PM +0530, Jagan Teki wrote:
> On Thu, Sep 27, 2018 at 10:44 PM Maxime Ripard
> <maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org> wrote:
> >
> > On Thu, Sep 27, 2018 at 05:18:46PM +0530, Jagan Teki wrote:
> > > Accordingly to BPI-M64-bsp DE DSI code Video start delay
> > > can be computed by subtracting total vertical timing with
> > > front porch timing and with adding 1 delay line for TCON.
> >
> > This is what the current code is doing as well.
> 
> The current code
> return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
> 
> (mode->vsync_end - mode->vdisplay) = front porch + sync
> 
> but I'm updating here only front porch.
> 
> >
> > > This patch simply add the start_delay logic from BPI-M64-bsp,
> > > w/o this new computation, the DSI on A64 encounter vblank time out.
> > >
> > > [CRTC:36:crtc-0] vblank wait timed out
> > >
> > > Signed-off-by: Jagan Teki <jagan-dyjBcgdgk7Pe9wHmmfpqLFaTQe2KTcn/@public.gmane.org>
> > > ---
> > >  drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 12 +++++++++++-
> > >  1 file changed, 11 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > index 9918fdb990ff..217db74c6dc3 100644
> > > --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > @@ -358,7 +358,17 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi,
> > >  static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi,
> > >                                          struct drm_display_mode *mode)
> > >  {
> > > -     return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
> > > +     u32 vfp = mode->vsync_start - mode->vdisplay;
> 
> let me explain this.
> 
> Actual code from Allwinner
> u32 vfp = panel->lcd_vt - panel->lcd_y - panel->lcd_vbp;
> 
> So,
> 
> => (panel->lcd_vt - panel->lcd_y) - (panel->lcd_vbp)
> => (front porch + sync + back porch) - (back porch + sync)

Unless Allwinner is doing something fishy, in which case that should
be mentionned, the back porch doesn't contain the sync pulse.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@bootlin.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 08/12] drm/sun4i: sun6i_mipi_dsi: Refactor vertical video start delay
Date: Sat, 29 Sep 2018 17:27:58 +0200	[thread overview]
Message-ID: <20180929152758.g3goxwjud2ym5rft@flea> (raw)
In-Reply-To: <CAMty3ZDxpLwVDsgVMjX+6+uz89sQ1aZaXHHZ+-5aogrA4MHmqw@mail.gmail.com>

On Thu, Sep 27, 2018 at 11:03:19PM +0530, Jagan Teki wrote:
> On Thu, Sep 27, 2018 at 10:44 PM Maxime Ripard
> <maxime.ripard@bootlin.com> wrote:
> >
> > On Thu, Sep 27, 2018 at 05:18:46PM +0530, Jagan Teki wrote:
> > > Accordingly to BPI-M64-bsp DE DSI code Video start delay
> > > can be computed by subtracting total vertical timing with
> > > front porch timing and with adding 1 delay line for TCON.
> >
> > This is what the current code is doing as well.
> 
> The current code
> return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
> 
> (mode->vsync_end - mode->vdisplay) = front porch + sync
> 
> but I'm updating here only front porch.
> 
> >
> > > This patch simply add the start_delay logic from BPI-M64-bsp,
> > > w/o this new computation, the DSI on A64 encounter vblank time out.
> > >
> > > [CRTC:36:crtc-0] vblank wait timed out
> > >
> > > Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> > > ---
> > >  drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 12 +++++++++++-
> > >  1 file changed, 11 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > index 9918fdb990ff..217db74c6dc3 100644
> > > --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
> > > @@ -358,7 +358,17 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi,
> > >  static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi,
> > >                                          struct drm_display_mode *mode)
> > >  {
> > > -     return mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
> > > +     u32 vfp = mode->vsync_start - mode->vdisplay;
> 
> let me explain this.
> 
> Actual code from Allwinner
> u32 vfp = panel->lcd_vt - panel->lcd_y - panel->lcd_vbp;
> 
> So,
> 
> => (panel->lcd_vt - panel->lcd_y) - (panel->lcd_vbp)
> => (front porch + sync + back porch) - (back porch + sync)

Unless Allwinner is doing something fishy, in which case that should
be mentionned, the back porch doesn't contain the sync pulse.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180929/dc6f4633/attachment.sig>

  reply	other threads:[~2018-09-29 15:28 UTC|newest]

Thread overview: 136+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-27 11:48 [PATCH 00/12] drm/sun4i: Allwinner A64 MIPI-DSI support Jagan Teki
2018-09-27 11:48 ` Jagan Teki
2018-09-27 11:48 ` Jagan Teki
2018-09-27 11:48 ` [PATCH 01/12] clk: sunxi-ng: a64: Fix gate bit of DSI DPHY Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48 ` [PATCH 02/12] drm/sun4i: sun6i_mipi_dsi: Add Allwinner A64 MIPI DSI support Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48 ` [PATCH 03/12] dt-bindings: sun6i-dsi: Add compatible for A64 MIPI DSI Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-10-15 18:24   ` Rob Herring
2018-10-15 18:24     ` Rob Herring
2018-10-15 18:24     ` Rob Herring
2018-09-27 11:48 ` [PATCH 04/12] drm/sun4i: sun6i_mipi_dsi: Enable missing DSI bus clock Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 12:42   ` Chen-Yu Tsai
2018-09-27 12:42     ` Chen-Yu Tsai
2018-09-27 12:42     ` Chen-Yu Tsai
2018-09-27 13:44     ` Jagan Teki
2018-09-27 13:44       ` Jagan Teki
2018-09-27 13:44       ` Jagan Teki
2018-09-27 14:16       ` [linux-sunxi] " Chen-Yu Tsai
2018-09-27 14:16         ` Chen-Yu Tsai
2018-09-27 14:16         ` Chen-Yu Tsai
2018-09-27 16:26         ` [linux-sunxi] " Jagan Teki
2018-09-27 16:26           ` Jagan Teki
2018-09-27 16:26           ` Jagan Teki
2018-09-27 16:33           ` [linux-sunxi] " Chen-Yu Tsai
2018-09-27 16:33             ` Chen-Yu Tsai
2018-09-27 16:33             ` Chen-Yu Tsai
2018-09-27 11:48 ` [PATCH 05/12] drm/sun4i: sun6i_mipi_dsi: Add DSI Generic short write 2 param transfer Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 17:18   ` Maxime Ripard
2018-09-27 17:18     ` Maxime Ripard
2018-09-27 17:18     ` Maxime Ripard
2018-09-27 17:18     ` Maxime Ripard
2018-09-27 17:36     ` Jagan Teki
2018-09-27 17:36       ` Jagan Teki
2018-09-29 13:47       ` Maxime Ripard
2018-09-29 13:47         ` Maxime Ripard
2018-09-29 13:47         ` Maxime Ripard
2018-09-27 11:48 ` [PATCH 06/12] drm/sun4i: sun6i_mipi_dsi: Fix VBP size calculation Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 15:21   ` Maxime Ripard
2018-09-27 15:21     ` Maxime Ripard
2018-09-27 15:21     ` Maxime Ripard
2018-09-27 16:20     ` Jagan Teki
2018-09-27 16:20       ` Jagan Teki
2018-09-27 16:20       ` Jagan Teki
2018-09-29 13:53       ` Maxime Ripard
2018-09-29 13:53         ` Maxime Ripard
2018-09-29 13:53         ` Maxime Ripard
2018-10-01  8:09         ` [linux-sunxi] " Jagan Teki
2018-10-01  8:09           ` Jagan Teki
2018-10-08 15:05           ` Maxime Ripard
2018-10-08 15:05             ` Maxime Ripard
2018-10-08 15:05             ` Maxime Ripard
2018-09-27 11:48 ` [PATCH 07/12] drm/sun4i: sun6i_mipi_dsi: Fix TCON DRQ set bits Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 16:58   ` Maxime Ripard
2018-09-27 16:58     ` Maxime Ripard
2018-09-27 16:58     ` Maxime Ripard
2018-09-27 16:58     ` Maxime Ripard
2018-09-27 17:45     ` Jagan Teki
2018-09-27 17:45       ` Jagan Teki
2018-09-27 17:45       ` Jagan Teki
2018-10-02 13:20       ` Maxime Ripard
2018-10-02 13:20         ` Maxime Ripard
2018-10-02 13:20         ` Maxime Ripard
2018-10-03  3:22         ` [linux-sunxi] " Jagan Teki
2018-10-03  3:22           ` Jagan Teki
2018-10-03  3:22           ` Jagan Teki
2018-10-08 15:05           ` [linux-sunxi] " Maxime Ripard
2018-10-08 15:05             ` Maxime Ripard
2018-10-08 15:05             ` Maxime Ripard
2018-09-27 11:48 ` [PATCH 08/12] drm/sun4i: sun6i_mipi_dsi: Refactor vertical video start delay Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 17:14   ` Maxime Ripard
2018-09-27 17:14     ` Maxime Ripard
2018-09-27 17:14     ` Maxime Ripard
2018-09-27 17:33     ` Jagan Teki
2018-09-27 17:33       ` Jagan Teki
2018-09-27 17:33       ` Jagan Teki
2018-09-29 15:27       ` Maxime Ripard [this message]
2018-09-29 15:27         ` Maxime Ripard
2018-09-29 15:27         ` Maxime Ripard
2018-10-01  7:55         ` [linux-sunxi] " Jagan Teki
2018-10-01  7:55           ` Jagan Teki
2018-10-01  7:55           ` Jagan Teki
2018-10-02 13:29           ` [linux-sunxi] " Maxime Ripard
2018-10-02 13:29             ` Maxime Ripard
2018-10-02 13:29             ` Maxime Ripard
2018-09-27 11:48 ` [PATCH 09/12] dt-bindings: panel: Add Bananapi S070WV20-CT16 MIPI-DSI panel bindings Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-10-15 18:24   ` Rob Herring
2018-10-15 18:24     ` Rob Herring
2018-10-15 18:24     ` Rob Herring
2018-10-22 10:22     ` Chen-Yu Tsai
2018-10-22 10:22       ` Chen-Yu Tsai
2018-10-22 10:22       ` Chen-Yu Tsai
2018-10-23 15:11       ` Rob Herring
2018-10-23 15:11         ` Rob Herring
2018-10-23 15:11         ` Rob Herring
2018-10-24 20:22         ` Chen-Yu Tsai
2018-10-24 20:22           ` Chen-Yu Tsai
2018-09-27 11:48 ` [PATCH 10/12] drm/panel: Add Bananapi S070WV20-CT16 MIPI-DSI panel driver Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-28  4:32   ` Chen-Yu Tsai
2018-09-28  4:32     ` Chen-Yu Tsai
2018-09-28  4:32     ` Chen-Yu Tsai
2018-10-04 16:06     ` Jagan Teki
2018-10-04 16:06       ` Jagan Teki
2018-10-04 16:06       ` Jagan Teki
2018-09-27 11:48 ` [PATCH 11/12] arm64: dts: allwinner: a64: Add DSI pipeline Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 17:16   ` Maxime Ripard
2018-09-27 17:16     ` Maxime Ripard
2018-09-27 17:16     ` Maxime Ripard
2018-09-27 17:16     ` Maxime Ripard
2018-09-27 11:48 ` [PATCH 12/12] arm64: dts: allwinner: bananapi-m64: Bananapi S070WV20-CT16 DSI panel Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 11:48   ` Jagan Teki
2018-09-27 17:17   ` Maxime Ripard
2018-09-27 17:17     ` Maxime Ripard
2018-09-27 17:17     ` Maxime Ripard
2018-09-27 17:17     ` Maxime Ripard
2018-10-04 16:03     ` Jagan Teki
2018-10-04 16:03       ` Jagan Teki
2018-10-04 16:03       ` Jagan Teki
2018-10-05 15:31       ` Maxime Ripard
2018-10-05 15:31         ` Maxime Ripard

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=20180929152758.g3goxwjud2ym5rft@flea \
    --to=maxime.ripard@bootlin.com \
    --cc=airlied@linux.ie \
    --cc=anarsoul@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=icenowy@aosc.io \
    --cc=jagan@amarulasolutions.com \
    --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=mark.rutland@arm.com \
    --cc=michael@amarulasolutions.com \
    --cc=mturquette@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=wens@csie.org \
    --cc=will.deacon@arm.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.