drm/omap: dispc: disp_wb_setup to check return code
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@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
249e3da9b0
commit
b5d025eff5
|
@ -2783,6 +2783,8 @@ int dispc_wb_setup(struct dispc_device *dispc,
|
|||
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:
|
||||
|
@ -2823,7 +2825,7 @@ int dispc_wb_setup(struct dispc_device *dispc,
|
|||
REG_FLD_MOD(dispc, DISPC_OVL_ATTRIBUTES2(plane), wbdelay, 7, 0);
|
||||
}
|
||||
|
||||
return r;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dispc_ovl_enable(struct dispc_device *dispc,
|
||||
|
|
Loading…
Reference in New Issue