diff --git a/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch b/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch deleted file mode 100644 index 1a5bec6ce..000000000 --- a/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Al Stone -Date: Tue, 27 Feb 2018 00:21:23 -0500 -Subject: [PATCH] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support - -Message-id: <20180227002123.21608-1-ahs3@redhat.com> -Patchwork-id: 206052 -O-Subject: [RHEL8 BZ1518076 PATCH] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support -Bugzilla: 1518076 -RH-Acked-by: Mark Salter -RH-Acked-by: Jeremy McNicoll - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1518076 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15417197 -Tested: compile-only; several other patches are required for full booting - QE has tested limited boot (see comment#12 of BZ) - -This is a re-post of a RHEL-ALT-7.5 patch specific to aarch64 moonshots -that we use in beaker. It is required for these machines to boot. - - commit 8a663a264863efedf8bb4a9d76ac603920fdd739 - Author: Robert Richter - Date: Wed Aug 16 19:49:30 2017 -0400 - - [acpi] APEI: arm64: Ignore broken HPE moonshot APEI support - - From: Mark Salter - Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1344237 - Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=13768971 - Tested: Booted on moonshot with patched 4.11.0-20 kernel - Upstream: RHEL-only - - The aarch64 HP moonshot platforms we have in beaker and elsewhere have - a firmware bug which causes a spurious fatal memory error via APEI at - boot time. This platform is no longer supported and no further firmware - updates are expected. This is a downstream-only hack to avoid the problem - by bailing out of HEST table probing if we detect a moonshot HEST table. - - Signed-off-by: Mark Salter - Signed-off-by: Robert Richter - Signed-off-by: Herton R. Krzesinski - -Upstream Status: RHEL only -Signed-off-by: Al Stone -Signed-off-by: Herton R. Krzesinski ---- - drivers/acpi/apei/hest.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c -index 953a2fae8b15..7ea07f7da582 100644 ---- a/drivers/acpi/apei/hest.c -+++ b/drivers/acpi/apei/hest.c -@@ -88,6 +88,14 @@ int apei_hest_parse(apei_hest_func_t func, void *data) - if (hest_disable || !hest_tab) - return -EINVAL; - -+#ifdef CONFIG_ARM64 -+ /* Ignore broken firmware */ -+ if (!strncmp(hest_tab->header.oem_id, "HPE ", 6) && -+ !strncmp(hest_tab->header.oem_table_id, "ProLiant", 8) && -+ MIDR_IMPLEMENTOR(read_cpuid_id()) == ARM_CPU_IMP_APM) -+ return -EINVAL; -+#endif -+ - hest_hdr = (struct acpi_hest_header *)(hest_tab + 1); - for (i = 0; i < hest_tab->error_source_count; i++) { - len = hest_esrc_len(hest_hdr); --- -2.26.2 - diff --git a/0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch b/0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch deleted file mode 100644 index 1cc560ee8..000000000 --- a/0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Salter -Date: Thu, 10 May 2018 17:38:43 -0400 -Subject: [PATCH] ACPI / irq: Workaround firmware issue on X-Gene based m400 - -Message-id: <20180510173844.29580-3-msalter@redhat.com> -Patchwork-id: 214383 -O-Subject: [RHEL-8 BZ1519554 2/3] ACPI / irq: Workaround firmware issue on X-Gene based m400 -Bugzilla: 1519554 -RH-Acked-by: Al Stone -RH-Acked-by: Tony Camuso - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1519554 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16144520 - -The ACPI firmware on the xgene-based m400 platorms erroneously -describes its UART interrupt as ACPI_PRODUCER rather than -ACPI_CONSUMER. This leads to the UART driver being unable to -find its interrupt and the kernel unable find a console. -Work around this by avoiding the producer/consumer check -for X-Gene UARTs. - -Upstream Status: RHEL only -Signed-off-by: Mark Salter -Signed-off-by: Herton R. Krzesinski ---- - drivers/acpi/irq.c | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c -index e209081d644b..7484bcf59a1b 100644 ---- a/drivers/acpi/irq.c -+++ b/drivers/acpi/irq.c -@@ -126,6 +126,7 @@ struct acpi_irq_parse_one_ctx { - unsigned int index; - unsigned long *res_flags; - struct irq_fwspec *fwspec; -+ bool skip_producer_check; - }; - - /** -@@ -197,7 +198,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares, - return AE_CTRL_TERMINATE; - case ACPI_RESOURCE_TYPE_EXTENDED_IRQ: - eirq = &ares->data.extended_irq; -- if (eirq->producer_consumer == ACPI_PRODUCER) -+ if (!ctx->skip_producer_check && -+ eirq->producer_consumer == ACPI_PRODUCER) - return AE_OK; - if (ctx->index >= eirq->interrupt_count) { - ctx->index -= eirq->interrupt_count; -@@ -232,8 +234,19 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares, - static int acpi_irq_parse_one(acpi_handle handle, unsigned int index, - struct irq_fwspec *fwspec, unsigned long *flags) - { -- struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec }; -+ struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false }; - -+ /* -+ * Firmware on arm64-based HPE m400 platform incorrectly marks -+ * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER. -+ * Don't do the producer/consumer check for that device. -+ */ -+ if (IS_ENABLED(CONFIG_ARM64)) { -+ struct acpi_device *adev = acpi_bus_get_acpi_device(handle); -+ -+ if (adev && !strcmp(acpi_device_hid(adev), "APMC0D08")) -+ ctx.skip_producer_check = true; -+ } - acpi_walk_resources(handle, METHOD_NAME__CRS, acpi_irq_parse_one_cb, &ctx); - return ctx.rc; - } --- -2.26.2 - diff --git a/0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch b/0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch deleted file mode 100644 index c5a43608f..000000000 --- a/0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Masahiro Yamada -Date: Mon, 30 Sep 2019 14:59:25 +0900 -Subject: [PATCH] ARM: fix __get_user_check() in case uaccess_* calls are not - inlined - -KernelCI reports that bcm2835_defconfig is no longer booting since -commit ac7c3e4ff401 ("compiler: enable CONFIG_OPTIMIZE_INLINING -forcibly"): - - https://lkml.org/lkml/2019/9/26/825 - -I also received a regression report from Nicolas Saenz Julienne: - - https://lkml.org/lkml/2019/9/27/263 - -This problem has cropped up on arch/arm/config/bcm2835_defconfig -because it enables CONFIG_CC_OPTIMIZE_FOR_SIZE. The compiler tends -to prefer not inlining functions with -Os. I was able to reproduce -it with other boards and defconfig files by manually enabling -CONFIG_CC_OPTIMIZE_FOR_SIZE. - -The __get_user_check() specifically uses r0, r1, r2 registers. -So, uaccess_save_and_enable() and uaccess_restore() must be inlined -in order to avoid those registers being overwritten in the callees. - -Prior to commit 9012d011660e ("compiler: allow all arches to enable -CONFIG_OPTIMIZE_INLINING"), the 'inline' marker was always enough for -inlining functions, except on x86. - -Since that commit, all architectures can enable CONFIG_OPTIMIZE_INLINING. -So, __always_inline is now the only guaranteed way of forcible inlining. - -I want to keep as much compiler's freedom as possible about the inlining -decision. So, I changed the function call order instead of adding -__always_inline around. - -Call uaccess_save_and_enable() before assigning the __p ("r0"), and -uaccess_restore() after evacuating the __e ("r0"). - -Fixes: 9012d011660e ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING") -Reported-by: "kernelci.org bot" -Reported-by: Nicolas Saenz Julienne -Signed-off-by: Masahiro Yamada -Acked-by: Arnd Bergmann -Tested-by: Nicolas Saenz Julienne -Tested-by: Fabrizio Castro -Tested-by: Geert Uytterhoeven ---- - arch/arm/include/asm/uaccess.h | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h -index 98c6b91be4a8..60055827dddc 100644 ---- a/arch/arm/include/asm/uaccess.h -+++ b/arch/arm/include/asm/uaccess.h -@@ -191,11 +191,12 @@ extern int __get_user_64t_4(void *); - #define __get_user_check(x, p) \ - ({ \ - unsigned long __limit = current_thread_info()->addr_limit - 1; \ -+ unsigned int __ua_flags = uaccess_save_and_enable(); \ - register typeof(*(p)) __user *__p asm("r0") = (p); \ - register __inttype(x) __r2 asm("r2"); \ - register unsigned long __l asm("r1") = __limit; \ - register int __e asm("r0"); \ -- unsigned int __ua_flags = uaccess_save_and_enable(); \ -+ unsigned int __err; \ - switch (sizeof(*(__p))) { \ - case 1: \ - if (sizeof((x)) >= 8) \ -@@ -223,9 +224,10 @@ extern int __get_user_64t_4(void *); - break; \ - default: __e = __get_user_bad(); break; \ - } \ -- uaccess_restore(__ua_flags); \ -+ __err = __e; \ - x = (typeof(*(p))) __r2; \ -- __e; \ -+ uaccess_restore(__ua_flags); \ -+ __err; \ - }) - - #define get_user(x, p) \ --- -2.26.2 - diff --git a/0001-ARM-tegra-usb-no-reset.patch b/0001-ARM-tegra-usb-no-reset.patch deleted file mode 100644 index 21ebad41e..000000000 --- a/0001-ARM-tegra-usb-no-reset.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Thu, 3 May 2012 20:27:11 +0100 -Subject: [PATCH] ARM: tegra: usb no reset - -Patch for disconnect issues with storage attached to a - tegra-ehci controller ---- - drivers/usb/core/hub.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index b1e14beaac5f..b28779779058 100644 ---- a/drivers/usb/core/hub.c -+++ b/drivers/usb/core/hub.c -@@ -5517,6 +5517,13 @@ static void hub_event(struct work_struct *work) - (u16) hub->change_bits[0], - (u16) hub->event_bits[0]); - -+ /* Don't disconnect USB-SATA on TrimSlice */ -+ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) { -+ if ((hdev->state == 7) && (hub->change_bits[0] == 0) && -+ (hub->event_bits[0] == 0x2)) -+ hub->event_bits[0] = 0; -+ } -+ - /* Lock the device, then check to see if we were - * disconnected while waiting for the lock to succeed. */ - usb_lock_device(hdev); --- -2.26.2 - diff --git a/0001-Add-Red-Hat-tainting.patch b/0001-Add-Red-Hat-tainting.patch deleted file mode 100644 index 04ffd5df4..000000000 --- a/0001-Add-Red-Hat-tainting.patch +++ /dev/null @@ -1,240 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Laura Abbott -Date: Wed, 13 Nov 2019 14:44:31 -0500 -Subject: [PATCH] Add Red Hat tainting - -Message-id: <20191113144431.9403-5-labbott@redhat.com> -Patchwork-id: 286078 -O-Subject: [ARK INTERNAL PATCHv2 4/4] [redhat] Add Red Hat tainting -Bugzilla: -RH-Acked-by: Don Zickus -RH-Acked-by: Prarit Bhargava -RH-Acked-by: Jiri Benc - -This is a combination of the following commits including support -for adding CONFIG_RH_DEPRECATED support - -rh_taint: add support - -Message-id: <1524831536-47239-1-git-send-email-darcari@redhat.com> -Patchwork-id: 211655 -O-Subject: [RHEL8.0 BZ 1565704 v2] rh_taint: add support -Bugzilla: 1565704 -RH-Acked-by: Jonathan Toppins -RH-Acked-by: Jiri Benc - -Bugzilla: http://bugzilla.redhat.com/1565704 -Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15910441 -Upstream: RHEL Only -Test: Sanity boot of brew build. Previous private build testing of functions. - -rh_taint.c adds the following functions which are utilized by Red Hat to -indicate limited or no support for hardware and/or drivers. - -mark_hardware_unsupported -mark_hardware_deprecated -mark_tech_preview - -See code comments for usage. - -RHEL8 change: TAINT_AUX will be used in place of TAINT_TECH_PREVIEW as it -limits the number RHEL only changes that must be made to the kernel. - -If at a later date it is determined that additional flags are required, -the associated RHEL only infrastructure can be added at that time. - -Cc: David Arcari -Cc: Josh Poimboeuf -Signed-off-by: Herton R. Krzesinski - -rh_taint: add support for marking driver as unsupported - -Message-id: -Patchwork-id: 211020 -O-Subject: [RHEL8.0] rh_taint: add support for marking driver as unsupported -Bugzilla: 1565704 -RH-Acked-by: Jiri Benc -RH-Acked-by: David Arcari - -In some cases a driver needs to be enabled by Red Hat to support internal -testing but the driver is not intended to be supported on customer hardware. -This adds a function "make_driver_unsupported()" to facilitate such -situations. The function will print a kernel log message. - -Bugzilla: 1565704 -Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15873552 -Tested: compile only - -Signed-off-by: Jonathan Toppins -Signed-off-by: Herton R. Krzesinski - -rh_taint: correct loaddable module support dependencies - -Message-id: <20181123111337.26898-5-prudo@redhat.com> -Patchwork-id: 233658 -O-Subject: [ARK PATCH RESEND v2 4/8] [kernel] rh_taint: correct loaddable module support dependencies -Bugzilla: 1652266 -RH-Acked-by: Jakub Racek -RH-Acked-by: Jiri Benc -RH-Acked-by: Cornelia Huck - -Bugzilla: 1652266 -Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=19252944 -Upstream Status: RHEL_only - -The kernel configuration for the s390/zfcpdump kernel variant turns -loaddable module support off. The build breaks in rh_taint.c due to -compiler errors caused by dereferencing struct module variables which -is just a declaration if CONFIG_MODULES is not set. - -To solve this build break, access struct module members only if -CONFIG_MODULES is enabled. - -Upstream Status: RHEL only -Signed-off-by: Philipp Rudo ---- - include/linux/kernel.h | 15 +++++++ - kernel/Makefile | 2 + - kernel/rh_taint.c | 93 ++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 110 insertions(+) - create mode 100644 kernel/rh_taint.c - -diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index 82d91547d122..b82db0c0caec 100644 ---- a/include/linux/kernel.h -+++ b/include/linux/kernel.h -@@ -1038,4 +1038,19 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } - /* OTHER_WRITABLE? Generally considered a bad idea. */ \ - BUILD_BUG_ON_ZERO((perms) & 2) + \ - (perms)) -+ -+struct module; -+ -+#ifdef CONFIG_RH_DISABLE_DEPRECATED -+void mark_hardware_unsupported(const char *msg); -+void mark_hardware_deprecated(const char *msg); -+void mark_tech_preview(const char *msg, struct module *mod); -+void mark_driver_unsupported(const char *name); -+#else -+static inline void mark_hardware_unsupported(const char *msg) { } -+static inline void mark_hardware_deprecated(const char *msg) { } -+static inline void mark_tech_preview(const char *msg, struct module *mod) { } -+static inline void mark_driver_unsupported(const char *name) { } -+#endif -+ - #endif -diff --git a/kernel/Makefile b/kernel/Makefile -index f3218bc5ec69..c0a4904413b5 100644 ---- a/kernel/Makefile -+++ b/kernel/Makefile -@@ -12,6 +12,8 @@ obj-y = fork.o exec_domain.o panic.o \ - notifier.o ksysfs.o cred.o reboot.o \ - async.o range.o smpboot.o ucount.o - -+obj-$(CONFIG_RH_DISABLE_DEPRECATED) += rh_taint.o -+ - obj-$(CONFIG_MODULES) += kmod.o - obj-$(CONFIG_MULTIUSER) += groups.o - -diff --git a/kernel/rh_taint.c b/kernel/rh_taint.c -new file mode 100644 -index 000000000000..8d1641710ed7 ---- /dev/null -+++ b/kernel/rh_taint.c -@@ -0,0 +1,93 @@ -+#include -+#include -+ -+/* -+ * The following functions are used by Red Hat to indicate to users that -+ * hardware and drivers are unsupported, or have limited support in RHEL major -+ * and minor releases. These functions output loud warning messages to the end -+ * user and should be USED WITH CAUTION. -+ * -+ * Any use of these functions _MUST_ be documented in the RHEL Release Notes, -+ * and have approval of management. -+ */ -+ -+/** -+ * mark_hardware_unsupported() - Mark hardware, class, or type as unsupported. -+ * @msg: Hardware name, class, or type -+ * -+ * Called to mark a device, class of devices, or types of devices as not having -+ * support in any RHEL minor release. This does not TAINT the kernel. Red Hat -+ * will not fix bugs against this hardware in this minor release. Red Hat may -+ * declare support in a future major or minor update release. This cannot be -+ * used to mark drivers unsupported. -+ */ -+void mark_hardware_unsupported(const char *msg) -+{ -+ /* Print one single message */ -+ pr_crit("Warning: %s - this hardware has not undergone testing by Red Hat and might not be certified. Please consult https://hardware.redhat.com for certified hardware.\n", msg); -+} -+EXPORT_SYMBOL(mark_hardware_unsupported); -+ -+/** -+ * mark_hardware_deprecated() - Mark hardware, class, or type as deprecated. -+ * @msg: Hardware name, class, or type -+ * -+ * Called to minimize the support status of a previously supported device in -+ * a minor release. This does not TAINT the kernel. Marking hardware -+ * deprecated is usually done in conjunction with the hardware vendor. Future -+ * RHEL major releases may not include this driver. Driver updates and fixes -+ * for this device will be limited to critical issues in future minor releases. -+ */ -+void mark_hardware_deprecated(const char *msg) -+{ -+ pr_crit("Warning: %s - this hardware is not recommended for new deployments. It continues to be supported in this RHEL release, but it is likely to be removed in the next major release. Driver updates and fixes for this device will be limited to critical issues. Please contact Red Hat Support or your device's hardware vendor for additional information.\n", msg); -+} -+EXPORT_SYMBOL(mark_hardware_deprecated); -+ -+/** -+ * mark_tech_preview() - Mark driver or kernel subsystem as 'Tech Preview' -+ * @msg: Driver or kernel subsystem name -+ * -+ * Called to minimize the support status of a new driver. This does TAINT the -+ * kernel. Calling this function indicates that the driver or subsystem has -+ * had limited testing and is not marked for full support within this RHEL -+ * minor release. The next RHEL minor release may contain full support for -+ * this driver. Red Hat does not guarantee that bugs reported against this -+ * driver or subsystem will be resolved. -+ */ -+void mark_tech_preview(const char *msg, struct module *mod) -+{ -+ const char *str = NULL; -+ -+ if (msg) -+ str = msg; -+#ifdef CONFIG_MODULES -+ else if (mod && mod->name) -+ str = mod->name; -+#endif -+ -+ pr_warn("TECH PREVIEW: %s may not be fully supported.\n" -+ "Please review provided documentation for limitations.\n", -+ (str ? str : "kernel")); -+ add_taint(TAINT_AUX, LOCKDEP_STILL_OK); -+#ifdef CONFIG_MODULES -+ if (mod) -+ mod->taints |= (1U << TAINT_AUX); -+#endif -+} -+EXPORT_SYMBOL(mark_tech_preview); -+ -+/** -+ * mark_driver_unsupported - drivers that we know we don't want to support -+ * @name: the name of the driver -+ * -+ * In some cases Red Hat has chosen to build a driver for internal QE -+ * use. Use this function to mark those drivers as unsupported for -+ * customers. -+ */ -+void mark_driver_unsupported(const char *name) -+{ -+ pr_crit("Warning: %s - This driver has not undergone sufficient testing by Red Hat for this release and therefore cannot be used in production systems.\n", -+ name ? name : "kernel"); -+} -+EXPORT_SYMBOL(mark_driver_unsupported); --- -2.26.2 - diff --git a/0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch b/0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch deleted file mode 100644 index 9fa2f1a8e..000000000 --- a/0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 2 Oct 2017 18:22:13 -0400 -Subject: [PATCH] Add efi_status_to_str() and rework efi_status_to_err(). - -This adds efi_status_to_str() for use when printing efi_status_t -messages, and reworks efi_status_to_err() so that the two use a common -list of errors. - -Upstream Status: RHEL only -Signed-off-by: Peter Jones ---- - drivers/firmware/efi/efi.c | 124 +++++++++++++++++++++++++++---------- - include/linux/efi.h | 3 + - 2 files changed, 96 insertions(+), 31 deletions(-) - -diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c -index fdd1db025dbf..8ef7d1df09dd 100644 ---- a/drivers/firmware/efi/efi.c -+++ b/drivers/firmware/efi/efi.c -@@ -31,6 +31,7 @@ - #include - #include - #include -+#include - - #include - -@@ -831,40 +832,101 @@ int efi_mem_type(unsigned long phys_addr) - } - #endif - -+struct efi_error_code { -+ efi_status_t status; -+ int errno; -+ const char *description; -+}; -+ -+static const struct efi_error_code efi_error_codes[] = { -+ { EFI_SUCCESS, 0, "Success"}, -+#if 0 -+ { EFI_LOAD_ERROR, -EPICK_AN_ERRNO, "Load Error"}, -+#endif -+ { EFI_INVALID_PARAMETER, -EINVAL, "Invalid Parameter"}, -+ { EFI_UNSUPPORTED, -ENOSYS, "Unsupported"}, -+ { EFI_BAD_BUFFER_SIZE, -ENOSPC, "Bad Buffer Size"}, -+ { EFI_BUFFER_TOO_SMALL, -ENOSPC, "Buffer Too Small"}, -+ { EFI_NOT_READY, -EAGAIN, "Not Ready"}, -+ { EFI_DEVICE_ERROR, -EIO, "Device Error"}, -+ { EFI_WRITE_PROTECTED, -EROFS, "Write Protected"}, -+ { EFI_OUT_OF_RESOURCES, -ENOMEM, "Out of Resources"}, -+#if 0 -+ { EFI_VOLUME_CORRUPTED, -EPICK_AN_ERRNO, "Volume Corrupt"}, -+ { EFI_VOLUME_FULL, -EPICK_AN_ERRNO, "Volume Full"}, -+ { EFI_NO_MEDIA, -EPICK_AN_ERRNO, "No Media"}, -+ { EFI_MEDIA_CHANGED, -EPICK_AN_ERRNO, "Media changed"}, -+#endif -+ { EFI_NOT_FOUND, -ENOENT, "Not Found"}, -+#if 0 -+ { EFI_ACCESS_DENIED, -EPICK_AN_ERRNO, "Access Denied"}, -+ { EFI_NO_RESPONSE, -EPICK_AN_ERRNO, "No Response"}, -+ { EFI_NO_MAPPING, -EPICK_AN_ERRNO, "No mapping"}, -+ { EFI_TIMEOUT, -EPICK_AN_ERRNO, "Time out"}, -+ { EFI_NOT_STARTED, -EPICK_AN_ERRNO, "Not started"}, -+ { EFI_ALREADY_STARTED, -EPICK_AN_ERRNO, "Already started"}, -+#endif -+ { EFI_ABORTED, -EINTR, "Aborted"}, -+#if 0 -+ { EFI_ICMP_ERROR, -EPICK_AN_ERRNO, "ICMP Error"}, -+ { EFI_TFTP_ERROR, -EPICK_AN_ERRNO, "TFTP Error"}, -+ { EFI_PROTOCOL_ERROR, -EPICK_AN_ERRNO, "Protocol Error"}, -+ { EFI_INCOMPATIBLE_VERSION, -EPICK_AN_ERRNO, "Incompatible Version"}, -+#endif -+ { EFI_SECURITY_VIOLATION, -EACCES, "Security Policy Violation"}, -+#if 0 -+ { EFI_CRC_ERROR, -EPICK_AN_ERRNO, "CRC Error"}, -+ { EFI_END_OF_MEDIA, -EPICK_AN_ERRNO, "End of Media"}, -+ { EFI_END_OF_FILE, -EPICK_AN_ERRNO, "End of File"}, -+ { EFI_INVALID_LANGUAGE, -EPICK_AN_ERRNO, "Invalid Languages"}, -+ { EFI_COMPROMISED_DATA, -EPICK_AN_ERRNO, "Compromised Data"}, -+ -+ // warnings -+ { EFI_WARN_UNKOWN_GLYPH, -EPICK_AN_ERRNO, "Warning Unknown Glyph"}, -+ { EFI_WARN_DELETE_FAILURE, -EPICK_AN_ERRNO, "Warning Delete Failure"}, -+ { EFI_WARN_WRITE_FAILURE, -EPICK_AN_ERRNO, "Warning Write Failure"}, -+ { EFI_WARN_BUFFER_TOO_SMALL, -EPICK_AN_ERRNO, "Warning Buffer Too Small"}, -+#endif -+}; -+ -+static int -+efi_status_cmp_bsearch(const void *key, const void *item) -+{ -+ u64 status = (u64)(uintptr_t)key; -+ struct efi_error_code *code = (struct efi_error_code *)item; -+ -+ if (status < code->status) -+ return -1; -+ if (status > code->status) -+ return 1; -+ return 0; -+} -+ - int efi_status_to_err(efi_status_t status) - { -- int err; -- -- switch (status) { -- case EFI_SUCCESS: -- err = 0; -- break; -- case EFI_INVALID_PARAMETER: -- err = -EINVAL; -- break; -- case EFI_OUT_OF_RESOURCES: -- err = -ENOSPC; -- break; -- case EFI_DEVICE_ERROR: -- err = -EIO; -- break; -- case EFI_WRITE_PROTECTED: -- err = -EROFS; -- break; -- case EFI_SECURITY_VIOLATION: -- err = -EACCES; -- break; -- case EFI_NOT_FOUND: -- err = -ENOENT; -- break; -- case EFI_ABORTED: -- err = -EINTR; -- break; -- default: -- err = -EINVAL; -- } -+ struct efi_error_code *found; -+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code); - -- return err; -+ found = bsearch((void *)(uintptr_t)status, efi_error_codes, -+ sizeof(struct efi_error_code), num, -+ efi_status_cmp_bsearch); -+ if (!found) -+ return -EINVAL; -+ return found->errno; -+} -+ -+const char * -+efi_status_to_str(efi_status_t status) -+{ -+ struct efi_error_code *found; -+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code); -+ -+ found = bsearch((void *)(uintptr_t)status, efi_error_codes, -+ sizeof(struct efi_error_code), num, -+ efi_status_cmp_bsearch); -+ if (!found) -+ return "Unknown error code"; -+ return found->description; - } - - static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 05c47f857383..2e2f9f608f68 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -43,6 +43,8 @@ - #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1))) - #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1))) - -+#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1))) -+ - typedef unsigned long efi_status_t; - typedef u8 efi_bool_t; - typedef u16 efi_char16_t; /* UNICODE character */ -@@ -828,6 +830,7 @@ static inline bool efi_rt_services_supported(unsigned int mask) - #endif - - extern int efi_status_to_err(efi_status_t status); -+extern const char *efi_status_to_str(efi_status_t status); - - /* - * Variable Attributes --- -2.26.2 - diff --git a/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch b/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch deleted file mode 100644 index 64cdd4136..000000000 --- a/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Wed, 26 Feb 2020 13:38:40 -0500 -Subject: [PATCH] Add option of 13 for FORCE_MAX_ZONEORDER - -This is a hack, but it's what the other distros currently use -for aarch64 with 4K pages so we'll do the same while upstream -decides what the best outcome is (which isn't this). - -Upstream Status: RHEL only -Signed-off-by: Peter Robinson -[Add a dependency on RHEL_DIFFERENCES] -Signed-off-by: Jeremy Cline ---- - arch/arm64/Kconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 2e0700a451e5..77e7e749d7e5 100644 ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -1133,6 +1133,7 @@ config XEN - config FORCE_MAX_ZONEORDER - int - default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) -+ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES && !RHEL_DIFFERENCES) - default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE) - default "11" - help --- -2.26.2 - diff --git a/0001-Add-support-for-deprecating-processors.patch b/0001-Add-support-for-deprecating-processors.patch deleted file mode 100644 index 189a97156..000000000 --- a/0001-Add-support-for-deprecating-processors.patch +++ /dev/null @@ -1,303 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Laura Abbott -Date: Wed, 13 Nov 2019 14:44:30 -0500 -Subject: [PATCH] Add support for deprecating processors - -Message-id: <20191113144431.9403-4-labbott@redhat.com> -Patchwork-id: 286081 -O-Subject: [ARK INTERNAL PATCHv2 3/4] [redhat] Add support for deprecating processors -Bugzilla: -RH-Acked-by: Don Zickus -RH-Acked-by: Prarit Bhargava -RH-Acked-by: Jiri Benc - -This is the squashed version of the following patches -modifed to use the new CONFIG_RH_DISABLE_DEPRECATED option - -add rh_check_supported - -Message-id: <1525313397-75200-1-git-send-email-darcari@redhat.com> -Patchwork-id: 212189 -O-Subject: [RHEL8.0 BZ 1565717 v2] x86: add rh_check_supported -Bugzilla: 1565717 -RH-Acked-by: Steve Best -RH-Acked-by: Mikulas Patocka - -Description: - -Add code to verify that the booted x86 processor is supported by -Red Hat. In cases where the processor is not supported a critical -message is logged. - -Initially the supported set of processors for RHEL8 remains the same -as RHEL7. - -Bugzilla: http://bugzilla.redhat.com/1565717 -Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=15966242 - -Test: Booted brew build on supported (Haswell) and unsupported processor (CNL) - and achieved desired results. - -Upstream: RHEL Only - -Cc: David Arcari -Cc: Mikulas Patocka -Cc: Dave Young -Cc: Josh Poimboeuf -Signed-off-by: Herton R. Krzesinski - -update rh_check_supported processor list - -Message-id: <1530618602-17477-1-git-send-email-darcari@redhat.com> -Patchwork-id: 223452 -O-Subject: [RHEL8.0 BZ 1595918] x86: update rh_check_supported processor list -Bugzilla: 1595918 -RH-Acked-by: Jarod Wilson -RH-Acked-by: Prarit Bhargava -RH-Acked-by: Steve Best - -Bugzilla: http://bugzilla.redhat.com/1595918 -Upstream Status: RHEL_only -Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16916208 -Tested: Verified on a varity of supported and unsupported Intel and AMD systems. - Results as expected. - -In RHEL8, we are marking some of the older processors as unsupported. No code -is being removed; however, the older processors are not supported and as such -are not candidates for certification. - -Cc: David Arcari -Cc: Prarit Bhargava -Cc: Steve Best -Signed-off-by: Herton R. Krzesinski -Signed-off-by: Jakub Racek -refresh: rename FAM6_ATOM again, see f2c4db1bd - -mark whiskey-lake processor supported - -Message-id: <1533125629-12870-1-git-send-email-darcari@redhat.com> -Patchwork-id: 225809 -O-Subject: [ BZ 1609604] mark whiskey-lake processor supported -Bugzilla: 1609604 -RH-Acked-by: Steve Best -RH-Acked-by: Tony Camuso -RH-Acked-by: Prarit Bhargava - -Bugzilla: http://bugzilla.redhat.com/1609604 -Build Info: https://brewweb.devel.redhat.com/taskinfo?taskID=17474338 -Upstream Status: RHEL Only -Tested: Successful excecution of platform-test suite. - -Whiskey Lake is cpu model 142 with stepping 11. Stepping > 11 for cpu model -142 is not supported. - -For model 158, the highest supported stepping is 10. - -Cc: Prarit Bhargava -Cc: David Arcari -Cc: Dave Young -Signed-off-by: Herton R. Krzesinski - -mark intel knights landing and knights mill unsupported - -Message-id: <1533580277-126323-1-git-send-email-darcari@redhat.com> -Patchwork-id: 226187 -O-Subject: [RHEL8.0 BZ 1610493] mark intel knights landing and knights mill unsupported -Bugzilla: 1610493 -RH-Acked-by: Tony Camuso -RH-Acked-by: Prarit Bhargava -RH-Acked-by: Steve Best - -Bugzilla: http://bugzilla.redhat.com/1610493 -Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=17625348 - -Tested: verified on KNL/KNM system -Upstream Status: RHEL Only -Depends: http://bugzilla.redhat.com/1609604 - -We are marking KNL/KNM processors as unsupported. No code is being removed; -however, the older processors are not supported and as such are not -candidates for certification. - -Upstream Status: RHEL only -Cc: Prarit Bhargava -Cc: David Arcari -Cc: Dave Young -Signed-off-by: Herton R. Krzesinski ---- - arch/x86/kernel/cpu/common.c | 1 + - arch/x86/kernel/setup.c | 132 ++++++++++++++++++++++++++++++++++- - 2 files changed, 132 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c -index 95c090a45b4b..bcc6d2df56c0 100644 ---- a/arch/x86/kernel/cpu/common.c -+++ b/arch/x86/kernel/cpu/common.c -@@ -1236,6 +1236,7 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c) - cpu_detect(c); - get_cpu_vendor(c); - get_cpu_cap(c); -+ get_model_name(c); /* RHEL: get model name for unsupported check */ - get_cpu_address_sizes(c); - setup_force_cpu_cap(X86_FEATURE_CPUID); - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index a3767e74c758..a1b8cb9a2579 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -44,6 +44,7 @@ - #include - #include - #include -+#include - - /* - * max_low_pfn_mapped: highest directly mapped pfn < 4 GB -@@ -753,7 +754,132 @@ static void __init trim_low_memory_range(void) - { - memblock_reserve(0, ALIGN(reserve_low, PAGE_SIZE)); - } -- -+ -+static bool valid_amd_processor(__u8 family, const char *model_id) -+{ -+ bool valid; -+ -+ switch(family) { -+ case 0x15: -+ valid = true; -+ break; -+ -+ case 0x17: -+ valid = strstr(model_id, "AMD EPYC 7"); -+ break; -+ -+ default: -+ valid = false; -+ break; -+ } -+ -+ return valid; -+} -+ -+static bool valid_intel_processor(__u8 family, __u8 model, __u8 stepping) -+{ -+ bool valid; -+ -+ if (family != 6) -+ return false; -+ -+ switch(model) { -+ case INTEL_FAM6_ATOM_GOLDMONT_D: -+ case INTEL_FAM6_ATOM_GOLDMONT_PLUS: -+ -+ case INTEL_FAM6_BROADWELL: -+ case INTEL_FAM6_BROADWELL_G: -+ case INTEL_FAM6_BROADWELL_X: -+ case INTEL_FAM6_BROADWELL_D: -+ -+ case INTEL_FAM6_HASWELL: -+ case INTEL_FAM6_HASWELL_G: -+ case INTEL_FAM6_HASWELL_L: -+ case INTEL_FAM6_HASWELL_X: -+ valid = true; -+ break; -+ -+ case INTEL_FAM6_KABYLAKE: -+ valid = (stepping <= 10); -+ break; -+ -+ case INTEL_FAM6_KABYLAKE_L: -+ valid = (stepping <= 11); -+ break; -+ -+ case INTEL_FAM6_SKYLAKE_L: -+ case INTEL_FAM6_SKYLAKE: -+ case INTEL_FAM6_SKYLAKE_X: -+ /* stepping > 4 is Cascade Lake and is not supported */ -+ valid = (stepping <= 4); -+ break; -+ -+ default: -+ valid = false; -+ break; -+ } -+ -+ return valid; -+} -+ -+static void rh_check_supported(void) -+{ -+ bool guest; -+ -+ guest = (x86_hyper_type != X86_HYPER_NATIVE || boot_cpu_has(X86_FEATURE_HYPERVISOR)); -+ -+ /* RHEL supports single cpu on guests only */ -+ if (((boot_cpu_data.x86_max_cores * smp_num_siblings) == 1) && -+ !guest && is_kdump_kernel()) { -+ pr_crit("Detected single cpu native boot.\n"); -+ pr_crit("Important: In this kernel, single threaded, single CPU 64-bit physical systems are unsupported."); -+ } -+ -+ /* -+ * If the RHEL kernel does not support this hardware, the kernel will -+ * attempt to boot, but no support is provided for this hardware -+ */ -+ switch (boot_cpu_data.x86_vendor) { -+ case X86_VENDOR_AMD: -+ if (!valid_amd_processor(boot_cpu_data.x86, -+ boot_cpu_data.x86_model_id)) { -+ pr_crit("Detected CPU family %xh model %d\n", -+ boot_cpu_data.x86, -+ boot_cpu_data.x86_model); -+ mark_hardware_unsupported("AMD Processor"); -+ } -+ break; -+ -+ case X86_VENDOR_INTEL: -+ if (!valid_intel_processor(boot_cpu_data.x86, -+ boot_cpu_data.x86_model, -+ boot_cpu_data.x86_stepping)) { -+ pr_crit("Detected CPU family %d model %d stepping %d\n", -+ boot_cpu_data.x86, -+ boot_cpu_data.x86_model, -+ boot_cpu_data.x86_stepping); -+ mark_hardware_unsupported("Intel Processor"); -+ } -+ break; -+ -+ default: -+ pr_crit("Detected processor %s %s\n", -+ boot_cpu_data.x86_vendor_id, -+ boot_cpu_data.x86_model_id); -+ mark_hardware_unsupported("Processor"); -+ break; -+ } -+ -+ /* -+ * Due to the complexity of x86 lapic & ioapic enumeration, and PCI IRQ -+ * routing, ACPI is required for x86. acpi=off is a valid debug kernel -+ * parameter, so just print out a loud warning in case something -+ * goes wrong (which is most of the time). -+ */ -+ if (acpi_disabled && !guest) -+ pr_crit("ACPI has been disabled or is not available on this hardware. This may result in a single cpu boot, incorrect PCI IRQ routing, or boot failure.\n"); -+} -+ - /* - * Dump out kernel offset information on panic. - */ -@@ -1250,6 +1376,10 @@ void __init setup_arch(char **cmdline_p) - efi_apply_memmap_quirks(); - #endif - -+#ifdef CONFIG_RH_DISABLE_DEPRECATED -+ rh_check_supported(); -+#endif -+ - unwind_init(); - } - --- -2.26.2 - diff --git a/0001-Drop-that-for-now.patch b/0001-Drop-that-for-now.patch deleted file mode 100644 index c26066ec6..000000000 --- a/0001-Drop-that-for-now.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Laura Abbott -Date: Wed, 23 Jan 2019 14:36:37 +0100 -Subject: [PATCH] Drop that for now - ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 37cfb39d77af..c65a263990ae 100644 ---- a/Makefile -+++ b/Makefile -@@ -496,7 +496,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE - KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ - -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ - -Werror=implicit-function-declaration -Werror=implicit-int \ -- -Wno-format-security \ -+ -Wno-format-security -Wno-address-of-packed-member \ - -std=gnu89 - KBUILD_CPPFLAGS := -D__KERNEL__ - KBUILD_AFLAGS_KERNEL := --- -2.26.2 - diff --git a/0001-Fixes-acpi-prefer-booting-with-ACPI-over-DTS-to-be-R.patch b/0001-Fixes-acpi-prefer-booting-with-ACPI-over-DTS-to-be-R.patch deleted file mode 100644 index 67a889b30..000000000 --- a/0001-Fixes-acpi-prefer-booting-with-ACPI-over-DTS-to-be-R.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Fri, 10 Jul 2020 16:18:59 +0100 -Subject: [PATCH] Fixes "acpi: prefer booting with ACPI over DTS" to be RHEL - only - -The ACPI prefernce is RHEL specific, in Fedora we use upstream defaults so -it doesn't randomly change the expectations as to how certain hardware works -that generally isn't classed as "enterprise". So wrap it in the special RHEL -check as it should be for the ARK kernels. - -Signed-off-by: Peter Robinson -CC: Mark Salter ---- - arch/arm64/kernel/acpi.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c -index c2a7e30e2143..169b753903d1 100644 ---- a/arch/arm64/kernel/acpi.c -+++ b/arch/arm64/kernel/acpi.c -@@ -40,7 +40,11 @@ int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ initialization */ - EXPORT_SYMBOL(acpi_pci_disabled); - - static bool param_acpi_off __initdata; -+#ifdef CONFIG_RHEL_DIFFERENCES - static bool param_acpi_on __initdata = true; -+#else -+static bool param_acpi_on __initdata; -+#endif - static bool param_acpi_force __initdata; - - static int __init parse_acpi(char *arg) --- -2.26.2 - diff --git a/0001-IB-rxe-Mark-Soft-RoCE-Transport-driver-as-tech-previ.patch b/0001-IB-rxe-Mark-Soft-RoCE-Transport-driver-as-tech-previ.patch deleted file mode 100644 index c0280ed39..000000000 --- a/0001-IB-rxe-Mark-Soft-RoCE-Transport-driver-as-tech-previ.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Don Dutile -Date: Tue, 24 Jul 2018 22:29:16 -0400 -Subject: [PATCH] IB/rxe: Mark Soft-RoCE Transport driver as tech-preview - -Message-id: <20180724222916.19362-1-ddutile@redhat.com> -Patchwork-id: 225418 -O-Subject: [PATCH RHEL-8.0] IB/rxe: Mark Soft-RoCE Transport driver as tech-preview. -Bugzilla: 1605216 -RH-Acked-by: Jarod Wilson -RH-Acked-by: Jonathan Toppins -RH-Acked-by: Tony Camuso -RH-Acked-by: Honggang Li - -The Soft-RoCE driver implements the InfiniBand RDMA transport -over the Linux network stack. It enables a system with a -standard Ethernet adapter to interoperate with a RoCE -adapter or with another system running the RXE driver. - -Unfortunately, a wide range of tests and/or use-cases have shown -that the driver is not ready for enterprise use, and upstream bug -fixing may not be complete for RHEL-8.0. -Thus, recommendation from driver maintainer is to mark it as -tech-preview. It is expected that future bug fixes will enable it -to be upgraded to fully supported. In the mean time, it works -in a number of use cases, and can be used to demonstrate upstream -fixes on failing cases. - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1605216 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=17344161 - -Testing: -Simple boot test, and loading of rxe driver to show tech-preview -msg is generated in dmesg log. - -Upstream Status: RHEL only -Signed-off-by: Donald Dutile ---- - drivers/infiniband/sw/rxe/rxe.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/infiniband/sw/rxe/rxe.c b/drivers/infiniband/sw/rxe/rxe.c -index 5642eefb4ba1..01c8d750b9e0 100644 ---- a/drivers/infiniband/sw/rxe/rxe.c -+++ b/drivers/infiniband/sw/rxe/rxe.c -@@ -336,6 +336,8 @@ static int __init rxe_module_init(void) - { - int err; - -+ mark_tech_preview("Soft-RoCE Transport Driver", THIS_MODULE); -+ - /* initialize slab caches for managed objects */ - err = rxe_cache_init(); - if (err) { --- -2.26.2 - diff --git a/0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch b/0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch deleted file mode 100644 index 4d7bef554..000000000 --- a/0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch +++ /dev/null @@ -1,330 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Benjamin Tissoires -Date: Mon, 3 Apr 2017 18:18:21 +0200 -Subject: [PATCH] Input: rmi4 - remove the need for artificial IRQ in case of - HID - -The IRQ from rmi4 may interfere with the one we currently use on i2c-hid. -Given that there is already a need for an external API from rmi4 to -forward the attention data, we can, in this particular case rely on a -separate workqueue to prevent cursor jumps. - -Reported-by: Cameron Gutman -Reported-by: Thorsten Leemhuis -Reported-by: Jason Ekstrand -Tested-by: Andrew Duggan -Signed-off-by: Benjamin Tissoires -Signed-off-by: Lyude ---- - drivers/hid/hid-rmi.c | 64 ----------------- - drivers/input/rmi4/rmi_driver.c | 124 +++++++++++++++++++------------- - include/linux/rmi.h | 1 + - 3 files changed, 75 insertions(+), 114 deletions(-) - -diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c -index 8cffa84c9650..6c4e3675601a 100644 ---- a/drivers/hid/hid-rmi.c -+++ b/drivers/hid/hid-rmi.c -@@ -322,19 +322,12 @@ static int rmi_input_event(struct hid_device *hdev, u8 *data, int size) - { - struct rmi_data *hdata = hid_get_drvdata(hdev); - struct rmi_device *rmi_dev = hdata->xport.rmi_dev; -- unsigned long flags; - - if (!(test_bit(RMI_STARTED, &hdata->flags))) - return 0; - -- local_irq_save(flags); -- - rmi_set_attn_data(rmi_dev, data[1], &data[2], size - 2); - -- generic_handle_irq(hdata->rmi_irq); -- -- local_irq_restore(flags); -- - return 1; - } - -@@ -592,56 +585,6 @@ static const struct rmi_transport_ops hid_rmi_ops = { - .reset = rmi_hid_reset, - }; - --static void rmi_irq_teardown(void *data) --{ -- struct rmi_data *hdata = data; -- struct irq_domain *domain = hdata->domain; -- -- if (!domain) -- return; -- -- irq_dispose_mapping(irq_find_mapping(domain, 0)); -- -- irq_domain_remove(domain); -- hdata->domain = NULL; -- hdata->rmi_irq = 0; --} -- --static int rmi_irq_map(struct irq_domain *h, unsigned int virq, -- irq_hw_number_t hw_irq_num) --{ -- irq_set_chip_and_handler(virq, &dummy_irq_chip, handle_simple_irq); -- -- return 0; --} -- --static const struct irq_domain_ops rmi_irq_ops = { -- .map = rmi_irq_map, --}; -- --static int rmi_setup_irq_domain(struct hid_device *hdev) --{ -- struct rmi_data *hdata = hid_get_drvdata(hdev); -- int ret; -- -- hdata->domain = irq_domain_create_linear(hdev->dev.fwnode, 1, -- &rmi_irq_ops, hdata); -- if (!hdata->domain) -- return -ENOMEM; -- -- ret = devm_add_action_or_reset(&hdev->dev, &rmi_irq_teardown, hdata); -- if (ret) -- return ret; -- -- hdata->rmi_irq = irq_create_mapping(hdata->domain, 0); -- if (hdata->rmi_irq <= 0) { -- hid_err(hdev, "Can't allocate an IRQ\n"); -- return hdata->rmi_irq < 0 ? hdata->rmi_irq : -ENXIO; -- } -- -- return 0; --} -- - static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id) - { - struct rmi_data *data = NULL; -@@ -714,18 +657,11 @@ static int rmi_probe(struct hid_device *hdev, const struct hid_device_id *id) - - mutex_init(&data->page_mutex); - -- ret = rmi_setup_irq_domain(hdev); -- if (ret) { -- hid_err(hdev, "failed to allocate IRQ domain\n"); -- return ret; -- } -- - if (data->device_flags & RMI_DEVICE_HAS_PHYS_BUTTONS) - rmi_hid_pdata.f30_data.disable = true; - - data->xport.dev = hdev->dev.parent; - data->xport.pdata = rmi_hid_pdata; -- data->xport.pdata.irq = data->rmi_irq; - data->xport.proto_name = "hid"; - data->xport.ops = &hid_rmi_ops; - -diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_driver.c -index 258d5fe3d395..f7298e3dc8f3 100644 ---- a/drivers/input/rmi4/rmi_driver.c -+++ b/drivers/input/rmi4/rmi_driver.c -@@ -182,34 +182,47 @@ void rmi_set_attn_data(struct rmi_device *rmi_dev, unsigned long irq_status, - attn_data.data = fifo_data; - - kfifo_put(&drvdata->attn_fifo, attn_data); -+ -+ schedule_work(&drvdata->attn_work); - } - EXPORT_SYMBOL_GPL(rmi_set_attn_data); - --static irqreturn_t rmi_irq_fn(int irq, void *dev_id) -+static void attn_callback(struct work_struct *work) - { -- struct rmi_device *rmi_dev = dev_id; -- struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev); -+ struct rmi_driver_data *drvdata = container_of(work, -+ struct rmi_driver_data, -+ attn_work); - struct rmi4_attn_data attn_data = {0}; - int ret, count; - - count = kfifo_get(&drvdata->attn_fifo, &attn_data); -- if (count) { -- *(drvdata->irq_status) = attn_data.irq_status; -- drvdata->attn_data = attn_data; -- } -+ if (!count) -+ return; - -- ret = rmi_process_interrupt_requests(rmi_dev); -+ *(drvdata->irq_status) = attn_data.irq_status; -+ drvdata->attn_data = attn_data; -+ -+ ret = rmi_process_interrupt_requests(drvdata->rmi_dev); - if (ret) -- rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev, -+ rmi_dbg(RMI_DEBUG_CORE, &drvdata->rmi_dev->dev, - "Failed to process interrupt request: %d\n", ret); - -- if (count) { -- kfree(attn_data.data); -- drvdata->attn_data.data = NULL; -- } -+ kfree(attn_data.data); -+ drvdata->attn_data.data = NULL; - - if (!kfifo_is_empty(&drvdata->attn_fifo)) -- return rmi_irq_fn(irq, dev_id); -+ schedule_work(&drvdata->attn_work); -+} -+ -+static irqreturn_t rmi_irq_fn(int irq, void *dev_id) -+{ -+ struct rmi_device *rmi_dev = dev_id; -+ int ret; -+ -+ ret = rmi_process_interrupt_requests(rmi_dev); -+ if (ret) -+ rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev, -+ "Failed to process interrupt request: %d\n", ret); - - return IRQ_HANDLED; - } -@@ -217,7 +230,6 @@ static irqreturn_t rmi_irq_fn(int irq, void *dev_id) - static int rmi_irq_init(struct rmi_device *rmi_dev) - { - struct rmi_device_platform_data *pdata = rmi_get_platform_data(rmi_dev); -- struct rmi_driver_data *data = dev_get_drvdata(&rmi_dev->dev); - int irq_flags = irq_get_trigger_type(pdata->irq); - int ret; - -@@ -235,8 +247,6 @@ static int rmi_irq_init(struct rmi_device *rmi_dev) - return ret; - } - -- data->enabled = true; -- - return 0; - } - -@@ -886,23 +896,27 @@ void rmi_enable_irq(struct rmi_device *rmi_dev, bool clear_wake) - if (data->enabled) - goto out; - -- enable_irq(irq); -- data->enabled = true; -- if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) { -- retval = disable_irq_wake(irq); -- if (retval) -- dev_warn(&rmi_dev->dev, -- "Failed to disable irq for wake: %d\n", -- retval); -- } -+ if (irq) { -+ enable_irq(irq); -+ data->enabled = true; -+ if (clear_wake && device_may_wakeup(rmi_dev->xport->dev)) { -+ retval = disable_irq_wake(irq); -+ if (retval) -+ dev_warn(&rmi_dev->dev, -+ "Failed to disable irq for wake: %d\n", -+ retval); -+ } - -- /* -- * Call rmi_process_interrupt_requests() after enabling irq, -- * otherwise we may lose interrupt on edge-triggered systems. -- */ -- irq_flags = irq_get_trigger_type(pdata->irq); -- if (irq_flags & IRQ_TYPE_EDGE_BOTH) -- rmi_process_interrupt_requests(rmi_dev); -+ /* -+ * Call rmi_process_interrupt_requests() after enabling irq, -+ * otherwise we may lose interrupt on edge-triggered systems. -+ */ -+ irq_flags = irq_get_trigger_type(pdata->irq); -+ if (irq_flags & IRQ_TYPE_EDGE_BOTH) -+ rmi_process_interrupt_requests(rmi_dev); -+ } else { -+ data->enabled = true; -+ } - - out: - mutex_unlock(&data->enabled_mutex); -@@ -922,20 +936,22 @@ void rmi_disable_irq(struct rmi_device *rmi_dev, bool enable_wake) - goto out; - - data->enabled = false; -- disable_irq(irq); -- if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) { -- retval = enable_irq_wake(irq); -- if (retval) -- dev_warn(&rmi_dev->dev, -- "Failed to enable irq for wake: %d\n", -- retval); -- } -- -- /* make sure the fifo is clean */ -- while (!kfifo_is_empty(&data->attn_fifo)) { -- count = kfifo_get(&data->attn_fifo, &attn_data); -- if (count) -- kfree(attn_data.data); -+ if (irq) { -+ disable_irq(irq); -+ if (enable_wake && device_may_wakeup(rmi_dev->xport->dev)) { -+ retval = enable_irq_wake(irq); -+ if (retval) -+ dev_warn(&rmi_dev->dev, -+ "Failed to enable irq for wake: %d\n", -+ retval); -+ } -+ } else { -+ /* make sure the fifo is clean */ -+ while (!kfifo_is_empty(&data->attn_fifo)) { -+ count = kfifo_get(&data->attn_fifo, &attn_data); -+ if (count) -+ kfree(attn_data.data); -+ } - } - - out: -@@ -981,6 +997,8 @@ static int rmi_driver_remove(struct device *dev) - irq_domain_remove(data->irqdomain); - data->irqdomain = NULL; - -+ cancel_work_sync(&data->attn_work); -+ - rmi_f34_remove_sysfs(rmi_dev); - rmi_free_function_list(rmi_dev); - -@@ -1219,9 +1237,15 @@ static int rmi_driver_probe(struct device *dev) - } - } - -- retval = rmi_irq_init(rmi_dev); -- if (retval < 0) -- goto err_destroy_functions; -+ if (pdata->irq) { -+ retval = rmi_irq_init(rmi_dev); -+ if (retval < 0) -+ goto err_destroy_functions; -+ } -+ -+ data->enabled = true; -+ -+ INIT_WORK(&data->attn_work, attn_callback); - - if (data->f01_container->dev.driver) { - /* Driver already bound, so enable ATTN now. */ -diff --git a/include/linux/rmi.h b/include/linux/rmi.h -index 7b22366d0065..307a651b2755 100644 ---- a/include/linux/rmi.h -+++ b/include/linux/rmi.h -@@ -363,6 +363,7 @@ struct rmi_driver_data { - - struct rmi4_attn_data attn_data; - DECLARE_KFIFO(attn_fifo, struct rmi4_attn_data, 16); -+ struct work_struct attn_work; - }; - - int rmi_register_transport_device(struct rmi_transport_dev *xport); --- -2.26.2 - diff --git a/0001-Introduce-CONFIG_RH_DISABLE_DEPRECATED.patch b/0001-Introduce-CONFIG_RH_DISABLE_DEPRECATED.patch deleted file mode 100644 index 757f66b28..000000000 --- a/0001-Introduce-CONFIG_RH_DISABLE_DEPRECATED.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Laura Abbott -Date: Wed, 13 Nov 2019 14:44:28 -0500 -Subject: [PATCH] Introduce CONFIG_RH_DISABLE_DEPRECATED - -Message-id: <20191113144431.9403-2-labbott@redhat.com> -Patchwork-id: 286080 -O-Subject: [ARK INTERNAL PATCHv2 1/4] [redhat] Introduce CONFIG_RH_DISABLE_DEPRECATED -Bugzilla: -RH-Acked-by: Don Zickus -RH-Acked-by: Prarit Bhargava -RH-Acked-by: Jiri Benc - -For many drivers that RHEL doesn't want to support, we've typically deleted -PCI ids from the tree. This precludes those drivers from being used at all -which is fine for RHEL but a problem if we want to use a similar source base -for Fedora. Instead of just deleting IDs, introduce a config -CONFIG_RH_DISABLE_DEPRECATED. This way RHEL can remove IDs while still allowing -kernels to be built with the option off from the same source. - -Upstream Status: RHEL only -Signed-off-by: Laura Abbott ---- - Kconfig | 2 ++ - Kconfig.redhat | 17 +++++++++++++++++ - 2 files changed, 19 insertions(+) - create mode 100644 Kconfig.redhat - -diff --git a/Kconfig b/Kconfig -index 745bc773f567..f57ff40109d7 100644 ---- a/Kconfig -+++ b/Kconfig -@@ -30,3 +30,5 @@ source "lib/Kconfig" - source "lib/Kconfig.debug" - - source "Documentation/Kconfig" -+ -+source "Kconfig.redhat" -diff --git a/Kconfig.redhat b/Kconfig.redhat -new file mode 100644 -index 000000000000..733a26bd887a ---- /dev/null -+++ b/Kconfig.redhat -@@ -0,0 +1,17 @@ -+# SPDX-License-Identifier: GPL-2.0-only -+# -+# Red Hat specific options -+# -+ -+menu "Red Hat options" -+ -+config RH_DISABLE_DEPRECATED -+ bool "Remove support for deprecated features" -+ help -+ Red Hat may choose to deprecate certain features in its kernels. -+ Enable this option to remove support for hardware that is no -+ longer supported. -+ -+ Unless you want a restricted kernel, say N here. -+ -+endmenu --- -2.26.2 - diff --git a/0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch b/0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch deleted file mode 100644 index b53addbe3..000000000 --- a/0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Robert Holmes -Date: Tue, 23 Apr 2019 07:39:29 +0000 -Subject: [PATCH] KEYS: Make use of platform keyring for module signature - verify - -This patch completes commit 278311e417be ("kexec, KEYS: Make use of -platform keyring for signature verify") which, while adding the -platform keyring for bzImage verification, neglected to also add -this keyring for module verification. - -As such, kernel modules signed with keys from the MokList variable -were not successfully verified. - -Signed-off-by: Robert Holmes -Signed-off-by: Jeremy Cline ---- - kernel/module_signing.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/kernel/module_signing.c b/kernel/module_signing.c -index 9d9fc678c91d..84ad75a53c83 100644 ---- a/kernel/module_signing.c -+++ b/kernel/module_signing.c -@@ -38,8 +38,15 @@ int mod_verify_sig(const void *mod, struct load_info *info) - modlen -= sig_len + sizeof(ms); - info->len = modlen; - -- return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, -+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, - VERIFY_USE_SECONDARY_KEYRING, - VERIFYING_MODULE_SIGNATURE, - NULL, NULL); -+ if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) { -+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, -+ VERIFY_USE_PLATFORM_KEYRING, -+ VERIFYING_MODULE_SIGNATURE, -+ NULL, NULL); -+ } -+ return ret; - } --- -2.26.2 - diff --git a/0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch b/0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch deleted file mode 100644 index 671b7402f..000000000 --- a/0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 2 Oct 2017 18:18:30 -0400 -Subject: [PATCH] Make get_cert_list() use efi_status_to_str() to print error - messages. - -Upstream Status: RHEL only -Signed-off-by: Peter Jones -Signed-off-by: Jeremy Cline ---- - security/integrity/platform_certs/load_uefi.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c -index 253fb9a7fc98..8c95b68d86d4 100644 ---- a/security/integrity/platform_certs/load_uefi.c -+++ b/security/integrity/platform_certs/load_uefi.c -@@ -46,7 +46,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, - return NULL; - - if (*status != EFI_BUFFER_TOO_SMALL) { -- pr_err("Couldn't get size: 0x%lx\n", *status); -+ pr_err("Couldn't get size: %s (0x%lx)\n", -+ efi_status_to_str(*status), *status); - return NULL; - } - -@@ -57,7 +58,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid, - *status = efi.get_variable(name, guid, NULL, &lsize, db); - if (*status != EFI_SUCCESS) { - kfree(db); -- pr_err("Error reading db var: 0x%lx\n", *status); -+ pr_err("Error reading db var: %s (0x%lx)\n", -+ efi_status_to_str(*status), *status); - return NULL; - } - --- -2.26.2 - diff --git a/0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch b/0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch deleted file mode 100644 index 0af11db2d..000000000 --- a/0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Mon, 20 Apr 2020 18:43:04 +0200 -Subject: [PATCH] PCI: tegra: Revert raw_violation_fixup for tegra124 - -As reported in https://bugzilla.kernel.org/206217 , raw_violation_fixup -is causing more harm than good in some common use-cases. - -This patch as RFC is a partial revert of the 191cd6fb5 commit: - "PCI: tegra: Add SW fixup for RAW violations" -that was first introduced in 5.3 kernel. -This fix the following regression since then. - -When using both the network NIC and I/O on MMC this can lead to the -following message on jetson-tk1: - - NETDEV WATCHDOG: enp1s0 (r8169): transmit queue 0 timed out - -and - - pcieport 0000:00:02.0: AER: Uncorrected (Non-Fatal) error received: 0000:01:00.0 - r8169 0000:01:00.0: AER: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) - r8169 0000:01:00.0: AER: device [10ec:8168] error status/mask=00004000/00400000 - r8169 0000:01:00.0: AER: [14] CmpltTO (First) - r8169 0000:01:00.0: AER: can't recover (no error_detected callback) - pcieport 0000:00:02.0: AER: device recovery failed - -After that, the ethernet NIC isn't functional anymore even after reloading -the module. -After a reboot, this is reproducible by copying a large file over the -ethernet NIC to the MMC. -For some reasons this cannot be reproduced when the same file is copied -to a tmpfs. - -This patch is RFC because it requires more understanding from Nvidia. - - Is the fixup (available in l4t downstrem) still needed for upstream ? - - Is there a need to update the fixup values for upstream ? - - If the fixup is reverted, does the hw bug can still be seen with - upstream ? - -Others can also provides more understanding: - - Conditions to reproduce the bug (or not)... - -Signed-off-by: Nicolas Chauvet -Reviewed-by: Manikanta Maddireddy ---- - drivers/pci/controller/pci-tegra.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c -index 235b456698fc..d5a4a167ffa1 100644 ---- a/drivers/pci/controller/pci-tegra.c -+++ b/drivers/pci/controller/pci-tegra.c -@@ -2470,7 +2470,7 @@ static const struct tegra_pcie_soc tegra124_pcie = { - .program_uphy = true, - .update_clamp_threshold = true, - .program_deskew_time = false, -- .raw_violation_fixup = true, -+ .raw_violation_fixup = false, - .update_fc_timer = false, - .has_cache_bars = false, - .ectl.enable = false, --- -2.26.2 - diff --git a/0001-Pull-the-RHEL-version-defines-out-of-the-Makefile.patch b/0001-Pull-the-RHEL-version-defines-out-of-the-Makefile.patch deleted file mode 100644 index da4d48df7..000000000 --- a/0001-Pull-the-RHEL-version-defines-out-of-the-Makefile.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jeremy Cline -Date: Tue, 17 Sep 2019 17:11:03 +0000 -Subject: [PATCH] Pull the RHEL version defines out of the Makefile - -This is done via the kernel-put-RHEL-info-into-generated-headers.patch -in the rhpatches branch. - -Signed-off-by: Jeremy Cline ---- - Makefile | 9 ++------- - 1 file changed, 2 insertions(+), 7 deletions(-) - -diff --git a/Makefile b/Makefile -index 48a7abae02d2..2d826a14824a 100644 ---- a/Makefile -+++ b/Makefile -@@ -16,6 +16,7 @@ PHONY := _all - _all: - - # Set RHEL variables -+# Use this spot to avoid future merge conflicts - include Makefile.rhelver - - # We are using a recursive build, so we need to do a little thinking -@@ -1172,13 +1173,7 @@ endef - define filechk_version.h - echo \#define LINUX_VERSION_CODE $(shell \ - expr $(VERSION) \* 65536 + 0$(PATCHLEVEL) \* 256 + 0$(SUBLEVEL)); \ -- echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \ -- echo '#define RHEL_MAJOR $(RHEL_MAJOR)'; \ -- echo '#define RHEL_MINOR $(RHEL_MINOR)'; \ -- echo '#define RHEL_RELEASE_VERSION(a,b) (((a) << 8) + (b))'; \ -- echo '#define RHEL_RELEASE_CODE \ -- $(shell expr $(RHEL_MAJOR) \* 256 + $(RHEL_MINOR))'; \ -- echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"' -+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' - endef - - $(version_h): FORCE --- -2.26.2 - diff --git a/0001-Removing-Obsolete-hba-pci-ids-from-rhel8.patch b/0001-Removing-Obsolete-hba-pci-ids-from-rhel8.patch deleted file mode 100644 index 442ba8b54..000000000 --- a/0001-Removing-Obsolete-hba-pci-ids-from-rhel8.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dick Kennedy -Date: Fri, 14 Feb 2020 15:09:41 -0500 -Subject: [PATCH] Removing Obsolete hba pci-ids from rhel8 - -Message-id: <1525206184-20470-1-git-send-email-dkennedy@redhat.com> -Patchwork-id: 212089 -O-Subject: [RHEL8 PATCH e-stor] Removing Obsolete hba pci-ids from rhel8. -Bugzilla: 1572321 -RH-Acked-by: Chris Leech -RH-Acked-by: Jarod Wilson - -These adapters printed an Obsolete Unsupported message is rhel7. They -are being removed for rhel8 - -brew-id: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID^U948800 -bugzilla: 1572321 -tested on: rhel-storage-44 and on rhel-storage-07 - -RHEL Specific - -Upstream Status: RHEL only -Signed-off-by: Herton R. Krzesinski - -Backport Notes: Simplify by filtering using pci_ids -- ---- - drivers/scsi/lpfc/lpfc_ids.h | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/drivers/scsi/lpfc/lpfc_ids.h b/drivers/scsi/lpfc/lpfc_ids.h -index d48414e295a0..ba0e384412c9 100644 ---- a/drivers/scsi/lpfc/lpfc_ids.h -+++ b/drivers/scsi/lpfc/lpfc_ids.h -@@ -24,6 +24,7 @@ - #include - - const struct pci_device_id lpfc_id_table[] = { -+#ifndef CONFIG_RHEL_DIFFERENCES - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY, -@@ -54,14 +55,19 @@ const struct pci_device_id lpfc_id_table[] = { - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP, - PCI_ANY_ID, PCI_ANY_ID, }, -+#endif - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID, - PCI_ANY_ID, PCI_ANY_ID, }, -+#ifndef CONFIG_RHEL_DIFFERENCES - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB, - PCI_ANY_ID, PCI_ANY_ID, }, -+#endif - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR, - PCI_ANY_ID, PCI_ANY_ID, }, -+#ifndef CONFIG_RHEL_DIFFERENCES - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HORNET, - PCI_ANY_ID, PCI_ANY_ID, }, -+#endif - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP, -@@ -70,6 +76,7 @@ const struct pci_device_id lpfc_id_table[] = { - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB, - PCI_ANY_ID, PCI_ANY_ID, }, -+#ifndef CONFIG_RHEL_DIFFERENCES - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101, -@@ -80,6 +87,7 @@ const struct pci_device_id lpfc_id_table[] = { - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S, - PCI_ANY_ID, PCI_ANY_ID, }, -+#endif - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_MID, -@@ -92,6 +100,7 @@ const struct pci_device_id lpfc_id_table[] = { - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S, - PCI_ANY_ID, PCI_ANY_ID, }, -+#ifndef CONFIG_RHEL_DIFFERENCES - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF, -@@ -102,18 +111,23 @@ const struct pci_device_id lpfc_id_table[] = { - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TOMCAT, - PCI_ANY_ID, PCI_ANY_ID, }, -+#endif - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON, - PCI_ANY_ID, PCI_ANY_ID, }, -+#ifndef CONFIG_RHEL_DIFFERENCES - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS, - PCI_ANY_ID, PCI_ANY_ID, }, -+#endif - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC, - PCI_ANY_ID, PCI_ANY_ID, }, -+#ifndef CONFIG_RHEL_DIFFERENCES - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF, - PCI_ANY_ID, PCI_ANY_ID, }, -+#endif - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC, - PCI_ANY_ID, PCI_ANY_ID, }, - {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC, --- -2.26.2 - diff --git a/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch b/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch deleted file mode 100644 index dd77c307a..000000000 --- a/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Don Zickus -Date: Tue, 3 Mar 2020 09:35:28 -0500 -Subject: [PATCH] Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES - -The intent of RH_DISABLE_DEPRECATED was to provide Red Hat a -simple way to disable drivers it did not want to support in RHEL. - -As the config option was applied to more drivers and infra, it became -clear the option was being used for not only deprecating drivers (which -implied limited support) to disabling drivers (implying no support). - -Using the word 'deprecated' seemed confusing in the second scenario. -Rename the option to be more generic and useable across more parts -of the kernel tree. - -The new wording is RHEL_DIFFERENCES. - -Upstream Status: RHEL only ---- - Kconfig.redhat | 2 +- - arch/x86/kernel/setup.c | 2 +- - include/linux/kernel.h | 2 +- - kernel/Makefile | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Kconfig.redhat b/Kconfig.redhat -index 733a26bd887a..effb81d04bfd 100644 ---- a/Kconfig.redhat -+++ b/Kconfig.redhat -@@ -5,7 +5,7 @@ - - menu "Red Hat options" - --config RH_DISABLE_DEPRECATED -+config RHEL_DIFFERENCES - bool "Remove support for deprecated features" - help - Red Hat may choose to deprecate certain features in its kernels. -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 19d57bfc12f9..e677bb144835 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -1372,7 +1372,7 @@ void __init setup_arch(char **cmdline_p) - efi_apply_memmap_quirks(); - #endif - --#ifdef CONFIG_RH_DISABLE_DEPRECATED -+#ifdef CONFIG_RHEL_DIFFERENCES - rh_check_supported(); - #endif - -diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index 0a0081b10edb..cfaaa6a234d4 100644 ---- a/include/linux/kernel.h -+++ b/include/linux/kernel.h -@@ -1058,7 +1058,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } - - struct module; - --#ifdef CONFIG_RH_DISABLE_DEPRECATED -+#ifdef CONFIG_RHEL_DIFFERENCES - void mark_hardware_unsupported(const char *msg); - void mark_hardware_deprecated(const char *msg); - void mark_tech_preview(const char *msg, struct module *mod); -diff --git a/kernel/Makefile b/kernel/Makefile -index c0a4904413b5..1a0c362cddfb 100644 ---- a/kernel/Makefile -+++ b/kernel/Makefile -@@ -12,7 +12,7 @@ obj-y = fork.o exec_domain.o panic.o \ - notifier.o ksysfs.o cred.o reboot.o \ - async.o range.o smpboot.o ucount.o - --obj-$(CONFIG_RH_DISABLE_DEPRECATED) += rh_taint.o -+obj-$(CONFIG_RHEL_DIFFERENCES) += rh_taint.o - - obj-$(CONFIG_MODULES) += kmod.o - obj-$(CONFIG_MULTIUSER) += groups.o --- -2.26.2 - diff --git a/0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch b/0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch deleted file mode 100644 index 0ea8f7da8..000000000 --- a/0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 12 Jul 2020 13:42:14 +0100 -Subject: [PATCH] Revert "arm64: allwinner: dts: a64: add LCD-related device - nodes for PinePhone" - -This reverts commit 6b9deda8c30064a254bc66e3f6763281c96db7db. ---- - .../dts/allwinner/sun50i-a64-pinephone.dtsi | 37 ------------------- - 1 file changed, 37 deletions(-) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -index 96d9150423e0..cefda145c3c9 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -@@ -16,15 +16,6 @@ aliases { - serial0 = &uart0; - }; - -- backlight: backlight { -- compatible = "pwm-backlight"; -- pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; -- brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>; -- default-brightness-level = <15>; -- enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ -- power-supply = <®_ldo_io0>; -- }; -- - chosen { - stdout-path = "serial0:115200n8"; - }; -@@ -93,30 +84,6 @@ &dai { - status = "okay"; - }; - --&de { -- status = "okay"; --}; -- --&dphy { -- status = "okay"; --}; -- --&dsi { -- vcc-dsi-supply = <®_dldo1>; -- #address-cells = <1>; -- #size-cells = <0>; -- status = "okay"; -- -- panel@0 { -- compatible = "xingbangda,xbd599"; -- reg = <0>; -- reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ -- iovcc-supply = <®_dldo2>; -- vcc-supply = <®_ldo_io0>; -- backlight = <&backlight>; -- }; --}; -- - &ehci0 { - status = "okay"; - }; -@@ -221,10 +188,6 @@ &r_pio { - */ - }; - --&r_pwm { -- status = "okay"; --}; -- - &r_rsb { - status = "okay"; - --- -2.26.2 - diff --git a/0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch b/0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch deleted file mode 100644 index 2950f8a79..000000000 --- a/0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch +++ /dev/null @@ -1,418 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 12 Jul 2020 13:41:56 +0100 -Subject: [PATCH] Revert "drm: panel: add Xingbangda XBD599 panel" - -This reverts commit 5d53795bb19e39f048ac8028ec36ff04765e1237. ---- - drivers/gpu/drm/panel/Kconfig | 9 - - drivers/gpu/drm/panel/Makefile | 1 - - .../gpu/drm/panel/panel-xingbangda-xbd599.c | 366 ------------------ - 3 files changed, 376 deletions(-) - delete mode 100644 drivers/gpu/drm/panel/panel-xingbangda-xbd599.c - -diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig -index 1f55a87bb657..39055c1f0e2f 100644 ---- a/drivers/gpu/drm/panel/Kconfig -+++ b/drivers/gpu/drm/panel/Kconfig -@@ -462,15 +462,6 @@ config DRM_PANEL_VISIONOX_RM69299 - Say Y here if you want to enable support for Visionox - RM69299 DSI Video Mode panel. - --config DRM_PANEL_XINGBANGDA_XBD599 -- tristate "Xingbangda XBD599 panel" -- depends on OF -- depends on DRM_MIPI_DSI -- depends on BACKLIGHT_CLASS_DEVICE -- help -- Say Y here if you want to enable support for the Xingbangda XBD599 -- MIPI DSI Video Mode panel. -- - config DRM_PANEL_XINPENG_XPP055C272 - tristate "Xinpeng XPP055C272 panel driver" - depends on OF -diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile -index 7b6b0c0397d6..de74f282c433 100644 ---- a/drivers/gpu/drm/panel/Makefile -+++ b/drivers/gpu/drm/panel/Makefile -@@ -49,5 +49,4 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o - obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o - obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o - obj-$(CONFIG_DRM_PANEL_VISIONOX_RM69299) += panel-visionox-rm69299.o --obj-$(CONFIG_DRM_PANEL_XINGBANGDA_XBD599) += panel-xingbangda-xbd599.o - obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o -diff --git a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c -deleted file mode 100644 -index b483f96ee1db..000000000000 ---- a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c -+++ /dev/null -@@ -1,366 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* -- * Xingbangda XBD599 MIPI-DSI panel driver -- * -- * Copyright (C) 2019-2020 Icenowy Zheng -- * -- * Based on panel-rocktech-jh057n00900.c, which is: -- * Copyright (C) Purism SPC 2019 -- */ -- --#include --#include --#include --#include --#include --#include -- --#include --#include --#include --#include -- --/* Manufacturer specific Commands send via DSI */ --#define ST7703_CMD_ALL_PIXEL_OFF 0x22 --#define ST7703_CMD_ALL_PIXEL_ON 0x23 --#define ST7703_CMD_SETDISP 0xB2 --#define ST7703_CMD_SETRGBIF 0xB3 --#define ST7703_CMD_SETCYC 0xB4 --#define ST7703_CMD_SETBGP 0xB5 --#define ST7703_CMD_SETVCOM 0xB6 --#define ST7703_CMD_SETOTP 0xB7 --#define ST7703_CMD_SETPOWER_EXT 0xB8 --#define ST7703_CMD_SETEXTC 0xB9 --#define ST7703_CMD_SETMIPI 0xBA --#define ST7703_CMD_SETVDC 0xBC --#define ST7703_CMD_SETSCR 0xC0 --#define ST7703_CMD_SETPOWER 0xC1 --#define ST7703_CMD_UNK_C6 0xC6 --#define ST7703_CMD_SETPANEL 0xCC --#define ST7703_CMD_SETGAMMA 0xE0 --#define ST7703_CMD_SETEQ 0xE3 --#define ST7703_CMD_SETGIP1 0xE9 --#define ST7703_CMD_SETGIP2 0xEA -- --static const char * const regulator_names[] = { -- "iovcc", -- "vcc", --}; -- --struct xbd599 { -- struct device *dev; -- struct drm_panel panel; -- struct gpio_desc *reset_gpio; -- struct regulator_bulk_data supplies[ARRAY_SIZE(regulator_names)]; -- bool prepared; --}; -- --static inline struct xbd599 *panel_to_xbd599(struct drm_panel *panel) --{ -- return container_of(panel, struct xbd599, panel); --} -- --#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ -- static const u8 d[] = { seq }; \ -- int ret; \ -- ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ -- if (ret < 0) \ -- return ret; \ -- } while (0) -- --static int xbd599_init_sequence(struct xbd599 *ctx) --{ -- struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); -- struct device *dev = ctx->dev; -- int ret; -- -- /* -- * Init sequence was supplied by the panel vendor. -- */ -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, -- 0xF1, 0x12, 0x83); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, -- 0x33, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, -- 0x00, 0x91, 0x0a, 0x00, 0x00, 0x02, 0x4F, 0x11, -- 0x00, 0x00, 0x37); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, -- 0x25, 0x22, 0x20, 0x03); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, -- 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00, -- 0x00, 0x00); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, -- 0x73, 0x73, 0x50, 0x50, 0x00, 0xC0, 0x08, 0x70, -- 0x00); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0xF0); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, -- 0x00, 0x00, 0x0B, 0x0B, 0x10, 0x10, 0x00, 0x00, -- 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10); -- dsi_dcs_write_seq(dsi, 0xC6, 0x01, 0x00, 0xFF, 0xFF, 0x00); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, -- 0x74, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xFF, 0xFF, -- 0xCC, 0xCC, 0x77, 0x77); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x07, 0x07); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x2C, 0x2C); -- dsi_dcs_write_seq(dsi, 0xBF, 0x02, 0x11, 0x00); -- -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, -- 0x82, 0x10, 0x06, 0x05, 0xA2, 0x0A, 0xA5, 0x12, -- 0x31, 0x23, 0x37, 0x83, 0x04, 0xBC, 0x27, 0x38, -- 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, -- 0x03, 0x00, 0x00, 0x00, 0x75, 0x75, 0x31, 0x88, -- 0x88, 0x88, 0x88, 0x88, 0x88, 0x13, 0x88, 0x64, -- 0x64, 0x20, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, -- 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, -- 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x02, 0x88, -- 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x88, 0x13, -- 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, -- 0x75, 0x88, 0x23, 0x14, 0x00, 0x00, 0x02, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0A, -- 0xA5, 0x00, 0x00, 0x00, 0x00); -- dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, -- 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, 0x35, -- 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, 0x12, -- 0x18, 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, -- 0x35, 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, -- 0x12, 0x18); -- msleep(20); -- -- ret = mipi_dsi_dcs_exit_sleep_mode(dsi); -- if (ret < 0) { -- DRM_DEV_ERROR(dev, "Failed to exit sleep mode\n"); -- return ret; -- } -- msleep(250); -- -- ret = mipi_dsi_dcs_set_display_on(dsi); -- if (ret) -- return ret; -- msleep(50); -- -- DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); -- return 0; --} -- --static int xbd599_prepare(struct drm_panel *panel) --{ -- struct xbd599 *ctx = panel_to_xbd599(panel); -- int ret; -- -- if (ctx->prepared) -- return 0; -- -- ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); -- if (ret) -- return ret; -- -- DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n"); -- gpiod_set_value_cansleep(ctx->reset_gpio, 1); -- usleep_range(20, 40); -- gpiod_set_value_cansleep(ctx->reset_gpio, 0); -- msleep(20); -- -- ctx->prepared = true; -- -- return 0; --} -- --static int xbd599_enable(struct drm_panel *panel) --{ -- struct xbd599 *ctx = panel_to_xbd599(panel); -- int ret; -- -- ret = xbd599_init_sequence(ctx); -- if (ret < 0) { -- DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n", -- ret); -- return ret; -- } -- -- return 0; --} -- --static int xbd599_disable(struct drm_panel *panel) --{ -- struct xbd599 *ctx = panel_to_xbd599(panel); -- struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); -- -- return mipi_dsi_dcs_set_display_off(dsi); --} -- --static int xbd599_unprepare(struct drm_panel *panel) --{ -- struct xbd599 *ctx = panel_to_xbd599(panel); -- -- if (!ctx->prepared) -- return 0; -- -- gpiod_set_value_cansleep(ctx->reset_gpio, 1); -- regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); -- ctx->prepared = false; -- -- return 0; --} -- --static const struct drm_display_mode xbd599_default_mode = { -- .hdisplay = 720, -- .hsync_start = 720 + 40, -- .hsync_end = 720 + 40 + 40, -- .htotal = 720 + 40 + 40 + 40, -- .vdisplay = 1440, -- .vsync_start = 1440 + 18, -- .vsync_end = 1440 + 18 + 10, -- .vtotal = 1440 + 18 + 10 + 17, -- .vrefresh = 60, -- .clock = 69000, -- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, -- -- .width_mm = 68, -- .height_mm = 136, -- .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, --}; -- --static int xbd599_get_modes(struct drm_panel *panel, -- struct drm_connector *connector) --{ -- struct xbd599 *ctx = panel_to_xbd599(panel); -- struct drm_display_mode *mode; -- -- mode = drm_mode_duplicate(connector->dev, &xbd599_default_mode); -- if (!mode) { -- DRM_DEV_ERROR(ctx->dev, "Failed to add mode\n"); -- return -ENOMEM; -- } -- -- drm_mode_set_name(mode); -- -- mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; -- connector->display_info.width_mm = mode->width_mm; -- connector->display_info.height_mm = mode->height_mm; -- drm_mode_probed_add(connector, mode); -- -- return 1; --} -- --static const struct drm_panel_funcs xbd599_drm_funcs = { -- .prepare = xbd599_prepare, -- .enable = xbd599_enable, -- .disable = xbd599_disable, -- .unprepare = xbd599_unprepare, -- .get_modes = xbd599_get_modes, --}; -- --static int xbd599_probe(struct mipi_dsi_device *dsi) --{ -- struct device *dev = &dsi->dev; -- struct xbd599 *ctx; -- int i, ret; -- -- ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); -- if (!ctx) -- return -ENOMEM; -- -- for (i = 0; i < ARRAY_SIZE(ctx->supplies); i++) -- ctx->supplies[i].supply = regulator_names[i]; -- -- ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies), -- ctx->supplies); -- if (ret < 0) { -- DRM_DEV_ERROR(&dsi->dev, "cannot get regulators\n"); -- return ret; -- } -- -- ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); -- if (IS_ERR(ctx->reset_gpio)) { -- DRM_DEV_ERROR(dev, "cannot get reset gpio\n"); -- return PTR_ERR(ctx->reset_gpio); -- } -- -- mipi_dsi_set_drvdata(dsi, ctx); -- -- ctx->dev = dev; -- -- dsi->lanes = 4; -- dsi->format = MIPI_DSI_FMT_RGB888; -- dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; -- -- drm_panel_init(&ctx->panel, &dsi->dev, &xbd599_drm_funcs, -- DRM_MODE_CONNECTOR_DSI); -- -- ret = drm_panel_of_backlight(&ctx->panel); -- if (ret) -- return ret; -- -- drm_panel_add(&ctx->panel); -- -- ret = mipi_dsi_attach(dsi); -- if (ret < 0) { -- DRM_DEV_ERROR(dev, "mipi_dsi_attach failed. Is host ready?\n"); -- drm_panel_remove(&ctx->panel); -- return ret; -- } -- -- DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", -- xbd599_default_mode.hdisplay, -- xbd599_default_mode.vdisplay, -- xbd599_default_mode.vrefresh, -- mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); -- -- return 0; --} -- --static void xbd599_shutdown(struct mipi_dsi_device *dsi) --{ -- struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); -- int ret; -- -- ret = drm_panel_unprepare(&ctx->panel); -- if (ret < 0) -- DRM_DEV_ERROR(&dsi->dev, "Failed to unprepare panel: %d\n", -- ret); --} -- --static int xbd599_remove(struct mipi_dsi_device *dsi) --{ -- struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); -- int ret; -- -- xbd599_shutdown(dsi); -- -- ret = mipi_dsi_detach(dsi); -- if (ret < 0) -- DRM_DEV_ERROR(&dsi->dev, "Failed to detach from DSI host: %d\n", -- ret); -- -- drm_panel_remove(&ctx->panel); -- -- return 0; --} -- --static const struct of_device_id xbd599_of_match[] = { -- { .compatible = "xingbangda,xbd599", }, -- { /* sentinel */ } --}; --MODULE_DEVICE_TABLE(of, xbd599_of_match); -- --static struct mipi_dsi_driver xbd599_driver = { -- .probe = xbd599_probe, -- .remove = xbd599_remove, -- .shutdown = xbd599_shutdown, -- .driver = { -- .name = "panel-xingbangda-xbd599", -- .of_match_table = xbd599_of_match, -- }, --}; --module_mipi_dsi_driver(xbd599_driver); -- --MODULE_AUTHOR("Icenowy Zheng "); --MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel"); --MODULE_LICENSE("GPL v2"); --- -2.26.2 - diff --git a/0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch b/0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch deleted file mode 100644 index c290e7ab7..000000000 --- a/0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 12 Jul 2020 13:42:04 +0100 -Subject: [PATCH] Revert "drm/sun4i: sun6i_mipi_dsi: fix horizontal timing - calculation" - -This reverts commit d20a2ac9c6ecf514e115f06b6744b584bbc7c1b8. ---- - drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c -index 52e009dc632b..aa67cb037e9d 100644 ---- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c -+++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c -@@ -556,7 +556,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, - */ - #define HSA_PACKET_OVERHEAD 10 - hsa = max((unsigned int)HSA_PACKET_OVERHEAD, -- (mode->hsync_end - mode->hsync_start) * Bpp) - HSA_PACKET_OVERHEAD; -+ (mode->hsync_end - mode->hsync_start) * Bpp - HSA_PACKET_OVERHEAD); - - /* - * The backporch is set using a blanking packet (4 -@@ -565,7 +565,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, - */ - #define HBP_PACKET_OVERHEAD 6 - hbp = max((unsigned int)HBP_PACKET_OVERHEAD, -- (mode->htotal - mode->hsync_end) * Bpp) - HBP_PACKET_OVERHEAD; -+ (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD); - - /* - * The frontporch is set using a sync event (4 bytes) -@@ -575,7 +575,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, - */ - #define HFP_PACKET_OVERHEAD 16 - hfp = max((unsigned int)HFP_PACKET_OVERHEAD, -- (mode->hsync_start - mode->hdisplay) * Bpp) - HFP_PACKET_OVERHEAD; -+ (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD); - - /* - * The blanking is set using a sync event (4 bytes) -@@ -584,8 +584,8 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, - */ - #define HBLK_PACKET_OVERHEAD 10 - hblk = max((unsigned int)HBLK_PACKET_OVERHEAD, -- (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp) - -- HBLK_PACKET_OVERHEAD; -+ (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp - -+ HBLK_PACKET_OVERHEAD); - - /* - * And I'm not entirely sure what vblk is about. The driver in --- -2.26.2 - diff --git a/0001-Revert-dt-bindings-Add-doc-for-Pine64-Pinebook-Pro.patch b/0001-Revert-dt-bindings-Add-doc-for-Pine64-Pinebook-Pro.patch deleted file mode 100644 index 6dd594d45..000000000 --- a/0001-Revert-dt-bindings-Add-doc-for-Pine64-Pinebook-Pro.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 12 Jul 2020 13:39:32 +0100 -Subject: [PATCH] Revert "dt-bindings: Add doc for Pine64 Pinebook Pro" - -This reverts commit ec0f66d2bc5ffd2a06eaf254ad314153e557cb7c. - -This is already upstream and not sure why it still applies but we -don't need it any more. ---- - Documentation/devicetree/bindings/arm/rockchip.yaml | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml -index ed808148b6a7..d4a4045092df 100644 ---- a/Documentation/devicetree/bindings/arm/rockchip.yaml -+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml -@@ -425,11 +425,6 @@ properties: - - const: pine64,rockpro64 - - const: rockchip,rk3399 - -- - description: Pine64 PinebookPro -- items: -- - const: pine64,pinebook-pro -- - const: rockchip,rk3399 -- - - description: Radxa Rock - items: - - const: radxa,rock --- -2.26.2 - diff --git a/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch b/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch deleted file mode 100644 index 990e624d3..000000000 --- a/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 12 Jul 2020 13:41:49 +0100 -Subject: [PATCH] Revert "dt-bindings: panel: add binding for Xingbangda XBD599 - panel" - -This reverts commit 8a717270db2000ff734d89e9448b32fbc038c49a. ---- - .../display/panel/xingbangda,xbd599.yaml | 50 ------------------- - 1 file changed, 50 deletions(-) - delete mode 100644 Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml - -diff --git a/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml b/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml -deleted file mode 100644 -index b27bcf11198f..000000000000 ---- a/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml -+++ /dev/null -@@ -1,50 +0,0 @@ --# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) --%YAML 1.2 ----- --$id: http://devicetree.org/schemas/display/panel/xingbangda,xbd599.yaml# --$schema: http://devicetree.org/meta-schemas/core.yaml# -- --title: Xingbangda XBD599 5.99in MIPI-DSI LCD panel -- --maintainers: -- - Icenowy Zheng -- --allOf: -- - $ref: panel-common.yaml# -- --properties: -- compatible: -- const: xingbangda,xbd599 -- reg: true -- backlight: true -- reset-gpios: true -- vcc-supply: -- description: regulator that supplies the VCC voltage -- iovcc-supply: -- description: regulator that supplies the IOVCC voltage -- --required: -- - compatible -- - reg -- - backlight -- - vcc-supply -- - iovcc-supply -- --additionalProperties: false -- --examples: -- - | -- dsi { -- #address-cells = <1>; -- #size-cells = <0>; -- -- panel@0 { -- compatible = "xingbangda,xbd599"; -- reg = <0>; -- backlight = <&backlight>; -- iovcc-supply = <®_dldo2>; -- vcc-supply = <®_ldo_io0>; -- }; -- }; -- --... --- -2.26.2 - diff --git a/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch b/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch deleted file mode 100644 index 6352ff73a..000000000 --- a/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Robert Richter -Date: Thu, 7 Jun 2018 22:59:32 -0400 -Subject: [PATCH] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon - -Message-id: <1528412373-19128-2-git-send-email-rrichter@redhat.com> -Patchwork-id: 220950 -O-Subject: [RHEL-8.0 BZ 1563590 v2 1/2] PCI: Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon -Bugzilla: 1563590 -RH-Acked-by: Dean Nelson -RH-Acked-by: Mark Langsdorf -RH-Acked-by: Mark Salter - -From: Ashok Kumar Sekar - -PCI BAR 5 is not setup correctly for the on-board AHCI -controller on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 -by using BAR 4's resources which are populated correctly but NOT used -by the AHCI controller actually. - -RHEL-only: - -Both patches are in RHEL-7.6 also. Inclusion of the patches into RHEL-8 -was discussed. Since there are partners with Ax system configurations it -was decided to carry them in RHEL8 too. See: - - https://bugzilla.redhat.com/show_bug.cgi?id=1563590#c1 - -Upstream Status: RHEL only -Signed-off-by: Ashok Kumar Sekar -Signed-off-by: Jayachandran C -Signed-off-by: Robert Richter -Signed-off-by: Herton R. Krzesinski ---- - drivers/pci/quirks.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 2ea61abd5830..abb314891f5b 100644 ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -4196,6 +4196,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, - DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084, - quirk_bridge_cavm_thrx2_pcie_root); - -+/* -+ * PCI BAR 5 is not setup correctly for the on-board AHCI controller -+ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by -+ * using BAR 4's resources which are populated correctly and NOT -+ * actually used by the AHCI controller. -+ */ -+static void quirk_fix_vulcan_ahci_bars(struct pci_dev *dev) -+{ -+ struct resource *r = &dev->resource[4]; -+ -+ if (!(r->flags & IORESOURCE_MEM) || (r->start == 0)) -+ return; -+ -+ /* Set BAR5 resource to BAR4 */ -+ dev->resource[5] = *r; -+ -+ /* Update BAR5 in pci config space */ -+ pci_write_config_dword(dev, PCI_BASE_ADDRESS_5, r->start); -+ -+ /* Clear BAR4's resource */ -+ memset(r, 0, sizeof(*r)); -+} -+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9027, quirk_fix_vulcan_ahci_bars); -+ - /* - * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero) - * class code. Fix it. --- -2.26.2 - diff --git a/0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch b/0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch deleted file mode 100644 index 93b1e9be0..000000000 --- a/0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 90750a5b1205a7dcc002224738585b861779cdae Mon Sep 17 00:00:00 2001 -From: "Justin M. Forbes" -Date: Thu, 30 Jul 2020 10:26:11 -0500 -Subject: [PATCH] Work around for gcc bug - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96377 - -Signed-off-by: Justin M. Forbes ---- - crypto/aegis128-neon-inner.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/crypto/aegis128-neon-inner.c b/crypto/aegis128-neon-inner.c -index 2a660ac1bc3a..fa87ff6a2a71 100644 ---- a/crypto/aegis128-neon-inner.c -+++ b/crypto/aegis128-neon-inner.c -@@ -148,8 +148,8 @@ void crypto_aegis128_init_neon(void *state, const void *key, const void *iv) - kiv, - vld1q_u8(const1), - vld1q_u8(const0), -- k ^ vld1q_u8(const0), -- k ^ vld1q_u8(const1), -+ (uint8x16_t) (k ^ vld1q_u8(const0)), -+ (uint8x16_t) (k ^ vld1q_u8(const1)), - }}; - int i; - --- -2.26.2 - diff --git a/0001-aacraid-Remove-depreciated-device-and-vendor-PCI-id-.patch b/0001-aacraid-Remove-depreciated-device-and-vendor-PCI-id-.patch deleted file mode 100644 index 0d4fac8bd..000000000 --- a/0001-aacraid-Remove-depreciated-device-and-vendor-PCI-id-.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Raghava Aditya Renukunta -Date: Thu, 2 Jan 2020 14:24:38 -0500 -Subject: [PATCH] aacraid: Remove depreciated device and vendor PCI id's - -Message-id: <20180315040041.9449.8525.stgit@dhcp187-32.khw.lab.eng.bos.redhat.com> -Patchwork-id: 206793 -O-Subject: [RHEL8 e-stor PATCH] scsi: aacraid: Remove depreciated device and vendor PCI id's -Bugzilla: 1495307 -RH-Acked-by: Maurizio Lombardi -RH-Acked-by: Tomas Henzl - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id95307 -Brew Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID552286 -Upstream Status: N/A (RHEL 8 internal) -Tested: Code Review - -Remove Vendor PCI ID and Device PCI ID of depreciated devices from -aacraid pci table, preventing these device from attaching to the aacraid -driver. - -Upstream Status: RHEL only -Signed-off-by: Raghava Aditya Renukunta -Signed-off-by: Herton R. Krzesinski ---- - drivers/scsi/aacraid/linit.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c -index a308e86a97f1..4d84f95a50ce 100644 ---- a/drivers/scsi/aacraid/linit.c -+++ b/drivers/scsi/aacraid/linit.c -@@ -78,6 +78,7 @@ char aac_driver_version[] = AAC_DRIVER_FULL_VERSION; - * Note: The last field is used to index into aac_drivers below. - */ - static const struct pci_device_id aac_pci_tbl[] = { -+#ifndef CONFIG_RHEL_DIFFERENCES - { 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */ - { 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */ - { 0x1028, 0x0003, 0x1028, 0x0003, 0, 0, 2 }, /* PERC 3/Si (SlimFast/PERC3Si */ -@@ -145,6 +146,7 @@ static const struct pci_device_id aac_pci_tbl[] = { - { 0x9005, 0x0285, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 59 }, /* Adaptec Catch All */ - { 0x9005, 0x0286, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 60 }, /* Adaptec Rocket Catch All */ - { 0x9005, 0x0288, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 61 }, /* Adaptec NEMER/ARK Catch All */ -+#endif - { 0x9005, 0x028b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 62 }, /* Adaptec PMC Series 6 (Tupelo) */ - { 0x9005, 0x028c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 63 }, /* Adaptec PMC Series 7 (Denali) */ - { 0x9005, 0x028d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 64 }, /* Adaptec PMC Series 8 */ --- -2.26.2 - diff --git a/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch b/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch deleted file mode 100644 index eea0deea2..000000000 --- a/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Salter -Date: Thu, 10 May 2018 17:38:44 -0400 -Subject: [PATCH] aarch64: acpi scan: Fix regression related to X-Gene UARTs - -Message-id: <20180510173844.29580-4-msalter@redhat.com> -Patchwork-id: 214381 -O-Subject: [RHEL-8 BZ1519554 3/3] aarch64: acpi scan: Fix regression related to X-Gene UARTs -Bugzilla: 1519554 -RH-Acked-by: Al Stone -RH-Acked-by: Tony Camuso - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1519554 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16144520 - -Commit e361d1f85855 ("ACPI / scan: Fix enumeration for special UART -devices") caused a regression with some X-Gene based platforms (Mustang -and M400) with invalid DSDT. The DSDT makes it appear that the UART -device is also a slave device attached to itself. With the above commit -the UART won't be enumerated by ACPI scan (slave serial devices shouldn't -be). So check for X-Gene UART device and skip slace device check on it. - -Upstream Status: RHEL only -Signed-off-by: Mark Salter -Signed-off-by: Herton R. Krzesinski ---- - drivers/acpi/scan.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c -index 8777faced51a..2e60d792005f 100644 ---- a/drivers/acpi/scan.c -+++ b/drivers/acpi/scan.c -@@ -1572,6 +1572,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) - if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids)) - return false; - -+ /* -+ * Firmware on some arm64 X-Gene platforms will make the UART -+ * device appear as both a UART and a slave of that UART. Just -+ * bail out here for X-Gene UARTs. -+ */ -+ if (IS_ENABLED(CONFIG_ARM64) && -+ !strcmp(acpi_device_hid(device), "APMC0D08")) -+ return false; -+ - INIT_LIST_HEAD(&resource_list); - acpi_dev_get_resources(device, &resource_list, - acpi_check_serial_bus_slave, --- -2.26.2 - diff --git a/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch b/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch deleted file mode 100644 index a3352a436..000000000 --- a/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Salter -Date: Fri, 11 May 2018 21:01:17 -0400 -Subject: [PATCH] acpi: prefer booting with ACPI over DTS - -Message-id: <20180511210117.10457-1-msalter@redhat.com> -Patchwork-id: 214708 -O-Subject: [RHEL-8 BZ1576869] [RHEL only] acpi: prefer booting with ACPI over DTS -Bugzilla: 1576869 -RH-Acked-by: Jonathan Toppins -RH-Acked-by: Tony Camuso -RH-Acked-by: Bhupesh Sharma -RH-Acked-by: Dean Nelson - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1576869 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16208479 -Testing: Verified kernel defaults to ACPI on Mustang - -From: Jonathan Toppins - - This patch forces ACPI boot tables to be preferred over DTS. - - Currently for ACPI to be used a user either has to set acpi=on on the - kernel command line or make sure any device tree passed to the kernel - is empty. If the dtb passed to the kernel is non-empty then device-tree - will be chosen as the boot method of choice. - - RHEL does not wish to support this boot method so change table boot - preferences to use ACPI. In the event ACPI table checks fail the kernel - will fallback to using DTS to boot. - - Signed-off-by: Jonathan Toppins - -Upstream Status: RHEL only -Signed-off-by: Mark Salter -Signed-off-by: Herton R. Krzesinski ---- - arch/arm64/kernel/acpi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c -index a7586a4db142..c2a7e30e2143 100644 ---- a/arch/arm64/kernel/acpi.c -+++ b/arch/arm64/kernel/acpi.c -@@ -40,7 +40,7 @@ int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ initialization */ - EXPORT_SYMBOL(acpi_pci_disabled); - - static bool param_acpi_off __initdata; --static bool param_acpi_on __initdata; -+static bool param_acpi_on __initdata = true; - static bool param_acpi_force __initdata; - - static int __init parse_acpi(char *arg) --- -2.26.2 - diff --git a/0001-add-Red-Hat-specific-taint-flags.patch b/0001-add-Red-Hat-specific-taint-flags.patch deleted file mode 100644 index 12d4809b9..000000000 --- a/0001-add-Red-Hat-specific-taint-flags.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Eugene Syromiatnikov -Date: Thu, 14 Jun 2018 16:35:59 -0400 -Subject: [PATCH] add Red Hat-specific taint flags - -Message-id: <56f71e5f8cf63afd0cdb1c4550c625cc90d59a75.1528991395.git.esyr@redhat.com> -Patchwork-id: 8249 -O-Subject: [kernel team] [RHEL8 PATCH v4 1/5] kernel: add Red Hat-specific taint flags -Bugzilla: 1559877 -RH-Acked-by: Jiri Benc -RH-Acked-by: Jesper Dangaard Brouer - -Based on RHEL 7 commit "Backport RH specific TAINT flags" by Prarit -Bhargava. - -Upstream Status: RHEL only -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1559877 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16716594 -Signed-off-by: Eugene Syromiatnikov -Signed-off-by: Herton R. Krzesinski ---- - include/linux/kernel.h | 19 ++++++++++++++++++- - kernel/panic.c | 14 ++++++++++++++ - 2 files changed, 32 insertions(+), 1 deletion(-) - -diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index b82db0c0caec..28be75396242 100644 ---- a/include/linux/kernel.h -+++ b/include/linux/kernel.h -@@ -603,7 +603,24 @@ extern enum system_states { - #define TAINT_LIVEPATCH 15 - #define TAINT_AUX 16 - #define TAINT_RANDSTRUCT 17 --#define TAINT_FLAGS_COUNT 18 -+/* Start of Red Hat-specific taint flags */ -+#define TAINT_18 18 -+#define TAINT_19 19 -+#define TAINT_20 20 -+#define TAINT_21 21 -+#define TAINT_22 22 -+#define TAINT_23 23 -+#define TAINT_24 24 -+#define TAINT_25 25 -+#define TAINT_26 26 -+#define TAINT_27 27 -+/* Bits 28 - 31 are reserved for Red Hat use only */ -+#define TAINT_RESERVED28 28 -+#define TAINT_RESERVED29 29 -+#define TAINT_RESERVED30 30 -+#define TAINT_RESERVED31 31 -+/* End of Red Hat-specific taint flags */ -+#define TAINT_FLAGS_COUNT 32 - #define TAINT_FLAGS_MAX ((1UL << TAINT_FLAGS_COUNT) - 1) - - struct taint_flag { -diff --git a/kernel/panic.c b/kernel/panic.c -index e2157ca387c8..534bc76e43da 100644 ---- a/kernel/panic.c -+++ b/kernel/panic.c -@@ -386,6 +386,20 @@ const struct taint_flag taint_flags[TAINT_FLAGS_COUNT] = { - [ TAINT_LIVEPATCH ] = { 'K', ' ', true }, - [ TAINT_AUX ] = { 'X', ' ', true }, - [ TAINT_RANDSTRUCT ] = { 'T', ' ', true }, -+ [ TAINT_18 ] = { '?', '-', false }, -+ [ TAINT_19 ] = { '?', '-', false }, -+ [ TAINT_20 ] = { '?', '-', false }, -+ [ TAINT_21 ] = { '?', '-', false }, -+ [ TAINT_22 ] = { '?', '-', false }, -+ [ TAINT_23 ] = { '?', '-', false }, -+ [ TAINT_24 ] = { '?', '-', false }, -+ [ TAINT_25 ] = { '?', '-', false }, -+ [ TAINT_26 ] = { '?', '-', false }, -+ [ TAINT_27 ] = { '?', '-', false }, -+ [ TAINT_RESERVED28 ] = { '?', '-', false }, -+ [ TAINT_RESERVED29 ] = { '?', '-', false }, -+ [ TAINT_RESERVED30 ] = { '?', '-', false }, -+ [ TAINT_RESERVED31 ] = { '?', '-', false }, - }; - - /** --- -2.26.2 - diff --git a/0001-add-pci_hw_vendor_status.patch b/0001-add-pci_hw_vendor_status.patch deleted file mode 100644 index c64ca91f5..000000000 --- a/0001-add-pci_hw_vendor_status.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Maurizio Lombardi -Date: Mon, 18 Jun 2018 12:51:25 -0400 -Subject: [PATCH] add pci_hw_vendor_status() - -Message-id: <1529326285-28560-1-git-send-email-mlombard@redhat.com> -Patchwork-id: 222337 -O-Subject: [RHEL8 PATCH] pci: add pci_hw_vendor_status() -Bugzilla: 1590829 -RH-Acked-by: Tomas Henzl -RH-Acked-by: Prarit Bhargava - -This patch adds pci_hw_vendor_status() like in RHEL7 which should be called -during the driver's probe to identify deprecated devices. - -BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1590829 -Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=16761315 - -See RHEL7 commits e0dddd9a63403ec82077ed410074fc6485873d4b and -3fcddde5ddf4b190c84ce9d83d56a75137513bd7 - -RHEL_only. - -Upstream Status: RHEL only -Signed-off-by: Maurizio Lombardi -Signed-off-by: Herton R. Krzesinski ---- - drivers/pci/pci-driver.c | 29 +++++++++++++++++++++++++++++ - include/linux/pci.h | 4 ++++ - 2 files changed, 33 insertions(+) - -diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c -index da6510af1221..2ec02cbfda72 100644 ---- a/drivers/pci/pci-driver.c -+++ b/drivers/pci/pci-driver.c -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - #include "pci.h" - #include "pcie/portdrv.h" - -@@ -278,6 +279,34 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv, - return found_id; - } - -+/** -+ * pci_hw_vendor_status - Tell if a PCI device is supported by the HW vendor -+ * @ids: array of PCI device id structures to search in -+ * @dev: the PCI device structure to match against -+ * -+ * Used by a driver to check whether this device is in its list of unsupported -+ * devices. Returns the matching pci_device_id structure or %NULL if there is -+ * no match. -+ * -+ * Reserved for Internal Red Hat use only. -+ */ -+const struct pci_device_id *pci_hw_vendor_status( -+ const struct pci_device_id *ids, -+ struct pci_dev *dev) -+{ -+ char devinfo[64]; -+ const struct pci_device_id *ret = pci_match_id(ids, dev); -+ -+ if (ret) { -+ snprintf(devinfo, sizeof(devinfo), "%s %s", -+ dev_driver_string(&dev->dev), dev_name(&dev->dev)); -+ mark_hardware_deprecated(devinfo); -+ } -+ -+ return ret; -+} -+EXPORT_SYMBOL(pci_hw_vendor_status); -+ - struct drv_dev_and_id { - struct pci_driver *drv; - struct pci_dev *dev; -diff --git a/include/linux/pci.h b/include/linux/pci.h -index 34c1c4f45288..6d9a405feea5 100644 ---- a/include/linux/pci.h -+++ b/include/linux/pci.h -@@ -1406,6 +1406,10 @@ int pci_add_dynid(struct pci_driver *drv, - unsigned long driver_data); - const struct pci_device_id *pci_match_id(const struct pci_device_id *ids, - struct pci_dev *dev); -+/* Reserved for Internal Red Hat use only */ -+const struct pci_device_id *pci_hw_vendor_status( -+ const struct pci_device_id *ids, -+ struct pci_dev *dev); - int pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max, - int pass); - --- -2.26.2 - diff --git a/0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch b/0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch deleted file mode 100644 index 0299e965c..000000000 --- a/0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Robert Richter -Date: Thu, 7 Jun 2018 22:59:33 -0400 -Subject: [PATCH] ahci: thunderx2: Fix for errata that affects stop engine - -Message-id: <1528412373-19128-3-git-send-email-rrichter@redhat.com> -Patchwork-id: 220952 -O-Subject: [RHEL-8.0 BZ 1563590 v2 2/2] ahci: thunderx2: Fix for errata that affects stop engine -Bugzilla: 1563590 -RH-Acked-by: Dean Nelson -RH-Acked-by: Mark Langsdorf -RH-Acked-by: Mark Salter - -From: Jayachandran C - -Apply workaround for this errata: - Synopsis: Resetting PxCMD.ST may hang the SATA device - - Description: An internal ping-pong buffer state is not reset - correctly for an PxCMD.ST=0 command for a SATA channel. This - may cause the SATA interface to hang when a PxCMD.ST=0 command - is received. - - Workaround: A SATA_BIU_CORE_ENABLE.sw_init_bsi must be asserted - by the driver whenever the PxCMD.ST needs to be de-asserted. This - will reset both the ports. So, it may not always work in a 2 - channel SATA system. - - Resolution: Fix in B0. - -Add the code to ahci_stop_engine() to do this. It is not easy to -stop the other "port" since it is associated with a different AHCI -interface. Please note that with this fix, SATA reset does not -hang any more, but it can cause failures on the other interface -if that is in active use. - -Unfortunately, we have nothing other the the CPU ID to check if the -SATA block has this issue. - -RHEL-only: - -Both patches are in RHEL-7.6 also. Inclusion of the patches into RHEL-8 -was discussed. Since there are partners with Ax system configurations it -was decided to carry them in RHEL8 too. See: - - https://bugzilla.redhat.com/show_bug.cgi?id=1563590#c1 - -[v3 with new delays] -Signed-off-by: Jayachandran C - -Upstream Status: RHEL only -Signed-off-by: Robert Richter -Signed-off-by: Herton R. Krzesinski ---- - drivers/ata/libahci.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c -index ea5bf5f4cbed..71c55cae27ac 100644 ---- a/drivers/ata/libahci.c -+++ b/drivers/ata/libahci.c -@@ -666,6 +666,24 @@ int ahci_stop_engine(struct ata_port *ap) - tmp &= ~PORT_CMD_START; - writel(tmp, port_mmio + PORT_CMD); - -+#ifdef CONFIG_ARM64 -+ /* Rev Ax of Cavium CN99XX needs a hack for port stop */ -+ if (dev_is_pci(ap->host->dev) && -+ to_pci_dev(ap->host->dev)->vendor == 0x14e4 && -+ to_pci_dev(ap->host->dev)->device == 0x9027 && -+ midr_is_cpu_model_range(read_cpuid_id(), -+ MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN), -+ MIDR_CPU_VAR_REV(0, 0), -+ MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) { -+ tmp = readl(hpriv->mmio + 0x8000); -+ udelay(100); -+ writel(tmp | (1 << 26), hpriv->mmio + 0x8000); -+ udelay(100); -+ writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000); -+ dev_warn(ap->host->dev, "CN99XX SATA reset workaround applied\n"); -+ } -+#endif -+ - /* wait for engine to stop. This could be as long as 500 msec */ - tmp = ata_wait_register(ap, port_mmio + PORT_CMD, - PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500); --- -2.26.2 - diff --git a/0001-arch-x86-Remove-vendor-specific-CPU-ID-checks.patch b/0001-arch-x86-Remove-vendor-specific-CPU-ID-checks.patch deleted file mode 100644 index 924c4393d..000000000 --- a/0001-arch-x86-Remove-vendor-specific-CPU-ID-checks.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Prarit Bhargava -Date: Thu, 11 Jun 2020 21:03:36 -0400 -Subject: [PATCH] arch/x86: Remove vendor specific CPU ID checks - -Upstream Status: RHEL only - -After discussions with Devel, QE, Support, and Certification we have -decided to drop the CPU specific checks in rh_check_supported(). -Certification is adopting a new process in which CPU certifications will -be tracked on https://catalog.redhat.com. - -Remove the vendor specific CPU ID checks from rh_check_supported(). - -Signed-off-by: Prarit Bhargava -Cc: David Arcari ---- - arch/x86/kernel/setup.c | 85 ----------------------------------------- - 1 file changed, 85 deletions(-) - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 6d31895c8e92..4e43f6957621 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -757,72 +757,6 @@ static void __init trim_low_memory_range(void) - } - - #ifdef CONFIG_RHEL_DIFFERENCES --static bool valid_amd_processor(__u8 family, const char *model_id) --{ -- bool valid; -- -- switch(family) { -- case 0x15: -- valid = true; -- break; -- -- case 0x17: -- valid = strstr(model_id, "AMD EPYC 7"); -- break; -- -- default: -- valid = false; -- break; -- } -- -- return valid; --} -- --static bool valid_intel_processor(__u8 family, __u8 model, __u8 stepping) --{ -- bool valid; -- -- if (family != 6) -- return false; -- -- switch(model) { -- case INTEL_FAM6_ATOM_GOLDMONT_D: -- case INTEL_FAM6_ATOM_GOLDMONT_PLUS: -- -- case INTEL_FAM6_BROADWELL: -- case INTEL_FAM6_BROADWELL_G: -- case INTEL_FAM6_BROADWELL_X: -- case INTEL_FAM6_BROADWELL_D: -- -- case INTEL_FAM6_HASWELL: -- case INTEL_FAM6_HASWELL_G: -- case INTEL_FAM6_HASWELL_L: -- case INTEL_FAM6_HASWELL_X: -- valid = true; -- break; -- -- case INTEL_FAM6_KABYLAKE: -- valid = (stepping <= 10); -- break; -- -- case INTEL_FAM6_KABYLAKE_L: -- valid = (stepping <= 11); -- break; -- -- case INTEL_FAM6_SKYLAKE_L: -- case INTEL_FAM6_SKYLAKE: -- case INTEL_FAM6_SKYLAKE_X: -- /* stepping > 4 is Cascade Lake and is not supported */ -- valid = (stepping <= 4); -- break; -- -- default: -- valid = false; -- break; -- } -- -- return valid; --} - - static void rh_check_supported(void) - { -@@ -843,27 +777,8 @@ static void rh_check_supported(void) - */ - switch (boot_cpu_data.x86_vendor) { - case X86_VENDOR_AMD: -- if (!valid_amd_processor(boot_cpu_data.x86, -- boot_cpu_data.x86_model_id)) { -- pr_crit("Detected CPU family %xh model %d\n", -- boot_cpu_data.x86, -- boot_cpu_data.x86_model); -- mark_hardware_unsupported("AMD Processor"); -- } -- break; -- - case X86_VENDOR_INTEL: -- if (!valid_intel_processor(boot_cpu_data.x86, -- boot_cpu_data.x86_model, -- boot_cpu_data.x86_stepping)) { -- pr_crit("Detected CPU family %d model %d stepping %d\n", -- boot_cpu_data.x86, -- boot_cpu_data.x86_model, -- boot_cpu_data.x86_stepping); -- mark_hardware_unsupported("Intel Processor"); -- } - break; -- - default: - pr_crit("Detected processor %s %s\n", - boot_cpu_data.x86_vendor_id, --- -2.26.2 - diff --git a/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch b/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch deleted file mode 100644 index 89eea8f8b..000000000 --- a/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jeremy Cline -Date: Tue, 1 Oct 2019 15:51:23 +0000 -Subject: [PATCH] arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT - -Message-id: <20191001181256.22935-1-jcline@redhat.com> -Patchwork-id: 275498 -O-Subject: [ARK INTERNAL PATCH] [ARK INTERNAL PATCH] [redhat] Add patch - to drop the EXPERT setting from ARM64_FORCE_52BIT -Bugzilla: -RH-Acked-by: Laura Abbott - -We don't turn on EXPERT as there are few settings we actually want to -mess with. Remove the dependency for ARM64_FORCE_52BIT as we do want -that on in debug builds to help find 52-bit bugs. - -Upstream Status: RHEL only -Signed-off-by: Jeremy Cline ---- - arch/arm64/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 66dc41fd49f2..2e0700a451e5 100644 ---- a/arch/arm64/Kconfig -+++ b/arch/arm64/Kconfig -@@ -861,7 +861,7 @@ endchoice - - config ARM64_FORCE_52BIT - bool "Force 52-bit virtual addresses for userspace" -- depends on ARM64_VA_BITS_52 && EXPERT -+ depends on ARM64_VA_BITS_52 - help - For systems with 52-bit userspace VAs enabled, the kernel will attempt - to maintain compatibility with older software by providing 48-bit VAs --- -2.26.2 - diff --git a/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch b/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch deleted file mode 100644 index 498ffaf18..000000000 --- a/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jon Masters -Date: Thu, 18 Jul 2019 15:47:26 -0400 -Subject: [PATCH] arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT - -We will use this to force CONFIG_HIGHPTE off on LPAE for now - -Signed-off-by: Jon Masters ---- - arch/arm/Kconfig | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 2ac74904a3ce..f0094424f76a 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -1549,9 +1549,9 @@ config HIGHMEM - If unsure, say n. - - config HIGHPTE -- bool "Allocate 2nd-level pagetables from highmem" if EXPERT -+ bool "Allocate 2nd-level pagetables from highmem" - depends on HIGHMEM -- default y -+ default n - help - The VM uses one page of physical memory for each page table. - For systems with a lot of processes, this can use a lot of --- -2.26.2 - diff --git a/0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch b/0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch deleted file mode 100644 index e3b07c2bb..000000000 --- a/0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Icenowy Zheng -Date: Mon, 16 Mar 2020 21:35:03 +0800 -Subject: [PATCH] arm64: allwinner: dts: a64: add LCD-related device nodes for - PinePhone - -PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for -display. - -Add its device nodes. - -Signed-off-by: Icenowy Zheng ---- - .../dts/allwinner/sun50i-a64-pinephone.dtsi | 37 +++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -index cefda145c3c9..96d9150423e0 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -@@ -16,6 +16,15 @@ aliases { - serial0 = &uart0; - }; - -+ backlight: backlight { -+ compatible = "pwm-backlight"; -+ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; -+ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>; -+ default-brightness-level = <15>; -+ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ -+ power-supply = <®_ldo_io0>; -+ }; -+ - chosen { - stdout-path = "serial0:115200n8"; - }; -@@ -84,6 +93,30 @@ &dai { - status = "okay"; - }; - -+&de { -+ status = "okay"; -+}; -+ -+&dphy { -+ status = "okay"; -+}; -+ -+&dsi { -+ vcc-dsi-supply = <®_dldo1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ panel@0 { -+ compatible = "xingbangda,xbd599"; -+ reg = <0>; -+ reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ -+ iovcc-supply = <®_dldo2>; -+ vcc-supply = <®_ldo_io0>; -+ backlight = <&backlight>; -+ }; -+}; -+ - &ehci0 { - status = "okay"; - }; -@@ -188,6 +221,10 @@ &r_pio { - */ - }; - -+&r_pwm { -+ status = "okay"; -+}; -+ - &r_rsb { - status = "okay"; - --- -2.26.2 - diff --git a/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch b/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch deleted file mode 100644 index d2511ae64..000000000 --- a/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Fri, 26 Jun 2020 02:56:01 +0200 -Subject: [PATCH] arm64: dts: sun50i-a64-pinephone: Add touchscreen support - -Pinephone has a Goodix GT917S capacitive touchscreen controller on -I2C0 bus. Add support for it. - -Signed-off-by: Ondrej Jirman ---- - .../dts/allwinner/sun50i-a64-pinephone.dtsi | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -index 85a7aa5efd32..2d5694446d17 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -@@ -123,6 +123,25 @@ &ehci1 { - status = "okay"; - }; - -+&i2c0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c0_pins>; -+ status = "okay"; -+ -+ touchscreen@5d { -+ compatible = "goodix,gt917s", "goodix,gt911"; -+ reg = <0x5d>; -+ interrupt-parent = <&pio>; -+ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */ -+ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ -+ reset-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ -+ AVDD28-supply = <®_ldo_io0>; -+ VDDIO-supply = <®_ldo_io0>; -+ touchscreen-size-x = <720>; -+ touchscreen-size-y = <1440>; -+ }; -+}; -+ - &i2c1 { - status = "okay"; - --- -2.26.2 - diff --git a/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch b/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch deleted file mode 100644 index a38cd7250..000000000 --- a/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Icenowy Zheng -Date: Fri, 26 Jun 2020 02:56:00 +0200 -Subject: [PATCH] arm64: dts: sun50i-a64-pinephone: Enable LCD support on - PinePhone - -PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for -display. - -Backlight levels curve was optimized by Martijn Braam using a -lux meter. - -Add its device nodes. - -Signed-off-by: Icenowy Zheng -Signed-off-by: Martijn Braam -Signed-off-by: Ondrej Jirman ---- - .../allwinner/sun50i-a64-pinephone-1.1.dts | 19 ++++++++++ - .../dts/allwinner/sun50i-a64-pinephone.dtsi | 35 +++++++++++++++++++ - 2 files changed, 54 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts -index 06a775c41664..3e99a87e9ce5 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts -@@ -9,3 +9,22 @@ / { - model = "Pine64 PinePhone Braveheart (1.1)"; - compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64"; - }; -+ -+&backlight { -+ power-supply = <®_ldo_io0>; -+ /* -+ * PWM backlight circuit on this PinePhone revision was changed since -+ * 1.0, and the lowest PWM duty cycle that doesn't lead to backlight -+ * being off is around 20%. Duty cycle for the lowest brightness level -+ * also varries quite a bit between individual boards, so the lowest -+ * value here was chosen as a safe default. -+ */ -+ brightness-levels = < -+ 774 793 814 842 -+ 882 935 1003 1088 -+ 1192 1316 1462 1633 -+ 1830 2054 2309 2596 -+ 2916 3271 3664 4096>; -+ num-interpolated-steps = <50>; -+ default-brightness-level = <400>; -+}; -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -index cefda145c3c9..85a7aa5efd32 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi -@@ -16,6 +16,13 @@ aliases { - serial0 = &uart0; - }; - -+ backlight: backlight { -+ compatible = "pwm-backlight"; -+ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; -+ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ -+ /* Backlight configuration differs per PinePhone revision. */ -+ }; -+ - chosen { - stdout-path = "serial0:115200n8"; - }; -@@ -84,6 +91,30 @@ &dai { - status = "okay"; - }; - -+&de { -+ status = "okay"; -+}; -+ -+&dphy { -+ status = "okay"; -+}; -+ -+&dsi { -+ vcc-dsi-supply = <®_dldo1>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ status = "okay"; -+ -+ panel@0 { -+ compatible = "xingbangda,xbd599"; -+ reg = <0>; -+ reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ -+ iovcc-supply = <®_dldo2>; -+ vcc-supply = <®_ldo_io0>; -+ backlight = <&backlight>; -+ }; -+}; -+ - &ehci0 { - status = "okay"; - }; -@@ -188,6 +219,10 @@ &r_pio { - */ - }; - -+&r_pwm { -+ status = "okay"; -+}; -+ - &r_rsb { - status = "okay"; - --- -2.26.2 - diff --git a/0001-be2iscsi-remove-unsupported-device-IDs.patch b/0001-be2iscsi-remove-unsupported-device-IDs.patch deleted file mode 100644 index 81bd1dd9c..000000000 --- a/0001-be2iscsi-remove-unsupported-device-IDs.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Chris Leech -Date: Thu, 2 Jan 2020 14:24:43 -0500 -Subject: [PATCH] be2iscsi: remove unsupported device IDs - -Message-id: <20180503194032.1461134-1-cleech@redhat.com> -Patchwork-id: 212454 -O-Subject: [RHEL8 PATCH e-stor] scsi: be2iscsi: remove unsupported device IDs -Bugzilla: 1574502 -RH-Acked-by: Maurizio Lombardi -RH-Acked-by: Tom Coughlan -RH-Acked-by: Ewan Milne - -Bugzilla: 1574502 -Upstream Status: RHEL Specific -Build Info: brew 15975638 - -BladeEngine 2 generation devices are deprecated in RHEL 7 -and not supported in RHEL 8 - -Signed-off-by: Chris Leech -Signed-off-by: Herton R. Krzesinski - -be2iscsi: remove BE3 family support - -Message-id: <1530890927-5792-1-git-send-email-mlombard@redhat.com> -Patchwork-id: 223576 -O-Subject: [RHEL8 e-stor PATCH] be2iscsi: remove BE3 family support -Bugzilla: 1598366 -RH-Acked-by: Tomas Henzl -RH-Acked-by: Chris Leech - -BZ: https://bugzilla.redhat.com/show_bug.cgi?id98366 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID996775 -Upstream: RHEL-only, they tried to mark BE3 as unsupported - in upstream kernel but the patch has been rejected. - See: https://marc.info/?l=linux-scsi&m2835991600881&w=2 - -Broadcom doesn't want to provide support for the BE3 device family -in RHEL8. - -This patch removes the BE3's PCI-IDs. - -Upstream Status: RHEL only -Signed-off-by: Maurizio Lombardi -Signed-off-by: Herton R. Krzesinski ---- - drivers/scsi/be2iscsi/be_main.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c -index 9b81cfbbc5c5..1ca08297939c 100644 ---- a/drivers/scsi/be2iscsi/be_main.c -+++ b/drivers/scsi/be2iscsi/be_main.c -@@ -370,11 +370,13 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc) - - /*------------------- PCI Driver operations and data ----------------- */ - static const struct pci_device_id beiscsi_pci_id_table[] = { -+#ifndef CONFIG_RHEL_DIFFERENCES - { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) }, - { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) }, - { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) }, - { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) }, - { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) }, -+#endif - { PCI_DEVICE(ELX_VENDOR_ID, OC_SKH_ID1) }, - { 0 } - }; --- -2.26.2 - diff --git a/0001-bpf-Add-tech-preview-taint-for-syscall.patch b/0001-bpf-Add-tech-preview-taint-for-syscall.patch deleted file mode 100644 index 2487c60f1..000000000 --- a/0001-bpf-Add-tech-preview-taint-for-syscall.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Eugene Syromiatnikov -Date: Thu, 14 Jun 2018 16:36:08 -0400 -Subject: [PATCH] bpf: Add tech preview taint for syscall - -Message-id: <394af3a9985d1ad9ea6741cb95ff145312d106b9.1528991396.git.esyr@redhat.com> -Patchwork-id: 8251 -O-Subject: [kernel team] [RHEL8 PATCH v4 3/5] [bpf] bpf: Add tech preview taint for syscall -Bugzilla: 1559877 -RH-Acked-by: Jiri Benc -RH-Acked-by: Jesper Dangaard Brouer - -Adding tech preview taint for using the eBPF syscall. - -Based on a RHEL 7 commit "bpf: Add tech preview taint for syscall" by -Jiri Olsa. - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1559877 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16716594 - -Upstream Status: RHEL only -Signed-off-by: Jiri Olsa -Signed-off-by: Eugene Syromiatnikov -Signed-off-by: Herton R. Krzesinski ---- - kernel/bpf/syscall.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c -index 60f70f31060e..628d0ba68106 100644 ---- a/kernel/bpf/syscall.c -+++ b/kernel/bpf/syscall.c -@@ -4094,11 +4094,17 @@ static int bpf_iter_create(union bpf_attr *attr) - SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size) - { - union bpf_attr attr; -+ static int marked; - int err; - - if (sysctl_unprivileged_bpf_disabled && !bpf_capable()) - return -EPERM; - -+ if (!marked) { -+ mark_tech_preview("eBPF syscall", NULL); -+ marked = true; -+ } -+ - err = bpf_check_uarg_tail_zero(uattr, sizeof(attr), size); - if (err) - return err; --- -2.26.2 - diff --git a/0001-bpf-set-unprivileged_bpf_disabled-to-1-by-default-ad.patch b/0001-bpf-set-unprivileged_bpf_disabled-to-1-by-default-ad.patch deleted file mode 100644 index 042d8b999..000000000 --- a/0001-bpf-set-unprivileged_bpf_disabled-to-1-by-default-ad.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Eugene Syromiatnikov -Date: Thu, 14 Jun 2018 16:36:02 -0400 -Subject: [PATCH] bpf: set unprivileged_bpf_disabled to 1 by default, add a - boot parameter - -Message-id: <133022c6c389ca16060bd20ef69199de0800200b.1528991396.git.esyr@redhat.com> -Patchwork-id: 8250 -O-Subject: [kernel team] [RHEL8 PATCH v4 2/5] [bpf] bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter -Bugzilla: 1561171 -RH-Acked-by: Jiri Benc -RH-Acked-by: Jesper Dangaard Brouer - -This patch sets kernel.unprivileged_bpf_disabled sysctl knob to 1 -by default, and provides an ability (in a form of a boot-time parameter) -to reset it to 0, as it is impossible to do so in runtime. Since -unprivileged BPF is considered unsupported, it also taints the kernel. - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1561171 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16716594 -Upstream: RHEL only. The patch (in a more generic form) has been - proposed upstream[1] and subsequently rejected. - -[1] https://lkml.org/lkml/2018/5/21/344 - -Upstream Status: RHEL only -Signed-off-by: Eugene Syromiatnikov -Signed-off-by: Herton R. Krzesinski ---- - .../admin-guide/kernel-parameters.txt | 8 +++++++ - include/linux/kernel.h | 2 +- - kernel/bpf/syscall.c | 21 ++++++++++++++++++- - kernel/panic.c | 2 +- - 4 files changed, 30 insertions(+), 3 deletions(-) - -diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index fb95fad81c79..a43287854f8a 100644 ---- a/Documentation/admin-guide/kernel-parameters.txt -+++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -5277,6 +5277,14 @@ - unknown_nmi_panic - [X86] Cause panic on unknown NMI. - -+ unprivileged_bpf_disabled= -+ Format: { "0" | "1" } -+ Sets the initial value of -+ kernel.unprivileged_bpf_disabled sysctl knob. -+ 0 - unprivileged bpf() syscall access is enabled. -+ 1 - unprivileged bpf() syscall access is disabled. -+ Default value is 1. -+ - usbcore.authorized_default= - [USB] Default USB device authorization: - (default -1 = authorized except for wireless USB, -diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index 28be75396242..0a0081b10edb 100644 ---- a/include/linux/kernel.h -+++ b/include/linux/kernel.h -@@ -618,7 +618,7 @@ extern enum system_states { - #define TAINT_RESERVED28 28 - #define TAINT_RESERVED29 29 - #define TAINT_RESERVED30 30 --#define TAINT_RESERVED31 31 -+#define TAINT_UNPRIVILEGED_BPF 31 - /* End of Red Hat-specific taint flags */ - #define TAINT_FLAGS_COUNT 32 - #define TAINT_FLAGS_MAX ((1UL << TAINT_FLAGS_COUNT) - 1) -diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c -index 0fd80ac81f70..60f70f31060e 100644 ---- a/kernel/bpf/syscall.c -+++ b/kernel/bpf/syscall.c -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -48,7 +49,25 @@ static DEFINE_SPINLOCK(map_idr_lock); - static DEFINE_IDR(link_idr); - static DEFINE_SPINLOCK(link_idr_lock); - --int sysctl_unprivileged_bpf_disabled __read_mostly; -+/* RHEL-only: default to 1 */ -+int sysctl_unprivileged_bpf_disabled __read_mostly = 1; -+ -+static int __init unprivileged_bpf_setup(char *str) -+{ -+ unsigned long disabled; -+ if (!kstrtoul(str, 0, &disabled)) -+ sysctl_unprivileged_bpf_disabled = !!disabled; -+ -+ if (!sysctl_unprivileged_bpf_disabled) { -+ pr_warn("Unprivileged BPF has been enabled " -+ "(unprivileged_bpf_disabled=0 has been supplied " -+ "in boot parameters), tainting the kernel"); -+ add_taint(TAINT_UNPRIVILEGED_BPF, LOCKDEP_STILL_OK); -+ } -+ -+ return 1; -+} -+__setup("unprivileged_bpf_disabled=", unprivileged_bpf_setup); - - static const struct bpf_map_ops * const bpf_map_types[] = { - #define BPF_PROG_TYPE(_id, _name, prog_ctx_type, kern_ctx_type) -diff --git a/kernel/panic.c b/kernel/panic.c -index 534bc76e43da..e3bae852d92f 100644 ---- a/kernel/panic.c -+++ b/kernel/panic.c -@@ -399,7 +399,7 @@ const struct taint_flag taint_flags[TAINT_FLAGS_COUNT] = { - [ TAINT_RESERVED28 ] = { '?', '-', false }, - [ TAINT_RESERVED29 ] = { '?', '-', false }, - [ TAINT_RESERVED30 ] = { '?', '-', false }, -- [ TAINT_RESERVED31 ] = { '?', '-', false }, -+ [ TAINT_UNPRIVILEGED_BPF ] = { 'u', ' ', false }, - }; - - /** --- -2.26.2 - diff --git a/0001-drm-panel-add-Xingbangda-XBD599-panel.patch b/0001-drm-panel-add-Xingbangda-XBD599-panel.patch deleted file mode 100644 index 6866d5f69..000000000 --- a/0001-drm-panel-add-Xingbangda-XBD599-panel.patch +++ /dev/null @@ -1,423 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Icenowy Zheng -Date: Mon, 16 Mar 2020 21:35:01 +0800 -Subject: [PATCH] drm: panel: add Xingbangda XBD599 panel - -Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI IPS LCD panel made by -Xingbangda, which is used on PinePhone final assembled phones. - -Add support for it. - -Signed-off-by: Icenowy Zheng ---- - drivers/gpu/drm/panel/Kconfig | 9 + - drivers/gpu/drm/panel/Makefile | 1 + - .../gpu/drm/panel/panel-xingbangda-xbd599.c | 366 ++++++++++++++++++ - 3 files changed, 376 insertions(+) - create mode 100644 drivers/gpu/drm/panel/panel-xingbangda-xbd599.c - -diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig -index 39055c1f0e2f..1f55a87bb657 100644 ---- a/drivers/gpu/drm/panel/Kconfig -+++ b/drivers/gpu/drm/panel/Kconfig -@@ -462,6 +462,15 @@ config DRM_PANEL_VISIONOX_RM69299 - Say Y here if you want to enable support for Visionox - RM69299 DSI Video Mode panel. - -+config DRM_PANEL_XINGBANGDA_XBD599 -+ tristate "Xingbangda XBD599 panel" -+ depends on OF -+ depends on DRM_MIPI_DSI -+ depends on BACKLIGHT_CLASS_DEVICE -+ help -+ Say Y here if you want to enable support for the Xingbangda XBD599 -+ MIPI DSI Video Mode panel. -+ - config DRM_PANEL_XINPENG_XPP055C272 - tristate "Xinpeng XPP055C272 panel driver" - depends on OF -diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile -index de74f282c433..7b6b0c0397d6 100644 ---- a/drivers/gpu/drm/panel/Makefile -+++ b/drivers/gpu/drm/panel/Makefile -@@ -49,4 +49,5 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o - obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o - obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o - obj-$(CONFIG_DRM_PANEL_VISIONOX_RM69299) += panel-visionox-rm69299.o -+obj-$(CONFIG_DRM_PANEL_XINGBANGDA_XBD599) += panel-xingbangda-xbd599.o - obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o -diff --git a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c -new file mode 100644 -index 000000000000..b483f96ee1db ---- /dev/null -+++ b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c -@@ -0,0 +1,366 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * Xingbangda XBD599 MIPI-DSI panel driver -+ * -+ * Copyright (C) 2019-2020 Icenowy Zheng -+ * -+ * Based on panel-rocktech-jh057n00900.c, which is: -+ * Copyright (C) Purism SPC 2019 -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+ -+/* Manufacturer specific Commands send via DSI */ -+#define ST7703_CMD_ALL_PIXEL_OFF 0x22 -+#define ST7703_CMD_ALL_PIXEL_ON 0x23 -+#define ST7703_CMD_SETDISP 0xB2 -+#define ST7703_CMD_SETRGBIF 0xB3 -+#define ST7703_CMD_SETCYC 0xB4 -+#define ST7703_CMD_SETBGP 0xB5 -+#define ST7703_CMD_SETVCOM 0xB6 -+#define ST7703_CMD_SETOTP 0xB7 -+#define ST7703_CMD_SETPOWER_EXT 0xB8 -+#define ST7703_CMD_SETEXTC 0xB9 -+#define ST7703_CMD_SETMIPI 0xBA -+#define ST7703_CMD_SETVDC 0xBC -+#define ST7703_CMD_SETSCR 0xC0 -+#define ST7703_CMD_SETPOWER 0xC1 -+#define ST7703_CMD_UNK_C6 0xC6 -+#define ST7703_CMD_SETPANEL 0xCC -+#define ST7703_CMD_SETGAMMA 0xE0 -+#define ST7703_CMD_SETEQ 0xE3 -+#define ST7703_CMD_SETGIP1 0xE9 -+#define ST7703_CMD_SETGIP2 0xEA -+ -+static const char * const regulator_names[] = { -+ "iovcc", -+ "vcc", -+}; -+ -+struct xbd599 { -+ struct device *dev; -+ struct drm_panel panel; -+ struct gpio_desc *reset_gpio; -+ struct regulator_bulk_data supplies[ARRAY_SIZE(regulator_names)]; -+ bool prepared; -+}; -+ -+static inline struct xbd599 *panel_to_xbd599(struct drm_panel *panel) -+{ -+ return container_of(panel, struct xbd599, panel); -+} -+ -+#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ -+ static const u8 d[] = { seq }; \ -+ int ret; \ -+ ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ -+ if (ret < 0) \ -+ return ret; \ -+ } while (0) -+ -+static int xbd599_init_sequence(struct xbd599 *ctx) -+{ -+ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); -+ struct device *dev = ctx->dev; -+ int ret; -+ -+ /* -+ * Init sequence was supplied by the panel vendor. -+ */ -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, -+ 0xF1, 0x12, 0x83); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, -+ 0x33, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, -+ 0x00, 0x91, 0x0a, 0x00, 0x00, 0x02, 0x4F, 0x11, -+ 0x00, 0x00, 0x37); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, -+ 0x25, 0x22, 0x20, 0x03); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, -+ 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00, -+ 0x00, 0x00); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, -+ 0x73, 0x73, 0x50, 0x50, 0x00, 0xC0, 0x08, 0x70, -+ 0x00); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0xF0); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, -+ 0x00, 0x00, 0x0B, 0x0B, 0x10, 0x10, 0x00, 0x00, -+ 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10); -+ dsi_dcs_write_seq(dsi, 0xC6, 0x01, 0x00, 0xFF, 0xFF, 0x00); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, -+ 0x74, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xFF, 0xFF, -+ 0xCC, 0xCC, 0x77, 0x77); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x07, 0x07); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x2C, 0x2C); -+ dsi_dcs_write_seq(dsi, 0xBF, 0x02, 0x11, 0x00); -+ -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, -+ 0x82, 0x10, 0x06, 0x05, 0xA2, 0x0A, 0xA5, 0x12, -+ 0x31, 0x23, 0x37, 0x83, 0x04, 0xBC, 0x27, 0x38, -+ 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, -+ 0x03, 0x00, 0x00, 0x00, 0x75, 0x75, 0x31, 0x88, -+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x13, 0x88, 0x64, -+ 0x64, 0x20, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, -+ 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, -+ 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x02, 0x88, -+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x88, 0x13, -+ 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, -+ 0x75, 0x88, 0x23, 0x14, 0x00, 0x00, 0x02, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0A, -+ 0xA5, 0x00, 0x00, 0x00, 0x00); -+ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, -+ 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, 0x35, -+ 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, 0x12, -+ 0x18, 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, -+ 0x35, 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, -+ 0x12, 0x18); -+ msleep(20); -+ -+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi); -+ if (ret < 0) { -+ DRM_DEV_ERROR(dev, "Failed to exit sleep mode\n"); -+ return ret; -+ } -+ msleep(250); -+ -+ ret = mipi_dsi_dcs_set_display_on(dsi); -+ if (ret) -+ return ret; -+ msleep(50); -+ -+ DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); -+ return 0; -+} -+ -+static int xbd599_prepare(struct drm_panel *panel) -+{ -+ struct xbd599 *ctx = panel_to_xbd599(panel); -+ int ret; -+ -+ if (ctx->prepared) -+ return 0; -+ -+ ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); -+ if (ret) -+ return ret; -+ -+ DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n"); -+ gpiod_set_value_cansleep(ctx->reset_gpio, 1); -+ usleep_range(20, 40); -+ gpiod_set_value_cansleep(ctx->reset_gpio, 0); -+ msleep(20); -+ -+ ctx->prepared = true; -+ -+ return 0; -+} -+ -+static int xbd599_enable(struct drm_panel *panel) -+{ -+ struct xbd599 *ctx = panel_to_xbd599(panel); -+ int ret; -+ -+ ret = xbd599_init_sequence(ctx); -+ if (ret < 0) { -+ DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n", -+ ret); -+ return ret; -+ } -+ -+ return 0; -+} -+ -+static int xbd599_disable(struct drm_panel *panel) -+{ -+ struct xbd599 *ctx = panel_to_xbd599(panel); -+ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); -+ -+ return mipi_dsi_dcs_set_display_off(dsi); -+} -+ -+static int xbd599_unprepare(struct drm_panel *panel) -+{ -+ struct xbd599 *ctx = panel_to_xbd599(panel); -+ -+ if (!ctx->prepared) -+ return 0; -+ -+ gpiod_set_value_cansleep(ctx->reset_gpio, 1); -+ regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); -+ ctx->prepared = false; -+ -+ return 0; -+} -+ -+static const struct drm_display_mode xbd599_default_mode = { -+ .hdisplay = 720, -+ .hsync_start = 720 + 40, -+ .hsync_end = 720 + 40 + 40, -+ .htotal = 720 + 40 + 40 + 40, -+ .vdisplay = 1440, -+ .vsync_start = 1440 + 18, -+ .vsync_end = 1440 + 18 + 10, -+ .vtotal = 1440 + 18 + 10 + 17, -+ .vrefresh = 60, -+ .clock = 69000, -+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, -+ -+ .width_mm = 68, -+ .height_mm = 136, -+ .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, -+}; -+ -+static int xbd599_get_modes(struct drm_panel *panel, -+ struct drm_connector *connector) -+{ -+ struct xbd599 *ctx = panel_to_xbd599(panel); -+ struct drm_display_mode *mode; -+ -+ mode = drm_mode_duplicate(connector->dev, &xbd599_default_mode); -+ if (!mode) { -+ DRM_DEV_ERROR(ctx->dev, "Failed to add mode\n"); -+ return -ENOMEM; -+ } -+ -+ drm_mode_set_name(mode); -+ -+ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; -+ connector->display_info.width_mm = mode->width_mm; -+ connector->display_info.height_mm = mode->height_mm; -+ drm_mode_probed_add(connector, mode); -+ -+ return 1; -+} -+ -+static const struct drm_panel_funcs xbd599_drm_funcs = { -+ .prepare = xbd599_prepare, -+ .enable = xbd599_enable, -+ .disable = xbd599_disable, -+ .unprepare = xbd599_unprepare, -+ .get_modes = xbd599_get_modes, -+}; -+ -+static int xbd599_probe(struct mipi_dsi_device *dsi) -+{ -+ struct device *dev = &dsi->dev; -+ struct xbd599 *ctx; -+ int i, ret; -+ -+ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); -+ if (!ctx) -+ return -ENOMEM; -+ -+ for (i = 0; i < ARRAY_SIZE(ctx->supplies); i++) -+ ctx->supplies[i].supply = regulator_names[i]; -+ -+ ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies), -+ ctx->supplies); -+ if (ret < 0) { -+ DRM_DEV_ERROR(&dsi->dev, "cannot get regulators\n"); -+ return ret; -+ } -+ -+ ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); -+ if (IS_ERR(ctx->reset_gpio)) { -+ DRM_DEV_ERROR(dev, "cannot get reset gpio\n"); -+ return PTR_ERR(ctx->reset_gpio); -+ } -+ -+ mipi_dsi_set_drvdata(dsi, ctx); -+ -+ ctx->dev = dev; -+ -+ dsi->lanes = 4; -+ dsi->format = MIPI_DSI_FMT_RGB888; -+ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; -+ -+ drm_panel_init(&ctx->panel, &dsi->dev, &xbd599_drm_funcs, -+ DRM_MODE_CONNECTOR_DSI); -+ -+ ret = drm_panel_of_backlight(&ctx->panel); -+ if (ret) -+ return ret; -+ -+ drm_panel_add(&ctx->panel); -+ -+ ret = mipi_dsi_attach(dsi); -+ if (ret < 0) { -+ DRM_DEV_ERROR(dev, "mipi_dsi_attach failed. Is host ready?\n"); -+ drm_panel_remove(&ctx->panel); -+ return ret; -+ } -+ -+ DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", -+ xbd599_default_mode.hdisplay, -+ xbd599_default_mode.vdisplay, -+ xbd599_default_mode.vrefresh, -+ mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); -+ -+ return 0; -+} -+ -+static void xbd599_shutdown(struct mipi_dsi_device *dsi) -+{ -+ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); -+ int ret; -+ -+ ret = drm_panel_unprepare(&ctx->panel); -+ if (ret < 0) -+ DRM_DEV_ERROR(&dsi->dev, "Failed to unprepare panel: %d\n", -+ ret); -+} -+ -+static int xbd599_remove(struct mipi_dsi_device *dsi) -+{ -+ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); -+ int ret; -+ -+ xbd599_shutdown(dsi); -+ -+ ret = mipi_dsi_detach(dsi); -+ if (ret < 0) -+ DRM_DEV_ERROR(&dsi->dev, "Failed to detach from DSI host: %d\n", -+ ret); -+ -+ drm_panel_remove(&ctx->panel); -+ -+ return 0; -+} -+ -+static const struct of_device_id xbd599_of_match[] = { -+ { .compatible = "xingbangda,xbd599", }, -+ { /* sentinel */ } -+}; -+MODULE_DEVICE_TABLE(of, xbd599_of_match); -+ -+static struct mipi_dsi_driver xbd599_driver = { -+ .probe = xbd599_probe, -+ .remove = xbd599_remove, -+ .shutdown = xbd599_shutdown, -+ .driver = { -+ .name = "panel-xingbangda-xbd599", -+ .of_match_table = xbd599_of_match, -+ }, -+}; -+module_mipi_dsi_driver(xbd599_driver); -+ -+MODULE_AUTHOR("Icenowy Zheng "); -+MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel"); -+MODULE_LICENSE("GPL v2"); --- -2.26.2 - diff --git a/0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch b/0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch deleted file mode 100644 index d78bf5644..000000000 --- a/0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch +++ /dev/null @@ -1,948 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman -Date: Fri, 26 Jun 2020 02:55:52 +0200 -Subject: [PATCH] drm/panel: rocktech-jh057n00900: Rename the driver to st7703 - -This rename is done so that the driver matches the name of the -display controller and in preparation for adding support for more -panels to the driver. - -This is just a basic file rename, with no code changes. - -Signed-off-by: Ondrej Jirman ---- - drivers/gpu/drm/panel/Kconfig | 26 +- - drivers/gpu/drm/panel/Makefile | 2 +- - .../drm/panel/panel-rocktech-jh057n00900.c | 424 ------------------ - drivers/gpu/drm/panel/panel-sitronix-st7703.c | 424 ++++++++++++++++++ - 4 files changed, 438 insertions(+), 438 deletions(-) - delete mode 100644 drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c - create mode 100644 drivers/gpu/drm/panel/panel-sitronix-st7703.c - -diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig -index 39055c1f0e2f..de2f2a452be5 100644 ---- a/drivers/gpu/drm/panel/Kconfig -+++ b/drivers/gpu/drm/panel/Kconfig -@@ -283,19 +283,6 @@ config DRM_PANEL_RAYDIUM_RM68200 - Say Y here if you want to enable support for Raydium RM68200 - 720x1280 DSI video mode panel. - --config DRM_PANEL_ROCKTECH_JH057N00900 -- tristate "Rocktech JH057N00900 MIPI touchscreen panel" -- depends on OF -- depends on DRM_MIPI_DSI -- depends on BACKLIGHT_CLASS_DEVICE -- help -- Say Y here if you want to enable support for Rocktech JH057N00900 -- MIPI DSI panel as e.g. used in the Librem 5 devkit. It has a -- resolution of 720x1440 pixels, a built in backlight and touch -- controller. -- Touch input support is provided by the goodix driver and needs to be -- selected separately. -- - config DRM_PANEL_RONBO_RB070D30 - tristate "Ronbo Electronics RB070D30 panel" - depends on OF -@@ -395,6 +382,19 @@ config DRM_PANEL_SITRONIX_ST7701 - ST7701 controller for 480X864 LCD panels with MIPI/RGB/SPI - system interfaces. - -+config DRM_PANEL_SITRONIX_ST7703 -+ tristate "Sitronix ST7703 based MIPI touchscreen panels" -+ depends on OF -+ depends on DRM_MIPI_DSI -+ depends on BACKLIGHT_CLASS_DEVICE -+ help -+ Say Y here if you want to enable support for Sitronix ST7703 based -+ panels, souch as Rocktech JH057N00900 MIPI DSI panel as e.g. used in -+ the Librem 5 devkit. It has a resolution of 720x1440 pixels, a built -+ in backlight and touch controller. -+ Touch input support is provided by the goodix driver and needs to be -+ selected separately. -+ - config DRM_PANEL_SITRONIX_ST7789V - tristate "Sitronix ST7789V panel" - depends on OF && SPI -diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile -index de74f282c433..e45ceac6286f 100644 ---- a/drivers/gpu/drm/panel/Makefile -+++ b/drivers/gpu/drm/panel/Makefile -@@ -27,7 +27,6 @@ obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o - obj-$(CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN) += panel-raspberrypi-touchscreen.o - obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM67191) += panel-raydium-rm67191.o - obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o --obj-$(CONFIG_DRM_PANEL_ROCKTECH_JH057N00900) += panel-rocktech-jh057n00900.o - obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o - obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o - obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) += panel-samsung-s6d16d0.o -@@ -41,6 +40,7 @@ obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o - obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o - obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o - obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o -+obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o - obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o - obj-$(CONFIG_DRM_PANEL_SONY_ACX424AKP) += panel-sony-acx424akp.o - obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o -diff --git a/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c b/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c -deleted file mode 100644 -index 38ff742bc120..000000000000 ---- a/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c -+++ /dev/null -@@ -1,424 +0,0 @@ --// SPDX-License-Identifier: GPL-2.0 --/* -- * Rockteck jh057n00900 5.5" MIPI-DSI panel driver -- * -- * Copyright (C) Purism SPC 2019 -- */ -- --#include --#include --#include --#include --#include --#include --#include -- --#include