drm/i915/gvt: Fix broken mocs offset
authorZhenyu Wang <zhenyuw@linux.intel.com>
Sat, 22 Oct 2016 05:21:45 +0000 (13:21 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Mon, 24 Oct 2016 02:45:44 +0000 (10:45 +0800)
Fix missed mocs offset reg setting for save/restore function.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/render.c

index be1a7dfd210ba9d48eca80058a0690c00604b108..3af894b3d257c9012682912437b105512680cf83 100644 (file)
@@ -177,6 +177,7 @@ static void load_mocs(struct intel_vgpu *vgpu, int ring_id)
        if (!IS_SKYLAKE(dev_priv))
                return;
 
+       offset.reg = regs[ring_id];
        for (i = 0; i < 64; i++) {
                gen9_render_mocs[ring_id][i] = I915_READ(offset);
                I915_WRITE(offset, vgpu_vreg(vgpu, offset));
@@ -214,6 +215,7 @@ static void restore_mocs(struct intel_vgpu *vgpu, int ring_id)
        if (!IS_SKYLAKE(dev_priv))
                return;
 
+       offset.reg = regs[ring_id];
        for (i = 0; i < 64; i++) {
                vgpu_vreg(vgpu, offset) = I915_READ(offset);
                I915_WRITE(offset, gen9_render_mocs[ring_id][i]);