drm/i915: Handle disabled primary plane in debugfs i915_display_info (v2)
authorMatt Roper <matthew.d.roper@intel.com>
Mon, 16 Jun 2014 17:12:55 +0000 (10:12 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 16 Jun 2014 18:16:12 +0000 (20:16 +0200)
Now that the primary plane can be disabled independently of the CRTC,
the debugfs code needs to be updated to recognize when the primary plane
is disabled and not try to return information about the primary plane's
framebuffer.

This change prevents a NULL dereference when reading i915_display_info
with a disabled primary plane.

v2: Replace a seq_printf() with seq_puts() (suggested by Damien)

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c

index a8b81407338a467fec2fcd1b604f2fabce922a69..8057fd4fc86c7d8545a447ad6d704f2324024816 100644 (file)
@@ -2220,9 +2220,12 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *intel_crtc)
        struct drm_crtc *crtc = &intel_crtc->base;
        struct intel_encoder *intel_encoder;
 
-       seq_printf(m, "\tfb: %d, pos: %dx%d, size: %dx%d\n",
-                  crtc->primary->fb->base.id, crtc->x, crtc->y,
-                  crtc->primary->fb->width, crtc->primary->fb->height);
+       if (crtc->primary->fb)
+               seq_printf(m, "\tfb: %d, pos: %dx%d, size: %dx%d\n",
+                          crtc->primary->fb->base.id, crtc->x, crtc->y,
+                          crtc->primary->fb->width, crtc->primary->fb->height);
+       else
+               seq_puts(m, "\tprimary plane disabled\n");
        for_each_encoder_on_crtc(dev, crtc, intel_encoder)
                intel_encoder_info(m, intel_crtc, intel_encoder);
 }