Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753521AbdHKQLv (ORCPT ); Fri, 11 Aug 2017 12:11:51 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:35697 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752883AbdHKQLt (ORCPT ); Fri, 11 Aug 2017 12:11:49 -0400 Date: Fri, 11 Aug 2017 18:11:43 +0200 From: Daniel Vetter To: Cihangir Akturk Cc: daniel@ffwll.ch, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter , Jani Nikula , David Airlie , intel-gfx@lists.freedesktop.org Subject: Re: [PATCH v3 11/28] drm/i915: switch to drm_*_get(), drm_*_put() helpers Message-ID: <20170811161143.m6vpsu6el23p2w6j@phenom.ffwll.local> Mail-Followup-To: Cihangir Akturk , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter , Jani Nikula , David Airlie , intel-gfx@lists.freedesktop.org References: <1502454794-28558-1-git-send-email-cakturk@gmail.com> <1502454794-28558-12-git-send-email-cakturk@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1502454794-28558-12-git-send-email-cakturk@gmail.com> X-Operating-System: Linux phenom 4.11.0-2-amd64 User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 7336 Lines: 202 On Fri, Aug 11, 2017 at 03:32:57PM +0300, Cihangir Akturk wrote: > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference() > and drm_*_unreference() helpers. > > drm_*_reference() and drm_*_unreference() functions are just > compatibility alias for drm_*_get() and drm_*_put() and should not be > used by new code. So convert all users of compatibility functions to > use the new APIs. > > Generated by: scripts/coccinelle/api/drm-get-put.cocci > > Signed-off-by: Cihangir Akturk Seems this is against a rather old version of drm/i915. Can you pls regenerate against linux-next or the drm-tip branch from https://cgit.freedesktop.org/drm-tip But in general, for large-scale refactoring like this, the recommendation is to base them on linux-next, since that will have all pending patches applied for every part of the kernel. -Daniel > --- > drivers/gpu/drm/i915/i915_gem_object.h | 4 ++-- > 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, 17 insertions(+), 17 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_object.h b/drivers/gpu/drm/i915/i915_gem_object.h > index 5b19a49..95cfb64 100644 > --- a/drivers/gpu/drm/i915/i915_gem_object.h > +++ b/drivers/gpu/drm/i915/i915_gem_object.h > @@ -257,7 +257,7 @@ __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; > } > > @@ -268,7 +268,7 @@ __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 > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 684d653..70ebc19 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; > > @@ -9683,7 +9683,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; > @@ -9864,7 +9864,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) > @@ -10174,7 +10174,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); > @@ -10814,7 +10814,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, > flush_workqueue(dev_priv->wq); > > /* Reference the objects for the scheduled work. */ > - drm_framebuffer_reference(work->old_fb); > + drm_framebuffer_get(work->old_fb); > > crtc->primary->fb = fb; > update_state_fb(crtc->primary); > @@ -10928,7 +10928,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, > update_state_fb(crtc->primary); > > i915_gem_object_put(obj); > - drm_framebuffer_unreference(work->old_fb); > + drm_framebuffer_put(work->old_fb); > > spin_lock_irq(&dev->event_lock); > intel_crtc->flip_work = NULL; > @@ -11252,7 +11252,7 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev) > drm_connector_list_iter_begin(dev, &conn_iter); > for_each_intel_connector_iter(connector, &conn_iter) { > if (connector->base.state->crtc) > - drm_connector_unreference(&connector->base); > + drm_connector_put(&connector->base); > > if (connector->base.encoder) { > connector->base.state->best_encoder = > @@ -11260,7 +11260,7 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev) > connector->base.state->crtc = > connector->base.encoder->crtc; > > - drm_connector_reference(&connector->base); > + drm_connector_get(&connector->base); > } else { > connector->base.state->best_encoder = NULL; > connector->base.state->crtc = NULL; > diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c > index 5856855..99a6fd8 100644 > --- a/drivers/gpu/drm/i915/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/intel_dp_mst.c > @@ -501,7 +501,7 @@ static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, > intel_connector->mst_port = NULL; > drm_modeset_unlock(&connector->dev->mode_config.connection_mutex); > > - drm_connector_unreference(connector); > + drm_connector_put(connector); > DRM_DEBUG_KMS("\n"); > } > > diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c > index 0986ca4..5568e33 100644 > --- a/drivers/gpu/drm/i915/intel_fbdev.c > +++ b/drivers/gpu/drm/i915/intel_fbdev.c > @@ -189,7 +189,7 @@ static int intelfb_create(struct drm_fb_helper *helper, > " releasing it\n", > intel_fb->base.width, intel_fb->base.height, > sizes->fb_width, sizes->fb_height); > - drm_framebuffer_unreference(&intel_fb->base); > + drm_framebuffer_put(&intel_fb->base); > intel_fb = ifbdev->fb = NULL; > } > if (!intel_fb || WARN_ON(!intel_fb->obj)) { > @@ -626,7 +626,7 @@ static bool intel_fbdev_init_bios(struct drm_device *dev, > ifbdev->preferred_bpp = fb->base.format->cpp[0] * 8; > ifbdev->fb = fb; > > - drm_framebuffer_reference(&ifbdev->fb->base); > + drm_framebuffer_get(&ifbdev->fb->base); > > /* Final pass to check if any active pipes don't have fbs */ > for_each_crtc(dev, crtc) { > -- > 2.7.4 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch