diff mbox series

[1/1] drm/imx/ipuv-v3: Fix front porch adjustment upon hactive aligning

Message ID 20230503111456.1748511-1-alexander.stein@ew.tq-group.com (mailing list archive)
State New, archived
Headers show
Series [1/1] drm/imx/ipuv-v3: Fix front porch adjustment upon hactive aligning | expand

Commit Message

Alexander Stein May 3, 2023, 11:14 a.m. UTC
When hactive is not aligned to 8 pixels, it is aligned accordingly and
hfront porch needs to be reduced the same amount. Unfortunately the front
porch is set to the difference rather than reducing it. There are some
Samsung TVs which can't cope with a front porch of instead of 70.

Fixes: 94dfec48fca7 ("drm/imx: Add 8 pixel alignment fix")
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
AFAICS ipu_di_adjust_videomode() checks that front porch is big enough to
reduce the alignment difference.

 drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ian Ray June 13, 2023, 2:07 p.m. UTC | #1
On Wed, May 03, 2023 at 01:14:56PM +0200, Alexander Stein wrote:
> When hactive is not aligned to 8 pixels, it is aligned accordingly and
> hfront porch needs to be reduced the same amount. Unfortunately the front
> porch is set to the difference rather than reducing it. There are some
> Samsung TVs which can't cope with a front porch of instead of 70.
> 
> Fixes: 94dfec48fca7 ("drm/imx: Add 8 pixel alignment fix")
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>

Tested on the same 1366x768 display hardware that required the original                                                                                                                                                                                                         
fix in commit 94dfec48fca7.                                                                                                                                                                                                                                                     
                                                                                                                                                                                                                                                                                
Tested-by: Ian Ray <ian.ray@ge.com>                                                                                                                                                                                                                                             


> ---
> AFAICS ipu_di_adjust_videomode() checks that front porch is big enough to
> reduce the alignment difference.
> 
>  drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
> index 1d306f7be9fd..341e9125bf2c 100644
> --- a/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
> +++ b/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
> @@ -311,7 +311,7 @@ static void ipu_crtc_mode_set_nofb(struct drm_crtc *crtc)
>                          sig_cfg.mode.hactive, new_hactive);
>  
>                 dev_info(ipu_crtc->dev, "hfront_porch: %u\n", sig_cfg.mode.hfront_porch);
> -               sig_cfg.mode.hfront_porch = new_hactive - sig_cfg.mode.hactive;
> +               sig_cfg.mode.hfront_porch -= new_hactive - sig_cfg.mode.hactive;
>                 dev_info(ipu_crtc->dev, "hfront_porch: %u\n", sig_cfg.mode.hfront_porch);
>                 sig_cfg.mode.hactive = new_hactive;
>         }
> -- 
> 2.34.1
>
Alexander Stein July 21, 2023, 8:36 a.m. UTC | #2
Hi,

Am Mittwoch, 3. Mai 2023, 13:14:56 CEST schrieb Alexander Stein:
> When hactive is not aligned to 8 pixels, it is aligned accordingly and
> hfront porch needs to be reduced the same amount. Unfortunately the front
> porch is set to the difference rather than reducing it. There are some
> Samsung TVs which can't cope with a front porch of instead of 70.
> 
> Fixes: 94dfec48fca7 ("drm/imx: Add 8 pixel alignment fix")
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> ---
> AFAICS ipu_di_adjust_videomode() checks that front porch is big enough to
> reduce the alignment difference.

A gentle ping. Is there anything to do? Or is someone picking this patch was 
tested by Ian?

Best regards,
Alexander

>  drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
> b/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c index 1d306f7be9fd..341e9125bf2c
> 100644
> --- a/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
> +++ b/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
> @@ -311,7 +311,7 @@ static void ipu_crtc_mode_set_nofb(struct drm_crtc
> *crtc) sig_cfg.mode.hactive, new_hactive);
> 
>  		dev_info(ipu_crtc->dev, "hfront_porch: %u\n", 
sig_cfg.mode.hfront_porch);
> -		sig_cfg.mode.hfront_porch = new_hactive - 
sig_cfg.mode.hactive;
> +		sig_cfg.mode.hfront_porch -= new_hactive - 
sig_cfg.mode.hactive;
> dev_info(ipu_crtc->dev, "hfront_porch: %u\n", sig_cfg.mode.hfront_porch);
> sig_cfg.mode.hactive = new_hactive;
>  	}
Philipp Zabel July 28, 2023, 2:47 p.m. UTC | #3
On Mi, 2023-05-03 at 13:14 +0200, Alexander Stein wrote:
> When hactive is not aligned to 8 pixels, it is aligned accordingly and
> hfront porch needs to be reduced the same amount. Unfortunately the front
> porch is set to the difference rather than reducing it. There are some
> Samsung TVs which can't cope with a front porch of instead of 70.
> 
> Fixes: 94dfec48fca7 ("drm/imx: Add 8 pixel alignment fix")
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp
Philipp Zabel July 28, 2023, 3:31 p.m. UTC | #4
On Fr, 2023-07-21 at 10:36 +0200, Alexander Stein wrote:
> Hi,
> 
> Am Mittwoch, 3. Mai 2023, 13:14:56 CEST schrieb Alexander Stein:
> > When hactive is not aligned to 8 pixels, it is aligned accordingly and
> > hfront porch needs to be reduced the same amount. Unfortunately the front
> > porch is set to the difference rather than reducing it. There are some
> > Samsung TVs which can't cope with a front porch of instead of 70.
> > 
> > Fixes: 94dfec48fca7 ("drm/imx: Add 8 pixel alignment fix")
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> > ---
> > AFAICS ipu_di_adjust_videomode() checks that front porch is big enough to
> > reduce the alignment difference.
> 
> A gentle ping. Is there anything to do? Or is someone picking this patch was 
> tested by Ian?

Thank you, pushed to drm-misc-fixes with the subject changed to:
"drm/imx/ipuv3: Fix front porch adjustment upon hactive aligning".

regards
Philipp
diff mbox series

Patch

diff --git a/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
index 1d306f7be9fd..341e9125bf2c 100644
--- a/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
+++ b/drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
@@ -311,7 +311,7 @@  static void ipu_crtc_mode_set_nofb(struct drm_crtc *crtc)
 			 sig_cfg.mode.hactive, new_hactive);
 
 		dev_info(ipu_crtc->dev, "hfront_porch: %u\n", sig_cfg.mode.hfront_porch);
-		sig_cfg.mode.hfront_porch = new_hactive - sig_cfg.mode.hactive;
+		sig_cfg.mode.hfront_porch -= new_hactive - sig_cfg.mode.hactive;
 		dev_info(ipu_crtc->dev, "hfront_porch: %u\n", sig_cfg.mode.hfront_porch);
 		sig_cfg.mode.hactive = new_hactive;
 	}