]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915/gvt: Refine the snapshort range of I915 MCHBAR to optimize gvt-g boot time
authorZhao Yakui <yakui.zhao@intel.com>
Wed, 20 Feb 2019 04:07:44 +0000 (12:07 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Wed, 20 Feb 2019 09:05:15 +0000 (17:05 +0800)
Currently it will take the snapshot of the MCHBAR registers for gvt-g
initialization so that it can be used for guest vgpu. And it will cover
from 0x140000 to 0x17ffff. In fact based on the HW spec most of them are
meanlingless and some time is wasted to read these register.
Only the range of 0x144000 to 0x147fff contains the valid definition.
So the range of capturing I915 MCHBAR register is refined, which helps
to optimize the gvt-g boot time.

V1->V2: Move the register definition into reg.h

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/handlers.c
drivers/gpu/drm/i915/gvt/reg.h

index 9c106e47e640a5dd1a03f12ac2873262f35bd295..65ee8ed0e2061454a8ab62e90c236766bdad8b15 100644 (file)
@@ -3264,7 +3264,7 @@ void intel_gvt_clean_mmio_info(struct intel_gvt *gvt)
 /* Special MMIO blocks. */
 static struct gvt_mmio_block mmio_blocks[] = {
        {D_SKL_PLUS, _MMIO(CSR_MMIO_START_RANGE), 0x3000, NULL, NULL},
-       {D_ALL, _MMIO(MCHBAR_MIRROR_BASE_SNB), 0x40000, NULL, NULL},
+       {D_ALL, MCHBAR_MIRROR_REG_BASE, 0x4000, NULL, NULL},
        {D_ALL, _MMIO(VGT_PVINFO_PAGE), VGT_PVINFO_SIZE,
                pvinfo_mmio_read, pvinfo_mmio_write},
        {D_ALL, LGC_PALETTE(PIPE_A, 0), 1024, NULL, NULL},
index 428d252344f1e4027bc5ffecb12bf7842a1dbe09..56cff20eba449d5f1c95cda46f732a8ed6ba0241 100644 (file)
@@ -95,4 +95,7 @@
 #define RING_GFX_MODE(base)    _MMIO((base) + 0x29c)
 #define VF_GUARDBAND           _MMIO(0x83a4)
 
+/* define the effective range of MCHBAR register on Sandybridge+ */
+#define MCHBAR_MIRROR_REG_BASE _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x4000)
+
 #endif