From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: greg@kroah.com, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org
Subject: [PATCH 15/15] gma500: Kill spare kref
Date: Wed, 08 Jun 2011 11:15:32 +0100 [thread overview]
Message-ID: <20110608101529.9478.86695.stgit@localhost.localdomain> (raw)
In-Reply-To: <20110608100411.9478.86672.stgit@localhost.localdomain>
From: Alan Cox <alan@linux.intel.com>
We are using the underlying kref in the GEM object so we don't need our own
Signed-off-by: Alan Cox <alan@linux.intel.com>
---
drivers/staging/gma500/psb_fb.c | 1 -
drivers/staging/gma500/psb_gtt.c | 41 ++++++--------------------------------
drivers/staging/gma500/psb_gtt.h | 1 -
3 files changed, 6 insertions(+), 37 deletions(-)
diff --git a/drivers/staging/gma500/psb_fb.c b/drivers/staging/gma500/psb_fb.c
index 988f4db..fb75aba 100644
--- a/drivers/staging/gma500/psb_fb.c
+++ b/drivers/staging/gma500/psb_fb.c
@@ -231,7 +231,6 @@ static int psbfb_mmap(struct fb_info *info, struct vm_area_struct *vma)
struct psb_fbdev *fbdev = info->par;
struct psb_framebuffer *psbfb = &fbdev->pfb;
char *fb_screen_base = NULL;
- struct drm_device *dev = psbfb->base.dev;
if (vma->vm_pgoff != 0)
return -EINVAL;
diff --git a/drivers/staging/gma500/psb_gtt.c b/drivers/staging/gma500/psb_gtt.c
index 54a9308..9da1375 100644
--- a/drivers/staging/gma500/psb_gtt.c
+++ b/drivers/staging/gma500/psb_gtt.c
@@ -303,8 +303,6 @@ struct gtt_range *psb_gtt_alloc_range(struct drm_device *dev, int len,
gt->in_gart = backed;
/* Ensure this is set for non GEM objects */
gt->gem.dev = dev;
- kref_init(>->kref);
-
ret = allocate_resource(dev_priv->gtt_mem, >->resource,
len, start, end, PAGE_SIZE, NULL, NULL);
if (ret == 0) {
@@ -316,18 +314,15 @@ struct gtt_range *psb_gtt_alloc_range(struct drm_device *dev, int len,
}
/**
- * psb_gtt_destroy - final free up of a gtt
- * @kref: the kref of the gtt
- *
- * Called from the kernel kref put when the final reference to our
- * GTT object is dropped. At that point we can free up the resources.
+ * psb_gtt_free_range - release GTT address space
+ * @dev: our DRM device
+ * @gt: a mapping created with psb_gtt_alloc_range
*
- * For now we handle mmap clean up here to work around limits in GEM
+ * Release a resource that was allocated with psb_gtt_alloc_range. If the object
+ * has been pinned by mmap users we clean this up here currently.
*/
-static void psb_gtt_destroy(struct kref *kref)
+void psb_gtt_free_range(struct drm_device *dev, struct gtt_range *gt)
{
- struct gtt_range *gt = container_of(kref, struct gtt_range, kref);
-
/* Undo the mmap pin if we are destroying the object */
if (gt->mmapping) {
psb_gtt_unpin(gt);
@@ -338,30 +333,6 @@ static void psb_gtt_destroy(struct kref *kref)
kfree(gt);
}
-/**
- * psb_gtt_kref_put - drop reference to a GTT object
- * @gt: the GT being dropped
- *
- * Drop a reference to a psb gtt
- */
-void psb_gtt_kref_put(struct gtt_range *gt)
-{
- kref_put(>->kref, psb_gtt_destroy);
-}
-
-/**
- * psb_gtt_free_range - release GTT address space
- * @dev: our DRM device
- * @gt: a mapping created with psb_gtt_alloc_range
- *
- * Release a resource that was allocated with psb_gtt_alloc_range
- */
-void psb_gtt_free_range(struct drm_device *dev, struct gtt_range *gt)
-{
- psb_gtt_kref_put(gt);
-}
-
-
struct psb_gtt *psb_gtt_alloc(struct drm_device *dev)
{
struct psb_gtt *tmp = kzalloc(sizeof(*tmp), GFP_KERNEL);
diff --git a/drivers/staging/gma500/psb_gtt.h b/drivers/staging/gma500/psb_gtt.h
index 7e1f21e..4d6dc5f 100644
--- a/drivers/staging/gma500/psb_gtt.h
+++ b/drivers/staging/gma500/psb_gtt.h
@@ -44,7 +44,6 @@ extern void psb_gtt_takedown(struct drm_device *dev);
struct gtt_range {
struct resource resource; /* Resource for our allocation */
u32 offset; /* GTT offset of our object */
- struct kref kref; /* Can probably go FIXME - GEM kref will do */
struct drm_gem_object gem; /* GEM high level stuff */
int in_gart; /* Currently in the GART (ref ct) */
bool stolen; /* Backed from stolen RAM */
next prev parent reply other threads:[~2011-06-08 10:27 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-08 10:10 [PATCH 00/15] GMA500 KMS and GEM Alan Cox
2011-06-08 10:11 ` [PATCH 01/15] gma500: fix warnings Alan Cox
2011-06-08 10:11 ` [PATCH 02/15] gma500: Skip bogus LVDS VBT mode and check for LVDS before adding backlight Alan Cox
2011-06-08 10:11 ` [PATCH 03/15] gma500: Make GTT pages uncached Alan Cox
2011-06-08 10:12 ` [PATCH 04/15] gma500: Ensure the frame buffer has a linear virtual mapping Alan Cox
2011-06-08 10:12 ` [PATCH 05/15] gma500: Set the correct bits according to the pipe Alan Cox
2011-06-08 10:12 ` [PATCH 06/15] staging/gma500: get control from firmware framebuffer if conflicts Alan Cox
2011-06-08 10:13 ` [PATCH 07/15] gma500: Fix uninitialized variable and style issues Alan Cox
2011-06-08 10:13 ` [PATCH 08/15] gma500: revamp frame buffer creation and handling Alan Cox
2011-06-08 10:13 ` [PATCH 09/15] gma500: Do sane FB cleanup Alan Cox
2011-06-08 10:14 ` [PATCH 10/15] gma500: trim some of the debug Alan Cox
2011-06-08 10:14 ` [PATCH 11/15] gma500: polish for completion of this phase Alan Cox
2011-06-08 10:14 ` [PATCH 12/15] gma500: 2D acceleration tidying Alan Cox
2011-06-08 10:15 ` [PATCH 13/15] gma500: nuke the last bits of TTM code Alan Cox
2011-06-08 10:15 ` [PATCH 14/15] gma500: nuke the PSB debug stuff Alan Cox
2011-06-09 1:10 ` Patrik Jakobsson
2011-06-09 8:11 ` Alan Cox
2011-06-09 10:36 ` Dave Airlie
2011-06-09 11:45 ` Patrik Jakobsson
2011-06-09 12:04 ` Alan Cox
2011-06-12 19:02 ` Daniel Vetter
2011-06-13 15:44 ` Alan Cox
2011-06-13 19:35 ` Daniel Vetter
2011-06-09 11:55 ` Alan Cox
2011-06-08 10:15 ` Alan Cox [this message]
2011-06-08 11:15 ` [OT] Re: [PATCH 00/15] GMA500 KMS and GEM Lukasz
2011-06-08 12:24 ` Alan Cox
2011-06-14 9:24 ` Pasi Kärkkäinen
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=20110608101529.9478.86695.stgit@localhost.localdomain \
--to=alan@lxorguk.ukuu.org.uk \
--cc=dri-devel@lists.freedesktop.org \
--cc=greg@kroah.com \
--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