kernel-5.11.11-200
* Tue Mar 30 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.11-200] - Set CONFIG_XEN_MEMORY_HOTPLUG_LIMIT as required by 5.11.11 (Justin M. Forbes) Resolves: rhbz# Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
parent
7268f6207c
commit
93aa93f667
|
@ -12,7 +12,7 @@ RHEL_MINOR = 99
|
||||||
#
|
#
|
||||||
# Use this spot to avoid future merge conflicts.
|
# Use this spot to avoid future merge conflicts.
|
||||||
# Do not trim this comment.
|
# Do not trim this comment.
|
||||||
RHEL_RELEASE = 12
|
RHEL_RELEASE = 13
|
||||||
|
|
||||||
#
|
#
|
||||||
# Early y+1 numbering
|
# Early y+1 numbering
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
https://gitlab.com/cki-project/kernel-ark/-/commit/593117da3c5aaaa2f9af01513a9aa7a275e67701
|
||||||
|
593117da3c5aaaa2f9af01513a9aa7a275e67701 drm/i915: Disable LTTPR support when the DPCD rev < 1.4
|
||||||
|
|
||||||
|
https://gitlab.com/cki-project/kernel-ark/-/commit/4cf60312635599acf0e70c29d7de0355426d9165
|
||||||
|
4cf60312635599acf0e70c29d7de0355426d9165 drm/i915/dp: Prevent setting the LTTPR LT mode if no LTTPRs are detected
|
||||||
|
|
||||||
|
https://gitlab.com/cki-project/kernel-ark/-/commit/044d6c51c6cd6c419c17766f1fe0e03161afee6d
|
||||||
|
044d6c51c6cd6c419c17766f1fe0e03161afee6d drm/i915/ilk-glk: Fix link training on links with LTTPRs
|
||||||
|
|
||||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f93a5201c2ef7e9f70aa68621100f868764c2b15
|
https://gitlab.com/cki-project/kernel-ark/-/commit/f93a5201c2ef7e9f70aa68621100f868764c2b15
|
||||||
f93a5201c2ef7e9f70aa68621100f868764c2b15 drm/i915/tgl/psr: Disable PSR on Tigerlake for now
|
f93a5201c2ef7e9f70aa68621100f868764c2b15 drm/i915/tgl/psr: Disable PSR on Tigerlake for now
|
||||||
|
|
||||||
|
|
|
@ -8180,6 +8180,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN is not set
|
# CONFIG_XEN is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -8154,6 +8154,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN is not set
|
# CONFIG_XEN is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -8482,6 +8482,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN is not set
|
# CONFIG_XEN is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -8457,6 +8457,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN is not set
|
# CONFIG_XEN is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -8214,6 +8214,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN is not set
|
# CONFIG_XEN is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -8189,6 +8189,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN is not set
|
# CONFIG_XEN is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -7447,6 +7447,7 @@ CONFIG_XENFS=m
|
||||||
CONFIG_XEN_GNTDEV=m
|
CONFIG_XEN_GNTDEV=m
|
||||||
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
CONFIG_XEN_NETDEV_BACKEND=m
|
CONFIG_XEN_NETDEV_BACKEND=m
|
||||||
CONFIG_XEN_NETDEV_FRONTEND=m
|
CONFIG_XEN_NETDEV_FRONTEND=m
|
||||||
CONFIG_XEN_PCIDEV_BACKEND=m
|
CONFIG_XEN_PCIDEV_BACKEND=m
|
||||||
|
|
|
@ -7422,6 +7422,7 @@ CONFIG_XENFS=m
|
||||||
CONFIG_XEN_GNTDEV=m
|
CONFIG_XEN_GNTDEV=m
|
||||||
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
CONFIG_XEN_NETDEV_BACKEND=m
|
CONFIG_XEN_NETDEV_BACKEND=m
|
||||||
CONFIG_XEN_NETDEV_FRONTEND=m
|
CONFIG_XEN_NETDEV_FRONTEND=m
|
||||||
CONFIG_XEN_PCIDEV_BACKEND=m
|
CONFIG_XEN_PCIDEV_BACKEND=m
|
||||||
|
|
|
@ -6944,6 +6944,7 @@ CONFIG_X86_SGX=y
|
||||||
CONFIG_XDP_SOCKETS_DIAG=m
|
CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -6918,6 +6918,7 @@ CONFIG_X86_SGX=y
|
||||||
CONFIG_XDP_SOCKETS_DIAG=m
|
CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -6887,6 +6887,7 @@ CONFIG_X86_SGX=y
|
||||||
CONFIG_XDP_SOCKETS_DIAG=m
|
CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -6861,6 +6861,7 @@ CONFIG_X86_SGX=y
|
||||||
CONFIG_XDP_SOCKETS_DIAG=m
|
CONFIG_XDP_SOCKETS_DIAG=m
|
||||||
CONFIG_XDP_SOCKETS=y
|
CONFIG_XDP_SOCKETS=y
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
# CONFIG_XEN_PVCALLS_FRONTEND is not set
|
||||||
CONFIG_XEN_PVHVM_GUEST=y
|
CONFIG_XEN_PVHVM_GUEST=y
|
||||||
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
CONFIG_XEN_UNPOPULATED_ALLOC=y
|
||||||
|
|
|
@ -7492,6 +7492,7 @@ CONFIG_XEN_GNTDEV=m
|
||||||
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN_MCE_LOG is not set
|
# CONFIG_XEN_MCE_LOG is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
CONFIG_XEN_NETDEV_BACKEND=m
|
CONFIG_XEN_NETDEV_BACKEND=m
|
||||||
CONFIG_XEN_NETDEV_FRONTEND=m
|
CONFIG_XEN_NETDEV_FRONTEND=m
|
||||||
CONFIG_XEN_PCIDEV_BACKEND=m
|
CONFIG_XEN_PCIDEV_BACKEND=m
|
||||||
|
|
|
@ -7467,6 +7467,7 @@ CONFIG_XEN_GNTDEV=m
|
||||||
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
||||||
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
|
||||||
# CONFIG_XEN_MCE_LOG is not set
|
# CONFIG_XEN_MCE_LOG is not set
|
||||||
|
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
|
||||||
CONFIG_XEN_NETDEV_BACKEND=m
|
CONFIG_XEN_NETDEV_BACKEND=m
|
||||||
CONFIG_XEN_NETDEV_FRONTEND=m
|
CONFIG_XEN_NETDEV_FRONTEND=m
|
||||||
CONFIG_XEN_PCIDEV_BACKEND=m
|
CONFIG_XEN_PCIDEV_BACKEND=m
|
||||||
|
|
17
kernel.spec
17
kernel.spec
|
@ -104,7 +104,7 @@ Summary: The Linux kernel
|
||||||
%define primary_target rhel
|
%define primary_target rhel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%define rpmversion 5.11.10
|
%define rpmversion 5.11.11
|
||||||
%define stableversion 5.11
|
%define stableversion 5.11
|
||||||
%define pkgrelease 200
|
%define pkgrelease 200
|
||||||
|
|
||||||
|
@ -603,7 +603,7 @@ BuildRequires: asciidoc
|
||||||
# exact git commit you can run
|
# exact git commit you can run
|
||||||
#
|
#
|
||||||
# xzcat -qq ${TARBALL} | git get-tar-commit-id
|
# xzcat -qq ${TARBALL} | git get-tar-commit-id
|
||||||
Source0: linux-5.11.10.tar.xz
|
Source0: linux-5.11.11.tar.xz
|
||||||
|
|
||||||
Source1: Makefile.rhelver
|
Source1: Makefile.rhelver
|
||||||
|
|
||||||
|
@ -1251,8 +1251,8 @@ ApplyOptionalPatch()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
%setup -q -n kernel-5.11.10 -c
|
%setup -q -n kernel-5.11.11 -c
|
||||||
mv linux-5.11.10 linux-%{KVERREL}
|
mv linux-5.11.11 linux-%{KVERREL}
|
||||||
|
|
||||||
cd linux-%{KVERREL}
|
cd linux-%{KVERREL}
|
||||||
cp -a %{SOURCE1} .
|
cp -a %{SOURCE1} .
|
||||||
|
@ -2765,6 +2765,15 @@ fi
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Mar 30 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.11-200]
|
||||||
|
- Set CONFIG_XEN_MEMORY_HOTPLUG_LIMIT as required by 5.11.11 (Justin M. Forbes)
|
||||||
|
|
||||||
|
* Tue Mar 30 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.11-13]
|
||||||
|
- drm/i915: Disable LTTPR support when the DPCD rev < 1.4 (Imre Deak)
|
||||||
|
- drm/i915/dp: Prevent setting the LTTPR LT mode if no LTTPRs are detected (Imre Deak)
|
||||||
|
- drm/i915/ilk-glk: Fix link training on links with LTTPRs (Imre Deak)
|
||||||
|
- redhat/mod-blacklist.sh: Fix floppy blacklisting (Hans de Goede)
|
||||||
|
|
||||||
* Thu Mar 25 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.10-12]
|
* Thu Mar 25 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.10-12]
|
||||||
- drm/i915/tgl/psr: Disable PSR on Tigerlake for now (Lyude Paul)
|
- drm/i915/tgl/psr: Disable PSR on Tigerlake for now (Lyude Paul)
|
||||||
- Fedora: Turn off the SND_INTEL_BYT_PREFER_SOF option (Hans de Goede)
|
- Fedora: Turn off the SND_INTEL_BYT_PREFER_SOF option (Hans de Goede)
|
||||||
|
|
|
@ -150,7 +150,7 @@ fi
|
||||||
# this replaces the old die_floppy_die.patch which removed the PNP-id from
|
# this replaces the old die_floppy_die.patch which removed the PNP-id from
|
||||||
# the module
|
# the module
|
||||||
|
|
||||||
floppylist=("$RpmDir"/"$ModDir"/extra/drivers/block/floppy.ko*)
|
floppylist=("$RpmDir"/"$ModDir"/kernel/drivers/block/floppy.ko*)
|
||||||
if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then
|
if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then
|
||||||
blacklist "floppy"
|
blacklist "floppy"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -27,8 +27,10 @@
|
||||||
drivers/firmware/efi/Makefile | 1 +
|
drivers/firmware/efi/Makefile | 1 +
|
||||||
drivers/firmware/efi/efi.c | 124 +++--
|
drivers/firmware/efi/efi.c | 124 +++--
|
||||||
drivers/firmware/efi/secureboot.c | 38 ++
|
drivers/firmware/efi/secureboot.c | 38 ++
|
||||||
|
drivers/gpu/drm/i915/display/intel_dp.c | 11 +-
|
||||||
|
.../gpu/drm/i915/display/intel_dp_link_training.c | 91 ++--
|
||||||
|
.../gpu/drm/i915/display/intel_dp_link_training.h | 2 +-
|
||||||
drivers/gpu/drm/i915/display/intel_psr.c | 9 +-
|
drivers/gpu/drm/i915/display/intel_psr.c | 9 +-
|
||||||
drivers/gpu/drm/nouveau/dispnv50/disp.c | 12 +-
|
|
||||||
drivers/gpu/drm/panel/Kconfig | 9 +
|
drivers/gpu/drm/panel/Kconfig | 9 +
|
||||||
drivers/gpu/drm/panel/Makefile | 1 +
|
drivers/gpu/drm/panel/Makefile | 1 +
|
||||||
drivers/gpu/drm/panel/panel-xingbangda-xbd599.c | 366 +++++++++++++++
|
drivers/gpu/drm/panel/panel-xingbangda-xbd599.c | 366 +++++++++++++++
|
||||||
|
@ -42,14 +44,8 @@
|
||||||
drivers/pci/controller/pcie-brcmstb.c | 1 +
|
drivers/pci/controller/pcie-brcmstb.c | 1 +
|
||||||
drivers/pci/quirks.c | 24 +
|
drivers/pci/quirks.c | 24 +
|
||||||
drivers/platform/x86/Kconfig | 2 +
|
drivers/platform/x86/Kconfig | 2 +
|
||||||
.../platform/x86/dell-wmi-sysman/enum-attributes.c | 3 +
|
|
||||||
.../platform/x86/dell-wmi-sysman/int-attributes.c | 3 +
|
|
||||||
.../x86/dell-wmi-sysman/passobj-attributes.c | 3 +
|
|
||||||
.../x86/dell-wmi-sysman/string-attributes.c | 3 +
|
|
||||||
drivers/platform/x86/dell-wmi-sysman/sysman.c | 84 ++--
|
|
||||||
drivers/platform/x86/ideapad-laptop.c | 289 ++++++++++++
|
drivers/platform/x86/ideapad-laptop.c | 289 ++++++++++++
|
||||||
drivers/platform/x86/intel-hid.c | 7 +
|
drivers/platform/x86/intel-hid.c | 7 +
|
||||||
drivers/platform/x86/intel-vbtn.c | 12 +-
|
|
||||||
drivers/platform/x86/thinkpad_acpi.c | 518 ++++++++++++++++++++-
|
drivers/platform/x86/thinkpad_acpi.c | 518 ++++++++++++++++++++-
|
||||||
drivers/scsi/smartpqi/smartpqi_init.c | 16 +
|
drivers/scsi/smartpqi/smartpqi_init.c | 16 +
|
||||||
drivers/usb/core/hub.c | 7 +
|
drivers/usb/core/hub.c | 7 +
|
||||||
|
@ -70,7 +66,7 @@
|
||||||
sound/hda/Kconfig | 14 +
|
sound/hda/Kconfig | 14 +
|
||||||
sound/hda/intel-dsp-config.c | 29 +-
|
sound/hda/intel-dsp-config.c | 29 +-
|
||||||
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 +-
|
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 +-
|
||||||
72 files changed, 2264 insertions(+), 275 deletions(-)
|
68 files changed, 2268 insertions(+), 255 deletions(-)
|
||||||
|
|
||||||
diff --git a/Documentation/ABI/testing/sysfs-platform_profile b/Documentation/ABI/testing/sysfs-platform_profile
|
diff --git a/Documentation/ABI/testing/sysfs-platform_profile b/Documentation/ABI/testing/sysfs-platform_profile
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
|
@ -284,10 +280,10 @@ index 000000000000..c33a71263d9e
|
||||||
+ 2. Add the new profile name, along with a clear description of the
|
+ 2. Add the new profile name, along with a clear description of the
|
||||||
+ expected behaviour, to the sysfs-platform_profile ABI documentation.
|
+ expected behaviour, to the sysfs-platform_profile ABI documentation.
|
||||||
diff --git a/Makefile b/Makefile
|
diff --git a/Makefile b/Makefile
|
||||||
index 824d15c14be0..60669eb8738b 100644
|
index 7578e0d9622f..74679ade5579 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -494,6 +494,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
|
@@ -495,6 +495,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
|
||||||
KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
|
KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
|
||||||
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
|
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
|
||||||
-Werror=implicit-function-declaration -Werror=implicit-int \
|
-Werror=implicit-function-declaration -Werror=implicit-int \
|
||||||
|
@ -782,10 +778,10 @@ index 000000000000..4a59c5993bde
|
||||||
+MODULE_AUTHOR("Mark Pearson <markpearson@lenovo.com>");
|
+MODULE_AUTHOR("Mark Pearson <markpearson@lenovo.com>");
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
|
||||||
index 22566b4b3150..4c2294593928 100644
|
index a4fdf61b0644..9aa6d898fadd 100644
|
||||||
--- a/drivers/acpi/scan.c
|
--- a/drivers/acpi/scan.c
|
||||||
+++ b/drivers/acpi/scan.c
|
+++ b/drivers/acpi/scan.c
|
||||||
@@ -1620,6 +1620,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
@@ -1638,6 +1638,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
|
||||||
if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids))
|
if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -1092,6 +1088,224 @@ index 000000000000..de0a3714a5d4
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
|
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
|
||||||
|
index 8a26307c4896..bc2aae63fe40 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/display/intel_dp.c
|
||||||
|
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
|
||||||
|
@@ -1400,6 +1400,7 @@ static u32 g4x_get_aux_send_ctl(struct intel_dp *intel_dp,
|
||||||
|
else
|
||||||
|
precharge = 5;
|
||||||
|
|
||||||
|
+ /* Max timeout value on G4x-BDW: 1.6ms */
|
||||||
|
if (IS_BROADWELL(dev_priv))
|
||||||
|
timeout = DP_AUX_CH_CTL_TIME_OUT_600us;
|
||||||
|
else
|
||||||
|
@@ -1426,6 +1427,12 @@ static u32 skl_get_aux_send_ctl(struct intel_dp *intel_dp,
|
||||||
|
enum phy phy = intel_port_to_phy(i915, dig_port->base.port);
|
||||||
|
u32 ret;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * Max timeout values:
|
||||||
|
+ * SKL-GLK: 1.6ms
|
||||||
|
+ * CNL: 3.2ms
|
||||||
|
+ * ICL+: 4ms
|
||||||
|
+ */
|
||||||
|
ret = DP_AUX_CH_CTL_SEND_BUSY |
|
||||||
|
DP_AUX_CH_CTL_DONE |
|
||||||
|
DP_AUX_CH_CTL_INTERRUPT |
|
||||||
|
@@ -4871,9 +4878,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
- intel_dp_lttpr_init(intel_dp);
|
||||||
|
-
|
||||||
|
- if (drm_dp_read_dpcd_caps(&intel_dp->aux, intel_dp->dpcd))
|
||||||
|
+ if (intel_dp_init_lttpr_and_dprx_caps(intel_dp) < 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
/*
|
||||||
|
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
|
||||||
|
index d8c6d7054d11..e6532ea5757b 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c
|
||||||
|
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c
|
||||||
|
@@ -34,16 +34,9 @@ intel_dp_dump_link_status(const u8 link_status[DP_LINK_STATUS_SIZE])
|
||||||
|
link_status[3], link_status[4], link_status[5]);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int intel_dp_lttpr_count(struct intel_dp *intel_dp)
|
||||||
|
+static void intel_dp_reset_lttpr_common_caps(struct intel_dp *intel_dp)
|
||||||
|
{
|
||||||
|
- int count = drm_dp_lttpr_count(intel_dp->lttpr_common_caps);
|
||||||
|
-
|
||||||
|
- /*
|
||||||
|
- * Pretend no LTTPRs in case of LTTPR detection error, or
|
||||||
|
- * if too many (>8) LTTPRs are detected. This translates to link
|
||||||
|
- * training in transparent mode.
|
||||||
|
- */
|
||||||
|
- return count <= 0 ? 0 : count;
|
||||||
|
+ memset(&intel_dp->lttpr_common_caps, 0, sizeof(intel_dp->lttpr_common_caps));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void intel_dp_reset_lttpr_count(struct intel_dp *intel_dp)
|
||||||
|
@@ -93,10 +86,21 @@ static void intel_dp_read_lttpr_phy_caps(struct intel_dp *intel_dp,
|
||||||
|
|
||||||
|
static bool intel_dp_read_lttpr_common_caps(struct intel_dp *intel_dp)
|
||||||
|
{
|
||||||
|
+ struct drm_i915_private *i915 = dp_to_i915(intel_dp);
|
||||||
|
+
|
||||||
|
+ if (intel_dp_is_edp(intel_dp))
|
||||||
|
+ return false;
|
||||||
|
+
|
||||||
|
+ /*
|
||||||
|
+ * Detecting LTTPRs must be avoided on platforms with an AUX timeout
|
||||||
|
+ * period < 3.2ms. (see DP Standard v2.0, 2.11.2, 3.6.6.1).
|
||||||
|
+ */
|
||||||
|
+ if (INTEL_GEN(i915) < 10)
|
||||||
|
+ return false;
|
||||||
|
+
|
||||||
|
if (drm_dp_read_lttpr_common_caps(&intel_dp->aux,
|
||||||
|
intel_dp->lttpr_common_caps) < 0) {
|
||||||
|
- memset(intel_dp->lttpr_common_caps, 0,
|
||||||
|
- sizeof(intel_dp->lttpr_common_caps));
|
||||||
|
+ intel_dp_reset_lttpr_common_caps(intel_dp);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -118,30 +122,57 @@ intel_dp_set_lttpr_transparent_mode(struct intel_dp *intel_dp, bool enable)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * intel_dp_lttpr_init - detect LTTPRs and init the LTTPR link training mode
|
||||||
|
+ * intel_dp_init_lttpr_and_dprx_caps - detect LTTPR and DPRX caps, init the LTTPR link training mode
|
||||||
|
* @intel_dp: Intel DP struct
|
||||||
|
*
|
||||||
|
- * Read the LTTPR common capabilities, switch to non-transparent link training
|
||||||
|
- * mode if any is detected and read the PHY capabilities for all detected
|
||||||
|
- * LTTPRs. In case of an LTTPR detection error or if the number of
|
||||||
|
+ * Read the LTTPR common and DPRX capabilities and switch to non-transparent
|
||||||
|
+ * link training mode if any is detected and read the PHY capabilities for all
|
||||||
|
+ * detected LTTPRs. In case of an LTTPR detection error or if the number of
|
||||||
|
* LTTPRs is more than is supported (8), fall back to the no-LTTPR,
|
||||||
|
* transparent mode link training mode.
|
||||||
|
*
|
||||||
|
* Returns:
|
||||||
|
- * >0 if LTTPRs were detected and the non-transparent LT mode was set
|
||||||
|
+ * >0 if LTTPRs were detected and the non-transparent LT mode was set. The
|
||||||
|
+ * DPRX capabilities are read out.
|
||||||
|
* 0 if no LTTPRs or more than 8 LTTPRs were detected or in case of a
|
||||||
|
- * detection failure and the transparent LT mode was set
|
||||||
|
+ * detection failure and the transparent LT mode was set. The DPRX
|
||||||
|
+ * capabilities are read out.
|
||||||
|
+ * <0 Reading out the DPRX capabilities failed.
|
||||||
|
*/
|
||||||
|
-int intel_dp_lttpr_init(struct intel_dp *intel_dp)
|
||||||
|
+int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp)
|
||||||
|
{
|
||||||
|
int lttpr_count;
|
||||||
|
bool ret;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
- if (intel_dp_is_edp(intel_dp))
|
||||||
|
+ ret = intel_dp_read_lttpr_common_caps(intel_dp);
|
||||||
|
+
|
||||||
|
+ /* The DPTX shall read the DPRX caps after LTTPR detection. */
|
||||||
|
+ if (drm_dp_read_dpcd_caps(&intel_dp->aux, intel_dp->dpcd)) {
|
||||||
|
+ intel_dp_reset_lttpr_common_caps(intel_dp);
|
||||||
|
+ return -EIO;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!ret)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- ret = intel_dp_read_lttpr_common_caps(intel_dp);
|
||||||
|
+ /*
|
||||||
|
+ * The 0xF0000-0xF02FF range is only valid if the DPCD revision is
|
||||||
|
+ * at least 1.4.
|
||||||
|
+ */
|
||||||
|
+ if (intel_dp->dpcd[DP_DPCD_REV] < 0x14) {
|
||||||
|
+ intel_dp_reset_lttpr_common_caps(intel_dp);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ lttpr_count = drm_dp_lttpr_count(intel_dp->lttpr_common_caps);
|
||||||
|
+ /*
|
||||||
|
+ * Prevent setting LTTPR transparent mode explicitly if no LTTPRs are
|
||||||
|
+ * detected as this breaks link training at least on the Dell WD19TB
|
||||||
|
+ * dock.
|
||||||
|
+ */
|
||||||
|
+ if (lttpr_count == 0)
|
||||||
|
+ return 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* See DP Standard v2.0 3.6.6.1. about the explicit disabling of
|
||||||
|
@@ -150,17 +181,12 @@ int intel_dp_lttpr_init(struct intel_dp *intel_dp)
|
||||||
|
*/
|
||||||
|
intel_dp_set_lttpr_transparent_mode(intel_dp, true);
|
||||||
|
|
||||||
|
- if (!ret)
|
||||||
|
- return 0;
|
||||||
|
-
|
||||||
|
- lttpr_count = intel_dp_lttpr_count(intel_dp);
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* In case of unsupported number of LTTPRs or failing to switch to
|
||||||
|
* non-transparent mode fall-back to transparent link training mode,
|
||||||
|
* still taking into account any LTTPR common lane- rate/count limits.
|
||||||
|
*/
|
||||||
|
- if (lttpr_count == 0)
|
||||||
|
+ if (lttpr_count < 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (!intel_dp_set_lttpr_transparent_mode(intel_dp, false)) {
|
||||||
|
@@ -178,7 +204,7 @@ int intel_dp_lttpr_init(struct intel_dp *intel_dp)
|
||||||
|
|
||||||
|
return lttpr_count;
|
||||||
|
}
|
||||||
|
-EXPORT_SYMBOL(intel_dp_lttpr_init);
|
||||||
|
+EXPORT_SYMBOL(intel_dp_init_lttpr_and_dprx_caps);
|
||||||
|
|
||||||
|
static u8 dp_voltage_max(u8 preemph)
|
||||||
|
{
|
||||||
|
@@ -222,11 +248,11 @@ intel_dp_phy_is_downstream_of_source(struct intel_dp *intel_dp,
|
||||||
|
enum drm_dp_phy dp_phy)
|
||||||
|
{
|
||||||
|
struct drm_i915_private *i915 = dp_to_i915(intel_dp);
|
||||||
|
- int lttpr_count = intel_dp_lttpr_count(intel_dp);
|
||||||
|
+ int lttpr_count = drm_dp_lttpr_count(intel_dp->lttpr_common_caps);
|
||||||
|
|
||||||
|
- drm_WARN_ON_ONCE(&i915->drm, lttpr_count == 0 && dp_phy != DP_PHY_DPRX);
|
||||||
|
+ drm_WARN_ON_ONCE(&i915->drm, lttpr_count <= 0 && dp_phy != DP_PHY_DPRX);
|
||||||
|
|
||||||
|
- return lttpr_count == 0 || dp_phy == DP_PHY_LTTPR(lttpr_count - 1);
|
||||||
|
+ return lttpr_count <= 0 || dp_phy == DP_PHY_LTTPR(lttpr_count - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static u8 intel_dp_phy_voltage_max(struct intel_dp *intel_dp,
|
||||||
|
@@ -814,7 +840,10 @@ void intel_dp_start_link_train(struct intel_dp *intel_dp,
|
||||||
|
* TODO: Reiniting LTTPRs here won't be needed once proper connector
|
||||||
|
* HW state readout is added.
|
||||||
|
*/
|
||||||
|
- int lttpr_count = intel_dp_lttpr_init(intel_dp);
|
||||||
|
+ int lttpr_count = intel_dp_init_lttpr_and_dprx_caps(intel_dp);
|
||||||
|
+
|
||||||
|
+ if (lttpr_count < 0)
|
||||||
|
+ return;
|
||||||
|
|
||||||
|
if (!intel_dp_link_train_all_phys(intel_dp, crtc_state, lttpr_count))
|
||||||
|
intel_dp_schedule_fallback_link_training(intel_dp, crtc_state);
|
||||||
|
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.h b/drivers/gpu/drm/i915/display/intel_dp_link_training.h
|
||||||
|
index 6a1f76bd8c75..9cb7c28027f0 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/display/intel_dp_link_training.h
|
||||||
|
+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.h
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
struct intel_crtc_state;
|
||||||
|
struct intel_dp;
|
||||||
|
|
||||||
|
-int intel_dp_lttpr_init(struct intel_dp *intel_dp);
|
||||||
|
+int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp);
|
||||||
|
|
||||||
|
void intel_dp_get_adjust_train(struct intel_dp *intel_dp,
|
||||||
|
const struct intel_crtc_state *crtc_state,
|
||||||
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
|
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
|
||||||
index b3631b722de3..0b8866900dfb 100644
|
index b3631b722de3..0b8866900dfb 100644
|
||||||
--- a/drivers/gpu/drm/i915/display/intel_psr.c
|
--- a/drivers/gpu/drm/i915/display/intel_psr.c
|
||||||
|
@ -1113,31 +1327,6 @@ index b3631b722de3..0b8866900dfb 100644
|
||||||
|
|
||||||
/* Set link_standby x link_off defaults */
|
/* Set link_standby x link_off defaults */
|
||||||
if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
|
if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv))
|
||||||
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
|
|
||||||
index 5f4f09a601d4..857b76605a9e 100644
|
|
||||||
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
|
|
||||||
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
|
|
||||||
@@ -2663,9 +2663,19 @@ nv50_display_create(struct drm_device *dev)
|
|
||||||
else
|
|
||||||
nouveau_display(dev)->format_modifiers = disp50xx_modifiers;
|
|
||||||
|
|
||||||
- if (disp->disp->object.oclass >= GK104_DISP) {
|
|
||||||
+ /* FIXME: 256x256 cursors are supported on Kepler, however unlike Maxwell and later
|
|
||||||
+ * generations Kepler requires that we specify the page type, small (4K) or large (128K),
|
|
||||||
+ * correctly for the ctxdma being used on curs/ovly. We currently share a ctxdma across all
|
|
||||||
+ * display planes (except ovly) that defaults to small pages, which results in artifacting
|
|
||||||
+ * on 256x256 cursors. Until we teach nouveau to create an appropriate ctxdma for the cursor
|
|
||||||
+ * fb in use, simply avoid advertising support for 256x256 cursors.
|
|
||||||
+ */
|
|
||||||
+ if (disp->disp->object.oclass >= GM107_DISP) {
|
|
||||||
dev->mode_config.cursor_width = 256;
|
|
||||||
dev->mode_config.cursor_height = 256;
|
|
||||||
+ } else if (disp->disp->object.oclass >= GK104_DISP) {
|
|
||||||
+ dev->mode_config.cursor_width = 128;
|
|
||||||
+ dev->mode_config.cursor_height = 128;
|
|
||||||
} else {
|
|
||||||
dev->mode_config.cursor_width = 64;
|
|
||||||
dev->mode_config.cursor_height = 64;
|
|
||||||
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
|
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
|
||||||
index b4e021ea30f9..5687b745ebe2 100644
|
index b4e021ea30f9..5687b745ebe2 100644
|
||||||
--- a/drivers/gpu/drm/panel/Kconfig
|
--- a/drivers/gpu/drm/panel/Kconfig
|
||||||
|
@ -2159,252 +2348,6 @@ index ac4125ec0660..3a8ade8bb073 100644
|
||||||
select HWMON
|
select HWMON
|
||||||
select NVRAM
|
select NVRAM
|
||||||
select NEW_LEDS
|
select NEW_LEDS
|
||||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c b/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c
|
|
||||||
index 80f4b7785c6c..091e48c217ed 100644
|
|
||||||
--- a/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c
|
|
||||||
+++ b/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c
|
|
||||||
@@ -185,5 +185,8 @@ void exit_enum_attributes(void)
|
|
||||||
sysfs_remove_group(wmi_priv.enumeration_data[instance_id].attr_name_kobj,
|
|
||||||
&enumeration_attr_group);
|
|
||||||
}
|
|
||||||
+ wmi_priv.enumeration_instances_count = 0;
|
|
||||||
+
|
|
||||||
kfree(wmi_priv.enumeration_data);
|
|
||||||
+ wmi_priv.enumeration_data = NULL;
|
|
||||||
}
|
|
||||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/int-attributes.c b/drivers/platform/x86/dell-wmi-sysman/int-attributes.c
|
|
||||||
index 75aedbb733be..8a49ba6e44f9 100644
|
|
||||||
--- a/drivers/platform/x86/dell-wmi-sysman/int-attributes.c
|
|
||||||
+++ b/drivers/platform/x86/dell-wmi-sysman/int-attributes.c
|
|
||||||
@@ -175,5 +175,8 @@ void exit_int_attributes(void)
|
|
||||||
sysfs_remove_group(wmi_priv.integer_data[instance_id].attr_name_kobj,
|
|
||||||
&integer_attr_group);
|
|
||||||
}
|
|
||||||
+ wmi_priv.integer_instances_count = 0;
|
|
||||||
+
|
|
||||||
kfree(wmi_priv.integer_data);
|
|
||||||
+ wmi_priv.integer_data = NULL;
|
|
||||||
}
|
|
||||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c b/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c
|
|
||||||
index 3abcd95477c0..834b3e82ad9f 100644
|
|
||||||
--- a/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c
|
|
||||||
+++ b/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c
|
|
||||||
@@ -183,5 +183,8 @@ void exit_po_attributes(void)
|
|
||||||
sysfs_remove_group(wmi_priv.po_data[instance_id].attr_name_kobj,
|
|
||||||
&po_attr_group);
|
|
||||||
}
|
|
||||||
+ wmi_priv.po_instances_count = 0;
|
|
||||||
+
|
|
||||||
kfree(wmi_priv.po_data);
|
|
||||||
+ wmi_priv.po_data = NULL;
|
|
||||||
}
|
|
||||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/string-attributes.c b/drivers/platform/x86/dell-wmi-sysman/string-attributes.c
|
|
||||||
index ac75dce88a4c..552537852459 100644
|
|
||||||
--- a/drivers/platform/x86/dell-wmi-sysman/string-attributes.c
|
|
||||||
+++ b/drivers/platform/x86/dell-wmi-sysman/string-attributes.c
|
|
||||||
@@ -155,5 +155,8 @@ void exit_str_attributes(void)
|
|
||||||
sysfs_remove_group(wmi_priv.str_data[instance_id].attr_name_kobj,
|
|
||||||
&str_attr_group);
|
|
||||||
}
|
|
||||||
+ wmi_priv.str_instances_count = 0;
|
|
||||||
+
|
|
||||||
kfree(wmi_priv.str_data);
|
|
||||||
+ wmi_priv.str_data = NULL;
|
|
||||||
}
|
|
||||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell-wmi-sysman/sysman.c
|
|
||||||
index cb81010ba1a2..7410ccae650c 100644
|
|
||||||
--- a/drivers/platform/x86/dell-wmi-sysman/sysman.c
|
|
||||||
+++ b/drivers/platform/x86/dell-wmi-sysman/sysman.c
|
|
||||||
@@ -210,25 +210,17 @@ static struct kobj_attribute pending_reboot = __ATTR_RO(pending_reboot);
|
|
||||||
*/
|
|
||||||
static int create_attributes_level_sysfs_files(void)
|
|
||||||
{
|
|
||||||
- int ret = sysfs_create_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
|
||||||
+ int ret;
|
|
||||||
|
|
||||||
- if (ret) {
|
|
||||||
- pr_debug("could not create reset_bios file\n");
|
|
||||||
+ ret = sysfs_create_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
|
||||||
+ if (ret)
|
|
||||||
return ret;
|
|
||||||
- }
|
|
||||||
|
|
||||||
ret = sysfs_create_file(&wmi_priv.main_dir_kset->kobj, &pending_reboot.attr);
|
|
||||||
- if (ret) {
|
|
||||||
- pr_debug("could not create changing_pending_reboot file\n");
|
|
||||||
- sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
|
||||||
- }
|
|
||||||
- return ret;
|
|
||||||
-}
|
|
||||||
+ if (ret)
|
|
||||||
+ return ret;
|
|
||||||
|
|
||||||
-static void release_reset_bios_data(void)
|
|
||||||
-{
|
|
||||||
- sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
|
||||||
- sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &pending_reboot.attr);
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static ssize_t wmi_sysman_attr_show(struct kobject *kobj, struct attribute *attr,
|
|
||||||
@@ -373,8 +365,6 @@ static void destroy_attribute_objs(struct kset *kset)
|
|
||||||
*/
|
|
||||||
static void release_attributes_data(void)
|
|
||||||
{
|
|
||||||
- release_reset_bios_data();
|
|
||||||
-
|
|
||||||
mutex_lock(&wmi_priv.mutex);
|
|
||||||
exit_enum_attributes();
|
|
||||||
exit_int_attributes();
|
|
||||||
@@ -386,11 +376,13 @@ static void release_attributes_data(void)
|
|
||||||
wmi_priv.authentication_dir_kset = NULL;
|
|
||||||
}
|
|
||||||
if (wmi_priv.main_dir_kset) {
|
|
||||||
+ sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
|
||||||
+ sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &pending_reboot.attr);
|
|
||||||
destroy_attribute_objs(wmi_priv.main_dir_kset);
|
|
||||||
kset_unregister(wmi_priv.main_dir_kset);
|
|
||||||
+ wmi_priv.main_dir_kset = NULL;
|
|
||||||
}
|
|
||||||
mutex_unlock(&wmi_priv.mutex);
|
|
||||||
-
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -497,7 +489,6 @@ static int init_bios_attributes(int attr_type, const char *guid)
|
|
||||||
|
|
||||||
err_attr_init:
|
|
||||||
mutex_unlock(&wmi_priv.mutex);
|
|
||||||
- release_attributes_data();
|
|
||||||
kfree(obj);
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
@@ -513,102 +504,91 @@ static int __init sysman_init(void)
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = init_bios_attr_set_interface();
|
|
||||||
- if (ret || !wmi_priv.bios_attr_wdev) {
|
|
||||||
- pr_debug("failed to initialize set interface\n");
|
|
||||||
- goto fail_set_interface;
|
|
||||||
- }
|
|
||||||
+ if (ret)
|
|
||||||
+ return ret;
|
|
||||||
|
|
||||||
ret = init_bios_attr_pass_interface();
|
|
||||||
- if (ret || !wmi_priv.password_attr_wdev) {
|
|
||||||
- pr_debug("failed to initialize pass interface\n");
|
|
||||||
- goto fail_pass_interface;
|
|
||||||
+ if (ret)
|
|
||||||
+ goto err_exit_bios_attr_set_interface;
|
|
||||||
+
|
|
||||||
+ if (!wmi_priv.bios_attr_wdev || !wmi_priv.password_attr_wdev) {
|
|
||||||
+ pr_debug("failed to find set or pass interface\n");
|
|
||||||
+ ret = -ENODEV;
|
|
||||||
+ goto err_exit_bios_attr_pass_interface;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = class_register(&firmware_attributes_class);
|
|
||||||
if (ret)
|
|
||||||
- goto fail_class;
|
|
||||||
+ goto err_exit_bios_attr_pass_interface;
|
|
||||||
|
|
||||||
wmi_priv.class_dev = device_create(&firmware_attributes_class, NULL, MKDEV(0, 0),
|
|
||||||
NULL, "%s", DRIVER_NAME);
|
|
||||||
if (IS_ERR(wmi_priv.class_dev)) {
|
|
||||||
ret = PTR_ERR(wmi_priv.class_dev);
|
|
||||||
- goto fail_classdev;
|
|
||||||
+ goto err_unregister_class;
|
|
||||||
}
|
|
||||||
|
|
||||||
wmi_priv.main_dir_kset = kset_create_and_add("attributes", NULL,
|
|
||||||
&wmi_priv.class_dev->kobj);
|
|
||||||
if (!wmi_priv.main_dir_kset) {
|
|
||||||
ret = -ENOMEM;
|
|
||||||
- goto fail_main_kset;
|
|
||||||
+ goto err_destroy_classdev;
|
|
||||||
}
|
|
||||||
|
|
||||||
wmi_priv.authentication_dir_kset = kset_create_and_add("authentication", NULL,
|
|
||||||
&wmi_priv.class_dev->kobj);
|
|
||||||
if (!wmi_priv.authentication_dir_kset) {
|
|
||||||
ret = -ENOMEM;
|
|
||||||
- goto fail_authentication_kset;
|
|
||||||
+ goto err_release_attributes_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = create_attributes_level_sysfs_files();
|
|
||||||
if (ret) {
|
|
||||||
pr_debug("could not create reset BIOS attribute\n");
|
|
||||||
- goto fail_reset_bios;
|
|
||||||
+ goto err_release_attributes_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = init_bios_attributes(ENUM, DELL_WMI_BIOS_ENUMERATION_ATTRIBUTE_GUID);
|
|
||||||
if (ret) {
|
|
||||||
pr_debug("failed to populate enumeration type attributes\n");
|
|
||||||
- goto fail_create_group;
|
|
||||||
+ goto err_release_attributes_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = init_bios_attributes(INT, DELL_WMI_BIOS_INTEGER_ATTRIBUTE_GUID);
|
|
||||||
if (ret) {
|
|
||||||
pr_debug("failed to populate integer type attributes\n");
|
|
||||||
- goto fail_create_group;
|
|
||||||
+ goto err_release_attributes_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = init_bios_attributes(STR, DELL_WMI_BIOS_STRING_ATTRIBUTE_GUID);
|
|
||||||
if (ret) {
|
|
||||||
pr_debug("failed to populate string type attributes\n");
|
|
||||||
- goto fail_create_group;
|
|
||||||
+ goto err_release_attributes_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = init_bios_attributes(PO, DELL_WMI_BIOS_PASSOBJ_ATTRIBUTE_GUID);
|
|
||||||
if (ret) {
|
|
||||||
pr_debug("failed to populate pass object type attributes\n");
|
|
||||||
- goto fail_create_group;
|
|
||||||
+ goto err_release_attributes_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
-fail_create_group:
|
|
||||||
+err_release_attributes_data:
|
|
||||||
release_attributes_data();
|
|
||||||
|
|
||||||
-fail_reset_bios:
|
|
||||||
- if (wmi_priv.authentication_dir_kset) {
|
|
||||||
- kset_unregister(wmi_priv.authentication_dir_kset);
|
|
||||||
- wmi_priv.authentication_dir_kset = NULL;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
-fail_authentication_kset:
|
|
||||||
- if (wmi_priv.main_dir_kset) {
|
|
||||||
- kset_unregister(wmi_priv.main_dir_kset);
|
|
||||||
- wmi_priv.main_dir_kset = NULL;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
-fail_main_kset:
|
|
||||||
+err_destroy_classdev:
|
|
||||||
device_destroy(&firmware_attributes_class, MKDEV(0, 0));
|
|
||||||
|
|
||||||
-fail_classdev:
|
|
||||||
+err_unregister_class:
|
|
||||||
class_unregister(&firmware_attributes_class);
|
|
||||||
|
|
||||||
-fail_class:
|
|
||||||
+err_exit_bios_attr_pass_interface:
|
|
||||||
exit_bios_attr_pass_interface();
|
|
||||||
|
|
||||||
-fail_pass_interface:
|
|
||||||
+err_exit_bios_attr_set_interface:
|
|
||||||
exit_bios_attr_set_interface();
|
|
||||||
|
|
||||||
-fail_set_interface:
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
|
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
|
||||||
index 5b81bafa5c16..cc42af2a0a98 100644
|
index 5b81bafa5c16..cc42af2a0a98 100644
|
||||||
--- a/drivers/platform/x86/ideapad-laptop.c
|
--- a/drivers/platform/x86/ideapad-laptop.c
|
||||||
|
@ -2772,29 +2715,6 @@ index 2f5b8d09143e..57cc92891a57 100644
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
|
|
||||||
index 30a9062d2b4b..a90c32d072da 100644
|
|
||||||
--- a/drivers/platform/x86/intel-vbtn.c
|
|
||||||
+++ b/drivers/platform/x86/intel-vbtn.c
|
|
||||||
@@ -47,8 +47,16 @@ static const struct key_entry intel_vbtn_keymap[] = {
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct key_entry intel_vbtn_switchmap[] = {
|
|
||||||
- { KE_SW, 0xCA, { .sw = { SW_DOCK, 1 } } }, /* Docked */
|
|
||||||
- { KE_SW, 0xCB, { .sw = { SW_DOCK, 0 } } }, /* Undocked */
|
|
||||||
+ /*
|
|
||||||
+ * SW_DOCK should only be reported for docking stations, but DSDTs using the
|
|
||||||
+ * intel-vbtn code, always seem to use this for 2-in-1s / convertibles and set
|
|
||||||
+ * SW_DOCK=1 when in laptop-mode (in tandem with setting SW_TABLET_MODE=0).
|
|
||||||
+ * This causes userspace to think the laptop is docked to a port-replicator
|
|
||||||
+ * and to disable suspend-on-lid-close, which is undesirable.
|
|
||||||
+ * Map the dock events to KEY_IGNORE to avoid this broken SW_DOCK reporting.
|
|
||||||
+ */
|
|
||||||
+ { KE_IGNORE, 0xCA, { .sw = { SW_DOCK, 1 } } }, /* Docked */
|
|
||||||
+ { KE_IGNORE, 0xCB, { .sw = { SW_DOCK, 0 } } }, /* Undocked */
|
|
||||||
{ KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet */
|
|
||||||
{ KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop */
|
|
||||||
};
|
|
||||||
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
|
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
|
||||||
index f3e8eca8d86d..9ecf7829b3d8 100644
|
index f3e8eca8d86d..9ecf7829b3d8 100644
|
||||||
--- a/drivers/platform/x86/thinkpad_acpi.c
|
--- a/drivers/platform/x86/thinkpad_acpi.c
|
||||||
|
|
6
sources
6
sources
|
@ -1,3 +1,3 @@
|
||||||
SHA512 (linux-5.11.10.tar.xz) = be03e9b9b065493733e91e8cf4c38a8684c6b2a4b8eb18bd1e08f2e82e3e20dfa3eb3aaccbbaf73694db245188f1275c3ba1da6a4b5c9a346aeafdebbe85f145
|
SHA512 (linux-5.11.11.tar.xz) = c644166f844e31c4e5a6b9721726ba8a59468f524f231ea1e8e0d9091a4c9a7b5874742f35f132444f2fe305dce8d80830895ccbb41be39df3a0a96c56909e5a
|
||||||
SHA512 (kernel-abi-whitelists-5.11.10-200.tar.bz2) = 898f8ca896a981db23dcc81b4f202d850a16e57e8ae33308bcd34e26c7191e02d41c96959b2e0cf742b2fadd50c2cd4c6968c59f89350c1ad8bf6e604dd9572a
|
SHA512 (kernel-abi-whitelists-5.11.11-200.tar.bz2) = ea14568cfba86afff03e10ad48cca3ff3f4c36960b38ee7cbbe24b9ca44d070b4a0d88183c20818d8090736a1ef8810a818ede163858368e362b1c5f807dcdf1
|
||||||
SHA512 (kernel-kabi-dw-5.11.10-200.tar.bz2) = 0fa4e361af96088f30b8650303ec4d0f865913b38e6bff55d81ec69d03efd23fa91263758f069790ffe476c7c39933935846f279da5fbd98db577296709f5e05
|
SHA512 (kernel-kabi-dw-5.11.11-200.tar.bz2) = fb9e3950ff4fbdcb57e9547d8487af5369b5a3f9cd20902b8dac1680039fd4ede76c9a13cb1fbacf8937261996c6a1d83427feda7b166ca609e2cc4b7d79d3c2
|
||||||
|
|
Loading…
Reference in New Issue