mainlining shenanigans
Go to file
Colin Xu 6a4500c7b8 drm/i915/gvt: Get accurate vGPU virtual display refresh rate from vreg
Guest OS builds up its timing mode list based on the virtual EDID as
simulated by GVT. However since there are several timings supported in
the virtual EDID, and each timing can also support several modes
(resolution and refresh rate), current emulated vblank period (16ms)
may not always be correct and could lead to miss-sync behavior in guest.

Guest driver will setup new resolution and program vregs accordingly and
it should always follows GEN PRM. Based on the simulated display regs by
GVT, it's safe to decode the actual refresh rate using by guest from
vreg only.

Current implementation only enables PIPE_A and PIPE_A is always tied to
TRANSCODER_A in HW. GVT may simulate DP monitor on PORT_B or PORT_D
based on the caller. So we can find out which DPLL is used by PORT_x
which connected to TRANSCODER_A and calculate the DP bit rate from the
DPLL frequency. Then DP stream clock (pixel clock) can be calculated
from DP link M/N and DP bit rate. Finally, get the refresh rate from
pixel clock, H total and V total.

The per-vGPU accurate refresh rate is not used yet but only stored,
until per-vGPU vblank timer is enabled. Then each vGPU can have
different and accurate refresh rate per-guest driver configuration.

Refer to PRM for GEN display and VESA timing standard for more details.

V2:
Rebase to 5.11.
Correctly calculate DP link rate for BDW and BXT.
Use GVT_DEFAULT_REFRESH_RATE instead of hardcoded to 60 as init refresh.
Typo fix. (zhenyu)

Signed-off-by: Colin Xu <colin.xu@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20210226044559.283622-1-colin.xu@intel.com
Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2021-03-01 13:48:29 +08:00
arch x86/gpu: Add Alderlake-S stolen memory support 2021-01-26 06:55:09 -08:00
block SCSI fixes on 20210101 2021-01-01 12:58:07 -08:00
certs
crypto
Documentation Merge tag 'drm-intel-gt-next-2021-01-14' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-01-15 15:03:36 +10:00
drivers drm/i915/gvt: Get accurate vGPU virtual display refresh rate from vreg 2021-03-01 13:48:29 +08:00
fs block-5.11-2021-01-01 2021-01-01 12:49:09 -08:00
include drm/dp: add MSO related DPCD registers 2021-02-22 18:04:50 +02:00
init kasan, arm64: only use kasan_depth for software modes 2020-12-22 12:55:07 -08:00
ipc
kernel io_uring-5.11-2021-01-01 2021-01-01 12:29:49 -08:00
lib zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c 2020-12-29 15:36:49 -08:00
LICENSES
mm mm: slub: call account_slab_page() after slab page initialization 2020-12-29 15:36:49 -08:00
net libceph: align session_key and con_secret to 16 bytes 2020-12-28 20:34:33 +01:00
samples ARM: SoC drivers for v5.11 2020-12-16 16:38:41 -08:00
scripts depmod: handle the case of /sbin/depmod without /sbin in PATH 2021-01-01 12:26:39 -08:00
security Provide a fix for the incorrect handling of privilege 2020-12-24 14:08:43 -08:00
sound sound fixes for 5.11-rc1 2020-12-23 15:11:08 -08:00
tools selftests/vm: fix building protection keys test 2020-12-29 15:36:49 -08:00
usr
virt ARM: 2020-12-20 10:44:05 -08:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS drm-misc-next for v5.12: 2021-01-07 13:40:20 +01:00
Makefile Linux 5.11-rc2 2021-01-03 15:55:30 -08:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.