]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gvt: implement scratch page table tree for shadow PPGTT
authorPing Gao <ping.a.gao@intel.com>
Fri, 4 Nov 2016 05:47:35 +0000 (13:47 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Mon, 7 Nov 2016 06:17:02 +0000 (14:17 +0800)
commit5468dbfa854319735ac30fffd7e6a1e27d625b77
tree6693210d13ffed795a1d54ae606c21c67ca5967f
parentc3f87194fd458d18ea494f13809e14975c389a96
drm/i915/gvt: implement scratch page table tree for shadow PPGTT

All the unused entries in the page table tree(PML4E->PDPE->PDE->PTE)
should point to scratch page table/scratch page to avoid page walk error
due to the page prefetching.
When removing an entry in shadow PPGTT,  it need map to scratch page
also, the older implementation use single scratch page to assign to all
level entries, it doesn't align the page walk behavior when removed
entry is in PML, PDP, PD.  To avoid potential page walk error this patch
implement a scratch page tree to replace the single scratch page.

v2: more details in commit message address Kevin's comments.

Signed-off-by: Ping Gao <ping.a.gao@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/gtt.c
drivers/gpu/drm/i915/gvt/gtt.h