drm/i915: Catch premature unpinning of pages
Try to catch the violation of unpinning the backing storage whilst still bound to the GPU. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: http://patchwork.freedesktop.org/patch/msgid/20161019101147.17342-5-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
This commit is contained in:
parent
1dc16aac8a
commit
40fa60c8af
|
@ -3181,14 +3181,15 @@ i915_gem_object_get_page(struct drm_i915_gem_object *obj, int n)
|
||||||
|
|
||||||
static inline void i915_gem_object_pin_pages(struct drm_i915_gem_object *obj)
|
static inline void i915_gem_object_pin_pages(struct drm_i915_gem_object *obj)
|
||||||
{
|
{
|
||||||
BUG_ON(obj->pages == NULL);
|
GEM_BUG_ON(obj->pages == NULL);
|
||||||
obj->pages_pin_count++;
|
obj->pages_pin_count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
|
static inline void i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
|
||||||
{
|
{
|
||||||
BUG_ON(obj->pages_pin_count == 0);
|
GEM_BUG_ON(obj->pages_pin_count == 0);
|
||||||
obj->pages_pin_count--;
|
obj->pages_pin_count--;
|
||||||
|
GEM_BUG_ON(obj->pages_pin_count < obj->bind_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
enum i915_map_type {
|
enum i915_map_type {
|
||||||
|
|
Loading…
Reference in New Issue