• Wei Hu's avatar
    video: hyperv: hyperv_fb: Support deferred IO for Hyper-V frame buffer driver · d21987d7
    Wei Hu authored
    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: default avatarWei Hu <weh@microsoft.com>
    Reviewed-by: default avatarDexuan Cui <decui@microsoft.com>
    Reviewed-by: default avatarMichael Kelley <mikelley@microsoft.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    d21987d7
hyperv_fb.c 31.9 KB