Message ID | 20161221130335.5321-1-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Dec 21, 2016 at 02:03:35PM +0100, Daniel Vetter wrote: > I was lazy, rectify that! Also align with drm_atomic_state_get/put for > ocd. > > v2: Git add helps. > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Anyone feel like acking this, pretty please? ;-) -Daniel > --- > drivers/gpu/drm/drm_atomic.c | 9 ++------- > include/drm/drm_atomic.h | 21 ++++++++++++++++++++- > 2 files changed, 22 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c > index b1b54011a92c..26a4cfdf7777 100644 > --- a/drivers/gpu/drm/drm_atomic.c > +++ b/drivers/gpu/drm/drm_atomic.c > @@ -35,19 +35,14 @@ > > #include "drm_crtc_internal.h" > > -static void crtc_commit_free(struct kref *kref) > +void __drm_crtc_commit_free(struct kref *kref) > { > struct drm_crtc_commit *commit = > container_of(kref, struct drm_crtc_commit, ref); > > kfree(commit); > } > - > -void drm_crtc_commit_put(struct drm_crtc_commit *commit) > -{ > - kref_put(&commit->ref, crtc_commit_free); > -} > -EXPORT_SYMBOL(drm_crtc_commit_put); > +EXPORT_SYMBOL(__drm_crtc_commit_free); > > /** > * drm_atomic_state_default_release - > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index 91b18bd7cb50..97587ec36eae 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -199,12 +199,31 @@ struct drm_atomic_state { > struct work_struct commit_work; > }; > > -void drm_crtc_commit_put(struct drm_crtc_commit *commit); > +void __drm_crtc_commit_free(struct kref *kref); > + > +/** > + * drm_crtc_commit_get - acquire a reference to the CRTC commit > + * @commit: CRTC commit > + * > + * Increases the reference of @commit. > + */ > static inline void drm_crtc_commit_get(struct drm_crtc_commit *commit) > { > kref_get(&commit->ref); > } > > +/** > + * drm_crtc_commit_put - release a reference to the CRTC commmit > + * @commit: CRTC commit > + * > + * This releases a reference to @commit which is freed after removing the > + * final reference. No locking required and callable from any context. > + */ > +static inline void drm_crtc_commit_put(struct drm_crtc_commit *commit) > +{ > + kref_put(&commit->ref, __drm_crtc_commit_free); > +} > + > struct drm_atomic_state * __must_check > drm_atomic_state_alloc(struct drm_device *dev); > void drm_atomic_state_clear(struct drm_atomic_state *state); > -- > 2.11.0 >
On Wed, Jan 4, 2017 at 11:11 AM, Daniel Vetter <daniel@ffwll.ch> wrote: > On Wed, Dec 21, 2016 at 02:03:35PM +0100, Daniel Vetter wrote: >> I was lazy, rectify that! Also align with drm_atomic_state_get/put for >> ocd. >> >> v2: Git add helps. >> >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > Anyone feel like acking this, pretty please? ;-) Acked-by: Alex Deucher <alexander.deucher@amd.com> > -Daniel > >> --- >> drivers/gpu/drm/drm_atomic.c | 9 ++------- >> include/drm/drm_atomic.h | 21 ++++++++++++++++++++- >> 2 files changed, 22 insertions(+), 8 deletions(-) >> >> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c >> index b1b54011a92c..26a4cfdf7777 100644 >> --- a/drivers/gpu/drm/drm_atomic.c >> +++ b/drivers/gpu/drm/drm_atomic.c >> @@ -35,19 +35,14 @@ >> >> #include "drm_crtc_internal.h" >> >> -static void crtc_commit_free(struct kref *kref) >> +void __drm_crtc_commit_free(struct kref *kref) >> { >> struct drm_crtc_commit *commit = >> container_of(kref, struct drm_crtc_commit, ref); >> >> kfree(commit); >> } >> - >> -void drm_crtc_commit_put(struct drm_crtc_commit *commit) >> -{ >> - kref_put(&commit->ref, crtc_commit_free); >> -} >> -EXPORT_SYMBOL(drm_crtc_commit_put); >> +EXPORT_SYMBOL(__drm_crtc_commit_free); >> >> /** >> * drm_atomic_state_default_release - >> diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h >> index 91b18bd7cb50..97587ec36eae 100644 >> --- a/include/drm/drm_atomic.h >> +++ b/include/drm/drm_atomic.h >> @@ -199,12 +199,31 @@ struct drm_atomic_state { >> struct work_struct commit_work; >> }; >> >> -void drm_crtc_commit_put(struct drm_crtc_commit *commit); >> +void __drm_crtc_commit_free(struct kref *kref); >> + >> +/** >> + * drm_crtc_commit_get - acquire a reference to the CRTC commit >> + * @commit: CRTC commit >> + * >> + * Increases the reference of @commit. >> + */ >> static inline void drm_crtc_commit_get(struct drm_crtc_commit *commit) >> { >> kref_get(&commit->ref); >> } >> >> +/** >> + * drm_crtc_commit_put - release a reference to the CRTC commmit >> + * @commit: CRTC commit >> + * >> + * This releases a reference to @commit which is freed after removing the >> + * final reference. No locking required and callable from any context. >> + */ >> +static inline void drm_crtc_commit_put(struct drm_crtc_commit *commit) >> +{ >> + kref_put(&commit->ref, __drm_crtc_commit_free); >> +} >> + >> struct drm_atomic_state * __must_check >> drm_atomic_state_alloc(struct drm_device *dev); >> void drm_atomic_state_clear(struct drm_atomic_state *state); >> -- >> 2.11.0 >> > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Wed, Jan 04, 2017 at 03:26:48PM -0500, Alex Deucher wrote: > On Wed, Jan 4, 2017 at 11:11 AM, Daniel Vetter <daniel@ffwll.ch> wrote: > > On Wed, Dec 21, 2016 at 02:03:35PM +0100, Daniel Vetter wrote: > >> I was lazy, rectify that! Also align with drm_atomic_state_get/put for > >> ocd. > >> > >> v2: Git add helps. > >> > >> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> > > > > Anyone feel like acking this, pretty please? ;-) > > Acked-by: Alex Deucher <alexander.deucher@amd.com> Thanks, applied. -Daniel
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index b1b54011a92c..26a4cfdf7777 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -35,19 +35,14 @@ #include "drm_crtc_internal.h" -static void crtc_commit_free(struct kref *kref) +void __drm_crtc_commit_free(struct kref *kref) { struct drm_crtc_commit *commit = container_of(kref, struct drm_crtc_commit, ref); kfree(commit); } - -void drm_crtc_commit_put(struct drm_crtc_commit *commit) -{ - kref_put(&commit->ref, crtc_commit_free); -} -EXPORT_SYMBOL(drm_crtc_commit_put); +EXPORT_SYMBOL(__drm_crtc_commit_free); /** * drm_atomic_state_default_release - diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 91b18bd7cb50..97587ec36eae 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -199,12 +199,31 @@ struct drm_atomic_state { struct work_struct commit_work; }; -void drm_crtc_commit_put(struct drm_crtc_commit *commit); +void __drm_crtc_commit_free(struct kref *kref); + +/** + * drm_crtc_commit_get - acquire a reference to the CRTC commit + * @commit: CRTC commit + * + * Increases the reference of @commit. + */ static inline void drm_crtc_commit_get(struct drm_crtc_commit *commit) { kref_get(&commit->ref); } +/** + * drm_crtc_commit_put - release a reference to the CRTC commmit + * @commit: CRTC commit + * + * This releases a reference to @commit which is freed after removing the + * final reference. No locking required and callable from any context. + */ +static inline void drm_crtc_commit_put(struct drm_crtc_commit *commit) +{ + kref_put(&commit->ref, __drm_crtc_commit_free); +} + struct drm_atomic_state * __must_check drm_atomic_state_alloc(struct drm_device *dev); void drm_atomic_state_clear(struct drm_atomic_state *state);
I was lazy, rectify that! Also align with drm_atomic_state_get/put for ocd. v2: Git add helps. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_atomic.c | 9 ++------- include/drm/drm_atomic.h | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 8 deletions(-)