diff for duplicates of <20180927171451.7iqt2nt2log5qojf@flea> diff --git a/a/1.txt b/N1/1.txt index 2393c90..9614eb6 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -7,33 +7,31 @@ This is what the current code is doing as well. > 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. ->=20 +> > [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(-) ->=20 -> diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun= -4i/sun6i_mipi_dsi.c +> +> 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 *ds= -i, +> @@ -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 =3D mode->vsync_start - mode->vdisplay; +> + u32 vfp = mode->vsync_start - mode->vdisplay; Again, this is wrong and contrary to what your commit log is saying. The Allwinner code has: -u32 vfp =3D panel->lcd_vt - panel->lcd_y - panel->lcd_vbp; -u32 dsi_start_delay =3D panel->lcd_vt - vfp + 1; +u32 vfp = panel->lcd_vt - panel->lcd_y - panel->lcd_vbp; +u32 dsi_start_delay = panel->lcd_vt - vfp + 1; So, essentially: @@ -49,12 +47,12 @@ were saying. > + u32 start_delay; > + -> + start_delay =3D mode->vtotal - vfp + 1; +> + start_delay = mode->vtotal - vfp + 1; > + if (start_delay > mode->vtotal) -> + start_delay -=3D mode->vtotal; +> + start_delay -= mode->vtotal; > + > + if (!start_delay) -> + start_delay =3D 1; +> + start_delay = 1; > + I guess that it's actually the clamping that fixes thing. It should be @@ -62,7 +60,7 @@ mentionned in your commit log. Maxime ---=20 +-- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com diff --git a/a/content_digest b/N1/content_digest index 18002e3..397ae18 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -33,33 +33,31 @@ "\n" "> This patch simply add the start_delay logic from BPI-M64-bsp,\n" "> w/o this new computation, the DSI on A64 encounter vblank time out.\n" - ">=20\n" + "> \n" "> [CRTC:36:crtc-0] vblank wait timed out\n" ">\n" "> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>\n" "> ---\n" "> drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 12 +++++++++++-\n" "> 1 file changed, 11 insertions(+), 1 deletion(-)\n" - ">=20\n" - "> diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun=\n" - "4i/sun6i_mipi_dsi.c\n" + "> \n" + "> diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c\n" "> index 9918fdb990ff..217db74c6dc3 100644\n" "> --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c\n" "> +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c\n" - "> @@ -358,7 +358,17 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *ds=\n" - "i,\n" + "> @@ -358,7 +358,17 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi,\n" "> static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi,\n" "> \t\t\t\t\t struct drm_display_mode *mode)\n" "> {\n" "> -\treturn mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;\n" - "> +\tu32 vfp =3D mode->vsync_start - mode->vdisplay;\n" + "> +\tu32 vfp = mode->vsync_start - mode->vdisplay;\n" "\n" "Again, this is wrong and contrary to what your commit log is saying.\n" "\n" "The Allwinner code has:\n" "\n" - "u32 vfp =3D panel->lcd_vt - panel->lcd_y - panel->lcd_vbp;\n" - "u32 dsi_start_delay =3D panel->lcd_vt - vfp + 1;\n" + "u32 vfp = panel->lcd_vt - panel->lcd_y - panel->lcd_vbp;\n" + "u32 dsi_start_delay = panel->lcd_vt - vfp + 1;\n" "\n" "So, essentially:\n" "\n" @@ -75,12 +73,12 @@ "\n" "> +\tu32 start_delay;\n" "> +\n" - "> +\tstart_delay =3D mode->vtotal - vfp + 1;\n" + "> +\tstart_delay = mode->vtotal - vfp + 1;\n" "> +\tif (start_delay > mode->vtotal)\n" - "> +\t\tstart_delay -=3D mode->vtotal;\n" + "> +\t\tstart_delay -= mode->vtotal;\n" "> +\n" "> +\tif (!start_delay)\n" - "> +\t\tstart_delay =3D 1;\n" + "> +\t\tstart_delay = 1;\n" "> +\n" "\n" "I guess that it's actually the clamping that fixes thing. It should be\n" @@ -88,9 +86,9 @@ "\n" "Maxime\n" "\n" - "--=20\n" + "-- \n" "Maxime Ripard, Bootlin\n" "Embedded Linux and Kernel engineering\n" https://bootlin.com -e0bfa14ca029fb7f333b435bcc728dc12b0afb168e9a1fe4eecd405b8f1cd6fb +66535e82c239fe698d1b35dda786b2bc9df9fca1dc4be6c08d34f1e961d66812
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox