Skip to content

Commit 7b22472

Browse files
committed
Merge feature/dxgkrnl (ec49cf3)
* msft/feature/dxgkrnl: drivers: hv: dxgkrnl: create a MAINTAINERS entry drivers: hv: dxgkrnl: hook up dxgkrnl drivers: hv: dxgkrnl: core code
2 parents de53bef + ec49cf3 commit 7b22472

File tree

18 files changed

+16444
-0
lines changed

18 files changed

+16444
-0
lines changed

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8190,6 +8190,12 @@ F: Documentation/devicetree/bindings/mtd/ti,am654-hbmc.txt
81908190
F: drivers/mtd/hyperbus/
81918191
F: include/linux/mtd/hyperbus.h
81928192

8193+
Hyper-V vGPU DRIVER
8194+
M: Iouri Tarassov <[email protected]>
8195+
8196+
S: Supported
8197+
F: drivers/hv/dxgkrnl/
8198+
81938199
HYPERVISOR VIRTUAL CONSOLE DRIVER
81948200
81958201
S: Odd Fixes

drivers/hv/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,6 @@ config HYPERV_BALLOON
2626
help
2727
Select this option to enable Hyper-V Balloon driver.
2828

29+
source "drivers/hv/dxgkrnl/Kconfig"
30+
2931
endmenu

drivers/hv/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
obj-$(CONFIG_HYPERV) += hv_vmbus.o
33
obj-$(CONFIG_HYPERV_UTILS) += hv_utils.o
44
obj-$(CONFIG_HYPERV_BALLOON) += hv_balloon.o
5+
obj-$(CONFIG_DXGKRNL) += dxgkrnl/
56

67
CFLAGS_hv_trace.o = -I$(src)
78
CFLAGS_hv_balloon.o = -I$(src)

drivers/hv/dxgkrnl/Kconfig

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#
2+
# dxgkrnl configuration
3+
#
4+
5+
config DXGKRNL
6+
tristate "Microsoft Paravirtualized GPU support"
7+
depends on HYPERV
8+
help
9+
This driver supports paravirtualized virtual GPU devices, exposed by
10+
Microsoft Hyper-V when Linux is running inside of a virtual machine
11+
hosted by Windows. The virtual machines needs to be configured to use
12+
host GPU adapters. The driver name is dxgkrnl.
13+
14+
An example of such virtual machine is a Windows Subsystem for
15+
Linux container. When such container is instantiated, the Windows host
16+
assigns compatible host GPU adapters to the container. The corresponding
17+
virtual GPU devices appear on the PCI bus in the container. These
18+
devices are enumerated and accessed by this driver.
19+
20+
Communications with the driver are done by using the Microsoft libdxcore
21+
library, which translates the D3DKMT interface
22+
<https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/d3dkmthk/>
23+
to the driver IOCTLs. The virtual GPU devices are paravirtualized,
24+
which means that access to the hardware is done in the host. The driver
25+
communicates with the host using Hyper-V VM bus communication channels.
26+
27+
config DXGKRNL_DEBUG
28+
bool "Enable debug checks for Microsoft Paravirtualized GPU driver"
29+
depends on DXGKRNL
30+
help
31+
Say Y here if you want the Microsoft Paravirtualized GPU driver to
32+
perform additional checks and provide more debug information.

drivers/hv/dxgkrnl/Makefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
# Makefile for the Linux video drivers.
3+
4+
obj-$(CONFIG_DXGKRNL) += dxgkrnl.o
5+
dxgkrnl-y := dxgmodule.o hmgr.o misc.o dxgadapter.o ioctl.o dxgvmbus.o dxgprocess.o

0 commit comments

Comments
 (0)