From: Chris Wilson <chris@chris-wilson.co.uk>
To: intel-gfx@lists.freedesktop.org
Subject: [PATCH 07/16] drm/i915: Differentiate between prime and stolen objects
Date: Thu, 15 Nov 2012 11:32:22 +0000 [thread overview]
Message-ID: <1352979151-9934-8-git-send-email-chris@chris-wilson.co.uk> (raw)
In-Reply-To: <1352979151-9934-1-git-send-email-chris@chris-wilson.co.uk>
Stolen objects also share the property that they have no backing shmemfs
filp, but they can be used with pwrite/pread/gtt-mapping.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
---
drivers/gpu/drm/i915/i915_drv.h | 5 +++++
drivers/gpu/drm/i915/i915_gem.c | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9705380..b29ee03 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1098,6 +1098,11 @@ struct drm_i915_gem_object {
atomic_t pending_flip;
};
+inline static bool i915_gem_object_is_prime(struct drm_i915_gem_object *obj)
+{
+ return obj->base.import_attach != NULL;
+}
+
#define to_intel_bo(x) container_of(x, struct drm_i915_gem_object, base)
/**
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index cdcf19d..a6a2893 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -552,7 +552,7 @@ i915_gem_pread_ioctl(struct drm_device *dev, void *data,
/* prime objects have no backing filp to GEM pread/pwrite
* pages from.
*/
- if (!obj->base.filp) {
+ if (i915_gem_object_is_prime(obj)) {
ret = -EINVAL;
goto out;
}
@@ -901,7 +901,7 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data,
/* prime objects have no backing filp to GEM pread/pwrite
* pages from.
*/
- if (!obj->base.filp) {
+ if (i915_gem_object_is_prime(obj)) {
ret = -EINVAL;
goto out;
}
--
1.7.10.4
next prev parent reply other threads:[~2012-11-15 11:33 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-15 11:32 Hopefully the last round of stolen work Chris Wilson
2012-11-15 11:32 ` [PATCH 01/16] drm: Introduce drm_mm_create_block() Chris Wilson
2012-11-15 11:32 ` [PATCH 02/16] drm: Introduce an iterator over holes in the drm_mm range manager Chris Wilson
2012-11-15 11:32 ` [PATCH 03/16] drm/i915: Fix detection of base of stolen memory Chris Wilson
2012-11-15 11:32 ` [PATCH 04/16] drm/i915: Avoid clearing preallocated regions from the GTT Chris Wilson
2012-11-15 11:32 ` [PATCH 05/16] drm/i915: Delay allocation of stolen space for FBC Chris Wilson
2012-11-15 11:32 ` [PATCH 06/16] drm/i915: Allow objects to be created with no backing pages, but stolen space Chris Wilson
2012-11-15 11:32 ` Chris Wilson [this message]
2012-11-15 11:32 ` [PATCH 08/16] drm/i915: Support readback of stolen objects upon error Chris Wilson
2012-11-15 11:32 ` [PATCH 09/16] drm/i915: Handle stolen objects in pwrite Chris Wilson
2012-11-15 11:32 ` [PATCH 10/16] drm/i915: Handle stolen objects for pread Chris Wilson
2012-11-30 22:33 ` Daniel Vetter
2012-11-30 23:46 ` Chris Wilson
2012-12-01 0:03 ` Daniel Vetter
2012-12-01 0:14 ` Chris Wilson
2012-11-15 11:32 ` [PATCH 11/16] drm/i915: Introduce i915_gem_object_create_stolen() Chris Wilson
2012-11-15 11:32 ` [PATCH 12/16] drm/i915: Allocate fbcon from stolen memory Chris Wilson
2012-11-15 11:32 ` [PATCH 13/16] drm/i915: Allocate ringbuffers " Chris Wilson
2012-11-15 11:32 ` [PATCH 14/16] drm/i915: Allocate overlay registers " Chris Wilson
2012-11-15 11:32 ` [PATCH 15/16] drm/i915: Use a slab for object allocation Chris Wilson
2012-11-30 22:45 ` Daniel Vetter
2012-11-15 11:32 ` [PATCH 16/16] drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl Chris Wilson
2012-11-30 23:06 ` Daniel Vetter
2012-11-30 23:57 ` Chris Wilson
2012-12-01 11:25 ` Chris Wilson
2012-12-01 11:35 ` Daniel Vetter
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=1352979151-9934-8-git-send-email-chris@chris-wilson.co.uk \
--to=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.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;
as well as URLs for NNTP newsgroup(s).