1
0
mirror of https://aur.archlinux.org/linux-vfio.git synced 2024-12-27 07:44:11 +00:00

Update to 4.12.3-1

This commit is contained in:
Mark Weiman 2017-07-29 22:53:43 -04:00
parent 5ad6fc6559
commit f4a639e5fc
7 changed files with 742 additions and 413 deletions

View File

@ -1,7 +1,7 @@
# Generated by mksrcinfo v8 # Generated by mksrcinfo v8
# Tue Jul 18 16:50:45 UTC 2017 # Sat Jul 29 23:38:53 UTC 2017
pkgbase = linux-vfio pkgbase = linux-vfio
pkgver = 4.11.9 pkgver = 4.12.3
pkgrel = 1 pkgrel = 1
url = http://www.kernel.org/ url = http://www.kernel.org/
arch = i686 arch = i686
@ -14,26 +14,26 @@ pkgbase = linux-vfio
makedepends = bc makedepends = bc
makedepends = libelf makedepends = libelf
options = !strip options = !strip
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.11.tar.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.tar.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.11.tar.sign source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.12.tar.sign
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.11.9.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.3.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.11.9.sign source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.3.sign
source = config source = config
source = config.x86_64 source = config.x86_64
source = 90-linux.hook source = 90-linux.hook
source = linux.preset source = linux.preset
source = add-acs-overrides.patch source = add-acs-overrides.patch
source = i915-vga-arbiter.patch source = i915-vga-arbiter.patch
sha256sums = b67ecafd0a42b3383bf4d82f0850cbff92a7e72a215a6d02f42ddbafcf42a7d6 sha256sums = a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab
sha256sums = SKIP sha256sums = SKIP
sha256sums = a112d1330817bac401dbbd1e2c8aacb1b725bc28239e2ca58281ea3754deceb5 sha256sums = 13ad942e5144acafb849942c320aa6ab887cd2ffbba033c622f7a88eb2c32143
sha256sums = SKIP sha256sums = SKIP
sha256sums = f330007da72867bb86556d1f8b84b8a4c8148a5ed5195ae25570a5da61428733 sha256sums = df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1
sha256sums = 9dd9aa4a8ec613cc8261e40db897685d75e3d426219ed8d21fa3a6bc72a27a32 sha256sums = bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586
sha256sums = 8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5 sha256sums = 8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5
sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9 sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9
sha256sums = 773b2a7db63dbc38336e04e25d5017a2a02c49e424cfa32beedb4e47a5027d2c sha256sums = ea3322ba02df2ea376132fcb268b66ceede1b582bf6505b47227259b091d39e1
sha256sums = e82ea0c7752b5845655043bb209e39ca3a9fe9c0841b100a5d182261c1ab7068 sha256sums = 80139dc580ca1ccaff3099eff6642311172ae950178aae5838fcfe4474e38f98
pkgname = linux-vfio pkgname = linux-vfio
pkgdesc = The Linux kernel and modules with patches to enable GPU passthrough with KVM pkgdesc = The Linux kernel and modules with patches to enable GPU passthrough with KVM

View File

