i915_gem_obj_ggtt_pin() is marked as __must_check, but one callsite in
debugfs (i915_dump_lrc) was not checking the return value.  Add the
necessary check and make the debugfs node print something
semi-reasonable if we were to fail to pin.

I believe there's already in-progress discussion on the mailing list
about how this area of the code is going to be reworked in general.  But
in the meantime, this is just a quick fix to shut up the compiler
warning.

This warning was added in commit:

        commit dcb4c12a687710ab745c2cdee8298c3e97f6f707
        Author: Oscar Mateo <oscar.ma...@intel.com>
        Date:   Thu Nov 13 10:28:10 2014 +0000

            drm/i915/bdw: Pin the context backing objects to GGTT on-demand

Cc: Oscar Mateo <oscar.ma...@intel.com>
Cc: Thomas Daniel <thomas.dan...@intel.com>
Signed-off-by: Matt Roper <matthew.d.ro...@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 7ea3843..9934ec9 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1801,10 +1801,15 @@ static int i915_dump_lrc(struct seq_file *m, void 
*unused)
                        if (ctx_obj) {
                                struct page *page;
                                uint32_t *reg_state;
-                               int j;
+                               int ret, j;
 
-                               i915_gem_obj_ggtt_pin(ctx_obj,
+                               ret = i915_gem_obj_ggtt_pin(ctx_obj,
                                                GEN8_LR_CONTEXT_ALIGN, 0);
+                               if (ret) {
+                                       seq_printf(m, "CONTEXT: %s (unavail)\n",
+                                                  ring->name);
+                                       continue;
+                               }
 
                                page = i915_gem_object_get_page(ctx_obj, 1);
                                reg_state = kmap_atomic(page);
-- 
1.8.5.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to