mirror of https://gitee.com/openkylin/linux.git
drm/sti: do not post GDP command if no update
Do not process update requests with unmodified parameters. This typically happens when the driver is called with legacy (non-atomic) IOCTL : in that case atomic_update() is called multiple times with the same parameters. Signed-off-by: Vincent Abriou <vincent.abriou@st.com>
This commit is contained in:
parent
c5649ee497
commit
e9f494d36f
|
@ -708,6 +708,21 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane,
|
|||
if (!crtc || !fb)
|
||||
return;
|
||||
|
||||
if ((oldstate->fb == state->fb) &&
|
||||
(oldstate->crtc_x == state->crtc_x) &&
|
||||
(oldstate->crtc_y == state->crtc_y) &&
|
||||
(oldstate->crtc_w == state->crtc_w) &&
|
||||
(oldstate->crtc_h == state->crtc_h) &&
|
||||
(oldstate->src_x == state->src_x) &&
|
||||
(oldstate->src_y == state->src_y) &&
|
||||
(oldstate->src_w == state->src_w) &&
|
||||
(oldstate->src_h == state->src_h)) {
|
||||
/* No change since last update, do not post cmd */
|
||||
DRM_DEBUG_DRIVER("No change, not posting cmd\n");
|
||||
plane->status = STI_PLANE_UPDATED;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!gdp->vtg) {
|
||||
struct sti_compositor *compo = dev_get_drvdata(gdp->dev);
|
||||
struct sti_mixer *mixer = to_sti_mixer(crtc);
|
||||
|
|
Loading…
Reference in New Issue