[PATCH 14/24] drm/omap: dispc: disp_wb_setup to check return code
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Feb 27 13:38:37 UTC 2018
Hi Tomi,
Thank you for the patch.
On Monday, 12 February 2018 11:44:44 EET Tomi Valkeinen wrote:
> From: Benoit Parrot <bparrot at ti.com>
>
> When dispc_wb_setup() calls dispc_ovl_setup_common() it does not
> check for failure but instead keeps on partially setting up WB.
> This causes the WB H/W to be partially initialized and yield
> unexpected behavior.
>
> Make sure return code is successful before proceeding.
>
> Signed-off-by: Benoit Parrot <bparrot at ti.com>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/dss/dispc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c
> b/drivers/gpu/drm/omapdrm/dss/dispc.c index 679931e108f9..30bcee6580f5
> 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dispc.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
> @@ -2678,6 +2678,8 @@ int dispc_wb_setup(const struct
> omap_dss_writeback_info *wi, wi->height, wi->fourcc, wi->rotation, zorder,
> wi->pre_mult_alpha, global_alpha, wi->rotation_type,
> replication, vm, mem_to_mem);
> + if (r)
> + return r;
>
> switch (wi->fourcc) {
> case DRM_FORMAT_RGB565:
> @@ -2718,7 +2720,7 @@ int dispc_wb_setup(const struct
> omap_dss_writeback_info *wi, REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane),
> wbdelay, 7, 0);
> }
>
> - return r;
> + return 0;
> }
>
> static int dispc_ovl_enable(enum omap_plane_id plane, bool enable)
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list