Add a color correction state flag, to indicate a change in color correction states. This flag will help a core driver to optimize its commit calls, by appling the color correction only when there is a change, not every commit. Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> --- drivers/gpu/drm/drm_atomic.c | 6 ++++++ include/drm/drm_crtc.h | 1 + 2 files changed, 7 insertions(+) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index b49aaeb..1c163a6 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -459,18 +459,24 @@ int drm_atomic_crtc_set_property(struct drm_crtc *crtc, &state->palette_after_ctm_blob, val); if (ret) DRM_ERROR("Failed to load blob palette_after_ctm\n"); + else + state->color_correction_changed = true; return ret; } else if (property == config->cm_palette_before_ctm_property) { ret = drm_atomic_crtc_set_blob(dev, &state->palette_before_ctm_blob, val); if (ret) DRM_ERROR("Failed to load blob palette_before_ctm\n"); + else + state->color_correction_changed = true; return ret; } else if (property == config->cm_ctm_property) { ret = drm_atomic_crtc_set_blob(dev, &state->ctm_blob, val); if (ret) DRM_ERROR("Failed to load blob ctm\n"); + else + state->color_correction_changed = true; return ret; } else if (crtc->funcs->atomic_set_property) return crtc->funcs->atomic_set_property(crtc, state, property, val); diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index cea6b3b..d002994 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -285,6 +285,7 @@ struct drm_crtc_state { bool mode_changed : 1; bool active_changed : 1; bool connectors_changed : 1; + bool color_correction_changed : 1; /* attached planes bitmask: * WARNING: transitional helpers do not maintain plane_mask so -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx