forked from AUR/linux-vfio
Update to 5.3.5-arch1-1
This commit is contained in:
parent
07325f4e70
commit
99af4f87b4
10
.SRCINFO
10
.SRCINFO
@ -1,7 +1,7 @@
|
|||||||
pkgbase = linux-vfio
|
pkgbase = linux-vfio
|
||||||
pkgver = 5.2.14.arch1
|
pkgver = 5.3.5.arch1
|
||||||
pkgrel = 1
|
pkgrel = 1
|
||||||
url = https://git.archlinux.org/linux.git/log/?h=v5.2.14-arch1
|
url = https://git.archlinux.org/linux.git/log/?h=v5.3.5-arch1
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
license = GPL2
|
license = GPL2
|
||||||
makedepends = xmlto
|
makedepends = xmlto
|
||||||
@ -11,7 +11,7 @@ pkgbase = linux-vfio
|
|||||||
makedepends = libelf
|
makedepends = libelf
|
||||||
makedepends = git
|
makedepends = git
|
||||||
options = !strip
|
options = !strip
|
||||||
source = archlinux-linux::git+https://git.archlinux.org/linux.git?signed#tag=v5.2.14-arch1
|
source = archlinux-linux::git+https://git.archlinux.org/linux.git?signed#tag=v5.3.5-arch1
|
||||||
source = config
|
source = config
|
||||||
source = 60-linux.hook
|
source = 60-linux.hook
|
||||||
source = 90-linux.hook
|
source = 90-linux.hook
|
||||||
@ -22,12 +22,12 @@ pkgbase = linux-vfio
|
|||||||
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
|
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
|
||||||
validpgpkeys = 8218F88849AAC522E94CF470A5E9288C4FA415FA
|
validpgpkeys = 8218F88849AAC522E94CF470A5E9288C4FA415FA
|
||||||
sha256sums = SKIP
|
sha256sums = SKIP
|
||||||
sha256sums = e0d0f140128a8574217701e61e874a0a108f3b8cd0f6e35d8b16afe897999f8e
|
sha256sums = 7d09d1d79a4ecb82502b4483cf989ede3f643e05613de45e12563dfe85d80423
|
||||||
sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21
|
sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21
|
||||||
sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919
|
sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919
|
||||||
sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65
|
sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65
|
||||||
sha256sums = dbf4ac4b873ce6972e63b78d74ddba18f2701716163bb7f4b4fe5e909346a6e1
|
sha256sums = dbf4ac4b873ce6972e63b78d74ddba18f2701716163bb7f4b4fe5e909346a6e1
|
||||||
sha256sums = afb4c025d1180c1c8d9419910910f44755a4aefc711c2f0d4fee374d6b33e0d5
|
sha256sums = 3d711ad5eda51c42b20575a66683cd416fe7a02a3162d8a7107f2b2c82d328ce
|
||||||
|
|
||||||
pkgname = linux-vfio
|
pkgname = linux-vfio
|
||||||
pkgdesc = The Linux-vfio kernel and modules
|
pkgdesc = The Linux-vfio kernel and modules
|
||||||
|
6
PKGBUILD
6
PKGBUILD
@ -2,7 +2,7 @@
|
|||||||
# Maintainer: Mark Weiman <markzz@archlinux.net>
|
# Maintainer: Mark Weiman <markzz@archlinux.net>
|
||||||
|
|
||||||
pkgbase=linux-vfio
|
pkgbase=linux-vfio
|
||||||
_srcver=5.2.14-arch1
|
_srcver=5.3.5-arch1
|
||||||
pkgver=${_srcver//-/.}
|
pkgver=${_srcver//-/.}
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
@ -26,12 +26,12 @@ validpgpkeys=(
|
|||||||
'8218F88849AAC522E94CF470A5E9288C4FA415FA' # Jan Alexander Steffens (heftig)
|
'8218F88849AAC522E94CF470A5E9288C4FA415FA' # Jan Alexander Steffens (heftig)
|
||||||
)
|
)
|
||||||
sha256sums=('SKIP'
|
sha256sums=('SKIP'
|
||||||
'e0d0f140128a8574217701e61e874a0a108f3b8cd0f6e35d8b16afe897999f8e'
|
'7d09d1d79a4ecb82502b4483cf989ede3f643e05613de45e12563dfe85d80423'
|
||||||
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
|
'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21'
|
||||||
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
|
'75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919'
|
||||||
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
|
'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65'
|
||||||
'dbf4ac4b873ce6972e63b78d74ddba18f2701716163bb7f4b4fe5e909346a6e1'
|
'dbf4ac4b873ce6972e63b78d74ddba18f2701716163bb7f4b4fe5e909346a6e1'
|
||||||
'afb4c025d1180c1c8d9419910910f44755a4aefc711c2f0d4fee374d6b33e0d5')
|
'3d711ad5eda51c42b20575a66683cd416fe7a02a3162d8a7107f2b2c82d328ce')
|
||||||
|
|
||||||
_kernelname=${pkgbase#linux}
|
_kernelname=${pkgbase#linux}
|
||||||
: ${_kernelname:=-ARCH}
|
: ${_kernelname:=-ARCH}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
From a95d3e5bab8d9d6482e81f1c3ea24c16acb2cb42 Mon Sep 17 00:00:00 2001
|
From 48be7e32f897277d77359e37db452281dd8b3bf8 Mon Sep 17 00:00:00 2001
|
||||||
From: Mark Weiman <mark.weiman@markzz.com>
|
From: Mark Weiman <mark.weiman@markzz.com>
|
||||||
Date: Wed, 12 Dec 2018 10:31:24 -0500
|
Date: Tue, 8 Oct 2019 18:48:25 -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.19)
|
(5.3)
|
||||||
|
|
||||||
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
|
||||||
@ -35,86 +35,18 @@ This also rolls in reverted commit 6e1b4fda, which corrected an
|
|||||||
ordering issue with 81b5c7bc by delaying the disabling of VGA memory
|
ordering issue with 81b5c7bc by delaying the disabling of VGA memory
|
||||||
until after vgacon->fbcon handoff.
|
until after vgacon->fbcon handoff.
|
||||||
---
|
---
|
||||||
drivers/gpu/drm/i915/i915_drv.c | 23 +++++++++++++++----
|
drivers/gpu/drm/i915/display/intel_display.c | 33 ++++++++++++++++++++
|
||||||
drivers/gpu/drm/i915/i915_params.c | 3 +++
|
drivers/gpu/drm/i915/i915_drv.c | 23 +++++++++++---
|
||||||
|
drivers/gpu/drm/i915/i915_params.c | 3 ++
|
||||||
drivers/gpu/drm/i915/i915_params.h | 1 +
|
drivers/gpu/drm/i915/i915_params.h | 1 +
|
||||||
drivers/gpu/drm/i915/intel_display.c | 33 ++++++++++++++++++++++++++++
|
|
||||||
drivers/gpu/drm/i915/intel_drv.h | 1 +
|
drivers/gpu/drm/i915/intel_drv.h | 1 +
|
||||||
5 files changed, 57 insertions(+), 4 deletions(-)
|
5 files changed, 57 insertions(+), 4 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/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
|
||||||
index f8cfd16be534..f5ba210d7b00 100644
|
index 592b92782fab..cafd1396bfcf 100644
|
||||||
--- a/drivers/gpu/drm/i915/i915_drv.c
|
--- a/drivers/gpu/drm/i915/display/intel_display.c
|
||||||
+++ b/drivers/gpu/drm/i915/i915_drv.c
|
+++ b/drivers/gpu/drm/i915/display/intel_display.c
|
||||||
@@ -650,11 +650,20 @@ static int i915_load_modeset_init(struct drm_device *dev)
|
@@ -15751,6 +15751,36 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv)
|
||||||
* 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.
|
|
||||||
+ *
|
|
||||||
+ * NB. The set_decode callback here actually works on GMCH
|
|
||||||
+ * devices, on newer HD devices we can only disable VGA MMIO space.
|
|
||||||
+ * Disabling VGA I/O space requires disabling I/O in the PCI command
|
|
||||||
+ * register. Nonetheless, we like to pretend that we participate in
|
|
||||||
+ * VGA arbitration and can dynamically disable VGA I/O space because
|
|
||||||
+ * this makes X happy, even though it's a complete lie.
|
|
||||||
*/
|
|
||||||
- ret = vga_client_register(pdev, dev_priv, NULL, i915_vga_set_decode);
|
|
||||||
- if (ret && ret != -ENODEV)
|
|
||||||
- goto out;
|
|
||||||
-
|
|
||||||
+ if (!i915_modparams.enable_hd_vgaarb || !HAS_PCH_SPLIT(dev_priv)) {
|
|
||||||
+ ret = vga_client_register(pdev, dev, NULL,
|
|
||||||
+ i915_vga_set_decode);
|
|
||||||
+ if (ret && ret != -ENODEV)
|
|
||||||
+ goto out;
|
|
||||||
+ }
|
|
||||||
intel_register_dsm_handler();
|
|
||||||
|
|
||||||
ret = vga_switcheroo_register_client(pdev, &i915_switcheroo_ops, false);
|
|
||||||
@@ -693,6 +702,12 @@ static int i915_load_modeset_init(struct drm_device *dev)
|
|
||||||
if (ret)
|
|
||||||
goto cleanup_gem;
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ * Must do this after fbcon init so that
|
|
||||||
+ * vgacon_save_screen() works during the handover.
|
|
||||||
+ */
|
|
||||||
+ i915_disable_vga_mem(dev_priv);
|
|
||||||
+
|
|
||||||
/* Only enable hotplug handling once the fbdev is fully set up. */
|
|
||||||
intel_hpd_init(dev_priv);
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
|
|
||||||
index 295e981e4a39..243edeee97dd 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/i915_params.c
|
|
||||||
+++ b/drivers/gpu/drm/i915/i915_params.c
|
|
||||||
@@ -126,6 +126,9 @@ i915_param_named_unsafe(invert_brightness, int, 0600,
|
|
||||||
i915_param_named(disable_display, bool, 0400,
|
|
||||||
"Disable display (default: false)");
|
|
||||||
|
|
||||||
+i915_param_named(enable_hd_vgaarb, bool, 0444,
|
|
||||||
+ "Enable support for VGA arbitration on Intel HD IGD. (default: false)");
|
|
||||||
+
|
|
||||||
i915_param_named(mmio_debug, int, 0600,
|
|
||||||
"Enable the MMIO debug code for the first N failures (default: off). "
|
|
||||||
"This may negatively affect performance.");
|
|
||||||
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
|
|
||||||
index 6c4d4a21474b..72b9bca3cc14 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/i915_params.h
|
|
||||||
+++ b/drivers/gpu/drm/i915/i915_params.h
|
|
||||||
@@ -57,6 +57,7 @@ struct drm_printer;
|
|
||||||
param(unsigned int, inject_load_failure, 0) \
|
|
||||||
/* leave bools at the end to not create holes */ \
|
|
||||||
param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \
|
|
||||||
+ param(bool, enable_hd_vgaarb, false) \
|
|
||||||
param(bool, enable_hangcheck, true) \
|
|
||||||
param(bool, fastboot, false) \
|
|
||||||
param(bool, prefault_disable, false) \
|
|
||||||
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
|
|
||||||
index 3bd44d042a1d..b1aaa966679b 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/intel_display.c
|
|
||||||
+++ b/drivers/gpu/drm/i915/intel_display.c
|
|
||||||
@@ -15025,6 +15025,36 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv)
|
|
||||||
POSTING_READ(vga_reg);
|
POSTING_READ(vga_reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,7 +83,7 @@ index 3bd44d042a1d..b1aaa966679b 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);
|
||||||
@@ -15540,6 +15570,7 @@ void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv)
|
@@ -16395,6 +16425,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);
|
||||||
@ -159,7 +91,7 @@ index 3bd44d042a1d..b1aaa966679b 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -15946,6 +15977,8 @@ void intel_modeset_cleanup(struct drm_device *dev)
|
@@ -16870,6 +16901,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);
|
||||||
|
|
||||||
@ -168,11 +100,79 @@ index 3bd44d042a1d..b1aaa966679b 100644
|
|||||||
flush_workqueue(dev_priv->modeset_wq);
|
flush_workqueue(dev_priv->modeset_wq);
|
||||||
|
|
||||||
flush_work(&dev_priv->atomic_helper.free_work);
|
flush_work(&dev_priv->atomic_helper.free_work);
|
||||||
|
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
|
||||||
|
index bac1ee94f63f..5b10c950b70d 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/i915_drv.c
|
||||||
|
+++ b/drivers/gpu/drm/i915/i915_drv.c
|
||||||
|
@@ -697,11 +697,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.
|
||||||
|
+ *
|
||||||
|
+ * NB. The set_decode callback here actually works on GMCH
|
||||||
|
+ * devices, on newer HD devices we can only disable VGA MMIO space.
|
||||||
|
+ * Disabling VGA I/O space requires disabling I/O in the PCI command
|
||||||
|
+ * register. Nonetheless, we like to pretend that we participate in
|
||||||
|
+ * VGA arbitration and can dynamically disable VGA I/O space because
|
||||||
|
+ * this makes X happy, even though it's a complete lie.
|
||||||
|
*/
|
||||||
|
- ret = vga_client_register(pdev, dev_priv, NULL, i915_vga_set_decode);
|
||||||
|
- if (ret && ret != -ENODEV)
|
||||||
|
- goto out;
|
||||||
|
-
|
||||||
|
+ if (!i915_modparams.enable_hd_vgaarb || !HAS_PCH_SPLIT(dev_priv)) {
|
||||||
|
+ ret = vga_client_register(pdev, dev, NULL,
|
||||||
|
+ i915_vga_set_decode);
|
||||||
|
+ if (ret && ret != -ENODEV)
|
||||||
|
+ goto out;
|
||||||
|
+ }
|
||||||
|
intel_register_dsm_handler();
|
||||||
|
|
||||||
|
ret = vga_switcheroo_register_client(pdev, &i915_switcheroo_ops, false);
|
||||||
|
@@ -740,6 +749,12 @@ static int i915_load_modeset_init(struct drm_device *dev)
|
||||||
|
if (ret)
|
||||||
|
goto cleanup_gem;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * Must do this after fbcon init so that
|
||||||
|
+ * vgacon_save_screen() works during the handover.
|
||||||
|
+ */
|
||||||
|
+ i915_disable_vga_mem(dev_priv);
|
||||||
|
+
|
||||||
|
/* Only enable hotplug handling once the fbdev is fully set up. */
|
||||||
|
intel_hpd_init(dev_priv);
|
||||||
|
|
||||||
|
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
|
||||||
|
index 5b07766a1c26..fb63f4c863db 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/i915_params.c
|
||||||
|
+++ b/drivers/gpu/drm/i915/i915_params.c
|
||||||
|
@@ -127,6 +127,9 @@ i915_param_named_unsafe(invert_brightness, int, 0600,
|
||||||
|
i915_param_named(disable_display, bool, 0400,
|
||||||
|
"Disable display (default: false)");
|
||||||
|
|
||||||
|
+i915_param_named(enable_hd_vgaarb, bool, 0444,
|
||||||
|
+ "Enable support for VGA arbitration on Intel HD IGD. (default: false)");
|
||||||
|
+
|
||||||
|
i915_param_named(mmio_debug, int, 0600,
|
||||||
|
"Enable the MMIO debug code for the first N failures (default: off). "
|
||||||
|
"This may negatively affect performance.");
|
||||||
|
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
|
||||||
|
index a4770ce46bd2..8f836ff6e2e8 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/i915_params.h
|
||||||
|
+++ b/drivers/gpu/drm/i915/i915_params.h
|
||||||
|
@@ -67,6 +67,7 @@ struct drm_printer;
|
||||||
|
param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
|
||||||
|
/* leave bools at the end to not create holes */ \
|
||||||
|
param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \
|
||||||
|
+ param(bool, enable_hd_vgaarb, false) \
|
||||||
|
param(bool, enable_hangcheck, true) \
|
||||||
|
param(bool, prefault_disable, false) \
|
||||||
|
param(bool, load_detect_test, false) \
|
||||||
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 8fc61e96754f..c1271e41e592 100644
|
index f11979879e7b..06cefd0218a5 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
|
||||||
@@ -1486,6 +1486,7 @@ int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv,
|
@@ -1457,6 +1457,7 @@ int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv,
|
||||||
const char *name, u32 reg);
|
const char *name, u32 reg);
|
||||||
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);
|
||||||
@ -181,5 +181,5 @@ index 8fc61e96754f..c1271e41e592 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.20.0
|
2.23.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user