On Tue, Jan 20, 2015 at 12:10:11PM +0100, Daniel Vetter wrote: > On Tue, Jan 20, 2015 at 11:48:24AM +0100, Thierry Reding wrote: > > From: Thierry Reding <treding@xxxxxxxxxx> > > > > This function is useful to obtain the state of the CRTC that a plane is > > being attached to. > > > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > > --- > > include/drm/drm_atomic.h | 21 +++++++++++++++++++++ > > 1 file changed, 21 insertions(+) > > > > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > > index 51168a8b723a..ddca107e5cce 100644 > > --- a/include/drm/drm_atomic.h > > +++ b/include/drm/drm_atomic.h > > @@ -75,4 +75,25 @@ int __must_check drm_atomic_check_only(struct drm_atomic_state *state); > > int __must_check drm_atomic_commit(struct drm_atomic_state *state); > > int __must_check drm_atomic_async_commit(struct drm_atomic_state *state); > > > > +/** > > + * drm_atomic_plane_get_crtc_state - obtain atomic state of the CRTC that a > > + * plane is being attached to > > + * @state: atomic state of plane > > + * > > + * Getting the atomic state of the CRTC that a given plane being attached to > > + * is non-trivial. We need to look at the global atomic state that the plane > > + * state is part of and extract the CRTC state using the CRTC's index. Using > > + * the drm_atomic_get_crtc_state() helper we make sure to acquire the proper > > + * locks, too. > > + * > > + * RETURNS: > > + * The atomic state of the CRTC that the plane is being attached to, or an > > + * ERR_PTR()-encoded negative error code on failure. > > + */ > > +static inline struct drm_crtc_state * > > +drm_atomic_plane_get_crtc_state(struct drm_plane_state *state) > > +{ > > + return drm_atomic_get_crtc_state(state->state, state->crtc); > > Hm, imo open-coding this is totally ok. Actually better since state->crtc > might be NULL, and hiding that isn't a good idea. > > If you have a atomic_plane_disable hook then ->crtc is guaranteed to be > non-NULL in atomic_plane_update, but being explicit here is imo a feature. > So nacked from my side. I've dropped this patch and open-coded this call in patch 34/36. Thierry
Attachment:
pgpxBDKql1SXt.pgp
Description: PGP signature