]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit
drm/i915/gvt: support inconsecutive partial gtt entry write
authorHang Yuan <hang.yuan@linux.intel.com>
Wed, 19 Sep 2018 06:42:10 +0000 (14:42 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Wed, 31 Oct 2018 09:08:45 +0000 (17:08 +0800)
commitbc0686ff5fad7a842cc88377439e78be87fedc80
treeefef08ea3d043b6a88144e3f6f33749fe21408d6
parentf42259ef810ce83f3e1a8ea4ce12dfda873fbe44
drm/i915/gvt: support inconsecutive partial gtt entry write

Previously we assumed two 4-byte writes to the same PTE coming in sequence.
But recently we observed inconsecutive partial write happening as well. So
this patch enhances the previous solution. It now uses a list to save more
partial writes. If one partial write can be combined with another one in
the list to construct a full PTE, update its shadow entry. Otherwise, save
the partial write in the list.

v2: invalidate old entry and flush ggtt (Zhenyu)
v3: split old ggtt page unmap to another patch (Zhenyu)
v4: refine codes (Zhenyu)

Signed-off-by: Hang Yuan <hang.yuan@linux.intel.com>
Cc: Yan Zhao <yan.y.zhao@intel.com>
Cc: Xiaolin Zhang <xiaolin.zhang@intel.com>
Cc: Zhenyu Wang <zhenyu.z.wang@intel.com>
Reviewed-by: Xiaolin Zhang <xiaolin.zhang@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