forked from AUR/linux-vfio
Update to 4.12.3-1
This commit is contained in:
parent
5ad6fc6559
commit
f4a639e5fc
24
.SRCINFO
24
.SRCINFO
@ -1,7 +1,7 @@
|
||||
# Generated by mksrcinfo v8
|
||||
# Tue Jul 18 16:50:45 UTC 2017
|
||||
# Sat Jul 29 23:38:53 UTC 2017
|
||||
pkgbase = linux-vfio
|
||||
pkgver = 4.11.9
|
||||
pkgver = 4.12.3
|
||||
pkgrel = 1
|
||||
url = http://www.kernel.org/
|
||||
arch = i686
|
||||
@ -14,26 +14,26 @@ pkgbase = linux-vfio
|
||||
makedepends = bc
|
||||
makedepends = libelf
|
||||
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.11.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.11.9.sign
|
||||
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.12.tar.sign
|
||||
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.12.3.sign
|
||||
source = config
|
||||
source = config.x86_64
|
||||
source = 90-linux.hook
|
||||
source = linux.preset
|
||||
source = add-acs-overrides.patch
|
||||
source = i915-vga-arbiter.patch
|
||||
sha256sums = b67ecafd0a42b3383bf4d82f0850cbff92a7e72a215a6d02f42ddbafcf42a7d6
|
||||
sha256sums = a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab
|
||||
sha256sums = SKIP
|
||||
sha256sums = a112d1330817bac401dbbd1e2c8aacb1b725bc28239e2ca58281ea3754deceb5
|
||||
sha256sums = 13ad942e5144acafb849942c320aa6ab887cd2ffbba033c622f7a88eb2c32143
|
||||
sha256sums = SKIP
|
||||
sha256sums = f330007da72867bb86556d1f8b84b8a4c8148a5ed5195ae25570a5da61428733
|
||||
sha256sums = 9dd9aa4a8ec613cc8261e40db897685d75e3d426219ed8d21fa3a6bc72a27a32
|
||||
sha256sums = df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1
|
||||
sha256sums = bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586
|
||||
sha256sums = 8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5
|
||||
sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9
|
||||
sha256sums = 773b2a7db63dbc38336e04e25d5017a2a02c49e424cfa32beedb4e47a5027d2c
|
||||
sha256sums = e82ea0c7752b5845655043bb209e39ca3a9fe9c0841b100a5d182261c1ab7068
|
||||
sha256sums = ea3322ba02df2ea376132fcb268b66ceede1b582bf6505b47227259b091d39e1
|
||||
sha256sums = 80139dc580ca1ccaff3099eff6642311172ae950178aae5838fcfe4474e38f98
|
||||
|
||||
pkgname = linux-vfio
|
||||
pkgdesc = The Linux kernel and modules with patches to enable GPU passthrough with KVM
|
||||
|
16
PKGBUILD
16
PKGBUILD
@ -2,8 +2,8 @@
|
||||
# Maintainer: Mark Weiman <markzz@archlinux.net>
|
||||
|
||||
pkgbase=linux-vfio
|
||||
_srcname=linux-4.11
|
||||
pkgver=4.11.9
|
||||
_srcname=linux-4.12
|
||||
pkgver=4.12.3
|
||||
pkgrel=1
|
||||
arch=('i686' 'x86_64')
|
||||
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
|
||||
'add-acs-overrides.patch'
|
||||
'i915-vga-arbiter.patch')
|
||||
sha256sums=('b67ecafd0a42b3383bf4d82f0850cbff92a7e72a215a6d02f42ddbafcf42a7d6'
|
||||
sha256sums=('a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab'
|
||||
'SKIP'
|
||||
'a112d1330817bac401dbbd1e2c8aacb1b725bc28239e2ca58281ea3754deceb5'
|
||||
'13ad942e5144acafb849942c320aa6ab887cd2ffbba033c622f7a88eb2c32143'
|
||||
'SKIP'
|
||||
'f330007da72867bb86556d1f8b84b8a4c8148a5ed5195ae25570a5da61428733'
|
||||
'9dd9aa4a8ec613cc8261e40db897685d75e3d426219ed8d21fa3a6bc72a27a32'
|
||||
'df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1'
|
||||
'bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586'
|
||||
'8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5'
|
||||
'99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9'
|
||||
'773b2a7db63dbc38336e04e25d5017a2a02c49e424cfa32beedb4e47a5027d2c'
|
||||
'e82ea0c7752b5845655043bb209e39ca3a9fe9c0841b100a5d182261c1ab7068')
|
||||
'ea3322ba02df2ea376132fcb268b66ceede1b582bf6505b47227259b091d39e1'
|
||||
'80139dc580ca1ccaff3099eff6642311172ae950178aae5838fcfe4474e38f98')
|
||||
validpgpkeys=(
|
||||
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
|
||||
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
|
||||
|
@ -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>
|
||||
Date: Sun, 5 Mar 2017 10:47:35 -0500
|
||||
Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.10+)
|
||||
Date: Sat, 29 Jul 2017 09:15:32 -0400
|
||||
Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.12+)
|
||||
|
||||
This an updated version of Alex Williamson's patch from:
|
||||
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(+)
|
||||
|
||||
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
|
||||
+++ 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
|
||||
enabled, this kernel boot option can be used to
|
||||
disable the use of MSI interrupts system-wide.
|
||||
@ -70,10 +70,10 @@ index be7c0d9506b1..97081bbc9a4e 100644
|
||||
Safety option to keep boot IRQs enabled. This
|
||||
should never be necessary.
|
||||
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
|
||||
+++ 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);
|
||||
|
||||
@ -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
|
||||
@@ -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 */
|
||||
/* Cavium ThunderX */
|
||||
{ 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
|
||||
|
||||
|
@ -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 */
|
||||
|
485
config.x86_64
485
config.x86_64
File diff suppressed because it is too large
Load Diff
@ -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>
|
||||
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
|
||||
(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_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(-)
|
||||
|
||||
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
|
||||
+++ 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),
|
||||
* then we do not take part in VGA arbitration and the
|
||||
* vga_client_register() fails with -ENODEV.
|
||||
@ -39,7 +70,7 @@ index edacd31ae1a1..c45b8c6e5883 100644
|
||||
|
||||
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)
|
||||
goto cleanup_gem;
|
||||
|
||||
@ -53,7 +84,7 @@ index edacd31ae1a1..c45b8c6e5883 100644
|
||||
intel_hpd_init(dev_priv);
|
||||
|
||||
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
|
||||
+++ b/drivers/gpu/drm/i915/i915_params.c
|
||||
@@ -51,6 +51,7 @@ struct i915_params i915 __read_mostly = {
|
||||
@ -64,7 +95,7 @@ index 0e280fbd52f1..f47675d24bf8 100644
|
||||
.use_mmio_flip = 0,
|
||||
.mmio_debug = 0,
|
||||
.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,
|
||||
"Enable command parsing (true=enabled [default], false=disabled)");
|
||||
|
||||
@ -76,22 +107,22 @@ index 0e280fbd52f1..f47675d24bf8 100644
|
||||
MODULE_PARM_DESC(use_mmio_flip,
|
||||
"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
|
||||
index 8e433de04679..e3c294cdfebf 100644
|
||||
index 34148cc8637c..edc38206d360 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_params.h
|
||||
+++ b/drivers/gpu/drm/i915/i915_params.h
|
||||
@@ -61,6 +61,7 @@ struct i915_params {
|
||||
bool reset;
|
||||
bool error_capture;
|
||||
bool disable_display;
|
||||
+ bool enable_hd_vgaarb;
|
||||
bool verbose_state_checks;
|
||||
bool nuclear_pageflip;
|
||||
bool enable_dp_mst;
|
||||
@@ -63,6 +63,7 @@
|
||||
func(bool, reset); \
|
||||
func(bool, error_capture); \
|
||||
func(bool, disable_display); \
|
||||
+ func(bool, enable_hd_vgaarb); \
|
||||
func(bool, verbose_state_checks); \
|
||||
func(bool, nuclear_pageflip); \
|
||||
func(bool, enable_dp_mst); \
|
||||
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
|
||||
+++ 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);
|
||||
}
|
||||
|
||||
@ -129,7 +160,7 @@ index 5370dbec7a7d..f25eb8eea591 100644
|
||||
void intel_modeset_init_hw(struct drm_device *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)) {
|
||||
DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n");
|
||||
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);
|
||||
|
||||
@ -147,10 +178,10 @@ index 5370dbec7a7d..f25eb8eea591 100644
|
||||
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
|
||||
index 344f238b283f..f70cab001517 100644
|
||||
index f630c7af5020..60b2b2036d3e 100644
|
||||
--- a/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_iclkip(struct drm_i915_private *dev_priv);
|
||||
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,
|
||||
const struct intel_plane_state *state,
|
||||
--
|
||||
2.13.1
|
||||
2.13.3
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user