@ -2,8 +2,8 @@
# Maintainer: Mark Weiman <markzz@archlinux.net> # Maintainer: Mark Weiman <markzz@archlinux.net>
pkgbase=linux-vfio pkgbase=linux-vfio
_srcname=linux-4.11 _srcname=linux-4.12
pkgver=4.11.9 pkgver=4.12.3
pkgrel=1 pkgrel=1
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="http://www.kernel.org/" url="http://www.kernel.org/"
@ -23,16 +23,16 @@ source=("https://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
# patches for pci passthrough # patches for pci passthrough
'add-acs-overrides.patch' 'add-acs-overrides.patch'
'i915-vga-arbiter.patch') 'i915-vga-arbiter.patch')
sha256sums=('b67ecafd0a42b3383bf4d82f0850cbff92a7e72a215a6d02f42ddbafcf42a7d6' sha256sums=('a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab'
'SKIP' 'SKIP'
'a112d1330817bac401dbbd1e2c8aacb1b725bc28239e2ca58281ea3754deceb5' '13ad942e5144acafb849942c320aa6ab887cd2ffbba033c622f7a88eb2c32143'
'SKIP' 'SKIP'
'f330007da72867bb86556d1f8b84b8a4c8148a5ed5195ae25570a5da61428733' 'df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1'
'9dd9aa4a8ec613cc8261e40db897685d75e3d426219ed8d21fa3a6bc72a27a32' 'bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586'
'8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5' '8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5'
'99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9' '99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9'
'773b2a7db63dbc38336e04e25d5017a2a02c49e424cfa32beedb4e47a5027d2c' 'ea3322ba02df2ea376132fcb268b66ceede1b582bf6505b47227259b091d39e1'
'e82ea0c7752b5845655043bb209e39ca3a9fe9c0841b100a5d182261c1ab7068') '80139dc580ca1ccaff3099eff6642311172ae950178aae5838fcfe4474e38f98')
validpgpkeys=( validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman

View File

@ -1,7 +1,7 @@
From f9aad69bb8f781531702883e3c8646d3c0f77d43 Mon Sep 17 00:00:00 2001 From 14fa9884ba1082e0280e8d477e22df917326fca5 Mon Sep 17 00:00:00 2001
From: Mark Weiman <mark.weiman@markzz.com> From: Mark Weiman <mark.weiman@markzz.com>
Date: Sun, 5 Mar 2017 10:47:35 -0500 Date: Sat, 29 Jul 2017 09:15:32 -0400
Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.10+) Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.12+)
This an updated version of Alex Williamson's patch from: This an updated version of Alex Williamson's patch from:
https://lkml.org/lkml/2013/5/30/513 https://lkml.org/lkml/2013/5/30/513
@ -50,10 +50,10 @@ your customers the hassle of this boot option.
2 files changed, 111 insertions(+) 2 files changed, 111 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index be7c0d9506b1..97081bbc9a4e 100644 index 7737ab5d04b2..e7353191fa5c 100644
--- a/Documentation/admin-guide/kernel-parameters.txt --- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -2829,6 +2829,15 @@ @@ -2866,6 +2866,15 @@
nomsi [MSI] If the PCI_MSI kernel config parameter is nomsi [MSI] If the PCI_MSI kernel config parameter is
enabled, this kernel boot option can be used to enabled, this kernel boot option can be used to
disable the use of MSI interrupts system-wide. disable the use of MSI interrupts system-wide.
@ -70,10 +70,10 @@ index be7c0d9506b1..97081bbc9a4e 100644
Safety option to keep boot IRQs enabled. This Safety option to keep boot IRQs enabled. This
should never be necessary. should never be necessary.
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 1800befa8b8b..b8484c732210 100644 index 085fb787aa9e..73a2b4cb61a0 100644
--- a/drivers/pci/quirks.c --- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c
@@ -3605,6 +3605,107 @@ static int __init pci_apply_final_quirks(void) @@ -3654,6 +3654,107 @@ static int __init pci_apply_final_quirks(void)
fs_initcall_sync(pci_apply_final_quirks); fs_initcall_sync(pci_apply_final_quirks);
@ -179,9 +179,9 @@ index 1800befa8b8b..b8484c732210 100644
+} +}
+ +
/* /*
* Followings are device-specific reset methods which can be used to * Following are device-specific reset methods which can be used to
* reset a single function if other methods (e.g. FLR, PM D0->D3) are * reset a single function if other methods (e.g. FLR, PM D0->D3) are
@@ -4278,6 +4379,7 @@ static const struct pci_dev_acs_enabled { @@ -4368,6 +4469,7 @@ static const struct pci_dev_acs_enabled {
{ 0x10df, 0x720, pci_quirk_mf_endpoint_acs }, /* Emulex Skyhawk-R */ { 0x10df, 0x720, pci_quirk_mf_endpoint_acs }, /* Emulex Skyhawk-R */
/* Cavium ThunderX */ /* Cavium ThunderX */
{ PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs }, { PCI_VENDOR_ID_CAVIUM, PCI_ANY_ID, pci_quirk_cavium_acs },
@ -190,5 +190,5 @@ index 1800befa8b8b..b8484c732210 100644
}; };
-- --
2.12.0 2.13.3

View File

@ -1,11 +0,0 @@
--- linux-3.16/include/linux/printk.h.old 2014-08-04 18:48:30.686043266 +0200
+++ linux-3.16/include/linux/printk.h 2014-08-04 18:48:47.706218528 +0200
@@ -37,7 +37,7 @@
#define CONSOLE_LOGLEVEL_SILENT 0 /* Mum's the word */
#define CONSOLE_LOGLEVEL_MIN 1 /* Minimum loglevel we let people use */
#define CONSOLE_LOGLEVEL_QUIET 4 /* Shhh ..., when booted with "quiet" */
-#define CONSOLE_LOGLEVEL_DEFAULT 7 /* anything MORE serious than KERN_DEBUG */
+#define CONSOLE_LOGLEVEL_DEFAULT 4 /* anything MORE serious than KERN_DEBUG */
#define CONSOLE_LOGLEVEL_DEBUG 10 /* issue debug messages */
#define CONSOLE_LOGLEVEL_MOTORMOUTH 15 /* You can't shut this one up */

