|
@@ -257,7 +257,8 @@ static void i915_ring_error_state(struct drm_i915_error_state_buf *m,
|
|
err_printf(m, " INSTPS: 0x%08x\n", ring->instps);
|
|
err_printf(m, " INSTPS: 0x%08x\n", ring->instps);
|
|
}
|
|
}
|
|
err_printf(m, " INSTPM: 0x%08x\n", ring->instpm);
|
|
err_printf(m, " INSTPM: 0x%08x\n", ring->instpm);
|
|
- err_printf(m, " FADDR: 0x%08x\n", ring->faddr);
|
|
|
|
|
|
+ err_printf(m, " FADDR: 0x%08x %08x\n", upper_32_bits(ring->faddr),
|
|
|
|
+ lower_32_bits(ring->faddr));
|
|
if (INTEL_INFO(dev)->gen >= 6) {
|
|
if (INTEL_INFO(dev)->gen >= 6) {
|
|
err_printf(m, " RC PSMI: 0x%08x\n", ring->rc_psmi);
|
|
err_printf(m, " RC PSMI: 0x%08x\n", ring->rc_psmi);
|
|
err_printf(m, " FAULT_REG: 0x%08x\n", ring->fault_reg);
|
|
err_printf(m, " FAULT_REG: 0x%08x\n", ring->fault_reg);
|
|
@@ -781,8 +782,10 @@ static void i915_record_ring_state(struct drm_device *dev,
|
|
ering->instdone = I915_READ(RING_INSTDONE(ring->mmio_base));
|
|
ering->instdone = I915_READ(RING_INSTDONE(ring->mmio_base));
|
|
ering->instps = I915_READ(RING_INSTPS(ring->mmio_base));
|
|
ering->instps = I915_READ(RING_INSTPS(ring->mmio_base));
|
|
ering->bbaddr = I915_READ(RING_BBADDR(ring->mmio_base));
|
|
ering->bbaddr = I915_READ(RING_BBADDR(ring->mmio_base));
|
|
- if (INTEL_INFO(dev)->gen >= 8)
|
|
|
|
|
|
+ if (INTEL_INFO(dev)->gen >= 8) {
|
|
|
|
+ ering->faddr |= (u64) I915_READ(RING_DMA_FADD_UDW(ring->mmio_base)) << 32;
|
|
ering->bbaddr |= (u64) I915_READ(RING_BBADDR_UDW(ring->mmio_base)) << 32;
|
|
ering->bbaddr |= (u64) I915_READ(RING_BBADDR_UDW(ring->mmio_base)) << 32;
|
|
|
|
+ }
|
|
ering->bbstate = I915_READ(RING_BBSTATE(ring->mmio_base));
|
|
ering->bbstate = I915_READ(RING_BBSTATE(ring->mmio_base));
|
|
} else {
|
|
} else {
|
|
ering->faddr = I915_READ(DMA_FADD_I8XX);
|
|
ering->faddr = I915_READ(DMA_FADD_I8XX);
|