Re: [PATCH 12/29] drm/i915: switch to drm_*{get,put} helpers
On Thu, Aug 3, 2017 at 5:52 PM, Cihangir Akturk wrote: > On Thu, Aug 03, 2017 at 02:49:03PM +0200, Daniel Vetter wrote: >> On Thu, Aug 03, 2017 at 03:26:01PM +0300, Jani Nikula wrote: >> > On Thu, 03 Aug 2017, Cihangir Akturk wrote: >> > > drm_*_reference() and drm_*_unreference() functions are just >> > > compatibility alias for drm_*_get() and drm_*_put() adn should not be >> > > used by new code. So convert all users of compatibility functions to use >> > > the new APIs. >> > >> > Please include the cocci script in the commit message. If you didn't use >> > cocci, you should check it out! :) >> >> Yeah I assume you've created these with spatch/cocci, not with your own >> script. I trust cocci a lot more than any kind of scripting, and the >> coccie patch is already in there kernel (the commits you've cited in the >> cover letter contain it iirc). > > I wrote a simple shell script, which you can see in the cover letter. > But you are right I take function list from > scripts/coccinelle/api/drm-get-put.cocci > file. > > Daniel Should I use coccinelle to generate patches and resend a v2? > If so, do i need to include reviewed-by and acked-by tags to patches myself? I think regenerating the patches using cocci would be great, I trust cocci a lot more than random scripts. And cocci is a great tool to learn anyway (if you don't know it yet). If the resulting patches match, you can keep the r-b/a-b tags for v2. Thanks, Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 12/29] drm/i915: switch to drm_*{get,put} helpers
On Thu, 03 Aug 2017, Cihangir Akturk wrote: > Indeed I used a simple shell script, which I included in the cover > letter. But the cover letter doesn't seem to show up in the mailing > list archives for some reason. I think I have done something wrong. For intel-gfx it was in moderation, I let it through now. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 12/29] drm/i915: switch to drm_*{get,put} helpers
On Thu, Aug 03, 2017 at 03:26:01PM +0300, Jani Nikula wrote: > On Thu, 03 Aug 2017, Cihangir Akturk wrote: > > drm_*_reference() and drm_*_unreference() functions are just > > compatibility alias for drm_*_get() and drm_*_put() adn should not be > > used by new code. So convert all users of compatibility functions to use > > the new APIs. > > Please include the cocci script in the commit message. If you didn't use > cocci, you should check it out! :) Indeed I used a simple shell script, which I included in the cover letter. But the cover letter doesn't seem to show up in the mailing list archives for some reason. I think I have done something wrong. The script I use is like: path=$1 do_replace() { local pattern=$1 local replacement=$2 git grep -lw "${pattern}" -- "${path}/*.[hc]" |\ xargs -r sed -i "s/\b$pattern\b/$replacement/g" } do_replace drm_mode_object_reference drm_mode_object_get do_replace drm_mode_object_unreference drm_mode_object_put do_replace drm_connector_reference drm_connector_get do_replace drm_connector_unreference drm_connector_put do_replace drm_framebuffer_reference drm_framebuffer_get do_replace drm_framebuffer_unreference drm_framebuffer_put do_replace drm_gem_object_reference drm_gem_object_get do_replace drm_gem_object_unreference drm_gem_object_put do_replace __drm_gem_object_unreference __drm_gem_object_put do_replace drm_gem_object_unreference_unlocked drm_gem_object_put_unlocked do_replace drm_property_reference_blob drm_property_blob_get do_replace drm_property_unreference_blob drm_property_blob_put I had used the coccinelle in report mode for staging tree. It reported about staging: vboxvideo driver. In this way I saw there is a need to change to the new APIs. I used my own script because I haven't used coccinelle in patch mode before. > > BR, > Jani. > > > > > Signed-off-by: Cihangir Akturk > > --- > > drivers/gpu/drm/i915/i915_gem_object.h | 10 +- > > drivers/gpu/drm/i915/intel_display.c | 24 > > drivers/gpu/drm/i915/intel_dp_mst.c| 2 +- > > drivers/gpu/drm/i915/intel_fbdev.c | 4 ++-- > > 4 files changed, 20 insertions(+), 20 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_object.h > > b/drivers/gpu/drm/i915/i915_gem_object.h > > index 5b19a49..8f6c915 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_object.h > > +++ b/drivers/gpu/drm/i915/i915_gem_object.h > > @@ -257,25 +257,25 @@ __attribute__((nonnull)) > > static inline struct drm_i915_gem_object * > > i915_gem_object_get(struct drm_i915_gem_object *obj) > > { > > - drm_gem_object_reference(&obj->base); > > + drm_gem_object_get(&obj->base); > > return obj; > > } > > > > __deprecated > > -extern void drm_gem_object_reference(struct drm_gem_object *); > > +extern void drm_gem_object_get(struct drm_gem_object *); > > > > __attribute__((nonnull)) > > static inline void > > i915_gem_object_put(struct drm_i915_gem_object *obj) > > { > > - __drm_gem_object_unreference(&obj->base); > > + __drm_gem_object_put(&obj->base); > > } > > > > __deprecated > > -extern void drm_gem_object_unreference(struct drm_gem_object *); > > +extern void drm_gem_object_put(struct drm_gem_object *); > > > > __deprecated > > -extern void drm_gem_object_unreference_unlocked(struct drm_gem_object *); > > +extern void drm_gem_object_put_unlocked(struct drm_gem_object *); > > > > static inline void i915_gem_object_lock(struct drm_i915_gem_object *obj) > > { > > diff --git a/drivers/gpu/drm/i915/intel_display.c > > b/drivers/gpu/drm/i915/intel_display.c > > index dec9e58..b4d03cf 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -2672,10 +2672,10 @@ update_state_fb(struct drm_plane *plane) > > return; > > > > if (plane->state->fb) > > - drm_framebuffer_unreference(plane->state->fb); > > + drm_framebuffer_put(plane->state->fb); > > plane->state->fb = plane->fb; > > if (plane->state->fb) > > - drm_framebuffer_reference(plane->state->fb); > > + drm_framebuffer_get(plane->state->fb); > > } > > > > static void > > @@ -2746,7 +2746,7 @@ intel_find_initial_plane_obj(struct intel_crtc > > *intel_crtc, > > > > if (intel_plane_ggtt_offset(state) == plane_config->base) { > > fb = c->primary->fb; > > - drm_framebuffer_reference(fb); > > + drm_framebuffer_get(fb); > > goto valid_fb; > > } > > } > > @@ -2777,7 +2777,7 @@ intel_find_initial_plane_obj(struct intel_crtc > > *intel_crtc, > > intel_crtc->pipe, PTR_ERR(intel_state->vma)); > > > > intel_state->vma = NULL; > > - drm_framebuffer_unreference(fb); > > + drm_framebuffer_put(fb); > > return; > > } > > > > @@ -2798,7 +2798,7 @@ intel_find_initial_plane_obj(struct intel_crtc > >
Re: [PATCH 12/29] drm/i915: switch to drm_*{get,put} helpers
On Thu, Aug 03, 2017 at 02:49:03PM +0200, Daniel Vetter wrote: > On Thu, Aug 03, 2017 at 03:26:01PM +0300, Jani Nikula wrote: > > On Thu, 03 Aug 2017, Cihangir Akturk wrote: > > > drm_*_reference() and drm_*_unreference() functions are just > > > compatibility alias for drm_*_get() and drm_*_put() adn should not be > > > used by new code. So convert all users of compatibility functions to use > > > the new APIs. > > > > Please include the cocci script in the commit message. If you didn't use > > cocci, you should check it out! :) > > Yeah I assume you've created these with spatch/cocci, not with your own > script. I trust cocci a lot more than any kind of scripting, and the > coccie patch is already in there kernel (the commits you've cited in the > cover letter contain it iirc). I wrote a simple shell script, which you can see in the cover letter. But you are right I take function list from scripts/coccinelle/api/drm-get-put.cocci file. Daniel Should I use coccinelle to generate patches and resend a v2? If so, do i need to include reviewed-by and acked-by tags to patches myself? Thanks. > Thanks, Daniel ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH 12/29] drm/i915: switch to drm_*{get,put} helpers
On Thu, Aug 03, 2017 at 03:26:01PM +0300, Jani Nikula wrote: > On Thu, 03 Aug 2017, Cihangir Akturk wrote: > > drm_*_reference() and drm_*_unreference() functions are just > > compatibility alias for drm_*_get() and drm_*_put() adn should not be > > used by new code. So convert all users of compatibility functions to use > > the new APIs. > > Please include the cocci script in the commit message. If you didn't use > cocci, you should check it out! :) Yeah I assume you've created these with spatch/cocci, not with your own script. I trust cocci a lot more than any kind of scripting, and the coccie patch is already in there kernel (the commits you've cited in the cover letter contain it iirc). Thanks, Daniel > > BR, > Jani. > > > > > Signed-off-by: Cihangir Akturk > > --- > > drivers/gpu/drm/i915/i915_gem_object.h | 10 +- > > drivers/gpu/drm/i915/intel_display.c | 24 > > drivers/gpu/drm/i915/intel_dp_mst.c| 2 +- > > drivers/gpu/drm/i915/intel_fbdev.c | 4 ++-- > > 4 files changed, 20 insertions(+), 20 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem_object.h > > b/drivers/gpu/drm/i915/i915_gem_object.h > > index 5b19a49..8f6c915 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_object.h > > +++ b/drivers/gpu/drm/i915/i915_gem_object.h > > @@ -257,25 +257,25 @@ __attribute__((nonnull)) > > static inline struct drm_i915_gem_object * > > i915_gem_object_get(struct drm_i915_gem_object *obj) > > { > > - drm_gem_object_reference(&obj->base); > > + drm_gem_object_get(&obj->base); > > return obj; > > } > > > > __deprecated > > -extern void drm_gem_object_reference(struct drm_gem_object *); > > +extern void drm_gem_object_get(struct drm_gem_object *); > > > > __attribute__((nonnull)) > > static inline void > > i915_gem_object_put(struct drm_i915_gem_object *obj) > > { > > - __drm_gem_object_unreference(&obj->base); > > + __drm_gem_object_put(&obj->base); > > } > > > > __deprecated > > -extern void drm_gem_object_unreference(struct drm_gem_object *); > > +extern void drm_gem_object_put(struct drm_gem_object *); > > > > __deprecated > > -extern void drm_gem_object_unreference_unlocked(struct drm_gem_object *); > > +extern void drm_gem_object_put_unlocked(struct drm_gem_object *); > > > > static inline void i915_gem_object_lock(struct drm_i915_gem_object *obj) > > { > > diff --git a/drivers/gpu/drm/i915/intel_display.c > > b/drivers/gpu/drm/i915/intel_display.c > > index dec9e58..b4d03cf 100644 > > --- a/drivers/gpu/drm/i915/intel_display.c > > +++ b/drivers/gpu/drm/i915/intel_display.c > > @@ -2672,10 +2672,10 @@ update_state_fb(struct drm_plane *plane) > > return; > > > > if (plane->state->fb) > > - drm_framebuffer_unreference(plane->state->fb); > > + drm_framebuffer_put(plane->state->fb); > > plane->state->fb = plane->fb; > > if (plane->state->fb) > > - drm_framebuffer_reference(plane->state->fb); > > + drm_framebuffer_get(plane->state->fb); > > } > > > > static void > > @@ -2746,7 +2746,7 @@ intel_find_initial_plane_obj(struct intel_crtc > > *intel_crtc, > > > > if (intel_plane_ggtt_offset(state) == plane_config->base) { > > fb = c->primary->fb; > > - drm_framebuffer_reference(fb); > > + drm_framebuffer_get(fb); > > goto valid_fb; > > } > > } > > @@ -2777,7 +2777,7 @@ intel_find_initial_plane_obj(struct intel_crtc > > *intel_crtc, > > intel_crtc->pipe, PTR_ERR(intel_state->vma)); > > > > intel_state->vma = NULL; > > - drm_framebuffer_unreference(fb); > > + drm_framebuffer_put(fb); > > return; > > } > > > > @@ -2798,7 +2798,7 @@ intel_find_initial_plane_obj(struct intel_crtc > > *intel_crtc, > > if (i915_gem_object_is_tiled(obj)) > > dev_priv->preserve_bios_swizzle = true; > > > > - drm_framebuffer_reference(fb); > > + drm_framebuffer_get(fb); > > primary->fb = primary->state->fb = fb; > > primary->crtc = primary->state->crtc = &intel_crtc->base; > > > > @@ -9668,7 +9668,7 @@ mode_fits_in_fbdev(struct drm_device *dev, > > if (obj->base.size < mode->vdisplay * fb->pitches[0]) > > return NULL; > > > > - drm_framebuffer_reference(fb); > > + drm_framebuffer_get(fb); > > return fb; > > #else > > return NULL; > > @@ -9849,7 +9849,7 @@ int intel_get_load_detect_pipe(struct drm_connector > > *connector, > > if (ret) > > goto fail; > > > > - drm_framebuffer_unreference(fb); > > + drm_framebuffer_put(fb); > > > > ret = drm_atomic_set_mode_for_crtc(&crtc_state->base, mode); > > if (ret) > > @@ -10159,7 +10159,7 @@ static void intel_unpin_work_fn(struct work_struct > > *__work) > > intel_frontbuffer_flip_complete(to_i915(dev), > > > > to_inte
Re: [PATCH 12/29] drm/i915: switch to drm_*{get,put} helpers
On Thu, 03 Aug 2017, Cihangir Akturk wrote: > drm_*_reference() and drm_*_unreference() functions are just > compatibility alias for drm_*_get() and drm_*_put() adn should not be > used by new code. So convert all users of compatibility functions to use > the new APIs. Please include the cocci script in the commit message. If you didn't use cocci, you should check it out! :) BR, Jani. > > Signed-off-by: Cihangir Akturk > --- > drivers/gpu/drm/i915/i915_gem_object.h | 10 +- > drivers/gpu/drm/i915/intel_display.c | 24 > drivers/gpu/drm/i915/intel_dp_mst.c| 2 +- > drivers/gpu/drm/i915/intel_fbdev.c | 4 ++-- > 4 files changed, 20 insertions(+), 20 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_object.h > b/drivers/gpu/drm/i915/i915_gem_object.h > index 5b19a49..8f6c915 100644 > --- a/drivers/gpu/drm/i915/i915_gem_object.h > +++ b/drivers/gpu/drm/i915/i915_gem_object.h > @@ -257,25 +257,25 @@ __attribute__((nonnull)) > static inline struct drm_i915_gem_object * > i915_gem_object_get(struct drm_i915_gem_object *obj) > { > - drm_gem_object_reference(&obj->base); > + drm_gem_object_get(&obj->base); > return obj; > } > > __deprecated > -extern void drm_gem_object_reference(struct drm_gem_object *); > +extern void drm_gem_object_get(struct drm_gem_object *); > > __attribute__((nonnull)) > static inline void > i915_gem_object_put(struct drm_i915_gem_object *obj) > { > - __drm_gem_object_unreference(&obj->base); > + __drm_gem_object_put(&obj->base); > } > > __deprecated > -extern void drm_gem_object_unreference(struct drm_gem_object *); > +extern void drm_gem_object_put(struct drm_gem_object *); > > __deprecated > -extern void drm_gem_object_unreference_unlocked(struct drm_gem_object *); > +extern void drm_gem_object_put_unlocked(struct drm_gem_object *); > > static inline void i915_gem_object_lock(struct drm_i915_gem_object *obj) > { > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index dec9e58..b4d03cf 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -2672,10 +2672,10 @@ update_state_fb(struct drm_plane *plane) > return; > > if (plane->state->fb) > - drm_framebuffer_unreference(plane->state->fb); > + drm_framebuffer_put(plane->state->fb); > plane->state->fb = plane->fb; > if (plane->state->fb) > - drm_framebuffer_reference(plane->state->fb); > + drm_framebuffer_get(plane->state->fb); > } > > static void > @@ -2746,7 +2746,7 @@ intel_find_initial_plane_obj(struct intel_crtc > *intel_crtc, > > if (intel_plane_ggtt_offset(state) == plane_config->base) { > fb = c->primary->fb; > - drm_framebuffer_reference(fb); > + drm_framebuffer_get(fb); > goto valid_fb; > } > } > @@ -2777,7 +2777,7 @@ intel_find_initial_plane_obj(struct intel_crtc > *intel_crtc, > intel_crtc->pipe, PTR_ERR(intel_state->vma)); > > intel_state->vma = NULL; > - drm_framebuffer_unreference(fb); > + drm_framebuffer_put(fb); > return; > } > > @@ -2798,7 +2798,7 @@ intel_find_initial_plane_obj(struct intel_crtc > *intel_crtc, > if (i915_gem_object_is_tiled(obj)) > dev_priv->preserve_bios_swizzle = true; > > - drm_framebuffer_reference(fb); > + drm_framebuffer_get(fb); > primary->fb = primary->state->fb = fb; > primary->crtc = primary->state->crtc = &intel_crtc->base; > > @@ -9668,7 +9668,7 @@ mode_fits_in_fbdev(struct drm_device *dev, > if (obj->base.size < mode->vdisplay * fb->pitches[0]) > return NULL; > > - drm_framebuffer_reference(fb); > + drm_framebuffer_get(fb); > return fb; > #else > return NULL; > @@ -9849,7 +9849,7 @@ int intel_get_load_detect_pipe(struct drm_connector > *connector, > if (ret) > goto fail; > > - drm_framebuffer_unreference(fb); > + drm_framebuffer_put(fb); > > ret = drm_atomic_set_mode_for_crtc(&crtc_state->base, mode); > if (ret) > @@ -10159,7 +10159,7 @@ static void intel_unpin_work_fn(struct work_struct > *__work) > intel_frontbuffer_flip_complete(to_i915(dev), > > to_intel_plane(primary)->frontbuffer_bit); > intel_fbc_post_update(crtc); > - drm_framebuffer_unreference(work->old_fb); > + drm_framebuffer_put(work->old_fb); > > BUG_ON(atomic_read(&crtc->unpin_work_count) == 0); > atomic_dec(&crtc->unpin_work_count); > @@ -10799,7 +10799,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, > flush_workqueue(dev_priv->wq); > > /* Reference the objects for the scheduled work. */ > - drm_framebuffe