522
config

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,39 @@
From c3466f73ee88a129b5955d4f2049e79688183e96 Mon Sep 17 00:00:00 2001 From 5c6cb47c8c0fc681c215042b71d7e21814f7f5f5 Mon Sep 17 00:00:00 2001
From: Mark Weiman <mark.weiman@markzz.com> From: Mark Weiman <mark.weiman@markzz.com>
Date: Thu, 22 Jun 2017 21:27:07 -0400 Date: Sat, 29 Jul 2017 11:53:40 -0400
Subject: [PATCH] i915: Add module option to support VGA arbiter on HD devices Subject: [PATCH] i915: Add module option to support VGA arbiter on HD devices
(4.12+)
This is an updated version of Alex Williamson's patch from:
https://lkml.org/lkml/2014/5/9/517
I don't have i915 graphics, so this is completely untested.
Original commit message follows:
---
Commit 81b5c7bc found that the current VGA arbiter support in i915
only works for ancient GMCH-based IGD devices and attempted to update
support for newer HD devices. Unfortunately newer devices cannot
completely opt-out of VGA arbitration like the old devices could.
The VGA I/O space cannot be disabled internally. The only way to
route VGA I/O elsewhere is by disabling I/O at the device PCI command
register. This means that with commit 81b5c7bc and multiple VGA
adapters, the VGA arbiter will report that multiple VGA devices are
participating in arbitration, Xorg will notice this and disable DRI.
Therefore, 81b5c7bc was reverted because DRI is more important than
being correct.
There is however an actual need for i915 to correctly participate in
VGA arbitration; VGA device assignment. If we want to use VFIO to
assign a VGA device to a virtual machine, we need to be able to
access the VGA resources of that device. By adding an i915 module
option we can allow i915 to continue with its charade by default, but
also allow an easy path for users who require working VGA arbitration.
Hopefully Xorg can someday be taught to behave better with multiple
VGA devices.
This also rolls in reverted commit 6e1b4fda, which corrected an
ordering issue with 81b5c7bc by delaying the disabling of VGA memory
until after vgacon->fbcon handoff.
--- ---
drivers/gpu/drm/i915/i915_drv.c | 22 +++++++++++++++++++--- drivers/gpu/drm/i915/i915_drv.c | 22 +++++++++++++++++++---
drivers/gpu/drm/i915/i915_params.c | 5 +++++ drivers/gpu/drm/i915/i915_params.c | 5 +++++
@ -12,10 +43,10 @@ Subject: [PATCH] i915: Add module option to support VGA arbiter on HD devices
5 files changed, 60 insertions(+), 3 deletions(-) 5 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index edacd31ae1a1..c45b8c6e5883 100644 index 6ac8d37e7ab8..7d77b2b9f8c3 100644
--- a/drivers/gpu/drm/i915/i915_drv.c --- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -573,10 +573,20 @@ static int i915_load_modeset_init(struct drm_device *dev) @@ -576,10 +576,20 @@ static int i915_load_modeset_init(struct drm_device *dev)
* If we are a secondary display controller (!PCI_DISPLAY_CLASS_VGA), * If we are a secondary display controller (!PCI_DISPLAY_CLASS_VGA),
* then we do not take part in VGA arbitration and the * then we do not take part in VGA arbitration and the
* vga_client_register() fails with -ENODEV. * vga_client_register() fails with -ENODEV.
@ -39,7 +70,7 @@ index edacd31ae1a1..c45b8c6e5883 100644
intel_register_dsm_handler(); intel_register_dsm_handler();
@@ -619,6 +629,12 @@ static int i915_load_modeset_init(struct drm_device *dev) @@ -621,6 +631,12 @@ static int i915_load_modeset_init(struct drm_device *dev)
if (ret) if (ret)
goto cleanup_gem; goto cleanup_gem;
@ -53,7 +84,7 @@ index edacd31ae1a1..c45b8c6e5883 100644
intel_hpd_init(dev_priv); intel_hpd_init(dev_priv);
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 0e280fbd52f1..f47675d24bf8 100644 index b6a7e363d076..5883c1f98e2d 100644
--- a/drivers/gpu/drm/i915/i915_params.c --- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c +++ b/drivers/gpu/drm/i915/i915_params.c
@@ -51,6 +51,7 @@ struct i915_params i915 __read_mostly = { @@ -51,6 +51,7 @@ struct i915_params i915 __read_mostly = {
@ -64,7 +95,7 @@ index 0e280fbd52f1..f47675d24bf8 100644
.use_mmio_flip = 0, .use_mmio_flip = 0,
.mmio_debug = 0, .mmio_debug = 0,
.verbose_state_checks = 1, .verbose_state_checks = 1,
@@ -192,6 +193,10 @@ module_param_named_unsafe(enable_cmd_parser, i915.enable_cmd_parser, bool, 0400) @@ -194,6 +195,10 @@ module_param_named_unsafe(enable_cmd_parser, i915.enable_cmd_parser, bool, 0400)
MODULE_PARM_DESC(enable_cmd_parser, MODULE_PARM_DESC(enable_cmd_parser,
"Enable command parsing (true=enabled [default], false=disabled)"); "Enable command parsing (true=enabled [default], false=disabled)");
@ -76,22 +107,22 @@ index 0e280fbd52f1..f47675d24bf8 100644
MODULE_PARM_DESC(use_mmio_flip, MODULE_PARM_DESC(use_mmio_flip,
"use MMIO flips (-1=never, 0=driver discretion [default], 1=always)"); "use MMIO flips (-1=never, 0=driver discretion [default], 1=always)");
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 8e433de04679..e3c294cdfebf 100644 index 34148cc8637c..edc38206d360 100644
--- a/drivers/gpu/drm/i915/i915_params.h --- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h +++ b/drivers/gpu/drm/i915/i915_params.h
@@ -61,6 +61,7 @@ struct i915_params { @@ -63,6 +63,7 @@
bool reset; func(bool, reset); \
bool error_capture; func(bool, error_capture); \
bool disable_display; func(bool, disable_display); \
+ bool enable_hd_vgaarb; + func(bool, enable_hd_vgaarb); \
bool verbose_state_checks; func(bool, verbose_state_checks); \
bool nuclear_pageflip; func(bool, nuclear_pageflip); \
bool enable_dp_mst; func(bool, enable_dp_mst); \
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 5370dbec7a7d..f25eb8eea591 100644 index 9106ea32b048..6e9ef6a760dc 100644
--- a/drivers/gpu/drm/i915/intel_display.c --- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c
@@ -16525,6 +16525,37 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv) @@ -14839,6 +14839,37 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv)
POSTING_READ(vga_reg); POSTING_READ(vga_reg);
} }
@ -129,7 +160,7 @@ index 5370dbec7a7d..f25eb8eea591 100644
void intel_modeset_init_hw(struct drm_device *dev) void intel_modeset_init_hw(struct drm_device *dev)
{ {
struct drm_i915_private *dev_priv = to_i915(dev); struct drm_i915_private *dev_priv = to_i915(dev);
@@ -16967,6 +16998,7 @@ void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv) @@ -15291,6 +15322,7 @@ void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv)
if (!(I915_READ(vga_reg) & VGA_DISP_DISABLE)) { if (!(I915_READ(vga_reg) & VGA_DISP_DISABLE)) {
DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n");
i915_disable_vga(dev_priv); i915_disable_vga(dev_priv);
@ -137,7 +168,7 @@ index 5370dbec7a7d..f25eb8eea591 100644
} }
} }
@@ -17296,6 +17328,8 @@ void intel_modeset_cleanup(struct drm_device *dev) @@ -15648,6 +15680,8 @@ void intel_modeset_cleanup(struct drm_device *dev)
{ {
struct drm_i915_private *dev_priv = to_i915(dev); struct drm_i915_private *dev_priv = to_i915(dev);
@ -147,10 +178,10 @@ index 5370dbec7a7d..f25eb8eea591 100644
WARN_ON(!llist_empty(&dev_priv->atomic_helper.free_list)); WARN_ON(!llist_empty(&dev_priv->atomic_helper.free_list));
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 344f238b283f..f70cab001517 100644 index f630c7af5020..60b2b2036d3e 100644
--- a/drivers/gpu/drm/i915/intel_drv.h --- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1240,6 +1240,7 @@ int vlv_get_cck_clock(struct drm_i915_private *dev_priv, @@ -1290,6 +1290,7 @@ int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv,
void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv); void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv);
void lpt_disable_iclkip(struct drm_i915_private *dev_priv); void lpt_disable_iclkip(struct drm_i915_private *dev_priv);
extern const struct drm_plane_funcs intel_plane_funcs; extern const struct drm_plane_funcs intel_plane_funcs;
@ -159,5 +190,5 @@ index 344f238b283f..f70cab001517 100644
unsigned int intel_fb_xy_to_linear(int x, int y, unsigned int intel_fb_xy_to_linear(int x, int y,
const struct intel_plane_state *state, const struct intel_plane_state *state,
-- --
2.13.1 2.13.3