seq_printf(m, "Last exit at: %lld\n", psr->last_exit);
        }
 
+       if (psr->psr2_enabled) {
+               u32 su_frames_val[3];
+               int frame;
+
+               /*
+                * Reading all 3 registers before hand to minimize crossing a
+                * frame boundary between register reads
+                */
+               for (frame = 0; frame < PSR2_SU_STATUS_FRAMES; frame += 3)
+                       su_frames_val[frame / 3] = I915_READ(PSR2_SU_STATUS(frame));
+
+               seq_puts(m, "Frame:\tPSR2 SU blocks:\n");
+
+               for (frame = 0; frame < PSR2_SU_STATUS_FRAMES; frame++) {
+                       u32 su_blocks;
+
+                       su_blocks = su_frames_val[frame / 3] &
+                                   PSR2_SU_STATUS_MASK(frame);
+                       su_blocks = su_blocks >> PSR2_SU_STATUS_SHIFT(frame);
+                       seq_printf(m, "%d\t%d\n", frame, su_blocks);
+               }
+       }
+
 unlock:
        mutex_unlock(&psr->lock);
        intel_runtime_pm_put(dev_priv, wakeref);