The DPMS_ON will do commit, and the duplicate commit calls
can cause the same descriptor to be queued twice.
Signed-off-by: Hyun Kwon <hyun.kwon@xilinx.com>
Tested-by: Jeegar Patel <jeegarp@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
u32 src_x, u32 src_y,
u32 src_w, u32 src_h)
{
+ struct xilinx_drm_plane *plane = to_xilinx_plane(base_plane);
int ret;
ret = xilinx_drm_plane_mode_set(base_plane, fb,
}
/* make sure a plane is on */
- xilinx_drm_plane_dpms(base_plane, DRM_MODE_DPMS_ON);
- xilinx_drm_plane_commit(base_plane);
+ if (plane->dpms != DRM_MODE_DPMS_ON)
+ xilinx_drm_plane_dpms(base_plane, DRM_MODE_DPMS_ON);
+ else
+ xilinx_drm_plane_commit(base_plane);
return 0;
}