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

Update to 5.19.12.arch1-1

This commit is contained in:
Mark King 2022-09-29 14:45:39 -04:00
parent c895812ae9
commit c863fd2acb
4 changed files with 858 additions and 585 deletions

View File

@ -1,12 +1,11 @@
pkgbase = linux-vfio pkgbase = linux-vfio
pkgdesc = Linux pkgdesc = Linux
pkgver = 5.17.4.arch1 pkgver = 5.19.12.arch1
pkgrel = 1 pkgrel = 1
url = https://github.com/archlinux/linux/commits/v5.17.4-arch1 url = https://github.com/archlinux/linux/commits/v5.19.12-arch1
arch = x86_64 arch = x86_64
license = GPL2 license = GPL2
makedepends = bc makedepends = bc
makedepends = kmod
makedepends = libelf makedepends = libelf
makedepends = pahole makedepends = pahole
makedepends = cpio makedepends = cpio
@ -18,9 +17,10 @@ pkgbase = linux-vfio
makedepends = python-sphinx_rtd_theme makedepends = python-sphinx_rtd_theme
makedepends = graphviz makedepends = graphviz
makedepends = imagemagick makedepends = imagemagick
makedepends = texlive-latexextra
makedepends = git makedepends = git
options = !strip options = !strip
source = archlinux-linux::git+https://github.com/archlinux/linux?signed#tag=v5.17.4-arch1 source = archlinux-linux::git+https://github.com/archlinux/linux?signed#tag=v5.19.12-arch1
source = config source = config
source = add-acs-overrides.patch source = add-acs-overrides.patch
source = i915-vga-arbiter.patch source = i915-vga-arbiter.patch
@ -29,16 +29,16 @@ pkgbase = linux-vfio
validpgpkeys = A2FF3A36AAA56654109064AB19802F8B0D70FC30 validpgpkeys = A2FF3A36AAA56654109064AB19802F8B0D70FC30
validpgpkeys = C7E7849466FE2358343588377258734B41C31549 validpgpkeys = C7E7849466FE2358343588377258734B41C31549
sha256sums = SKIP sha256sums = SKIP
sha256sums = 3f02a0f2fe820f678d15fb0efce04e3716bdc7590d452317bf1b0b63f3b31cd2 sha256sums = 1e07bdd94abe73ac2074b151729cd9b73c7fa7a615a3a331a89dcb0da42649f8
sha256sums = b90be7b79652be61f7d50691000f6a8c75a240dc2eee2667b68d984f67583f77 sha256sums = b90be7b79652be61f7d50691000f6a8c75a240dc2eee2667b68d984f67583f77
sha256sums = d502ffaea89becded796ba79b7ff5aded8e5f86a479161c89214848871e49ed1 sha256sums = 5092c62db5ca8f6b806996ba3db0f610d9ad73d499384394e16823dda097f9cd
pkgname = linux-vfio pkgname = linux-vfio
pkgdesc = The Linux kernel and modules pkgdesc = The Linux kernel and modules
depends = coreutils depends = coreutils
depends = kmod depends = kmod
depends = initramfs depends = initramfs
optdepends = crda: to set the correct wireless channels of your country optdepends = wireless-regdb: to set the correct wireless channels of your country
optdepends = linux-firmware: firmware images needed for some devices optdepends = linux-firmware: firmware images needed for some devices
provides = VIRTUALBOX-GUEST-MODULES provides = VIRTUALBOX-GUEST-MODULES
provides = WIREGUARD-MODULE provides = WIREGUARD-MODULE

View File

