drm/i915/gvt: fix getting 64bit bar size error
authorXiaoguang Chen <xiaoguang.chen@intel.com>
Thu, 24 Nov 2016 05:13:00 +0000 (13:13 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 24 Nov 2016 06:08:58 +0000 (14:08 +0800)
For 64bit bar while reading the higher 32bit the value should be returned
directly.

In the current implementation the higher 32bit value was discarded and not
written to the cfg space of vgpu which lead to an incorrect bar size.

Signed-off-by: Xiaoguang Chen <xiaoguang.chen@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/gvt.h

index 3d4223e..b1a7c8d 100644 (file)
@@ -361,6 +361,8 @@ static inline void intel_vgpu_write_pci_bar(struct intel_vgpu *vgpu,
                 * leave the bit 3 - bit 0 unchanged.
                 */
                *pval = (val & GENMASK(31, 4)) | (*pval & GENMASK(3, 0));
+       } else {
+               *pval = val;
        }
 }