From 2a5d5a1c6841e1df771f4e092ed960158edad671 Mon Sep 17 00:00:00 2001 From: Ben Widawsky Date: Sun, 24 Feb 2013 18:10:00 -0800 Subject: [PATCH] --- yaml --- r: 371175 b: refs/heads/master c: d0d045e8f5164da9f1a06c1214e4f7ec235ca104 h: refs/heads/master i: 371173: f26d0343ac9cd681c2b8d5225c74eaf76d51b56a 371171: fbd73de291a1a07c663e145d02c11630e8cc389b 371167: dc46c67aa5cc3a442b44122bc039ecae10d42f47 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/i915_irq.c | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 1a1dd172c626..6088dd6e2f3f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ebd37ce1f74e1b735dc094334ad99d17ec66926b +refs/heads/master: d0d045e8f5164da9f1a06c1214e4f7ec235ca104 diff --git a/trunk/drivers/gpu/drm/i915/i915_irq.c b/trunk/drivers/gpu/drm/i915/i915_irq.c index 4cbbbd688935..97b65f079b30 100644 --- a/trunk/drivers/gpu/drm/i915/i915_irq.c +++ b/trunk/drivers/gpu/drm/i915/i915_irq.c @@ -956,24 +956,23 @@ static void i915_get_extra_instdone(struct drm_device *dev, #ifdef CONFIG_DEBUG_FS static struct drm_i915_error_object * -i915_error_object_create(struct drm_i915_private *dev_priv, - struct drm_i915_gem_object *src) +i915_error_object_create_sized(struct drm_i915_private *dev_priv, + struct drm_i915_gem_object *src, + const int num_pages) { struct drm_i915_error_object *dst; - int i, count; + int i; u32 reloc_offset; if (src == NULL || src->pages == NULL) return NULL; - count = src->base.size / PAGE_SIZE; - - dst = kmalloc(sizeof(*dst) + count * sizeof(u32 *), GFP_ATOMIC); + dst = kmalloc(sizeof(*dst) + num_pages * sizeof(u32 *), GFP_ATOMIC); if (dst == NULL) return NULL; reloc_offset = src->gtt_offset; - for (i = 0; i < count; i++) { + for (i = 0; i < num_pages; i++) { unsigned long flags; void *d; @@ -1023,7 +1022,7 @@ i915_error_object_create(struct drm_i915_private *dev_priv, reloc_offset += PAGE_SIZE; } - dst->page_count = count; + dst->page_count = num_pages; dst->gtt_offset = src->gtt_offset; return dst; @@ -1034,6 +1033,9 @@ i915_error_object_create(struct drm_i915_private *dev_priv, kfree(dst); return NULL; } +#define i915_error_object_create(dev_priv, src) \ + i915_error_object_create_sized((dev_priv), (src), \ + (src)->base.size>>PAGE_SHIFT) static void i915_error_object_free(struct drm_i915_error_object *obj)