dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@armlinux.org.uk>
To: Cihangir Akturk <cakturk@gmail.com>
Cc: daniel@ffwll.ch, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, David Airlie <airlied@linux.ie>
Subject: Re: [PATCH v3 03/28] drm/armada: switch to drm_*_get(), drm_*_put() helpers
Date: Thu, 17 Aug 2017 10:13:07 +0100	[thread overview]
Message-ID: <20170817091307.GQ20805@n2100.armlinux.org.uk> (raw)
In-Reply-To: <1502454794-28558-4-git-send-email-cakturk@gmail.com>

On Fri, Aug 11, 2017 at 03:32:49PM +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.

This looks trivial - provided drm-misc has no conflicts, I'm happy for
it to be applied there.  Thanks.

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>

> 
> Generated by: scripts/coccinelle/api/drm-get-put.cocci
> 
> Signed-off-by: Cihangir Akturk <cakturk@gmail.com>
> ---
>  drivers/gpu/drm/armada/armada_crtc.c    | 22 +++++++++++-----------
>  drivers/gpu/drm/armada/armada_drv.c     |  2 +-
>  drivers/gpu/drm/armada/armada_fb.c      |  8 ++++----
>  drivers/gpu/drm/armada/armada_fbdev.c   |  6 +++---
>  drivers/gpu/drm/armada/armada_gem.c     | 14 +++++++-------
>  drivers/gpu/drm/armada/armada_overlay.c |  4 ++--
>  6 files changed, 28 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c
> index 2a4d163..2e065fa 100644
> --- a/drivers/gpu/drm/armada/armada_crtc.c
> +++ b/drivers/gpu/drm/armada/armada_crtc.c
> @@ -298,7 +298,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc *dcrtc,
>  
>  	if (force) {
>  		/* Display is disabled, so just drop the old fb */
> -		drm_framebuffer_unreference(fb);
> +		drm_framebuffer_put(fb);
>  		return;
>  	}
>  
> @@ -321,7 +321,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc *dcrtc,
>  	 * the best.  The worst that will happen is the buffer gets
>  	 * reused before it has finished being displayed.
>  	 */
> -	drm_framebuffer_unreference(fb);
> +	drm_framebuffer_put(fb);
>  }
>  
>  static void armada_drm_vblank_off(struct armada_crtc *dcrtc)
> @@ -577,7 +577,7 @@ static int armada_drm_crtc_mode_set(struct drm_crtc *crtc,
>  	unsigned i;
>  	bool interlaced;
>  
> -	drm_framebuffer_reference(crtc->primary->fb);
> +	drm_framebuffer_get(crtc->primary->fb);
>  
>  	interlaced = !!(adj->flags & DRM_MODE_FLAG_INTERLACE);
>  
> @@ -718,7 +718,7 @@ static int armada_drm_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y,
>  				   MAX_SCHEDULE_TIMEOUT);
>  
>  	/* Take a reference to the new fb as we're using it */
> -	drm_framebuffer_reference(crtc->primary->fb);
> +	drm_framebuffer_get(crtc->primary->fb);
>  
>  	/* Update the base in the CRTC */
>  	armada_drm_crtc_update_regs(dcrtc, regs);
> @@ -742,7 +742,7 @@ void armada_drm_crtc_plane_disable(struct armada_crtc *dcrtc,
>  	 * primary plane.
>  	 */
>  	if (plane->fb)
> -		drm_framebuffer_unreference(plane->fb);
> +		drm_framebuffer_put(plane->fb);
>  
>  	/* Power down the Y/U/V FIFOs */
>  	sram_para1 = CFG_PDWN16x66 | CFG_PDWN32x66;
> @@ -947,13 +947,13 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc *crtc,
>  
>  		/* Must be a kernel-mapped object */
>  		if (!obj->addr) {
> -			drm_gem_object_unreference_unlocked(&obj->obj);
> +			drm_gem_object_put_unlocked(&obj->obj);
>  			return -EINVAL;
>  		}
>  
>  		if (obj->obj.size < w * h * 4) {
>  			DRM_ERROR("buffer is too small\n");
> -			drm_gem_object_unreference_unlocked(&obj->obj);
> +			drm_gem_object_put_unlocked(&obj->obj);
>  			return -ENOMEM;
>  		}
>  	}
> @@ -961,7 +961,7 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc *crtc,
>  	if (dcrtc->cursor_obj) {
>  		dcrtc->cursor_obj->update = NULL;
>  		dcrtc->cursor_obj->update_data = NULL;
> -		drm_gem_object_unreference_unlocked(&dcrtc->cursor_obj->obj);
> +		drm_gem_object_put_unlocked(&dcrtc->cursor_obj->obj);
>  	}
>  	dcrtc->cursor_obj = obj;
>  	dcrtc->cursor_w = w;
> @@ -997,7 +997,7 @@ static void armada_drm_crtc_destroy(struct drm_crtc *crtc)
>  	struct armada_private *priv = crtc->dev->dev_private;
>  
>  	if (dcrtc->cursor_obj)
> -		drm_gem_object_unreference_unlocked(&dcrtc->cursor_obj->obj);
> +		drm_gem_object_put_unlocked(&dcrtc->cursor_obj->obj);
>  
>  	priv->dcrtc[dcrtc->num] = NULL;
>  	drm_crtc_cleanup(&dcrtc->crtc);
> @@ -1045,12 +1045,12 @@ static int armada_drm_crtc_page_flip(struct drm_crtc *crtc,
>  	 * Ensure that we hold a reference on the new framebuffer.
>  	 * This has to match the behaviour in mode_set.
>  	 */
> -	drm_framebuffer_reference(fb);
> +	drm_framebuffer_get(fb);
>  
>  	ret = armada_drm_crtc_queue_frame_work(dcrtc, work);
>  	if (ret) {
>  		/* Undo our reference above */
> -		drm_framebuffer_unreference(fb);
> +		drm_framebuffer_put(fb);
>  		kfree(work);
>  		return ret;
>  	}
> diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
> index 0b3227c..c993bcc 100644
> --- a/drivers/gpu/drm/armada/armada_drv.c
> +++ b/drivers/gpu/drm/armada/armada_drv.c
> @@ -26,7 +26,7 @@ static void armada_drm_unref_work(struct work_struct *work)
>  	struct drm_framebuffer *fb;
>  
>  	while (kfifo_get(&priv->fb_unref, &fb))
> -		drm_framebuffer_unreference(fb);
> +		drm_framebuffer_put(fb);
>  }
>  
>  /* Must be called with dev->event_lock held */
> diff --git a/drivers/gpu/drm/armada/armada_fb.c b/drivers/gpu/drm/armada/armada_fb.c
> index 92e6b08..51839c1 100644
> --- a/drivers/gpu/drm/armada/armada_fb.c
> +++ b/drivers/gpu/drm/armada/armada_fb.c
> @@ -18,7 +18,7 @@ static void armada_fb_destroy(struct drm_framebuffer *fb)
>  	struct armada_framebuffer *dfb = drm_fb_to_armada_fb(fb);
>  
>  	drm_framebuffer_cleanup(&dfb->fb);
> -	drm_gem_object_unreference_unlocked(&dfb->obj->obj);
> +	drm_gem_object_put_unlocked(&dfb->obj->obj);
>  	kfree(dfb);
>  }
>  
> @@ -95,7 +95,7 @@ struct armada_framebuffer *armada_framebuffer_create(struct drm_device *dev,
>  	 * the above call, but the caller will drop their reference
>  	 * to it.  Hence we need to take our own reference.
>  	 */
> -	drm_gem_object_reference(&obj->obj);
> +	drm_gem_object_get(&obj->obj);
>  
>  	return dfb;
>  }
> @@ -144,12 +144,12 @@ static struct drm_framebuffer *armada_fb_create(struct drm_device *dev,
>  		goto err;
>  	}
>  
> -	drm_gem_object_unreference_unlocked(&obj->obj);
> +	drm_gem_object_put_unlocked(&obj->obj);
>  
>  	return &dfb->fb;
>  
>   err_unref:
> -	drm_gem_object_unreference_unlocked(&obj->obj);
> +	drm_gem_object_put_unlocked(&obj->obj);
>   err:
>  	DRM_ERROR("failed to initialize framebuffer: %d\n", ret);
>  	return ERR_PTR(ret);
> diff --git a/drivers/gpu/drm/armada/armada_fbdev.c b/drivers/gpu/drm/armada/armada_fbdev.c
> index 29c7d04..cf6bad1 100644
> --- a/drivers/gpu/drm/armada/armada_fbdev.c
> +++ b/drivers/gpu/drm/armada/armada_fbdev.c
> @@ -52,13 +52,13 @@ static int armada_fb_create(struct drm_fb_helper *fbh,
>  
>  	ret = armada_gem_linear_back(dev, obj);
>  	if (ret) {
> -		drm_gem_object_unreference_unlocked(&obj->obj);
> +		drm_gem_object_put_unlocked(&obj->obj);
>  		return ret;
>  	}
>  
>  	ptr = armada_gem_map_object(dev, obj);
>  	if (!ptr) {
> -		drm_gem_object_unreference_unlocked(&obj->obj);
> +		drm_gem_object_put_unlocked(&obj->obj);
>  		return -ENOMEM;
>  	}
>  
> @@ -68,7 +68,7 @@ static int armada_fb_create(struct drm_fb_helper *fbh,
>  	 * A reference is now held by the framebuffer object if
>  	 * successful, otherwise this drops the ref for the error path.
>  	 */
> -	drm_gem_object_unreference_unlocked(&obj->obj);
> +	drm_gem_object_put_unlocked(&obj->obj);
>  
>  	if (IS_ERR(dfb))
>  		return PTR_ERR(dfb);
> diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
> index a76ca21..49d40aa 100644
> --- a/drivers/gpu/drm/armada/armada_gem.c
> +++ b/drivers/gpu/drm/armada/armada_gem.c
> @@ -266,7 +266,7 @@ int armada_gem_dumb_create(struct drm_file *file, struct drm_device *dev,
>  	/* drop reference from allocate - handle holds it now */
>  	DRM_DEBUG_DRIVER("obj %p size %zu handle %#x\n", dobj, size, handle);
>   err:
> -	drm_gem_object_unreference_unlocked(&dobj->obj);
> +	drm_gem_object_put_unlocked(&dobj->obj);
>  	return ret;
>  }
>  
> @@ -295,7 +295,7 @@ int armada_gem_dumb_map_offset(struct drm_file *file, struct drm_device *dev,
>  	}
>  
>   err_unref:
> -	drm_gem_object_unreference_unlocked(&obj->obj);
> +	drm_gem_object_put_unlocked(&obj->obj);
>  
>  	return ret;
>  }
> @@ -334,7 +334,7 @@ int armada_gem_create_ioctl(struct drm_device *dev, void *data,
>  	/* drop reference from allocate - handle holds it now */
>  	DRM_DEBUG_DRIVER("obj %p size %zu handle %#x\n", dobj, size, handle);
>   err:
> -	drm_gem_object_unreference_unlocked(&dobj->obj);
> +	drm_gem_object_put_unlocked(&dobj->obj);
>  	return ret;
>  }
>  
> @@ -351,13 +351,13 @@ int armada_gem_mmap_ioctl(struct drm_device *dev, void *data,
>  		return -ENOENT;
>  
>  	if (!dobj->obj.filp) {
> -		drm_gem_object_unreference_unlocked(&dobj->obj);
> +		drm_gem_object_put_unlocked(&dobj->obj);
>  		return -EINVAL;
>  	}
>  
>  	addr = vm_mmap(dobj->obj.filp, 0, args->size, PROT_READ | PROT_WRITE,
>  		       MAP_SHARED, args->offset);
> -	drm_gem_object_unreference_unlocked(&dobj->obj);
> +	drm_gem_object_put_unlocked(&dobj->obj);
>  	if (IS_ERR_VALUE(addr))
>  		return addr;
>  
> @@ -412,7 +412,7 @@ int armada_gem_pwrite_ioctl(struct drm_device *dev, void *data,
>  	}
>  
>   unref:
> -	drm_gem_object_unreference_unlocked(&dobj->obj);
> +	drm_gem_object_put_unlocked(&dobj->obj);
>  	return ret;
>  }
>  
> @@ -561,7 +561,7 @@ armada_gem_prime_import(struct drm_device *dev, struct dma_buf *buf)
>  			 * Importing our own dmabuf(s) increases the
>  			 * refcount on the gem object itself.
>  			 */
> -			drm_gem_object_reference(obj);
> +			drm_gem_object_get(obj);
>  			return obj;
>  		}
>  	}
> diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c
> index edc4491..b411b60 100644
> --- a/drivers/gpu/drm/armada/armada_overlay.c
> +++ b/drivers/gpu/drm/armada/armada_overlay.c
> @@ -177,7 +177,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
>  		 * Take a reference on the new framebuffer - we want to
>  		 * hold on to it while the hardware is displaying it.
>  		 */
> -		drm_framebuffer_reference(fb);
> +		drm_framebuffer_get(fb);
>  
>  		if (plane->fb)
>  			armada_ovl_retire_fb(dplane, plane->fb);
> @@ -278,7 +278,7 @@ static int armada_ovl_plane_disable(struct drm_plane *plane,
>  
>  	fb = xchg(&dplane->old_fb, NULL);
>  	if (fb)
> -		drm_framebuffer_unreference(fb);
> +		drm_framebuffer_put(fb);
>  
>  	return 0;
>  }
> -- 
> 2.7.4
> 

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

  reply	other threads:[~2017-08-17  9:13 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-11 12:32 [PATCH v3 00/28] DRM API Conversions Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 01/28] drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 02/28] drm: mali-dp: " Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 03/28] drm/armada: " Cihangir Akturk
