summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/Kconfig
diff options
context:
space:
mode:
authorWei Hu <weh@microsoft.com>2019-09-18 09:03:20 +0300
committerSasha Levin <sashal@kernel.org>2019-11-22 04:10:44 +0300
commitd21987d709e807ba7bbf47044deb56a3c02e8be4 (patch)
tree39cab8ff61f1b8ab8b1d2ae317620894d115886f /drivers/video/fbdev/Kconfig
parent67e7cdb4829d3246c98f2ec9b771303ebe162eab (diff)
downloadlinux-d21987d709e807ba7bbf47044deb56a3c02e8be4.tar.xz
video: hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver
Without deferred IO support, hyperv_fb driver informs the host to refresh the entire guest frame buffer at fixed rate, e.g. at 20Hz, no matter there is screen update or not. This patch supports deferred IO for screens in graphics mode and also enables the frame buffer on-demand refresh. The highest refresh rate is still set at 20Hz. Currently Hyper-V only takes a physical address from guest as the starting address of frame buffer. This implies the guest must allocate contiguous physical memory for frame buffer. In addition, Hyper-V Gen 2 VMs only accept address from MMIO region as frame buffer address. Due to these limitations on Hyper-V host, we keep a shadow copy of frame buffer in the guest. This means one more copy of the dirty rectangle inside guest when doing the on-demand refresh. This can be optimized in the future with help from host. For now the host performance gain from deferred IO outweighs the shadow copy impact in the guest. Signed-off-by: Wei Hu <weh@microsoft.com> Reviewed-by: Dexuan Cui <decui@microsoft.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/video/fbdev/Kconfig')
-rw-r--r--drivers/video/fbdev/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 1e70e838530e..aa9541bf964b 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -2214,6 +2214,7 @@ config FB_HYPERV
select FB_CFB_FILLRECT
select FB_CFB_COPYAREA
select FB_CFB_IMAGEBLIT
+ select FB_DEFERRED_IO
help
This framebuffer driver supports Microsoft Hyper-V Synthetic Video.