@ -4,7 +4,7 @@
# Upstream: Jan Alexander Steffens (heftig) <heftig@archlinux.org> # Upstream: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
pkgbase=linux-vfio pkgbase=linux-vfio
pkgver=5.17.4.arch1 pkgver=5.19.12.arch1
pkgrel=1 pkgrel=1
pkgdesc='Linux' pkgdesc='Linux'
_srctag=v${pkgver%.*}-${pkgver##*.} _srctag=v${pkgver%.*}-${pkgver##*.}
@ -12,8 +12,8 @@ url="https://github.com/archlinux/linux/commits/$_srctag"
arch=(x86_64) arch=(x86_64)
license=(GPL2) license=(GPL2)
makedepends=( makedepends=(
bc kmod libelf pahole cpio perl tar xz bc libelf pahole cpio perl tar xz
xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick texlive-latexextra
git git
) )
options=('!strip') options=('!strip')
@ -28,12 +28,12 @@ validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
'A2FF3A36AAA56654109064AB19802F8B0D70FC30' # Jan Alexander Steffens (heftig) 'A2FF3A36AAA56654109064AB19802F8B0D70FC30' # Jan Alexander Steffens (heftig)
'C7E7849466FE2358343588377258734B41C31549' # David Runge <dvzrv@archlinux.org> 'C7E7849466FE2358343588377258734B41C31549' # David Runge <dvzrv@archlinux.org>
) )
sha256sums=('SKIP' sha256sums=('SKIP'
'3f02a0f2fe820f678d15fb0efce04e3716bdc7590d452317bf1b0b63f3b31cd2' '1e07bdd94abe73ac2074b151729cd9b73c7fa7a615a3a331a89dcb0da42649f8'
'b90be7b79652be61f7d50691000f6a8c75a240dc2eee2667b68d984f67583f77' 'b90be7b79652be61f7d50691000f6a8c75a240dc2eee2667b68d984f67583f77'
'd502ffaea89becded796ba79b7ff5aded8e5f86a479161c89214848871e49ed1') '5092c62db5ca8f6b806996ba3db0f610d9ad73d499384394e16823dda097f9cd')
export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_USER=$pkgbase
@ -67,14 +67,13 @@ prepare() {
build() { build() {
cd $_srcname cd $_srcname
make all make htmldocs all
make htmldocs
} }
_package() { _package() {
pkgdesc="The $pkgdesc kernel and modules" pkgdesc="The $pkgdesc kernel and modules"
depends=(coreutils kmod initramfs) depends=(coreutils kmod initramfs)
optdepends=('crda: to set the correct wireless channels of your country' optdepends=('wireless-regdb: to set the correct wireless channels of your country'
'linux-firmware: firmware images needed for some devices') 'linux-firmware: firmware images needed for some devices')
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE)
replaces=(virtualbox-guest-modules-arch wireguard-arch) replaces=(virtualbox-guest-modules-arch wireguard-arch)
@ -92,7 +91,8 @@ _package() {
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
echo "Installing modules..." echo "Installing modules..."
make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
DEPMOD=/doesnt/exist modules_install # Suppress depmod
# remove build and source links # remove build and source links
rm "$modulesdir"/{source,build} rm "$modulesdir"/{source,build}

1283
config

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,9 @@
From a59b6ecac96eab5e80fa5ee918ddbc8e2fad3a7a Mon Sep 17 00:00:00 2001 From 07af9476bf0b340df883f558a5c5c1ecad05b406 Mon Sep 17 00:00:00 2001
From: Mark Weiman <mark.weiman@markzz.com> From: Mark King <mweiman@merit.edu>
Date: Wed, 27 Jan 2021 13:28:46 -0500 Date: Thu, 29 Sep 2022 10:30:20 -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
(5.14) (5.19)
Updated version of Mark Weiman's i915 patch for 5.14.
Original patch messages follow.
---
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
@ -40,74 +36,74 @@ 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/display/intel_display.c | 15 +++++++-- drivers/gpu/drm/i915/display/intel_display.c | 15 ++++++++--
drivers/gpu/drm/i915/display/intel_display.h | 1 + drivers/gpu/drm/i915/display/intel_display.h | 1 +
drivers/gpu/drm/i915/display/intel_vga.c | 32 ++++++++++++++++++++ drivers/gpu/drm/i915/display/intel_vga.c | 31 ++++++++++++++++++++
drivers/gpu/drm/i915/display/intel_vga.h | 4 +++ drivers/gpu/drm/i915/display/intel_vga.h | 4 +++
drivers/gpu/drm/i915/i915_params.c | 3 ++ drivers/gpu/drm/i915/i915_params.c | 3 ++
drivers/gpu/drm/i915/i915_params.h | 1 + drivers/gpu/drm/i915/i915_params.h | 1 +
6 files changed, 53 insertions(+), 3 deletions(-) 6 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index aabf09f89cad..528c6886a0b5 100644 index 806d50b302ab..8b07e45c9693 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c --- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -12304,9 +12304,11 @@ @@ -9581,9 +9581,11 @@ int intel_modeset_init_noirq(struct drm_i915_private *i915)
intel_bios_init(i915); intel_bios_init(i915);
- ret = intel_vga_register(i915); - ret = intel_vga_register(i915);
- if (ret) - if (ret)
+ if (!i915_modparams.enable_hd_vgaarb || !HAS_PCH_SPLIT(i915)) { - goto cleanup_bios;
+ ret = intel_vga_register(i915); + if (!i915_modparams.enable_hd_vgaarb || !HAS_PCH_SPLIT(i915)) {
+ if (ret) + ret = intel_vga_register(i915);
goto cleanup_bios; + if (ret)
+ } + goto cleanup_bios;
+ }
/* FIXME: completely on the wrong abstraction layer */ /* FIXME: completely on the wrong abstraction layer */
intel_power_domains_init_hw(i915, false); intel_power_domains_init_hw(i915, false);
@@ -12476,6 +12478,12 @@ @@ -9734,6 +9736,12 @@ int intel_modeset_init(struct drm_i915_private *i915)
if (ret) if (ret)
return ret; return ret;
+ /* + /*
+ * Must do this after fbcon init so that + * Must do this after fbcon init so that
+ * vgacon_save_screen() works during the handover. + * vgacon_save_screen() works during the handover.
+ */ + */
+ intel_vga_disable_mem(i915); + intel_vga_disable_mem(i915);
+ +
/* Only enable hotplug handling once the fbdev is fully set up. */ /* Only enable hotplug handling once the fbdev is fully set up. */
intel_hpd_init(i915); intel_hpd_init(i915);
intel_hpd_poll_disable(i915); intel_hpd_poll_disable(i915);
@@ -13375,6 +13383,7 @@ @@ -10467,6 +10475,7 @@ void intel_modeset_driver_remove(struct drm_i915_private *i915)
if (!HAS_DISPLAY(i915)) if (!HAS_DISPLAY(i915))
return; return;
+ intel_vga_enable_mem(i915); + intel_vga_enable_mem(i915);
flush_workqueue(i915->flip_wq); flush_workqueue(i915->flip_wq);
flush_workqueue(i915->modeset_wq); flush_workqueue(i915->modeset_wq);
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index d10b7c8cde3f..3daaa0bd3b60 100644 index 187910d94ec6..82b17d7fee91 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h --- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h +++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -564,6 +564,7 @@ int vlv_get_hpll_vco(struct drm_i915_private *dev_priv); @@ -568,6 +568,7 @@ void i830_disable_pipe(struct drm_i915_private *dev_priv, enum pipe pipe);
int vlv_get_hpll_vco(struct drm_i915_private *dev_priv);
int vlv_get_cck_clock(struct drm_i915_private *dev_priv,
const char *name, u32 reg, int ref_freq); const char *name, u32 reg, int ref_freq);
+extern void intel_vga_disable_mem(struct drm_i915_private *dev_priv);
int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv, int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv,
const char *name, u32 reg); const char *name, u32 reg);
+extern void intel_vga_disable_mem(struct drm_i915_private *dev_priv);
void intel_init_display_hooks(struct drm_i915_private *dev_priv); void intel_init_display_hooks(struct drm_i915_private *dev_priv);
unsigned int intel_fb_xy_to_linear(int x, int y,
const struct intel_plane_state *state,
diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c
index be333699c515..a76aa52cde76 100644 index b5d058404c14..ad23732a9f21 100644
--- a/drivers/gpu/drm/i915/display/intel_vga.c --- a/drivers/gpu/drm/i915/display/intel_vga.c
+++ b/drivers/gpu/drm/i915/display/intel_vga.c +++ b/drivers/gpu/drm/i915/display/intel_vga.c
@@ -41,6 +41,37 @@ void intel_vga_disable(struct drm_i915_private *dev_priv) @@ -45,6 +45,36 @@ void intel_vga_disable(struct drm_i915_private *dev_priv)
intel_de_posting_read(dev_priv, vga_reg); intel_de_posting_read(dev_priv, vga_reg);
} }
+
+void intel_vga_enable_mem(struct drm_i915_private *dev_priv) +void intel_vga_enable_mem(struct drm_i915_private *dev_priv)
+{ +{
+ struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev); + struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
@ -115,7 +111,7 @@ index be333699c515..a76aa52cde76 100644
+ /* Enable VGA memory on Intel HD */ + /* Enable VGA memory on Intel HD */
+ if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) { + if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) {
+ vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO); + vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
+ outb(inb(VGA_MSR_READ) | VGA_MSR_MEM_EN, VGA_MSR_WRITE); + outb(inb(VGA_MIS_R) | (1 << 1), VGA_MIS_W);
+ vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO | + vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO |
+ VGA_RSRC_LEGACY_MEM | + VGA_RSRC_LEGACY_MEM |
+ VGA_RSRC_NORMAL_IO | + VGA_RSRC_NORMAL_IO |
@ -130,7 +126,7 @@ index be333699c515..a76aa52cde76 100644
+ /* Disable VGA memory on Intel HD */ + /* Disable VGA memory on Intel HD */
+ if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) { + if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) {
+ vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO); + vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
+ outb(inb(VGA_MSR_READ) & ~VGA_MSR_MEM_EN, VGA_MSR_WRITE); + outb(inb(VGA_MIS_R) & ~(1 << 1), VGA_MIS_W);
+ vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO | + vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO |
+ VGA_RSRC_NORMAL_IO | + VGA_RSRC_NORMAL_IO |
+ VGA_RSRC_NORMAL_MEM); + VGA_RSRC_NORMAL_MEM);
@ -141,7 +137,7 @@ index be333699c515..a76aa52cde76 100644
void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv) void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
{ {
i915_reg_t vga_reg = intel_vga_cntrl_reg(dev_priv); i915_reg_t vga_reg = intel_vga_cntrl_reg(dev_priv);
@@ -49,6 +80,7 @@ void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv) @@ -53,6 +83,7 @@ void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
drm_dbg_kms(&dev_priv->drm, drm_dbg_kms(&dev_priv->drm,
"Something enabled VGA plane, disabling it\n"); "Something enabled VGA plane, disabling it\n");
intel_vga_disable(dev_priv); intel_vga_disable(dev_priv);
@ -163,31 +159,31 @@ index ba5b55b917f0..7e2af7924e99 100644
+ +
#endif /* __INTEL_VGA_H__ */ #endif /* __INTEL_VGA_H__ */
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 7f139ea4a90b..f23476551569 100644 index 701fbc98afa0..4c3701e18a4a 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
@@ -140,6 +140,9 @@ i915_param_named_unsafe(invert_brightness, int, 0400, @@ -142,6 +142,9 @@ i915_param_named_unsafe(invert_brightness, int, 0400,
i915_param_named(disable_display, bool, 0400, i915_param_named(disable_display, bool, 0400,
"Disable display (default: false)"); "Disable display (default: false)");
+i915_param_named(enable_hd_vgaarb, bool, 0444, +i915_param_named(enable_hd_vgaarb, bool, 0444,
+ "Enable support for VGA arbitration on Intel HD IGD. (default: false)"); + "Enable support for VGA arbitration on Intel HD IGD. (default: false)");
+ +
i915_param_named(mmio_debug, int, 0400, i915_param_named(memtest, bool, 0400,
"Enable the MMIO debug code for the first N failures (default: off). " "Perform a read/write test of all device memory on module load (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 diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 330c03e2b4f7..b44a4b7dba4d 100644 index b5e7ea45d191..82d0a75da970 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
@@ -72,6 +72,7 @@ struct drm_printer; @@ -75,6 +75,7 @@ struct drm_printer;
param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE, 0400) \ param(unsigned int, request_timeout_ms, CONFIG_DRM_I915_REQUEST_TIMEOUT, CONFIG_DRM_I915_REQUEST_TIMEOUT ? 0600 : 0) \
param(unsigned long, fake_lmem_start, 0, 0400) \ param(unsigned int, lmem_size, 0, 0400) \
/* leave bools at the end to not create holes */ \ /* leave bools at the end to not create holes */ \
+ param(bool, enable_hd_vgaarb, false, 0600) \ + param(bool, enable_hd_vgaarb, false, 0600) \
param(bool, enable_hangcheck, true, 0600) \ param(bool, enable_hangcheck, true, 0600) \
param(bool, load_detect_test, false, 0600) \ param(bool, load_detect_test, false, 0600) \
param(bool, force_reset_modeset_test, false, 0600) \ param(bool, force_reset_modeset_test, false, 0600) \
-- --
2.30.0 2.37.3