[PATCH v2] drm/imx/ipuv3: ipuv3-plane: Round up plane width for IPUV3_CHANNEL_MEM_DC_SYNC

Philipp Zabel p.zabel at pengutronix.de
Wed Sep 4 08:31:43 UTC 2024


On Mi, 2024-09-04 at 10:54 +0300, Paul Pu wrote:
> This changes the judgement of if needing to round up the width or not,
> from using the `dp_flow` to the plane's type.
> 
> The `dp_flow` can be -22(-EINVAL) even if the plane is a PRIMARY one.
> See `client_reg[]` in `ipu-common.c`.
> 
> [    0.605141] [drm:ipu_plane_init] channel 28, dp flow -22, possible_crtcs=0x0
> 
> Per the commit message in commit: 4333472f8d7b, using the plane type for
> judging if rounding up is needed is correct.
> 
> This fixes HDMI cannot work for odd screen resolutions, e.g. 1366x768.
> 
> Fixes: 4333472f8d7b ("drm/imx: ipuv3-plane: Fix overlay plane width")
> Cc: stable at vger.kernel.org # 5.15+
> Signed-off-by: Paul Pu <hui.pu at gehealthcare.com>
> ---
> v1 -> v2: Fixed addressed review comments
> ---
>  drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c
> index 704c549750f9..3ef8ad7ab2a1 100644
> --- a/drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c
> +++ b/drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c
> @@ -614,7 +614,7 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,
>  		break;
>  	}
>  
> -	if (ipu_plane->dp_flow == IPU_DP_FLOW_SYNC_BG)
> +	if (plane->type == DRM_PLANE_TYPE_PRIMARY)
>  		width = ipu_src_rect_width(new_state);
>  	else
>  		width = drm_rect_width(&new_state->src) >> 16;
> 
> base-commit: 431c1646e1f86b949fa3685efc50b660a364c2b6

Thank you,

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

regards
Philipp


More information about the dri-devel mailing list