aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/i915_sysfs.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c
index d572435cfbe7..71f6de24444e 100644
--- a/drivers/gpu/drm/i915/i915_sysfs.c
+++ b/drivers/gpu/drm/i915/i915_sysfs.c
@@ -133,6 +133,17 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
133 if (ret) 133 if (ret)
134 return ret; 134 return ret;
135 135
136 if (IS_HASWELL(drm_dev)) {
137 if (dev_priv->l3_parity.remap_info)
138 memcpy(buf,
139 dev_priv->l3_parity.remap_info + (offset/4),
140 count);
141 else
142 memset(buf, 0, count);
143
144 goto out;
145 }
146
136 misccpctl = I915_READ(GEN7_MISCCPCTL); 147 misccpctl = I915_READ(GEN7_MISCCPCTL);
137 I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE); 148 I915_WRITE(GEN7_MISCCPCTL, misccpctl & ~GEN7_DOP_CLOCK_GATE_ENABLE);
138 149
@@ -141,9 +152,10 @@ i915_l3_read(struct file *filp, struct kobject *kobj,
141 152
142 I915_WRITE(GEN7_MISCCPCTL, misccpctl); 153 I915_WRITE(GEN7_MISCCPCTL, misccpctl);
143 154
155out:
144 mutex_unlock(&drm_dev->struct_mutex); 156 mutex_unlock(&drm_dev->struct_mutex);
145 157
146 return i; 158 return count;
147} 159}
148 160
149static ssize_t 161static ssize_t