On Wed, Jul 15, 2015 at 06:39:31PM +0530, Kausal Malladi wrote: > This patch adds atomic set property interface for Intel CRTC. This > interface will be used to set color correction DRM properties. > > Signed-off-by: Shashank Sharma <shashank.sharma@xxxxxxxxx> > Signed-off-by: Kausal Malladi <Kausal.Malladi@xxxxxxxxx> I think we also need .get_property / .atomic_get_property entrypoints as well. When userspace tries to query properties, the DRM core will want to call into i915 for any non-core property that it doesn't recognize. We don't really have any examples of .atomic_get_property in i915 today, so you might want to look at omap's omap_plane_atomic_get_property() for a very basic example (but rather than returning a raw value for color correction properties, you'll return blob->base.id for the relevant property). Matt > --- > drivers/gpu/drm/i915/intel_atomic.c | 11 +++++++++++ > drivers/gpu/drm/i915/intel_display.c | 2 ++ > drivers/gpu/drm/i915/intel_drv.h | 4 ++++ > 3 files changed, 17 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c > index 6ce6c3d..d873bda 100644 > --- a/drivers/gpu/drm/i915/intel_atomic.c > +++ b/drivers/gpu/drm/i915/intel_atomic.c > @@ -34,6 +34,7 @@ > #include <drm/drm_atomic_helper.h> > #include <drm/drm_plane_helper.h> > #include "intel_drv.h" > +#include "intel_color_manager.h" > > > /** > @@ -465,3 +466,13 @@ void intel_atomic_state_clear(struct drm_atomic_state *s) > drm_atomic_state_default_clear(&state->base); > state->dpll_set = false; > } > + > + > +int intel_crtc_atomic_set_property(struct drm_crtc *crtc, > + struct drm_crtc_state *state, > + struct drm_property *property, > + uint64_t val) > +{ > + DRM_DEBUG_KMS("Unknown crtc property '%s'\n", property->name); > + return -EINVAL; > +} > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index b6e1dc5..11d491e 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -13477,6 +13477,8 @@ static const struct drm_crtc_funcs intel_crtc_funcs = { > .set_config = intel_crtc_set_config, > .destroy = intel_crtc_destroy, > .page_flip = intel_crtc_page_flip, > + .set_property = drm_atomic_helper_crtc_set_property, > + .atomic_set_property = intel_crtc_atomic_set_property, > .atomic_duplicate_state = intel_crtc_duplicate_state, > .atomic_destroy_state = intel_crtc_destroy_state, > }; > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index 05c809b..1e61036 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -1438,6 +1438,10 @@ intel_atomic_get_crtc_state(struct drm_atomic_state *state, > int intel_atomic_setup_scalers(struct drm_device *dev, > struct intel_crtc *intel_crtc, > struct intel_crtc_state *crtc_state); > +int intel_crtc_atomic_set_property(struct drm_crtc *plane, > + struct drm_crtc_state *state, > + struct drm_property *property, > + uint64_t val); > > /* intel_atomic_plane.c */ > struct intel_plane_state *intel_create_plane_state(struct drm_plane *plane); > -- > 2.4.5 > -- Matt Roper Graphics Software Engineer IoTG Platform Enabling & Development Intel Corporation (916) 356-2795 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx