1
0
mirror of https://aur.archlinux.org/linux-vfio.git synced 2024-12-26 04:24:09 +00:00

Update to 4.13.3-1

This commit is contained in:
Mark Weiman 2017-09-29 19:11:59 -04:00
parent d88aeb94d3
commit 7e958cf5aa
6 changed files with 462 additions and 795 deletions

View File

@ -1,7 +1,7 @@
# Generated by mksrcinfo v8 # Generated by mksrcinfo v8
# Fri Sep 15 19:01:12 UTC 2017 # Fri Sep 29 23:11:40 UTC 2017
pkgbase = linux-vfio pkgbase = linux-vfio
pkgver = 4.12.13 pkgver = 4.13.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.12.tar.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.13.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/linux-4.13.tar.sign
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.13.xz source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.13.3.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.12.13.sign source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.13.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 = a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab sha256sums = 2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c
sha256sums = SKIP sha256sums = SKIP
sha256sums = 320e1e7226b9a18db539b64aae08cf4b11349670525363c1df64f09dbb88b7bd sha256sums = bfebd5121512f76ed835223679fc11fc7826aabc31233cefb522e0e1b515d3fe
sha256sums = SKIP sha256sums = SKIP
sha256sums = df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1 sha256sums = 73278ee56c5d3855e67ff50caa77a7cb47fb29ebd8f9b7ca9ebee4e2d446529c
sha256sums = bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586 sha256sums = 1b9cbe1c25653d563515344a7c6cc9f79447ac9274fcf4de0007228e979b55dd
sha256sums = 8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5 sha256sums = 8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5
sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9 sha256sums = 99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9
sha256sums = ea3322ba02df2ea376132fcb268b66ceede1b582bf6505b47227259b091d39e1 sha256sums = 05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea
sha256sums = 80139dc580ca1ccaff3099eff6642311172ae950178aae5838fcfe4474e38f98 sha256sums = 19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236
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.12 _srcname=linux-4.13
pkgver=4.12.13 pkgver=4.13.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=('a45c3becd4d08ce411c14628a949d08e2433d8cdeca92036c7013980e93858ab' sha256sums=('2db3d6066c3ad93eb25b973a3d2951e022a7e975ee2fa7cbe5bddf84d9a49a2c'
'SKIP' 'SKIP'
'320e1e7226b9a18db539b64aae08cf4b11349670525363c1df64f09dbb88b7bd' 'bfebd5121512f76ed835223679fc11fc7826aabc31233cefb522e0e1b515d3fe'
'SKIP' 'SKIP'
'df55887a43dcbb6bd35fd2fb1ec841427b6ea827334c0880cbc256d4f042a7a1' '73278ee56c5d3855e67ff50caa77a7cb47fb29ebd8f9b7ca9ebee4e2d446529c'
'bf84528c592d1841bba0662242f0339a24a1de384c31f28248631e8be9446586' '1b9cbe1c25653d563515344a7c6cc9f79447ac9274fcf4de0007228e979b55dd'
'8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5' '8f407ad5ff6eff106562ba001c36a281134ac9aa468a596aea660a4fe1fd60b5'
'99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9' '99d0102c8065793096b8ea2ccc01c41fa3dcb96855f9f6f2c583b2372208c6f9'
'ea3322ba02df2ea376132fcb268b66ceede1b582bf6505b47227259b091d39e1' '05467ff4108e13c8a1fed9e2cc5b4e7b50c83e97e39b82d5478ea89b4af475ea'
'80139dc580ca1ccaff3099eff6642311172ae950178aae5838fcfe4474e38f98') '19fd3b81b4b081ceb100c89fb6bab012a8d708da6ca8cee53d771abca4770236')
validpgpkeys=( validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman

View File

@ -1,7 +1,7 @@
From 14fa9884ba1082e0280e8d477e22df917326fca5 Mon Sep 17 00:00:00 2001 From 9c86ad69c5c974e229de02c8cdf32120e302269d Mon Sep 17 00:00:00 2001
From: Mark Weiman <mark.weiman@markzz.com> From: Mark Weiman <mark.weiman@markzz.com>
Date: Sat, 29 Jul 2017 09:15:32 -0400 Date: Fri, 29 Sep 2017 17:20:25 -0400
Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.12+) Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.13+)
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
@ -46,14 +46,14 @@ capability. Please contact me to have your devices added and save
your customers the hassle of this boot option. your customers the hassle of this boot option.
--- ---
Documentation/admin-guide/kernel-parameters.txt | 9 +++ Documentation/admin-guide/kernel-parameters.txt | 9 +++
drivers/pci/quirks.c | 102 ++++++++++++++++++++++++ drivers/pci/quirks.c | 101 ++++++++++++++++++++++++
2 files changed, 111 insertions(+) 2 files changed, 110 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 7737ab5d04b2..e7353191fa5c 100644 index d9c171ce4190..e1d4b9cdfc8d 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
@@ -2866,6 +2866,15 @@ @@ -2914,6 +2914,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.
@ -61,19 +61,19 @@ index 7737ab5d04b2..e7353191fa5c 100644
+ [PCIE] Override missing PCIe ACS support for: + [PCIE] Override missing PCIe ACS support for:
+ downstream + downstream
+ All downstream ports - full ACS capabilities + All downstream ports - full ACS capabilities
+ multfunction + multifunction
+ All multifunction devices - multifunction ACS subset + Add multifunction devices - multifunction ACS subset
+ id:nnnn:nnnn + id:nnnn:nnnn
+ Specfic device - full ACS capabilities + Specific device - full ACS capabilities
+ Specified as vid:did (vendor/device ID) in hex + Specified as vid:did (vendor/device ID) in hex
noioapicquirk [APIC] Disable all boot interrupt quirks. noioapicquirk [APIC] Disable all boot interrupt quirks.
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 085fb787aa9e..73a2b4cb61a0 100644 index 140760403f36..01398d2d0e47 100644
--- a/drivers/pci/quirks.c --- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c
@@ -3654,6 +3654,107 @@ static int __init pci_apply_final_quirks(void) @@ -3671,6 +3671,106 @@ static int __init pci_apply_final_quirks(void)
fs_initcall_sync(pci_apply_final_quirks); fs_initcall_sync(pci_apply_final_quirks);
@ -117,11 +117,10 @@ index 085fb787aa9e..73a2b4cb61a0 100644
+ goto next; + goto next;
+ } + }
+ acs_on_ids[max_acs_id].vendor = val; + acs_on_ids[max_acs_id].vendor = val;
+ + p += strcspn(p, ":");
+ p += strcspn(p, ":"); + if (*p != ';') {
+ if (*p != ';') { + pr_warn("PCIe ACS invalid ID\n");
+ pr_warn("PCIe ACS invalid ID\n"); + goto next;
+ goto next;
+ } + }
+ +
+ p++; + p++;
@ -161,7 +160,7 @@ index 085fb787aa9e..73a2b4cb61a0 100644
+ acs_on_ids[i].device == dev->device) + acs_on_ids[i].device == dev->device)
+ return 1; + return 1;
+ +
+ switch (pci_pcie_type(dev)) { +switch (pci_pcie_type(dev)) {
+ case PCI_EXP_TYPE_DOWNSTREAM: + case PCI_EXP_TYPE_DOWNSTREAM:
+ case PCI_EXP_TYPE_ROOT_PORT: + case PCI_EXP_TYPE_ROOT_PORT:
+ if (acs_on_downstream) + if (acs_on_downstream)
@ -181,7 +180,7 @@ index 085fb787aa9e..73a2b4cb61a0 100644
/* /*
* Following 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
@@ -4368,6 +4469,7 @@ static const struct pci_dev_acs_enabled { @@ -4474,6 +4574,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 +189,5 @@ index 085fb787aa9e..73a2b4cb61a0 100644
}; };
-- --
2.13.3 2.14.2

596
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,8 @@
From 5c6cb47c8c0fc681c215042b71d7e21814f7f5f5 Mon Sep 17 00:00:00 2001 From db04b56b1238755405312341055a3d64d4ea1858 Mon Sep 17 00:00:00 2001
From: Mark Weiman <mark.weiman@markzz.com> From: Mark Weiman <mark.weiman@markzz.com>
Date: Sat, 29 Jul 2017 11:53:40 -0400 Date: Fri, 29 Sep 2017 17:34:27 -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+) (4.13+)
This is an updated version of Alex Williamson's patch from: This is an updated version of Alex Williamson's patch from:
https://lkml.org/lkml/2014/5/9/517 https://lkml.org/lkml/2014/5/9/517
@ -43,10 +43,10 @@ until after vgacon->fbcon handoff.
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 6ac8d37e7ab8..7d77b2b9f8c3 100644 index fc307e03943c..742039c1f1c7 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
@@ -576,10 +576,20 @@ static int i915_load_modeset_init(struct drm_device *dev) @@ -614,10 +614,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.
@ -70,7 +70,7 @@ index 6ac8d37e7ab8..7d77b2b9f8c3 100644
intel_register_dsm_handler(); intel_register_dsm_handler();
@@ -621,6 +631,12 @@ static int i915_load_modeset_init(struct drm_device *dev) @@ -659,6 +669,12 @@ static int i915_load_modeset_init(struct drm_device *dev)
if (ret) if (ret)
goto cleanup_gem; goto cleanup_gem;
@ -119,10 +119,10 @@ index 34148cc8637c..edc38206d360 100644
func(bool, nuclear_pageflip); \ func(bool, nuclear_pageflip); \
func(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 9106ea32b048..6e9ef6a760dc 100644 index cc484b56eeaa..1d0e504f32ee 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
@@ -14839,6 +14839,37 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv) @@ -14883,6 +14883,37 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv)
POSTING_READ(vga_reg); POSTING_READ(vga_reg);
} }
@ -160,7 +160,7 @@ index 9106ea32b048..6e9ef6a760dc 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);
@@ -15291,6 +15322,7 @@ void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv) @@ -15381,6 +15412,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);
@ -168,7 +168,7 @@ index 9106ea32b048..6e9ef6a760dc 100644
} }
} }
@@ -15648,6 +15680,8 @@ void intel_modeset_cleanup(struct drm_device *dev) @@ -15732,6 +15764,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);
@ -178,10 +178,10 @@ index 9106ea32b048..6e9ef6a760dc 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 f630c7af5020..60b2b2036d3e 100644 index d93efb49a2e2..cdd474ba61f9 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
@@ -1290,6 +1290,7 @@ int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv, @@ -1336,6 +1336,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;
@ -190,5 +190,5 @@ index f630c7af5020..60b2b2036d3e 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.3 2.14.2