2017-08-17  9:13   ` Russell King - ARM Linux [this message]
2017-08-11 12:32 ` [PATCH v3 04/28] drm/ast: " Cihangir Akturk
2017-08-11 16:02   ` Sean Paul
2017-08-11 12:32 ` [PATCH v3 05/28] drm/bochs: " Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 06/28] drm/cirrus: " Cihangir Akturk
2017-08-11 16:02   ` Sean Paul
2017-08-11 12:32 ` [PATCH v3 07/28] drm/etnaviv: " Cihangir Akturk
2017-08-11 14:43   ` Lucas Stach
2017-08-11 15:01     ` Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 08/28] drm/exynos: " Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 09/28] drm/gma500: " Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 10/28] drm/hisilicon: " Cihangir Akturk
2017-08-11 16:02   ` Sean Paul
2017-08-11 12:32 ` [PATCH v3 11/28] drm/i915: " Cihangir Akturk
2017-08-11 16:11   ` Daniel Vetter
2017-08-13 13:30     ` [PATCH] " Cihangir Akturk
2017-08-11 12:32 ` [PATCH v3 12/28] drm/imx: " Cihangir Akturk
2017-08-11 13:01   ` Philipp Zabel
2017-08-11 12:32 ` [PATCH v3 13/28] drm/mediatek: " Cihangir Akturk
2017-08-11 13:01   ` Philipp Zabel
2017-08-11 16:04     ` Sean Paul
2017-08-11 12:33 ` [PATCH v3 14/28] drm/mgag200: " Cihangir Akturk
2017-08-11 16:03   ` Sean Paul
     [not found] ` <1502454794-28558-1-git-send-email-cakturk-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-08-11 12:33   ` [PATCH v3 15/28] drm/msm: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 16/28] drm/nouveau: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 17/28] drm/omapdrm: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 18/28] drm/qxl: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 19/28] drm/radeon: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 20/28] drm/rockchip: " Cihangir Akturk
2017-08-11 16:03   ` Sean Paul
2017-08-11 12:33 ` [PATCH v3 21/28] drm/tegra: " Cihangir Akturk
     [not found]   ` <1502454794-28558-22-git-send-email-cakturk-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-08-17 15:33     ` Thierry Reding
2017-08-11 12:33 ` [PATCH v3 22/28] drm/tilcdc: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 23/28] drm/udl: " Cihangir Akturk
2017-08-11 16:03   ` Sean Paul
2017-08-11 12:33 ` [PATCH v3 24/28] drm/vc4: " Cihangir Akturk
2017-08-14 19:47   ` Eric Anholt
2017-08-14 20:06     ` Cihangir Akturk
2017-08-14 21:11       ` Eric Anholt
2017-08-11 12:33 ` [PATCH v3 25/28] drm/vgem: " Cihangir Akturk
2017-08-11 16:03   ` Sean Paul
2017-08-11 12:33 ` [PATCH v3 26/28] drm/virtio: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 27/28] drm/vmwgfx: " Cihangir Akturk
2017-08-11 12:33 ` [PATCH v3 28/28] drm: vboxvideo: " Cihangir Akturk
2017-08-11 13:26   ` Hans de Goede
2017-08-11 16:04     ` Sean Paul
2017-08-11 16:11       ` Hans de Goede
2017-08-11 17:27         ` Sean Paul
2017-08-14  8:58         ` Daniel Vetter
2017-08-14 12:23           ` Hans de Goede
2017-08-11 14:24 ` [PATCH v3 00/28] DRM API Conversions Deucher, Alexander
2017-08-11 15:21   ` Cihangir Akturk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170817091307.GQ20805@n2100.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=airlied@linux.ie \
    --cc=cakturk@gmail.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox