summaryrefslogtreecommitdiffstats
path: root/debian/patches/features
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/features')
-rw-r--r--debian/patches/features/all/driver-core-Emit-reason-for-pending-deferred-probe.patch35
-rw-r--r--debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch6
-rw-r--r--debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch14
-rw-r--r--debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch10
4 files changed, 50 insertions, 15 deletions
diff --git a/debian/patches/features/all/driver-core-Emit-reason-for-pending-deferred-probe.patch b/debian/patches/features/all/driver-core-Emit-reason-for-pending-deferred-probe.patch
new file mode 100644
index 0000000000..4c4be6b22a
--- /dev/null
+++ b/debian/patches/features/all/driver-core-Emit-reason-for-pending-deferred-probe.patch
@@ -0,0 +1,35 @@
+From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
+Date: Wed, 22 Nov 2023 10:33:33 +0100
+Subject: driver core: Emit reason for pending deferred probe
+Origin: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=7c41da586e9f45bf8842b4dca08681df8d586ebb
+
+Ending a boot log with
+
+ platform 3f202000.mmc: deferred probe pending
+
+is already a nice hint about the problem. Sometimes there is a more
+detailed error indicator available, add that to the output.
+
+Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
+Link: https://lore.kernel.org/r/20231122093332.274145-2-u.kleine-koenig@pengutronix.de
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/base/dd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/base/dd.c b/drivers/base/dd.c
+index 0c3725c3eefa..85152537dbf1 100644
+--- a/drivers/base/dd.c
++++ b/drivers/base/dd.c
+@@ -313,7 +313,7 @@ static void deferred_probe_timeout_work_func(struct work_struct *work)
+
+ mutex_lock(&deferred_probe_mutex);
+ list_for_each_entry(p, &deferred_probe_pending_list, deferred_probe)
+- dev_info(p->device, "deferred probe pending\n");
++ dev_info(p->device, "deferred probe pending: %s", p->deferred_probe_reason ?: "(reason unknown)\n");
+ mutex_unlock(&deferred_probe_mutex);
+
+ fw_devlink_probing_done();
+--
+2.43.0
+
diff --git a/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch b/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch
index 16cac663c1..a4576e75f4 100644
--- a/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch
+++ b/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch
@@ -49,8 +49,8 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
depends on BROKEN && X86
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
-@@ -283,14 +283,14 @@ static LIST_HEAD(dmar_satc_units);
- static void device_block_translation(struct device *dev);
+@@ -284,14 +284,14 @@ static LIST_HEAD(dmar_satc_units);
+
static void intel_iommu_domain_free(struct iommu_domain *domain);
-int dmar_disabled = !IS_ENABLED(CONFIG_INTEL_IOMMU_DEFAULT_ON);
@@ -66,7 +66,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
static int intel_iommu_superpage = 1;
static int iommu_identity_mapping;
static int iommu_skip_te_disable;
-@@ -328,6 +328,7 @@ static int __init intel_iommu_setup(char
+@@ -333,6 +333,7 @@ static int __init intel_iommu_setup(char
while (*str) {
if (!strncmp(str, "on", 2)) {
dmar_disabled = 0;
diff --git a/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch b/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch
index a3543d90e9..6950c937d5 100644
--- a/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch
+++ b/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch
@@ -22,7 +22,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -2053,6 +2053,8 @@
+@@ -2122,6 +2122,8 @@
bypassed by not enabling DMAR with this option. In
this case, gfx device will use physical address for
DMA.
@@ -33,7 +33,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sp_off [Default Off]
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
-@@ -35,6 +35,9 @@
+@@ -36,6 +36,9 @@
#define CONTEXT_SIZE VTD_PAGE_SIZE
#define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY)
@@ -43,7 +43,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
#define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB)
#define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA)
#define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e)
-@@ -293,12 +296,14 @@ int intel_iommu_enabled = 0;
+@@ -291,12 +294,14 @@ int intel_iommu_enabled = 0;
EXPORT_SYMBOL_GPL(intel_iommu_enabled);
static int dmar_map_gfx = 1;
@@ -57,8 +57,8 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+#define IDENTMAP_INTGPU 8
const struct iommu_ops intel_iommu_ops;
-
-@@ -337,6 +342,9 @@ static int __init intel_iommu_setup(char
+ static const struct iommu_dirty_ops intel_dirty_ops;
+@@ -336,6 +341,9 @@ static int __init intel_iommu_setup(char
} else if (!strncmp(str, "igfx_off", 8)) {
dmar_map_gfx = 0;
pr_info("Disable GFX device mapping\n");
@@ -68,7 +68,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
} else if (!strncmp(str, "forcedac", 8)) {
pr_warn("intel_iommu=forcedac deprecated; use iommu.forcedac instead\n");
iommu_dma_forcedac = true;
-@@ -2582,6 +2590,9 @@ static int device_def_domain_type(struct
+@@ -2548,6 +2556,9 @@ static int device_def_domain_type(struct
if ((iommu_identity_mapping & IDENTMAP_GFX) && IS_GFX_DEVICE(pdev))
return IOMMU_DOMAIN_IDENTITY;
@@ -78,7 +78,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
}
return 0;
-@@ -2985,6 +2996,9 @@ static int __init init_dmars(void)
+@@ -2855,6 +2866,9 @@ static int __init init_dmars(void)
if (!dmar_map_gfx)
iommu_identity_mapping |= IDENTMAP_GFX;
diff --git a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
index 010fa59105..c77b75f36d 100644
--- a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
+++ b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
@@ -29,7 +29,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -6172,6 +6172,10 @@
+@@ -6410,6 +6410,10 @@
later by a loaded module cannot be set this way.
Example: sysctl.vm.swappiness=40
@@ -42,7 +42,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Ignore sysrq setting - this boot parameter will
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -3058,6 +3058,14 @@ config COMPAT_32
+@@ -3024,6 +3024,14 @@ config COMPAT_32
select HAVE_UID16
select OLD_SIGSUSPEND3
@@ -59,7 +59,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
depends on IA32_EMULATION || X86_X32_ABI
--- a/arch/x86/entry/common.c
+++ b/arch/x86/entry/common.c
-@@ -62,7 +62,7 @@ static __always_inline bool do_syscall_x
+@@ -63,7 +63,7 @@ static __always_inline bool do_syscall_x
*/
unsigned int xnr = nr - __X32_SYSCALL_BIT;
@@ -129,7 +129,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+arch_param_cb(x32, &x32_param_ops, NULL, 0444);
--- a/arch/x86/include/asm/elf.h
+++ b/arch/x86/include/asm/elf.h
-@@ -11,6 +11,9 @@
+@@ -12,6 +12,9 @@
#include <asm/user.h>
#include <asm/auxvec.h>
#include <asm/fsgsbase.h>
@@ -142,7 +142,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
@@ -150,7 +153,8 @@ do { \
#define compat_elf_check_arch(x) \
- (elf_check_arch_ia32(x) || \
+ ((elf_check_arch_ia32(x) && ia32_enabled()) || \
- (IS_ENABLED(CONFIG_X86_X32_ABI) && (x)->e_machine == EM_X86_64))
+ (IS_ENABLED(CONFIG_X86_X32_ABI) && x32_enabled && \
+ (x)->e_machine == EM_X86_64))