diff options
author | Justin M. Forbes <jforbes@fedoraproject.org> | 2020-08-04 17:00:01 -0500 |
---|---|---|
committer | Justin M. Forbes <jforbes@fedoraproject.org> | 2020-08-04 17:00:01 -0500 |
commit | 9ab9ea2db0b13375d3d7114d5c82eb298a118740 (patch) | |
tree | eb4615cacf3e4ee8bd71c2522241011baa6c56fe | |
parent | bf5b588422a50d970ea8660d368cc6cdd2c377c9 (diff) | |
download | kernel-9ab9ea2db0b13375d3d7114d5c82eb298a118740.tar.gz kernel-9ab9ea2db0b13375d3d7114d5c82eb298a118740.tar.xz kernel-9ab9ea2db0b13375d3d7114d5c82eb298a118740.zip |
Linux v5.8 rebase
Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
556 files changed, 11077 insertions, 4412 deletions
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 index ec362d9b2..1a5bec6ce 100644 --- a/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch +++ b/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch @@ -48,7 +48,7 @@ Signed-off-by: Herton R. Krzesinski <herton@redhat.com> 1 file changed, 8 insertions(+) diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c -index 822402480f7d..3f87d8602560 100644 +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) diff --git a/0001-ARM-tegra-usb-no-reset.patch b/0001-ARM-tegra-usb-no-reset.patch index f91c6b83e..21ebad41e 100644 --- a/0001-ARM-tegra-usb-no-reset.patch +++ b/0001-ARM-tegra-usb-no-reset.patch @@ -10,7 +10,7 @@ Patch for disconnect issues with storage attached to a 1 file changed, 7 insertions(+) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index fc748c731832..7d35e12de70f 100644 +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) 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 index ee11a2428..9fa2f1a8e 100644 --- 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 @@ -15,7 +15,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com> 2 files changed, 96 insertions(+), 31 deletions(-) diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c -index 4e3055238f31..36ca9e2943ce 100644 +index fdd1db025dbf..8ef7d1df09dd 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -31,6 +31,7 @@ @@ -26,7 +26,7 @@ index 4e3055238f31..36ca9e2943ce 100644 #include <asm/early_ioremap.h> -@@ -828,40 +829,101 @@ int efi_mem_type(unsigned long phys_addr) +@@ -831,40 +832,101 @@ int efi_mem_type(unsigned long phys_addr) } #endif @@ -160,10 +160,10 @@ index 4e3055238f31..36ca9e2943ce 100644 static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); diff --git a/include/linux/efi.h b/include/linux/efi.h -index 9430d01c0c3d..51503bf118ab 100644 +index 05c47f857383..2e2f9f608f68 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -42,6 +42,8 @@ +@@ -43,6 +43,8 @@ #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1))) #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1))) @@ -172,7 +172,7 @@ index 9430d01c0c3d..51503bf118ab 100644 typedef unsigned long efi_status_t; typedef u8 efi_bool_t; typedef u16 efi_char16_t; /* UNICODE character */ -@@ -825,6 +827,7 @@ static inline bool efi_rt_services_supported(unsigned int mask) +@@ -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); diff --git a/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch b/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch index 970824d59..64cdd4136 100644 --- a/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch +++ b/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch @@ -16,10 +16,10 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> 1 file changed, 1 insertion(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 7f37a6d0658a..c88ee0e8ce6e 100644 +index 2e0700a451e5..77e7e749d7e5 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1126,6 +1126,7 @@ config XEN +@@ -1133,6 +1133,7 @@ config XEN config FORCE_MAX_ZONEORDER int default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) diff --git a/0001-Drop-that-for-now.patch b/0001-Drop-that-for-now.patch index bc898b654..c26066ec6 100644 --- a/0001-Drop-that-for-now.patch +++ b/0001-Drop-that-for-now.patch @@ -8,10 +8,10 @@ Subject: [PATCH] Drop that for now 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 3d65d1153aac..0e2fb7fe2675 100644 +index 37cfb39d77af..c65a263990ae 100644 --- a/Makefile +++ b/Makefile -@@ -479,7 +479,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE +@@ -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 \ diff --git a/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch b/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch deleted file mode 100644 index 6fc81f845..000000000 --- a/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 92c547f35f4852908f40c2861d9b9d10e0c5099b Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Sun, 28 Jun 2020 16:48:50 +0100 -Subject: [PATCH] PCI: Add MCFG quirks for Tegra194 host controllers - -The PCIe controller in Tegra194 SoC is not completely ECAM-compliant. -With the current hardware design limitations in place, ECAM can be enabled -only for one controller (C5 controller to be precise) with bus numbers -starting from 160 instead of 0. A different approach is taken to avoid this -abnormal way of enabling ECAM for just one controller but to enable -configuration space access for all the other controllers. In this approach, -ops are added through MCFG quirk mechanism which access the configuration -spaces by dynamically programming iATU (internal AddressTranslation Unit) -to generate respective configuration accesses just like the way it is -done in DesignWare core sub-system. - -Signed-off-by: Vidya Sagar <vidyas@nvidia.com> -Reported-by: kbuild test robot <lkp@intel.com> -Signed-off-by: Peter Robinson <pbrobinson@gmail.com> ---- -V3: -* Removed MCFG address hardcoding in pci_mcfg.c file -* Started using 'dbi_base' for accessing root port's own config space -* and using 'config_base' for accessing config space of downstream hierarchy - -V2: -* Fixed build issues reported by kbuild test bot ---- - drivers/acpi/pci_mcfg.c | 7 ++ - drivers/pci/controller/dwc/Makefile | 2 +- - drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++++++ - include/linux/pci-ecam.h | 1 + - 4 files changed, 111 insertions(+), 1 deletion(-) - -diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c -index 6b347d9920cc2..7071814081736 100644 ---- a/drivers/acpi/pci_mcfg.c -+++ b/drivers/acpi/pci_mcfg.c -@@ -116,6 +116,13 @@ static struct mcfg_fixup mcfg_quirks[] = { - THUNDER_ECAM_QUIRK(2, 12), - THUNDER_ECAM_QUIRK(2, 13), - -+ { "NVIDIA", "TEGRA194", 1, 0, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 1, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 2, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 3, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 4, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 5, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ - #define XGENE_V1_ECAM_MCFG(rev, seg) \ - {"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \ - &xgene_v1_pcie_ecam_ops } -diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile -index 8a637cfcf6e99..76a6c52b8500e 100644 ---- a/drivers/pci/controller/dwc/Makefile -+++ b/drivers/pci/controller/dwc/Makefile -@@ -17,7 +17,6 @@ obj-$(CONFIG_PCIE_INTEL_GW) += pcie-intel-gw.o - obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o - obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o - obj-$(CONFIG_PCI_MESON) += pci-meson.o --obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o - obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o - - # The following drivers are for devices that use the generic ACPI -@@ -33,4 +32,5 @@ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o - ifdef CONFIG_PCI - obj-$(CONFIG_ARM64) += pcie-al.o - obj-$(CONFIG_ARM64) += pcie-hisi.o -+obj-$(CONFIG_ARM64) += pcie-tegra194.o - endif -diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c -index ae30a2fd3716a..571b39c5cac63 100644 ---- a/drivers/pci/controller/dwc/pcie-tegra194.c -+++ b/drivers/pci/controller/dwc/pcie-tegra194.c -@@ -22,6 +22,8 @@ - #include <linux/of_irq.h> - #include <linux/of_pci.h> - #include <linux/pci.h> -+#include <linux/pci-acpi.h> -+#include <linux/pci-ecam.h> - #include <linux/phy/phy.h> - #include <linux/pinctrl/consumer.h> - #include <linux/platform_device.h> -@@ -324,6 +326,103 @@ struct tegra_pcie_dw_of_data { - enum dw_pcie_device_mode mode; - }; - -+#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) -+struct tegra194_pcie_acpi { -+ void __iomem *config_base; -+ void __iomem *iatu_base; -+ void __iomem *dbi_base; -+}; -+ -+static int tegra194_acpi_init(struct pci_config_window *cfg) -+{ -+ struct device *dev = cfg->parent; -+ struct tegra194_pcie_acpi *pcie; -+ -+ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); -+ if (!pcie) -+ return -ENOMEM; -+ -+ pcie->config_base = cfg->win; -+ pcie->iatu_base = cfg->win + SZ_256K; -+ pcie->dbi_base = cfg->win + SZ_512K; -+ cfg->priv = pcie; -+ -+ return 0; -+} -+ -+static inline void atu_reg_write(struct tegra194_pcie_acpi *pcie, int index, -+ u32 val, u32 reg) -+{ -+ u32 offset = PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index); -+ -+ writel(val, pcie->iatu_base + offset + reg); -+} -+ -+static void program_outbound_atu(struct tegra194_pcie_acpi *pcie, int index, -+ int type, u64 cpu_addr, u64 pci_addr, u64 size) -+{ -+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr), -+ PCIE_ATU_LOWER_BASE); -+ atu_reg_write(pcie, index, upper_32_bits(cpu_addr), -+ PCIE_ATU_UPPER_BASE); -+ atu_reg_write(pcie, index, lower_32_bits(pci_addr), -+ PCIE_ATU_LOWER_TARGET); -+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr + size - 1), -+ PCIE_ATU_LIMIT); -+ atu_reg_write(pcie, index, upper_32_bits(pci_addr), -+ PCIE_ATU_UPPER_TARGET); -+ atu_reg_write(pcie, index, type, PCIE_ATU_CR1); -+ atu_reg_write(pcie, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2); -+} -+ -+static void __iomem *tegra194_map_bus(struct pci_bus *bus, -+ unsigned int devfn, int where) -+{ -+ struct pci_config_window *cfg = bus->sysdata; -+ struct tegra194_pcie_acpi *pcie = cfg->priv; -+ u32 busdev; -+ int type; -+ -+ if (bus->number < cfg->busr.start || bus->number > cfg->busr.end) -+ return NULL; -+ -+ if (bus->number == cfg->busr.start) { -+ if (PCI_SLOT(devfn) == 0) -+ return pcie->dbi_base + where; -+ else -+ return NULL; -+ } -+ -+ busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) | -+ PCIE_ATU_FUNC(PCI_FUNC(devfn)); -+ -+ if (bus->parent->number == cfg->busr.start) { -+ if (PCI_SLOT(devfn) == 0) -+ type = PCIE_ATU_TYPE_CFG0; -+ else -+ return NULL; -+ } else { -+ type = PCIE_ATU_TYPE_CFG1; -+ } -+ -+ program_outbound_atu(pcie, PCIE_ATU_REGION_INDEX0, type, -+ cfg->res.start, busdev, SZ_256K); -+ return (void __iomem *)(pcie->config_base + where); -+} -+ -+struct pci_ecam_ops tegra194_pcie_ops = { -+ .bus_shift = 20, -+ .init = tegra194_acpi_init, -+ .pci_ops = { -+ .map_bus = tegra194_map_bus, -+ .read = pci_generic_config_read, -+ .write = pci_generic_config_write, -+ } -+}; -+#endif /* defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) */ -+ -+#ifdef CONFIG_PCIE_TEGRA194 -+ - static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci) - { - return container_of(pci, struct tegra_pcie_dw, pci); -@@ -2406,3 +2505,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match); - MODULE_AUTHOR("Vidya Sagar <vidyas@nvidia.com>"); - MODULE_DESCRIPTION("NVIDIA PCIe host controller driver"); - MODULE_LICENSE("GPL v2"); -+ -+#endif /* CONFIG_PCIE_TEGRA194 */ -+ -diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h -index a73164c85e78b..6156140dcbb65 100644 ---- a/include/linux/pci-ecam.h -+++ b/include/linux/pci-ecam.h -@@ -57,6 +57,7 @@ extern struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */ - extern struct pci_ecam_ops xgene_v1_pcie_ecam_ops; /* APM X-Gene PCIe v1 */ - extern struct pci_ecam_ops xgene_v2_pcie_ecam_ops; /* APM X-Gene PCIe v2.x */ - extern struct pci_ecam_ops al_pcie_ops; /* Amazon Annapurna Labs PCIe */ -+extern struct pci_ecam_ops tegra194_pcie_ops; /* Tegra194 PCIe */ - #endif - - #ifdef CONFIG_PCI_HOST_COMMON --- -2.26.2 - diff --git a/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch b/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch deleted file mode 100644 index 07f8b4e26..000000000 --- a/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Date: Tue, 10 Mar 2020 13:52:41 +0100 -Subject: [PATCH] PCI: brcmstb: Wait for Raspberry Pi's firmware when present - -xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on -RPi4's VideoCore firmware interface to be up and running. It's possible -for both initializations to race, so make sure it's available prior to -starting. - -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> ---- - drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -index 6d79d14527a6..aee84679a997 100644 ---- a/drivers/pci/controller/pcie-brcmstb.c -+++ b/drivers/pci/controller/pcie-brcmstb.c -@@ -28,6 +28,8 @@ - #include <linux/string.h> - #include <linux/types.h> - -+#include <soc/bcm2835/raspberrypi-firmware.h> -+ - #include "../pci.h" - - /* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */ -@@ -917,11 +919,24 @@ static int brcm_pcie_probe(struct platform_device *pdev) - { - struct device_node *np = pdev->dev.of_node, *msi_np; - struct pci_host_bridge *bridge; -+ struct device_node *fw_np; - struct brcm_pcie *pcie; - struct pci_bus *child; - struct resource *res; - int ret; - -+ /* -+ * We have to wait for the Raspberry Pi's firmware interface to be up -+ * as some PCI fixups depend on it. -+ */ -+ fw_np = of_find_compatible_node(NULL, NULL, -+ "raspberrypi,bcm2835-firmware"); -+ if (fw_np && !rpi_firmware_get(fw_np)) { -+ of_node_put(fw_np); -+ return -EPROBE_DEFER; -+ } -+ of_node_put(fw_np); -+ - bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie)); - if (!bridge) - return -ENOMEM; --- -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 new file mode 100644 index 000000000..0af11db2d --- /dev/null +++ b/0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch @@ -0,0 +1,65 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nicolas Chauvet <kwizart@gmail.com> +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 <kwizart@gmail.com> +Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com> +--- + 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-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch b/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch new file mode 100644 index 000000000..dd77c307a --- /dev/null +++ b/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch @@ -0,0 +1,81 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Don Zickus <dzickus@redhat.com> +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 new file mode 100644 index 000000000..0ea8f7da8 --- /dev/null +++ b/0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch @@ -0,0 +1,76 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +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 new file mode 100644 index 000000000..2950f8a79 --- /dev/null +++ b/0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch @@ -0,0 +1,418 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +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 <icenowy@aosc.io> +- * +- * Based on panel-rocktech-jh057n00900.c, which is: +- * Copyright (C) Purism SPC 2019 +- */ +- +-#include <linux/delay.h> +-#include <linux/gpio/consumer.h> +-#include <linux/mod_devicetable.h> +-#include <linux/module.h> +-#include <linux/of_device.h> +-#include <linux/regulator/consumer.h> +- +-#include <drm/drm_mipi_dsi.h> +-#include <drm/drm_modes.h> +-#include <drm/drm_panel.h> +-#include <drm/drm_print.h> +- +-/* 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 <icenowy@aosc.io>"); +-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 new file mode 100644 index 000000000..c290e7ab7 --- /dev/null +++ b/0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch @@ -0,0 +1,56 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +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-panel-add-binding-for-Xingbangda-.patch b/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch new file mode 100644 index 000000000..990e624d3 --- /dev/null +++ b/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch @@ -0,0 +1,71 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +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 <icenowy@aosc.io> +- +-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-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch deleted file mode 100644 index 7f13ec1f5..000000000 --- a/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Date: Tue, 10 Mar 2020 13:52:42 +0100 -Subject: [PATCH] USB: pci-quirks: Add Raspberry Pi 4 quirk - -On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be -loaded directly from an EEPROM or, if not present, by the SoC's -VideCore. Inform VideCore that VL805 was just reset. - -Also, as this creates a dependency between XHCI_PCI and VideoCore's -firmware interface, reflect that on the firmware interface Kconfg. - -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> ---- - drivers/firmware/Kconfig | 1 + - drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++ - 2 files changed, 17 insertions(+) - -diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig -index 8007d4aa76dc..7ca346d3d337 100644 ---- a/drivers/firmware/Kconfig -+++ b/drivers/firmware/Kconfig -@@ -180,6 +180,7 @@ config ISCSI_IBFT - config RASPBERRYPI_FIRMWARE - tristate "Raspberry Pi Firmware Driver" - depends on BCM2835_MBOX -+ default XHCI_PCI - help - This option enables support for communicating with the firmware on the - Raspberry Pi. -diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c -index beb2efa71341..0dc34668bb2a 100644 ---- a/drivers/usb/host/pci-quirks.c -+++ b/drivers/usb/host/pci-quirks.c -@@ -16,6 +16,9 @@ - #include <linux/export.h> - #include <linux/acpi.h> - #include <linux/dmi.h> -+ -+#include <soc/bcm2835/raspberrypi-firmware.h> -+ - #include "pci-quirks.h" - #include "xhci-ext-caps.h" - -@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev) - - static void quirk_usb_early_handoff(struct pci_dev *pdev) - { -+ int ret; -+ - /* Skip Netlogic mips SoC's internal PCI USB controller. - * This device does not need/support EHCI/OHCI handoff - */ - if (pdev->vendor == 0x184e) /* vendor Netlogic */ - return; -+ -+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) { -+ ret = rpi_firmware_init_vl805(pdev); -+ if (ret) { -+ /* Firmware might be outdated, or something failed */ -+ dev_warn(&pdev->dev, -+ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n", -+ ret); -+ } -+ } -+ - if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI && - pdev->class != PCI_CLASS_SERIAL_USB_OHCI && - pdev->class != PCI_CLASS_SERIAL_USB_EHCI && --- -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 index 828ed5d9a..6352ff73a 100644 --- 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 @@ -36,10 +36,10 @@ Signed-off-by: Herton R. Krzesinski <herton@redhat.com> 1 file changed, 24 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index ca9ed5774eb1..bd0cee4236b0 100644 +index 2ea61abd5830..abb314891f5b 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -4183,6 +4183,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, +@@ -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); 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 new file mode 100644 index 000000000..93b1e9be0 --- /dev/null +++ b/0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch @@ -0,0 +1,29 @@ +From 90750a5b1205a7dcc002224738585b861779cdae Mon Sep 17 00:00:00 2001 +From: "Justin M. Forbes" <jforbes@fedoraproject.org> +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 <jforbes@fedoraproject.org> +--- + 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-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch b/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch index 86cbf5dad..eea0deea2 100644 --- 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 @@ -28,10 +28,10 @@ Signed-off-by: Herton R. Krzesinski <herton@redhat.com> 1 file changed, 9 insertions(+) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c -index 6d3448895382..221255007dc8 100644 +index 8777faced51a..2e60d792005f 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c -@@ -1563,6 +1563,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) +@@ -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; 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 e188b5a2d..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 <msalter@redhat.com> -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 <jtoppins@redhat.com> -RH-Acked-by: Tony Camuso <tcamuso@redhat.com> -RH-Acked-by: Bhupesh Sharma <bhsharma@redhat.com> -RH-Acked-by: Dean Nelson <dnelson@redhat.com> - -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 <jtoppins@redhat.com> - - 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 <jtoppins@redhat.com> - -Upstream Status: RHEL only -Signed-off-by: Mark Salter <msalter@redhat.com> -Signed-off-by: Herton R. Krzesinski <herton@redhat.com> ---- - 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 a100483b47c4..29f693734edb 100644 ---- a/arch/arm64/kernel/acpi.c -+++ b/arch/arm64/kernel/acpi.c -@@ -39,7 +39,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-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch b/0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch deleted file mode 100644 index 9470c4608..000000000 --- a/0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Zou Wei <zou_wei@huawei.com> -Date: Tue, 21 Apr 2020 20:37:31 +0800 -Subject: [PATCH] acr: Use kmemdup instead of kmalloc and memcpy - -Fixes coccicheck warning: - -drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:103:23-30: WARNING opportunity for kmemdup -drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:113:22-29: WARNING opportunity for kmemdup - -Fixes: 22dcda45a3d1 ("drivers/gpu/drm/nouveau/acr: implement new subdev to replace "secure boot"") -Reported-by: Hulk Robot <hulkci@huawei.com> -Signed-off-by: Zou Wei <zou_wei@huawei.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c -index aecce2dac558..667fa016496e 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c -+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c -@@ -100,25 +100,21 @@ nvkm_acr_hsfw_load_image(struct nvkm_acr *acr, const char *name, int ver, - hsfw->data_size = lhdr->data_size; - - hsfw->sig.prod.size = fwhdr->sig_prod_size; -- hsfw->sig.prod.data = kmalloc(hsfw->sig.prod.size, GFP_KERNEL); -+ hsfw->sig.prod.data = kmemdup(fw->data + fwhdr->sig_prod_offset + sig, -+ hsfw->sig.prod.size, GFP_KERNEL); - if (!hsfw->sig.prod.data) { - ret = -ENOMEM; - goto done; - } - -- memcpy(hsfw->sig.prod.data, fw->data + fwhdr->sig_prod_offset + sig, -- hsfw->sig.prod.size); -- - hsfw->sig.dbg.size = fwhdr->sig_dbg_size; -- hsfw->sig.dbg.data = kmalloc(hsfw->sig.dbg.size, GFP_KERNEL); -+ hsfw->sig.dbg.data = kmemdup(fw->data + fwhdr->sig_dbg_offset + sig, -+ hsfw->sig.dbg.size, GFP_KERNEL); - if (!hsfw->sig.dbg.data) { - ret = -ENOMEM; - goto done; - } - -- memcpy(hsfw->sig.dbg.data, fw->data + fwhdr->sig_dbg_offset + sig, -- hsfw->sig.dbg.size); -- - hsfw->sig.patch_loc = loc; - done: - nvkm_firmware_put(fw); --- -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 index 286c898cb..89eea8f8b 100644 --- a/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch +++ b/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch @@ -21,10 +21,10 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 5d513f461957..7f37a6d0658a 100644 +index 66dc41fd49f2..2e0700a451e5 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -858,7 +858,7 @@ endchoice +@@ -861,7 +861,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" diff --git a/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch b/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch index 040f33cb1..498ffaf18 100644 --- a/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch +++ b/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch @@ -11,10 +11,10 @@ Signed-off-by: Jon Masters <jcm@redhat.com> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index c77c93c485a0..f808c4e0727f 100644 +index 2ac74904a3ce..f0094424f76a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1543,9 +1543,9 @@ config HIGHMEM +@@ -1549,9 +1549,9 @@ config HIGHMEM If unsure, say n. config HIGHPTE 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 new file mode 100644 index 000000000..e3b07c2bb --- /dev/null +++ b/0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch @@ -0,0 +1,81 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng <icenowy@aosc.io> +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 <icenowy@aosc.io> +--- + .../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/0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch b/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch index 211eb2797..d2511ae64 100644 --- a/0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch +++ b/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch @@ -1,8 +1,7 @@ -From 786358ed986e4788b992d98e1d3b198a4e01a9d5 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:56:01 +0200 -Subject: [PATCH 13/13] arm64: dts: sun50i-a64-pinephone: Add touchscreen - support +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. @@ -13,13 +12,13 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 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 85a7aa5efd326..2d5694446d176 100644 +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>; @@ -41,7 +40,7 @@ index 85a7aa5efd326..2d5694446d176 100644 + &i2c1 { status = "okay"; - + -- 2.26.2 diff --git a/0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch b/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch index 0c8ca994e..a38cd7250 100644 --- a/0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch +++ b/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch @@ -1,7 +1,7 @@ -From 3ac5eb0c8bc2da9e81e04fc6106a79b476ec9219 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng <icenowy@aosc.io> Date: Fri, 26 Jun 2020 02:56:00 +0200 -Subject: [PATCH 12/13] arm64: dts: sun50i-a64-pinephone: Enable LCD support on +Subject: [PATCH] arm64: dts: sun50i-a64-pinephone: Enable LCD support on PinePhone PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for @@ -21,7 +21,7 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 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 06a775c41664b..3e99a87e9ce52 100644 +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 @@ / { @@ -48,13 +48,13 @@ index 06a775c41664b..3e99a87e9ce52 100644 + 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 cefda145c3c9d..85a7aa5efd326 100644 +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>; @@ -68,7 +68,7 @@ index cefda145c3c9d..85a7aa5efd326 100644 @@ -84,6 +91,30 @@ &dai { status = "okay"; }; - + +&de { + status = "okay"; +}; @@ -99,14 +99,14 @@ index cefda145c3c9d..85a7aa5efd326 100644 @@ -188,6 +219,10 @@ &r_pio { */ }; - + +&r_pwm { + status = "okay"; +}; + &r_rsb { status = "okay"; - + -- 2.26.2 diff --git a/0001-core-memory-remove-redundant-assignments-to-variable.patch b/0001-core-memory-remove-redundant-assignments-to-variable.patch deleted file mode 100644 index d490d68d2..000000000 --- a/0001-core-memory-remove-redundant-assignments-to-variable.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Colin Ian King <colin.king@canonical.com> -Date: Sat, 29 Feb 2020 00:53:07 +0000 -Subject: [PATCH] core/memory: remove redundant assignments to variable ret - -The variable ret is being initialized with a value that is never -read and it is being updated later with a new value. The initialization -is redundant and can be removed. - -Addresses-Coverity: ("Unused value") -Signed-off-by: Colin Ian King <colin.king@canonical.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nvkm/core/memory.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/core/memory.c b/drivers/gpu/drm/nouveau/nvkm/core/memory.c -index 4cc186262d34..38130ef272d6 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/core/memory.c -+++ b/drivers/gpu/drm/nouveau/nvkm/core/memory.c -@@ -140,7 +140,7 @@ nvkm_memory_new(struct nvkm_device *device, enum nvkm_memory_target target, - { - struct nvkm_instmem *imem = device->imem; - struct nvkm_memory *memory; -- int ret = -ENOSYS; -+ int ret; - - if (unlikely(target != NVKM_MEM_TARGET_INST || !imem)) - return -ENOSYS; --- -2.26.2 - diff --git a/0001-device-detect-if-changing-endianness-failed.patch b/0001-device-detect-if-changing-endianness-failed.patch deleted file mode 100644 index 1089b7e87..000000000 --- a/0001-device-detect-if-changing-endianness-failed.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Karol Herbst <kherbst@redhat.com> -Date: Tue, 28 Apr 2020 18:54:03 +0200 -Subject: [PATCH] device: detect if changing endianness failed - -v2: relax the checks a little - -Signed-off-by: Karol Herbst <kherbst@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - .../gpu/drm/nouveau/nvkm/engine/device/base.c | 26 +++++++++++++++---- - 1 file changed, 21 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index 37589f36546d..c732074bf790 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2924,6 +2924,20 @@ nvkm_device_del(struct nvkm_device **pdevice) - } - } - -+static inline bool -+nvkm_device_endianness(void __iomem *pri) -+{ -+ u32 boot1 = ioread32_native(pri + 0x000004) & 0x01000001; -+#ifdef __BIG_ENDIAN -+ if (!boot1) -+ return false; -+#else -+ if (boot1) -+ return false; -+#endif -+ return true; -+} -+ - int - nvkm_device_ctor(const struct nvkm_device_func *func, - const struct nvkm_device_quirk *quirk, -@@ -2973,13 +2987,15 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - /* identify the chipset, and determine classes of subdev/engines */ - if (detect) { - /* switch mmio to cpu's native endianness */ --#ifndef __BIG_ENDIAN -- if (ioread32_native(map + 0x000004) != 0x00000000) { --#else -- if (ioread32_native(map + 0x000004) == 0x00000000) { --#endif -+ if (!nvkm_device_endianness(map)) { - iowrite32_native(0x01000001, map + 0x000004); - ioread32_native(map); -+ if (!nvkm_device_endianness(map)) { -+ nvdev_error(device, -+ "GPU not supported on big-endian\n"); -+ ret = -ENOSYS; -+ goto done; -+ } - } - - /* read boot0 and strapping information */ --- -2.26.2 - diff --git a/0001-device-detect-vGPUs.patch b/0001-device-detect-vGPUs.patch deleted file mode 100644 index 08f591ff7..000000000 --- a/0001-device-detect-vGPUs.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Karol Herbst <kherbst@redhat.com> -Date: Tue, 28 Apr 2020 18:54:04 +0200 -Subject: [PATCH] device: detect vGPUs - -Using ENODEV as this prevents probe failed errors in dmesg. - -v2: move check further down - -Signed-off-by: Karol Herbst <kherbst@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index c732074bf790..f977dddcd809 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2948,7 +2948,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - { - struct nvkm_subdev *subdev; - u64 mmio_base, mmio_size; -- u32 boot0, strap; -+ u32 boot0, boot1, strap; - void __iomem *map = NULL; - int ret = -EEXIST, i; - unsigned chipset; -@@ -2998,9 +2998,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - } - } - -- /* read boot0 and strapping information */ - boot0 = ioread32_native(map + 0x000000); -- strap = ioread32_native(map + 0x101000); - - /* chipset can be overridden for devel/testing purposes */ - chipset = nvkm_longopt(device->cfgopt, "NvChipset", 0); -@@ -3158,6 +3156,17 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - nvdev_info(device, "NVIDIA %s (%08x)\n", - device->chip->name, boot0); - -+ /* vGPU detection */ -+ boot1 = ioread32_native(map + 0x000004); -+ if (device->card_type >= TU100 && (boot1 & 0x00030000)) { -+ nvdev_info(device, "vGPUs are not supported\n"); -+ ret = -ENODEV; -+ goto done; -+ } -+ -+ /* read strapping information */ -+ strap = ioread32_native(map + 0x101000); -+ - /* determine frequency of timing crystal */ - if ( device->card_type <= NV_10 || device->chipset < 0x17 || - (device->chipset >= 0x20 && device->chipset < 0x25)) --- -2.26.2 - diff --git a/0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch b/0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch deleted file mode 100644 index bde820ba5..000000000 --- a/0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Karol Herbst <kherbst@redhat.com> -Date: Tue, 28 Apr 2020 18:54:02 +0200 -Subject: [PATCH] device: rework mmio mapping code to get rid of second map - -Fixes warnings on GPUs with smaller a smaller mmio region like vGPUs. - -Signed-off-by: Karol Herbst <kherbst@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - .../gpu/drm/nouveau/nvkm/engine/device/base.c | 27 ++++++++++--------- - 1 file changed, 15 insertions(+), 12 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index 8ebbe1656008..37589f36546d 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2935,7 +2935,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - struct nvkm_subdev *subdev; - u64 mmio_base, mmio_size; - u32 boot0, strap; -- void __iomem *map; -+ void __iomem *map = NULL; - int ret = -EEXIST, i; - unsigned chipset; - -@@ -2961,12 +2961,17 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - mmio_base = device->func->resource_addr(device, 0); - mmio_size = device->func->resource_size(device, 0); - -- /* identify the chipset, and determine classes of subdev/engines */ -- if (detect) { -- map = ioremap(mmio_base, 0x102000); -- if (ret = -ENOMEM, map == NULL) -+ if (detect || mmio) { -+ map = ioremap(mmio_base, mmio_size); -+ if (map == NULL) { -+ nvdev_error(device, "unable to map PRI\n"); -+ ret = -ENOMEM; - goto done; -+ } -+ } - -+ /* identify the chipset, and determine classes of subdev/engines */ -+ if (detect) { - /* switch mmio to cpu's native endianness */ - #ifndef __BIG_ENDIAN - if (ioread32_native(map + 0x000004) != 0x00000000) { -@@ -2980,7 +2985,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - /* read boot0 and strapping information */ - boot0 = ioread32_native(map + 0x000000); - strap = ioread32_native(map + 0x101000); -- iounmap(map); - - /* chipset can be overridden for devel/testing purposes */ - chipset = nvkm_longopt(device->cfgopt, "NvChipset", 0); -@@ -3159,12 +3163,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - device->name = device->chip->name; - - if (mmio) { -- device->pri = ioremap(mmio_base, mmio_size); -- if (!device->pri) { -- nvdev_error(device, "unable to map PRI\n"); -- ret = -ENOMEM; -- goto done; -- } -+ device->pri = map; - } - - mutex_init(&device->mutex); -@@ -3254,6 +3253,10 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - - ret = 0; - done: -+ if (map && (!mmio || ret)) { -+ device->pri = NULL; -+ iounmap(map); -+ } - mutex_unlock(&nv_devices_mutex); - return ret; - } --- -2.26.2 - diff --git a/0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch b/0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch deleted file mode 100644 index ec4345169..000000000 --- a/0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Thu, 30 Apr 2020 14:08:53 +1000 -Subject: [PATCH] device: use regular PRI accessors in chipset detection - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - .../gpu/drm/nouveau/nvkm/engine/device/base.c | 31 ++++++++----------- - 1 file changed, 13 insertions(+), 18 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index f977dddcd809..5b90c2a1bf3d 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2925,9 +2925,9 @@ nvkm_device_del(struct nvkm_device **pdevice) - } - - static inline bool --nvkm_device_endianness(void __iomem *pri) -+nvkm_device_endianness(struct nvkm_device *device) - { -- u32 boot1 = ioread32_native(pri + 0x000004) & 0x01000001; -+ u32 boot1 = nvkm_rd32(device, 0x000004) & 0x01000001; - #ifdef __BIG_ENDIAN - if (!boot1) - return false; -@@ -2949,7 +2949,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - struct nvkm_subdev *subdev; - u64 mmio_base, mmio_size; - u32 boot0, boot1, strap; -- void __iomem *map = NULL; - int ret = -EEXIST, i; - unsigned chipset; - -@@ -2976,8 +2975,8 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - mmio_size = device->func->resource_size(device, 0); - - if (detect || mmio) { -- map = ioremap(mmio_base, mmio_size); -- if (map == NULL) { -+ device->pri = ioremap(mmio_base, mmio_size); -+ if (device->pri == NULL) { - nvdev_error(device, "unable to map PRI\n"); - ret = -ENOMEM; - goto done; -@@ -2987,10 +2986,10 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - /* identify the chipset, and determine classes of subdev/engines */ - if (detect) { - /* switch mmio to cpu's native endianness */ -- if (!nvkm_device_endianness(map)) { -- iowrite32_native(0x01000001, map + 0x000004); -- ioread32_native(map); -- if (!nvkm_device_endianness(map)) { -+ if (!nvkm_device_endianness(device)) { -+ nvkm_wr32(device, 0x000004, 0x01000001); -+ nvkm_rd32(device, 0x000000); -+ if (!nvkm_device_endianness(device)) { - nvdev_error(device, - "GPU not supported on big-endian\n"); - ret = -ENOSYS; -@@ -2998,7 +2997,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - } - } - -- boot0 = ioread32_native(map + 0x000000); -+ boot0 = nvkm_rd32(device, 0x000000); - - /* chipset can be overridden for devel/testing purposes */ - chipset = nvkm_longopt(device->cfgopt, "NvChipset", 0); -@@ -3157,7 +3156,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - device->chip->name, boot0); - - /* vGPU detection */ -- boot1 = ioread32_native(map + 0x000004); -+ boot1 = nvkm_rd32(device, 0x0000004); - if (device->card_type >= TU100 && (boot1 & 0x00030000)) { - nvdev_info(device, "vGPUs are not supported\n"); - ret = -ENODEV; -@@ -3165,7 +3164,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - } - - /* read strapping information */ -- strap = ioread32_native(map + 0x101000); -+ strap = nvkm_rd32(device, 0x101000); - - /* determine frequency of timing crystal */ - if ( device->card_type <= NV_10 || device->chipset < 0x17 || -@@ -3187,10 +3186,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - if (!device->name) - device->name = device->chip->name; - -- if (mmio) { -- device->pri = map; -- } -- - mutex_init(&device->mutex); - - for (i = 0; i < NVKM_SUBDEV_NR; i++) { -@@ -3278,9 +3273,9 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - - ret = 0; - done: -- if (map && (!mmio || ret)) { -+ if (device->pri && (!mmio || ret)) { -+ iounmap(device->pri); - device->pri = NULL; -- iounmap(map); - } - mutex_unlock(&nv_devices_mutex); - return ret; --- -2.26.2 - diff --git a/0001-disp-gv100-expose-capabilities-class.patch b/0001-disp-gv100-expose-capabilities-class.patch deleted file mode 100644 index 60293792f..000000000 --- a/0001-disp-gv100-expose-capabilities-class.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Thu, 13 Feb 2020 09:39:34 +1000 -Subject: [PATCH] disp/gv100-: expose capabilities class - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/include/nvif/class.h | 2 + - .../gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 2 + - .../drm/nouveau/nvkm/engine/disp/capsgv100.c | 60 +++++++++++++++++++ - .../drm/nouveau/nvkm/engine/disp/rootgv100.c | 1 + - .../drm/nouveau/nvkm/engine/disp/rootnv50.h | 3 + - .../drm/nouveau/nvkm/engine/disp/roottu102.c | 1 + - 6 files changed, 69 insertions(+) - create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c - -diff --git a/drivers/gpu/drm/nouveau/include/nvif/class.h b/drivers/gpu/drm/nouveau/include/nvif/class.h -index 30659747ffe8..2c79beb41126 100644 ---- a/drivers/gpu/drm/nouveau/include/nvif/class.h -+++ b/drivers/gpu/drm/nouveau/include/nvif/class.h -@@ -89,6 +89,8 @@ - #define GV100_DISP /* cl5070.h */ 0x0000c370 - #define TU102_DISP /* cl5070.h */ 0x0000c570 - -+#define GV100_DISP_CAPS 0x0000c373 -+ - #define NV31_MPEG 0x00003174 - #define G82_MPEG 0x00008274 - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -index 0d584d0da59c..f7af648e0c17 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -@@ -74,6 +74,8 @@ nvkm-y += nvkm/engine/disp/rootgp102.o - nvkm-y += nvkm/engine/disp/rootgv100.o - nvkm-y += nvkm/engine/disp/roottu102.o - -+nvkm-y += nvkm/engine/disp/capsgv100.o -+ - nvkm-y += nvkm/engine/disp/channv50.o - nvkm-y += nvkm/engine/disp/changf119.o - nvkm-y += nvkm/engine/disp/changv100.o -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c -new file mode 100644 -index 000000000000..5026e530f4bb ---- /dev/null -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c -@@ -0,0 +1,60 @@ -+/* -+ * Copyright 2020 Red Hat Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+#define gv100_disp_caps(p) container_of((p), struct gv100_disp_caps, object) -+#include "rootnv50.h" -+ -+struct gv100_disp_caps { -+ struct nvkm_object object; -+ struct nv50_disp *disp; -+}; -+ -+static int -+gv100_disp_caps_map(struct nvkm_object *object, void *argv, u32 argc, -+ enum nvkm_object_map *type, u64 *addr, u64 *size) -+{ -+ struct gv100_disp_caps *caps = gv100_disp_caps(object); -+ struct nvkm_device *device = caps->disp->base.engine.subdev.device; -+ *type = NVKM_OBJECT_MAP_IO; -+ *addr = 0x640000 + device->func->resource_addr(device, 0); -+ *size = 0x1000; -+ return 0; -+} -+ -+static const struct nvkm_object_func -+gv100_disp_caps = { -+ .map = gv100_disp_caps_map, -+}; -+ -+int -+gv100_disp_caps_new(const struct nvkm_oclass *oclass, void *argv, u32 argc, -+ struct nv50_disp *disp, struct nvkm_object **pobject) -+{ -+ struct gv100_disp_caps *caps; -+ -+ if (!(caps = kzalloc(sizeof(*caps), GFP_KERNEL))) -+ return -ENOMEM; -+ *pobject = &caps->object; -+ -+ nvkm_object_ctor(&gv100_disp_caps, oclass, &caps->object); -+ caps->disp = disp; -+ return 0; -+} -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c -index 9c658d632d37..47efb48d769a 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c -@@ -27,6 +27,7 @@ - static const struct nv50_disp_root_func - gv100_disp_root = { - .user = { -+ {{-1,-1,GV100_DISP_CAPS }, gv100_disp_caps_new }, - {{0,0,GV100_DISP_CURSOR }, gv100_disp_curs_new }, - {{0,0,GV100_DISP_WINDOW_IMM_CHANNEL_DMA}, gv100_disp_wimm_new }, - {{0,0,GV100_DISP_CORE_CHANNEL_DMA }, gv100_disp_core_new }, -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h -index a1f942793f98..7070f5408d92 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h -@@ -24,6 +24,9 @@ int nv50_disp_root_new_(const struct nv50_disp_root_func *, struct nvkm_disp *, - const struct nvkm_oclass *, void *data, u32 size, - struct nvkm_object **); - -+int gv100_disp_caps_new(const struct nvkm_oclass *, void *, u32, -+ struct nv50_disp *, struct nvkm_object **); -+ - extern const struct nvkm_disp_oclass nv50_disp_root_oclass; - extern const struct nvkm_disp_oclass g84_disp_root_oclass; - extern const struct nvkm_disp_oclass g94_disp_root_oclass; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c -index 579a5d02308a..d8719d38b98a 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c -@@ -27,6 +27,7 @@ - static const struct nv50_disp_root_func - tu102_disp_root = { - .user = { -+ {{-1,-1,GV100_DISP_CAPS }, gv100_disp_caps_new }, - {{0,0,TU102_DISP_CURSOR }, gv100_disp_curs_new }, - {{0,0,TU102_DISP_WINDOW_IMM_CHANNEL_DMA}, gv100_disp_wimm_new }, - {{0,0,TU102_DISP_CORE_CHANNEL_DMA }, gv100_disp_core_new }, --- -2.26.2 - diff --git a/0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch b/0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch deleted file mode 100644 index cba6699dc..000000000 --- a/0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Wed, 6 May 2020 14:40:56 +1000 -Subject: [PATCH] disp/hda/gf119-: add HAL for programming device entry in SF - -Register has moved on GV100. - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c | 11 +++++++++-- - drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 2 ++ - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c | 1 + - 8 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -index 1080ba6ecd64..8a0ec7db5145 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -@@ -23,6 +23,14 @@ - */ - #include "ior.h" - -+void -+gf119_hda_device_entry(struct nvkm_ior *ior, int head) -+{ -+ struct nvkm_device *device = ior->disp->engine.subdev.device; -+ const u32 hoff = 0x800 * head; -+ nvkm_mask(device, 0x616548 + hoff, 0x00000070, 0x00000000); -+} -+ - void - gf119_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { -@@ -41,11 +49,10 @@ void - gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; -- const u32 hoff = 0x800 * head; - u32 data = 0x80000000; - u32 mask = 0x80000001; - if (present) { -- nvkm_mask(device, 0x616548 + hoff, 0x00000070, 0x00000000); -+ ior->func->hda.device_entry(ior, head); - data |= 0x00000001; - } else { - mask |= 0x00000002; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -index c60acf71831e..eb1155e47ecd 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -@@ -88,6 +88,7 @@ struct nvkm_ior_func { - struct { - void (*hpd)(struct nvkm_ior *, int head, bool present); - void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size); -+ void (*device_entry)(struct nvkm_ior *, int head); - } hda; - }; - -@@ -162,6 +163,7 @@ void gt215_hda_eld(struct nvkm_ior *, int, u8 *, u8); - - void gf119_hda_hpd(struct nvkm_ior *, int, bool); - void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8); -+void gf119_hda_device_entry(struct nvkm_ior *, int); - - #define IOR_MSG(i,l,f,a...) do { \ - struct nvkm_ior *_ior = (i); \ -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c -index 456a5a143522..3b3643fb1019 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c -@@ -177,6 +177,7 @@ gf119_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c -index b94090edaebf..0c0925680790 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c -@@ -43,6 +43,7 @@ gk104_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c -index e6965dec09c9..38045c92197f 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c -@@ -57,6 +57,7 @@ gm107_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c -index 384f82652bec..cf2075db742a 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c -@@ -115,6 +115,7 @@ gm200_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -index b0597ff9a714..565cfbc65550 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -@@ -103,6 +103,7 @@ gv100_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -index 4d5f3791ea7b..b16ecea098c7 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -@@ -88,6 +88,7 @@ tu102_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - --- -2.26.2 - diff --git a/0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch b/0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch deleted file mode 100644 index 714d1a0f3..000000000 --- a/0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Wed, 6 May 2020 14:40:58 +1000 -Subject: [PATCH] disp/hda/gf119-: select HDA device entry based on bound head - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -index 8a0ec7db5145..19d2d58344e4 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -@@ -28,14 +28,14 @@ gf119_hda_device_entry(struct nvkm_ior *ior, int head) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; - const u32 hoff = 0x800 * head; -- nvkm_mask(device, 0x616548 + hoff, 0x00000070, 0x00000000); -+ nvkm_mask(device, 0x616548 + hoff, 0x00000070, head << 4); - } - - void - gf119_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; -- const u32 soff = 0x030 * ior->id; -+ const u32 soff = 0x030 * ior->id + (head * 0x04); - int i; - - for (i = 0; i < size; i++) -@@ -49,6 +49,7 @@ void - gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; -+ const u32 soff = 0x030 * ior->id + (head * 0x04); - u32 data = 0x80000000; - u32 mask = 0x80000001; - if (present) { -@@ -57,5 +58,5 @@ gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) - } else { - mask |= 0x00000002; - } -- nvkm_mask(device, 0x10ec10 + ior->id * 0x030, mask, data); -+ nvkm_mask(device, 0x10ec10 + soff, mask, data); - } --- -2.26.2 - diff --git a/0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch b/0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch deleted file mode 100644 index 0011e60ae..000000000 --- a/0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Wed, 6 May 2020 14:40:52 +1000 -Subject: [PATCH] disp/hda/gt215-: pass head to nvkm_ior.hda.eld() - -We're going to use the bound head to select HDA device entry. - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c | 2 +- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c | 2 +- - drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 6 +++--- - drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -index 0fa0ec0a1de0..1080ba6ecd64 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -@@ -24,7 +24,7 @@ - #include "ior.h" - - void --gf119_hda_eld(struct nvkm_ior *ior, u8 *data, u8 size) -+gf119_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; - const u32 soff = 0x030 * ior->id; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c -index 4509d2ba880e..0d1b81fe1093 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c -@@ -24,7 +24,7 @@ - #include "ior.h" - - void --gt215_hda_eld(struct nvkm_ior *ior, u8 *data, u8 size) -+gt215_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; - const u32 soff = ior->id * 0x800; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -index 009d3a8b7a50..c60acf71831e 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -@@ -87,7 +87,7 @@ struct nvkm_ior_func { - - struct { - void (*hpd)(struct nvkm_ior *, int head, bool present); -- void (*eld)(struct nvkm_ior *, u8 *data, u8 size); -+ void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size); - } hda; - }; - -@@ -158,10 +158,10 @@ void gv100_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8); - void gm200_hdmi_scdc(struct nvkm_ior *, int, u8); - - void gt215_hda_hpd(struct nvkm_ior *, int, bool); --void gt215_hda_eld(struct nvkm_ior *, u8 *, u8); -+void gt215_hda_eld(struct nvkm_ior *, int, u8 *, u8); - - void gf119_hda_hpd(struct nvkm_ior *, int, bool); --void gf119_hda_eld(struct nvkm_ior *, u8 *, u8); -+void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8); - - #define IOR_MSG(i,l,f,a...) do { \ - struct nvkm_ior *_ior = (i); \ -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c -index 5f758948d6e1..a7672ef17d3b 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c -@@ -155,7 +155,7 @@ nv50_disp_root_mthd_(struct nvkm_object *object, u32 mthd, void *data, u32 size) - if (outp->info.type == DCB_OUTPUT_DP) - ior->func->dp.audio(ior, hidx, true); - ior->func->hda.hpd(ior, hidx, true); -- ior->func->hda.eld(ior, data, size); -+ ior->func->hda.eld(ior, hidx, data, size); - } else { - if (outp->info.type == DCB_OUTPUT_DP) - ior->func->dp.audio(ior, hidx, false); --- -2.26.2 - diff --git a/0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch b/0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch deleted file mode 100644 index b93c9f13b..000000000 --- a/0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Wed, 6 May 2020 14:41:01 +1000 -Subject: [PATCH] disp/hda/gv100-: NV_PDISP_SF_AUDIO_CNTRL0 register moved - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - .../gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 + - .../drm/nouveau/nvkm/engine/disp/hdagv100.c | 30 +++++++++++++++++++ - .../gpu/drm/nouveau/nvkm/engine/disp/ior.h | 2 ++ - .../drm/nouveau/nvkm/engine/disp/sorgv100.c | 2 +- - .../drm/nouveau/nvkm/engine/disp/sortu102.c | 2 +- - 5 files changed, 35 insertions(+), 2 deletions(-) - create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -index f7af648e0c17..571687ba85b8 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -@@ -47,6 +47,7 @@ nvkm-y += nvkm/engine/disp/dp.o - - nvkm-y += nvkm/engine/disp/hdagt215.o - nvkm-y += nvkm/engine/disp/hdagf119.o -+nvkm-y += nvkm/engine/disp/hdagv100.o - - nvkm-y += nvkm/engine/disp/hdmi.o - nvkm-y += nvkm/engine/disp/hdmig84.o -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c -new file mode 100644 -index 000000000000..57d374ecfeef ---- /dev/null -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c -@@ -0,0 +1,30 @@ -+/* -+ * Copyright 2020 Red Hat Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+#include "ior.h" -+ -+void -+gv100_hda_device_entry(struct nvkm_ior *ior, int head) -+{ -+ struct nvkm_device *device = ior->disp->engine.subdev.device; -+ const u32 hoff = 0x800 * head; -+ nvkm_mask(device, 0x616528 + hoff, 0x00000070, head << 4); -+} -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -index eb1155e47ecd..c1d7a36e4d3c 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -@@ -165,6 +165,8 @@ void gf119_hda_hpd(struct nvkm_ior *, int, bool); - void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8); - void gf119_hda_device_entry(struct nvkm_ior *, int); - -+void gv100_hda_device_entry(struct nvkm_ior *, int); -+ - #define IOR_MSG(i,l,f,a...) do { \ - struct nvkm_ior *_ior = (i); \ - nvkm_##l(&_ior->disp->engine.subdev, "%s: "f"\n", _ior->name, ##a); \ -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -index 565cfbc65550..d11a0dff10c6 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -@@ -103,7 +103,7 @@ gv100_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -- .device_entry = gf119_hda_device_entry, -+ .device_entry = gv100_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -index b16ecea098c7..fa6d74251237 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -@@ -88,7 +88,7 @@ tu102_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -- .device_entry = gf119_hda_device_entry, -+ .device_entry = gv100_hda_device_entry, - }, - }; - --- -2.26.2 - diff --git a/0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch b/0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch deleted file mode 100644 index d8c1a93d5..000000000 --- a/0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs <bskeggs@redhat.com> -Date: Wed, 6 May 2020 14:40:45 +1000 -Subject: [PATCH] disp/nv50-: increase timeout on pio channel free() polling - -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/dispnv50/curs507a.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/nouveau/dispnv50/curs507a.c b/drivers/gpu/drm/nouveau/dispnv50/curs507a.c -index 8c5cf096f69b..658a200ab616 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/curs507a.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/curs507a.c -@@ -32,7 +32,7 @@ - bool - curs507a_space(struct nv50_wndw *wndw) - { -- nvif_msec(&nouveau_drm(wndw->plane.dev)->client.device, 2, -+ nvif_msec(&nouveau_drm(wndw->plane.dev)->client.device, 100, - if (nvif_rd32(&wndw->wimm.base.user, 0x0008) >= 4) - return true; - ); --- -2.26.2 - diff --git a/0001-drm-Use-generic-helper-to-check-_PR3-presence.patch b/0001-drm-Use-generic-helper-to-check-_PR3-presence.patch deleted file mode 100644 index f0f9e0dfd..000000000 --- a/0001-drm-Use-generic-helper-to-check-_PR3-presence.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Kai-Heng Feng <kai.heng.feng@canonical.com> -Date: Thu, 23 Apr 2020 14:23:58 +0800 -Subject: [PATCH] drm: Use generic helper to check _PR3 presence - -Replace nouveau_pr3_present() in favor of a more generic one, -pci_pr3_present(). - -Also the presence of upstream bridge _PR3 doesn't need to go hand in -hand with device's _DSM, so check _PR3 before _DSM. - -Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nouveau_acpi.c | 44 ++++++-------------------- - 1 file changed, 10 insertions(+), 34 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c -index fe3a10255c36..b84dff1b0f28 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_acpi.c -+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c -@@ -212,37 +212,6 @@ static const struct vga_switcheroo_handler nouveau_dsm_handler = { - .get_client_id = nouveau_dsm_get_client_id, - }; - --/* -- * Firmware supporting Windows 8 or later do not use _DSM to put the device into -- * D3cold, they instead rely on disabling power resources on the parent. -- */ --static bool nouveau_pr3_present(struct pci_dev *pdev) --{ -- struct pci_dev *parent_pdev = pci_upstream_bridge(pdev); -- struct acpi_device *parent_adev; -- -- if (!parent_pdev) -- return false; -- -- if (!parent_pdev->bridge_d3) { -- /* -- * Parent PCI bridge is currently not power managed. -- * Since userspace can change these afterwards to be on -- * the safe side we stick with _DSM and prevent usage of -- * _PR3 from the bridge. -- */ -- pci_d3cold_disable(pdev); -- return false; -- } -- -- parent_adev = ACPI_COMPANION(&parent_pdev->dev); -- if (!parent_adev) -- return false; -- -- return parent_adev->power.flags.power_resources && -- acpi_has_method(parent_adev->handle, "_PR3"); --} -- - static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out, - bool *has_mux, bool *has_opt, - bool *has_opt_flags, bool *has_pr3) -@@ -250,6 +219,16 @@ static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out - acpi_handle dhandle; - bool supports_mux; - int optimus_funcs; -+ struct pci_dev *parent_pdev; -+ -+ *has_pr3 = false; -+ parent_pdev = pci_upstream_bridge(pdev); -+ if (parent_pdev) { -+ if (parent_pdev->bridge_d3) -+ *has_pr3 = pci_pr3_present(parent_pdev); -+ else -+ pci_d3cold_disable(pdev); -+ } - - dhandle = ACPI_HANDLE(&pdev->dev); - if (!dhandle) -@@ -270,7 +249,6 @@ static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out - *has_mux = supports_mux; - *has_opt = !!optimus_funcs; - *has_opt_flags = optimus_funcs & (1 << NOUVEAU_DSM_OPTIMUS_FLAGS); -- *has_pr3 = false; - - if (optimus_funcs) { - uint32_t result; -@@ -280,8 +258,6 @@ static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out - (result & OPTIMUS_ENABLED) ? "enabled" : "disabled", - (result & OPTIMUS_DYNAMIC_PWR_CAP) ? "dynamic power, " : "", - (result & OPTIMUS_HDA_CODEC_MASK) ? "hda bios codec supported" : ""); -- -- *has_pr3 = nouveau_pr3_present(pdev); - } - } - --- -2.26.2 - diff --git a/0001-drm-panel-add-Xingbangda-XBD599-panel.patch b/0001-drm-panel-add-Xingbangda-XBD599-panel.patch new file mode 100644 index 000000000..6866d5f69 --- /dev/null +++ b/0001-drm-panel-add-Xingbangda-XBD599-panel.patch @@ -0,0 +1,423 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng <icenowy@aosc.io> +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 <icenowy@aosc.io> +--- + 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 <icenowy@aosc.io> ++ * ++ * Based on panel-rocktech-jh057n00900.c, which is: ++ * Copyright (C) Purism SPC 2019 ++ */ ++ ++#include <linux/delay.h> ++#include <linux/gpio/consumer.h> ++#include <linux/mod_devicetable.h> ++#include <linux/module.h> ++#include <linux/of_device.h> ++#include <linux/regulator/consumer.h> ++ ++#include <drm/drm_mipi_dsi.h> ++#include <drm/drm_modes.h> ++#include <drm/drm_panel.h> ++#include <drm/drm_print.h> ++ ++/* 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 <icenowy@aosc.io>"); ++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 new file mode 100644 index 000000000..d78bf5644 --- /dev/null +++ b/0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch @@ -0,0 +1,948 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman <megous@megous.com> +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 <megous@megous.com> +--- + 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 <linux/debugfs.h> +-#include <linux/delay.h> +-#include <linux/gpio/consumer.h> +-#include <linux/media-bus-format.h> +-#include <linux/mod_devicetable.h> +-#include <linux/module.h> +-#include <linux/regulator/consumer.h> +- +-#include <video/display_timing.h> +-#include <video/mipi_display.h> +- +-#include <drm/drm_mipi_dsi.h> +-#include <drm/drm_modes.h> +-#include <drm/drm_panel.h> +-#include <drm/drm_print.h> +- +-#define DRV_NAME "panel-rocktech-jh057n00900" +- +-/* 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_UNKNOWN0 0xBF +-#define ST7703_CMD_SETSCR 0xC0 +-#define ST7703_CMD_SETPOWER 0xC1 +-#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 +- +-struct jh057n { +- struct device *dev; +- struct drm_panel panel; +- struct gpio_desc *reset_gpio; +- struct regulator *vcc; +- struct regulator *iovcc; +- bool prepared; +- +- struct dentry *debugfs; +-}; +- +-static inline struct jh057n *panel_to_jh057n(struct drm_panel *panel) +-{ +- return container_of(panel, struct jh057n, panel); +-} +- +-#define dsi_generic_write_seq(dsi, seq...) do { \ +- static const u8 d[] = { seq }; \ +- int ret; \ +- ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \ +- if (ret < 0) \ +- return ret; \ +- } while (0) +- +-static int jh057n_init_sequence(struct jh057n *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. Most of the commands +- * resemble the ST7703 but the number of parameters often don't match +- * so it's likely a clone. +- */ +- dsi_generic_write_seq(dsi, ST7703_CMD_SETEXTC, +- 0xF1, 0x12, 0x83); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETRGBIF, +- 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00, +- 0x00, 0x00); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETSCR, +- 0x73, 0x73, 0x50, 0x50, 0x00, 0x00, 0x08, 0x70, +- 0x00); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETCYC, 0x80); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0x30); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETEQ, +- 0x07, 0x07, 0x0B, 0x0B, 0x03, 0x0B, 0x00, 0x00, +- 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETBGP, 0x08, 0x08); +- msleep(20); +- +- dsi_generic_write_seq(dsi, ST7703_CMD_SETVCOM, 0x3F, 0x3F); +- dsi_generic_write_seq(dsi, ST7703_CMD_UNKNOWN0, 0x02, 0x11, 0x00); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETGIP1, +- 0x82, 0x10, 0x06, 0x05, 0x9E, 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_generic_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, 0x30, 0x0A, +- 0xA5, 0x00, 0x00, 0x00, 0x00); +- dsi_generic_write_seq(dsi, ST7703_CMD_SETGAMMA, +- 0x00, 0x09, 0x0E, 0x29, 0x2D, 0x3C, 0x41, 0x37, +- 0x07, 0x0B, 0x0D, 0x10, 0x11, 0x0F, 0x10, 0x11, +- 0x18, 0x00, 0x09, 0x0E, 0x29, 0x2D, 0x3C, 0x41, +- 0x37, 0x07, 0x0B, 0x0D, 0x10, 0x11, 0x0F, 0x10, +- 0x11, 0x18); +- msleep(20); +- +- ret = mipi_dsi_dcs_exit_sleep_mode(dsi); +- if (ret < 0) { +- DRM_DEV_ERROR(dev, "Failed to exit sleep mode: %d\n", ret); +- return ret; +- } +- /* Panel is operational 120 msec after reset */ +- msleep(60); +- ret = mipi_dsi_dcs_set_display_on(dsi); +- if (ret) +- return ret; +- +- DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); +- return 0; +-} +- +-static int jh057n_enable(struct drm_panel *panel) +-{ +- struct jh057n *ctx = panel_to_jh057n(panel); +- int ret; +- +- ret = jh057n_init_sequence(ctx); +- if (ret < 0) { +- DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n", +- ret); +- return ret; +- } +- +- return 0; +-} +- +-static int jh057n_disable(struct drm_panel *panel) +-{ +- struct jh057n *ctx = panel_to_jh057n(panel); +- struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); +- +- return mipi_dsi_dcs_set_display_off(dsi); +-} +- +-static int jh057n_unprepare(struct drm_panel *panel) +-{ +- struct jh057n *ctx = panel_to_jh057n(panel); +- +- if (!ctx->prepared) +- return 0; +- +- regulator_disable(ctx->iovcc); +- regulator_disable(ctx->vcc); +- ctx->prepared = false; +- +- return 0; +-} +- +-static int jh057n_prepare(struct drm_panel *panel) +-{ +- struct jh057n *ctx = panel_to_jh057n(panel); +- int ret; +- +- if (ctx->prepared) +- return 0; +- +- DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n"); +- ret = regulator_enable(ctx->vcc); +- if (ret < 0) { +- DRM_DEV_ERROR(ctx->dev, +- "Failed to enable vcc supply: %d\n", ret); +- return ret; +- } +- ret = regulator_enable(ctx->iovcc); +- if (ret < 0) { +- DRM_DEV_ERROR(ctx->dev, +- "Failed to enable iovcc supply: %d\n", ret); +- goto disable_vcc; +- } +- +- 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; +- +-disable_vcc: +- regulator_disable(ctx->vcc); +- return ret; +-} +- +-static const struct drm_display_mode default_mode = { +- .hdisplay = 720, +- .hsync_start = 720 + 90, +- .hsync_end = 720 + 90 + 20, +- .htotal = 720 + 90 + 20 + 20, +- .vdisplay = 1440, +- .vsync_start = 1440 + 20, +- .vsync_end = 1440 + 20 + 4, +- .vtotal = 1440 + 20 + 4 + 12, +- .vrefresh = 60, +- .clock = 75276, +- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, +- .width_mm = 65, +- .height_mm = 130, +-}; +- +-static int jh057n_get_modes(struct drm_panel *panel, +- struct drm_connector *connector) +-{ +- struct jh057n *ctx = panel_to_jh057n(panel); +- struct drm_display_mode *mode; +- +- mode = drm_mode_duplicate(connector->dev, &default_mode); +- if (!mode) { +- DRM_DEV_ERROR(ctx->dev, "Failed to add mode %ux%u@%u\n", +- default_mode.hdisplay, default_mode.vdisplay, +- default_mode.vrefresh); +- 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 jh057n_drm_funcs = { +- .disable = jh057n_disable, +- .unprepare = jh057n_unprepare, +- .prepare = jh057n_prepare, +- .enable = jh057n_enable, +- .get_modes = jh057n_get_modes, +-}; +- +-static int allpixelson_set(void *data, u64 val) +-{ +- struct jh057n *ctx = data; +- struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); +- +- DRM_DEV_DEBUG_DRIVER(ctx->dev, "Setting all pixels on\n"); +- dsi_generic_write_seq(dsi, ST7703_CMD_ALL_PIXEL_ON); +- msleep(val * 1000); +- /* Reset the panel to get video back */ +- drm_panel_disable(&ctx->panel); +- drm_panel_unprepare(&ctx->panel); +- drm_panel_prepare(&ctx->panel); +- drm_panel_enable(&ctx->panel); +- +- return 0; +-} +- +-DEFINE_SIMPLE_ATTRIBUTE(allpixelson_fops, NULL, +- allpixelson_set, "%llu\n"); +- +-static void jh057n_debugfs_init(struct jh057n *ctx) +-{ +- ctx->debugfs = debugfs_create_dir(DRV_NAME, NULL); +- +- debugfs_create_file("allpixelson", 0600, ctx->debugfs, ctx, +- &allpixelson_fops); +-} +- +-static void jh057n_debugfs_remove(struct jh057n *ctx) +-{ +- debugfs_remove_recursive(ctx->debugfs); +- ctx->debugfs = NULL; +-} +- +-static int jh057n_probe(struct mipi_dsi_device *dsi) +-{ +- struct device *dev = &dsi->dev; +- struct jh057n *ctx; +- int ret; +- +- ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); +- if (!ctx) +- return -ENOMEM; +- +- 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_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; +- +- ctx->vcc = devm_regulator_get(dev, "vcc"); +- if (IS_ERR(ctx->vcc)) { +- ret = PTR_ERR(ctx->vcc); +- if (ret != -EPROBE_DEFER) +- DRM_DEV_ERROR(dev, +- "Failed to request vcc regulator: %d\n", +- ret); +- return ret; +- } +- ctx->iovcc = devm_regulator_get(dev, "iovcc"); +- if (IS_ERR(ctx->iovcc)) { +- ret = PTR_ERR(ctx->iovcc); +- if (ret != -EPROBE_DEFER) +- DRM_DEV_ERROR(dev, +- "Failed to request iovcc regulator: %d\n", +- ret); +- return ret; +- } +- +- drm_panel_init(&ctx->panel, dev, &jh057n_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 (%d). Is host ready?\n", +- ret); +- drm_panel_remove(&ctx->panel); +- return ret; +- } +- +- DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", +- default_mode.hdisplay, default_mode.vdisplay, +- default_mode.vrefresh, +- mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); +- +- jh057n_debugfs_init(ctx); +- return 0; +-} +- +-static void jh057n_shutdown(struct mipi_dsi_device *dsi) +-{ +- struct jh057n *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); +- +- ret = drm_panel_disable(&ctx->panel); +- if (ret < 0) +- DRM_DEV_ERROR(&dsi->dev, "Failed to disable panel: %d\n", +- ret); +-} +- +-static int jh057n_remove(struct mipi_dsi_device *dsi) +-{ +- struct jh057n *ctx = mipi_dsi_get_drvdata(dsi); +- int ret; +- +- jh057n_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); +- +- jh057n_debugfs_remove(ctx); +- +- return 0; +-} +- +-static const struct of_device_id jh057n_of_match[] = { +- { .compatible = "rocktech,jh057n00900" }, +- { /* sentinel */ } +-}; +-MODULE_DEVICE_TABLE(of, jh057n_of_match); +- +-static struct mipi_dsi_driver jh057n_driver = { +- .probe = jh057n_probe, +- .remove = jh057n_remove, +- .shutdown = jh057n_shutdown, +- .driver = { +- .name = DRV_NAME, +- .of_match_table = jh057n_of_match, +- }, +-}; +-module_mipi_dsi_driver(jh057n_driver); +- +-MODULE_AUTHOR("Guido Günther <agx@sigxcpu.org>"); +-MODULE_DESCRIPTION("DRM driver for Rocktech JH057N00900 MIPI DSI panel"); +-MODULE_LICENSE("GPL v2"); +diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c +new file mode 100644 +index 000000000000..38ff742bc120 +--- /dev/null ++++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c +@@ -0,0 +1,424 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Rockteck jh057n00900 5.5" MIPI-DSI panel driver ++ * ++ * Copyright (C) Purism SPC 2019 ++ */ ++ ++#include <linux/debugfs.h> ++#include <linux/delay.h> ++#include <linux/gpio/consumer.h> ++#include <linux/media-bus-format.h> ++#include <linux/mod_devicetable.h> ++#include <linux/module.h> ++#include <linux/regulator/consumer.h> ++ ++#include <video/display_timing.h> ++#include <video/mipi_display.h> ++ ++#include <drm/drm_mipi_dsi.h> ++#include <drm/drm_modes.h> ++#include <drm/drm_panel.h> ++#include <drm/drm_print.h> ++ ++#define DRV_NAME "panel-rocktech-jh057n00900" ++ ++/* 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_UNKNOWN0 0xBF ++#define ST7703_CMD_SETSCR 0xC0 ++#define ST7703_CMD_SETPOWER 0xC1 ++#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 ++ ++struct jh057n { ++ struct device *dev; ++ struct drm_panel panel; ++ struct gpio_desc *reset_gpio; ++ struct regulator *vcc; ++ struct regulator *iovcc; ++ bool prepared; ++ ++ struct dentry *debugfs; ++}; ++ ++static inline struct jh057n *panel_to_jh057n(struct drm_panel *panel) ++{ ++ return container_of(panel, struct jh057n, panel); ++} ++ ++#define dsi_generic_write_seq(dsi, seq...) do { \ ++ static const u8 d[] = { seq }; \ ++ int ret; \ ++ ret = mipi_dsi_generic_write(dsi, d, ARRAY_SIZE(d)); \ ++ if (ret < 0) \ ++ return ret; \ ++ } while (0) ++ ++static int jh057n_init_sequence(struct jh057n *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. Most of the commands ++ * resemble the ST7703 but the number of parameters often don't match ++ * so it's likely a clone. ++ */ ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETEXTC, ++ 0xF1, 0x12, 0x83); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETRGBIF, ++ 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00, ++ 0x00, 0x00); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETSCR, ++ 0x73, 0x73, 0x50, 0x50, 0x00, 0x00, 0x08, 0x70, ++ 0x00); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETCYC, 0x80); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0x30); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETEQ, ++ 0x07, 0x07, 0x0B, 0x0B, 0x03, 0x0B, 0x00, 0x00, ++ 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETBGP, 0x08, 0x08); ++ msleep(20); ++ ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETVCOM, 0x3F, 0x3F); ++ dsi_generic_write_seq(dsi, ST7703_CMD_UNKNOWN0, 0x02, 0x11, 0x00); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETGIP1, ++ 0x82, 0x10, 0x06, 0x05, 0x9E, 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_generic_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, 0x30, 0x0A, ++ 0xA5, 0x00, 0x00, 0x00, 0x00); ++ dsi_generic_write_seq(dsi, ST7703_CMD_SETGAMMA, ++ 0x00, 0x09, 0x0E, 0x29, 0x2D, 0x3C, 0x41, 0x37, ++ 0x07, 0x0B, 0x0D, 0x10, 0x11, 0x0F, 0x10, 0x11, ++ 0x18, 0x00, 0x09, 0x0E, 0x29, 0x2D, 0x3C, 0x41, ++ 0x37, 0x07, 0x0B, 0x0D, 0x10, 0x11, 0x0F, 0x10, ++ 0x11, 0x18); ++ msleep(20); ++ ++ ret = mipi_dsi_dcs_exit_sleep_mode(dsi); ++ if (ret < 0) { ++ DRM_DEV_ERROR(dev, "Failed to exit sleep mode: %d\n", ret); ++ return ret; ++ } ++ /* Panel is operational 120 msec after reset */ ++ msleep(60); ++ ret = mipi_dsi_dcs_set_display_on(dsi); ++ if (ret) ++ return ret; ++ ++ DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); ++ return 0; ++} ++ ++static int jh057n_enable(struct drm_panel *panel) ++{ ++ struct jh057n *ctx = panel_to_jh057n(panel); ++ int ret; ++ ++ ret = jh057n_init_sequence(ctx); ++ if (ret < 0) { ++ DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n", ++ ret); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int jh057n_disable(struct drm_panel *panel) ++{ ++ struct jh057n *ctx = panel_to_jh057n(panel); ++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); ++ ++ return mipi_dsi_dcs_set_display_off(dsi); ++} ++ ++static int jh057n_unprepare(struct drm_panel *panel) ++{ ++ struct jh057n *ctx = panel_to_jh057n(panel); ++ ++ if (!ctx->prepared) ++ return 0; ++ ++ regulator_disable(ctx->iovcc); ++ regulator_disable(ctx->vcc); ++ ctx->prepared = false; ++ ++ return 0; ++} ++ ++static int jh057n_prepare(struct drm_panel *panel) ++{ ++ struct jh057n *ctx = panel_to_jh057n(panel); ++ int ret; ++ ++ if (ctx->prepared) ++ return 0; ++ ++ DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n"); ++ ret = regulator_enable(ctx->vcc); ++ if (ret < 0) { ++ DRM_DEV_ERROR(ctx->dev, ++ "Failed to enable vcc supply: %d\n", ret); ++ return ret; ++ } ++ ret = regulator_enable(ctx->iovcc); ++ if (ret < 0) { ++ DRM_DEV_ERROR(ctx->dev, ++ "Failed to enable iovcc supply: %d\n", ret); ++ goto disable_vcc; ++ } ++ ++ 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; ++ ++disable_vcc: ++ regulator_disable(ctx->vcc); ++ return ret; ++} ++ ++static const struct drm_display_mode default_mode = { ++ .hdisplay = 720, ++ .hsync_start = 720 + 90, ++ .hsync_end = 720 + 90 + 20, ++ .htotal = 720 + 90 + 20 + 20, ++ .vdisplay = 1440, ++ .vsync_start = 1440 + 20, ++ .vsync_end = 1440 + 20 + 4, ++ .vtotal = 1440 + 20 + 4 + 12, ++ .vrefresh = 60, ++ .clock = 75276, ++ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, ++ .width_mm = 65, ++ .height_mm = 130, ++}; ++ ++static int jh057n_get_modes(struct drm_panel *panel, ++ struct drm_connector *connector) ++{ ++ struct jh057n *ctx = panel_to_jh057n(panel); ++ struct drm_display_mode *mode; ++ ++ mode = drm_mode_duplicate(connector->dev, &default_mode); ++ if (!mode) { ++ DRM_DEV_ERROR(ctx->dev, "Failed to add mode %ux%u@%u\n", ++ default_mode.hdisplay, default_mode.vdisplay, ++ default_mode.vrefresh); ++ 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 jh057n_drm_funcs = { ++ .disable = jh057n_disable, ++ .unprepare = jh057n_unprepare, ++ .prepare = jh057n_prepare, ++ .enable = jh057n_enable, ++ .get_modes = jh057n_get_modes, ++}; ++ ++static int allpixelson_set(void *data, u64 val) ++{ ++ struct jh057n *ctx = data; ++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); ++ ++ DRM_DEV_DEBUG_DRIVER(ctx->dev, "Setting all pixels on\n"); ++ dsi_generic_write_seq(dsi, ST7703_CMD_ALL_PIXEL_ON); ++ msleep(val * 1000); ++ /* Reset the panel to get video back */ ++ drm_panel_disable(&ctx->panel); ++ drm_panel_unprepare(&ctx->panel); ++ drm_panel_prepare(&ctx->panel); ++ drm_panel_enable(&ctx->panel); ++ ++ return 0; ++} ++ ++DEFINE_SIMPLE_ATTRIBUTE(allpixelson_fops, NULL, ++ allpixelson_set, "%llu\n"); ++ ++static void jh057n_debugfs_init(struct jh057n *ctx) ++{ ++ ctx->debugfs = debugfs_create_dir(DRV_NAME, NULL); ++ ++ debugfs_create_file("allpixelson", 0600, ctx->debugfs, ctx, ++ &allpixelson_fops); ++} ++ ++static void jh057n_debugfs_remove(struct jh057n *ctx) ++{ ++ debugfs_remove_recursive(ctx->debugfs); ++ ctx->debugfs = NULL; ++} ++ ++static int jh057n_probe(struct mipi_dsi_device *dsi) ++{ ++ struct device *dev = &dsi->dev; ++ struct jh057n *ctx; ++ int ret; ++ ++ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); ++ if (!ctx) ++ return -ENOMEM; ++ ++ 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_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; ++ ++ ctx->vcc = devm_regulator_get(dev, "vcc"); ++ if (IS_ERR(ctx->vcc)) { ++ ret = PTR_ERR(ctx->vcc); ++ if (ret != -EPROBE_DEFER) ++ DRM_DEV_ERROR(dev, ++ "Failed to request vcc regulator: %d\n", ++ ret); ++ return ret; ++ } ++ ctx->iovcc = devm_regulator_get(dev, "iovcc"); ++ if (IS_ERR(ctx->iovcc)) { ++ ret = PTR_ERR(ctx->iovcc); ++ if (ret != -EPROBE_DEFER) ++ DRM_DEV_ERROR(dev, ++ "Failed to request iovcc regulator: %d\n", ++ ret); ++ return ret; ++ } ++ ++ drm_panel_init(&ctx->panel, dev, &jh057n_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 (%d). Is host ready?\n", ++ ret); ++ drm_panel_remove(&ctx->panel); ++ return ret; ++ } ++ ++ DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", ++ default_mode.hdisplay, default_mode.vdisplay, ++ default_mode.vrefresh, ++ mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); ++ ++ jh057n_debugfs_init(ctx); ++ return 0; ++} ++ ++static void jh057n_shutdown(struct mipi_dsi_device *dsi) ++{ ++ struct jh057n *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); ++ ++ ret = drm_panel_disable(&ctx->panel); ++ if (ret < 0) ++ DRM_DEV_ERROR(&dsi->dev, "Failed to disable panel: %d\n", ++ ret); ++} ++ ++static int jh057n_remove(struct mipi_dsi_device *dsi) ++{ ++ struct jh057n *ctx = mipi_dsi_get_drvdata(dsi); ++ int ret; ++ ++ jh057n_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); ++ ++ jh057n_debugfs_remove(ctx); ++ ++ return 0; ++} ++ ++static const struct of_device_id jh057n_of_match[] = { ++ { .compatible = "rocktech,jh057n00900" }, ++ { /* sentinel */ } ++}; ++MODULE_DEVICE_TABLE(of, jh057n_of_match); ++ ++static struct mipi_dsi_driver jh057n_driver = { ++ .probe = jh057n_probe, ++ .remove = jh057n_remove, ++ .shutdown = jh057n_shutdown, ++ .driver = { ++ .name = DRV_NAME, ++ .of_match_table = jh057n_of_match, ++ }, ++}; ++module_mipi_dsi_driver(jh057n_driver); ++ ++MODULE_AUTHOR("Guido Günther <agx@sigxcpu.org>"); ++MODULE_DESCRIPTION("DRM driver for Rocktech JH057N00900 MIPI DSI panel"); ++MODULE_LICENSE("GPL v2"); +-- +2.26.2 + diff --git a/0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch b/0001-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch index 5ac4e6ee8..1cc38fcb1 100644 --- a/0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch +++ b/0001-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch @@ -1,7 +1,7 @@ -From d2fb5b980f071d542ca912dac5a0e27c49de7e2d Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:57 +0200 -Subject: [PATCH 09/13] drm/panel: st7703: Add support for Xingbangda XBD599 +Subject: [PATCH] drm/panel: st7703: Add support for Xingbangda XBD599 Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI LCD panel used in PinePhone. Add support for it. @@ -13,7 +13,7 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 197 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index cdbf7dfb4dd48..33611419059a9 100644 +index cdbf7dfb4dd4..33611419059a 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -39,10 +39,11 @@ @@ -31,7 +31,7 @@ index cdbf7dfb4dd48..33611419059a9 100644 #define ST7703_CMD_SETGIP1 0xE9 @@ -109,7 +110,7 @@ static int jh057n_init_sequence(struct st7703 *ctx) msleep(20); - + dsi_generic_write_seq(dsi, ST7703_CMD_SETVCOM, 0x3F, 0x3F); - dsi_generic_write_seq(dsi, ST7703_CMD_UNKNOWN0, 0x02, 0x11, 0x00); + dsi_generic_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00); @@ -41,7 +41,7 @@ index cdbf7dfb4dd48..33611419059a9 100644 @@ -163,6 +164,199 @@ struct st7703_panel_desc jh057n00900_panel_desc = { .init_sequence = jh057n_init_sequence, }; - + +#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ + static const u8 d[] = { seq }; \ + int ret; \ @@ -239,7 +239,7 @@ index cdbf7dfb4dd48..33611419059a9 100644 { struct st7703 *ctx = panel_to_st7703(panel); @@ -428,6 +622,7 @@ static int st7703_remove(struct mipi_dsi_device *dsi) - + static const struct of_device_id st7703_of_match[] = { { .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc }, + { .compatible = "xingbangda,xbd599", .data = &xbd599_desc }, diff --git a/0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch b/0001-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch index f5871906c..045875f11 100644 --- a/0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch +++ b/0001-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch @@ -1,8 +1,8 @@ -From f290f11b42df0d9d42679b93bb6a488f9e12e00d Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:59 +0200 -Subject: [PATCH 11/13] drm/panel: st7703: Assert reset prior to powering down - the regulators +Subject: [PATCH] drm/panel: st7703: Assert reset prior to powering down the + regulators The reset pin is inverted, so if we don't assert reset, the actual gpio will be high and may keep driving the IO port of the panel. @@ -13,13 +13,13 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index e771281eb5472..92930e1275592 100644 +index e771281eb547..92930e127559 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -416,6 +416,7 @@ static int st7703_unprepare(struct drm_panel *panel) if (!ctx->prepared) return 0; - + + gpiod_set_value_cansleep(ctx->reset_gpio, 1); regulator_disable(ctx->iovcc); regulator_disable(ctx->vcc); diff --git a/0010-drm-panel-st7703-Enter-sleep-after-display-off.patch b/0001-drm-panel-st7703-Enter-sleep-after-display-off.patch index 867962865..33e52fc94 100644 --- a/0010-drm-panel-st7703-Enter-sleep-after-display-off.patch +++ b/0001-drm-panel-st7703-Enter-sleep-after-display-off.patch @@ -1,7 +1,7 @@ -From 7c9c58114d277e570f667ac670ef28725e51814e Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:58 +0200 -Subject: [PATCH 10/13] drm/panel: st7703: Enter sleep after display off +Subject: [PATCH] drm/panel: st7703: Enter sleep after display off The datasheet suggests to issue sleep in after display off as a part of the panel's shutdown sequence. @@ -12,7 +12,7 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index 33611419059a9..e771281eb5472 100644 +index 33611419059a..e771281eb547 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -394,8 +394,19 @@ static int st7703_disable(struct drm_panel *panel) @@ -25,7 +25,7 @@ index 33611419059a9..e771281eb5472 100644 + if (ret < 0) + DRM_DEV_ERROR(ctx->dev, + "Failed to turn off the display: %d\n", ret); - + - return mipi_dsi_dcs_set_display_off(dsi); + ret = mipi_dsi_dcs_enter_sleep_mode(dsi); + if (ret < 0) @@ -34,7 +34,7 @@ index 33611419059a9..e771281eb5472 100644 + + return 0; } - + static int st7703_unprepare(struct drm_panel *panel) -- 2.26.2 diff --git a/0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch b/0001-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch index fcdf0482d..c3ab19fa2 100644 --- a/0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch +++ b/0001-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch @@ -1,7 +1,7 @@ -From b93e129534a0556a03a343f95e622ae9c3893854 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:55 +0200 -Subject: [PATCH 07/13] drm/panel: st7703: Move code specific to jh057n closer +Subject: [PATCH] drm/panel: st7703: Move code specific to jh057n closer together It's better than having it spread around the driver. @@ -12,13 +12,13 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index 08cbc316266c1..d03aab10cfef1 100644 +index 08cbc316266c..d03aab10cfef 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -153,6 +153,31 @@ static int jh057n_init_sequence(struct st7703 *ctx) return 0; } - + +static const struct drm_display_mode jh057n00900_mode = { + .hdisplay = 720, + .hsync_start = 720 + 90, @@ -50,7 +50,7 @@ index 08cbc316266c1..d03aab10cfef1 100644 @@ -226,31 +251,6 @@ static int st7703_prepare(struct drm_panel *panel) return ret; } - + -static const struct drm_display_mode jh057n00900_mode = { - .hdisplay = 720, - .hsync_start = 720 + 90, diff --git a/0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch b/0001-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch index bae442451..81c622060 100644 --- a/0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch +++ b/0001-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch @@ -1,8 +1,8 @@ -From 5e9a6f49f8056963a4b8d2408f0c0f211cdab799 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:56 +0200 -Subject: [PATCH 08/13] drm/panel: st7703: Move generic part of init sequence - to enable callback +Subject: [PATCH] drm/panel: st7703: Move generic part of init sequence to + enable callback Calling sleep out and display on is a controller specific part of the initialization process. Move it out of the panel specific @@ -14,7 +14,7 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index d03aab10cfef1..cdbf7dfb4dd48 100644 +index d03aab10cfef..cdbf7dfb4dd4 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -84,8 +84,6 @@ static inline struct st7703 *panel_to_st7703(struct drm_panel *panel) @@ -23,7 +23,7 @@ index d03aab10cfef1..cdbf7dfb4dd48 100644 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. Most of the commands @@ -136,20 +134,7 @@ static int jh057n_init_sequence(struct st7703 *ctx) @@ -42,23 +42,23 @@ index d03aab10cfef1..cdbf7dfb4dd48 100644 - ret = mipi_dsi_dcs_set_display_on(dsi); - if (ret) - return ret; - + - DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); return 0; } - + @@ -181,6 +166,7 @@ struct st7703_panel_desc jh057n00900_panel_desc = { static int st7703_enable(struct drm_panel *panel) { struct st7703 *ctx = panel_to_st7703(panel); + struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); int ret; - + ret = ctx->desc->init_sequence(ctx); @@ -190,6 +176,23 @@ static int st7703_enable(struct drm_panel *panel) return ret; } - + + msleep(20); + + ret = mipi_dsi_dcs_exit_sleep_mode(dsi); @@ -78,7 +78,7 @@ index d03aab10cfef1..cdbf7dfb4dd48 100644 + return 0; } - + -- 2.26.2 diff --git a/0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch b/0001-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch index 8436ea3cb..94b181b0d 100644 --- a/0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch +++ b/0001-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch @@ -1,8 +1,7 @@ -From 19802e031428f7cf967259fdf8794a971164a44a Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:54 +0200 -Subject: [PATCH 06/13] drm/panel: st7703: Prepare for supporting multiple - panels +Subject: [PATCH] drm/panel: st7703: Prepare for supporting multiple panels Parametrize the driver so that it can support more panels based on st7703 controller. @@ -13,7 +12,7 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index 511af659f273b..08cbc316266c1 100644 +index 511af659f273..08cbc316266c 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -13,6 +13,7 @@ @@ -22,11 +21,11 @@ index 511af659f273b..08cbc316266c1 100644 #include <linux/module.h> +#include <linux/of_device.h> #include <linux/regulator/consumer.h> - + #include <video/display_timing.h> @@ -56,6 +57,15 @@ struct st7703 { bool prepared; - + struct dentry *debugfs; + const struct st7703_panel_desc *desc; +}; @@ -38,12 +37,12 @@ index 511af659f273b..08cbc316266c1 100644 + enum mipi_dsi_pixel_format format; + int (*init_sequence)(struct st7703 *ctx); }; - + static inline struct st7703 *panel_to_st7703(struct drm_panel *panel) @@ -148,7 +158,7 @@ static int st7703_enable(struct drm_panel *panel) struct st7703 *ctx = panel_to_st7703(panel); int ret; - + - ret = jh057n_init_sequence(ctx); + ret = ctx->desc->init_sequence(ctx); if (ret < 0) { @@ -52,7 +51,7 @@ index 511af659f273b..08cbc316266c1 100644 @@ -216,7 +226,7 @@ static int st7703_prepare(struct drm_panel *panel) return ret; } - + -static const struct drm_display_mode default_mode = { +static const struct drm_display_mode jh057n00900_mode = { .hdisplay = 720, @@ -61,7 +60,7 @@ index 511af659f273b..08cbc316266c1 100644 @@ -232,17 +242,26 @@ static const struct drm_display_mode default_mode = { .height_mm = 130, }; - + +struct st7703_panel_desc jh057n00900_panel_desc = { + .mode = &jh057n00900_mode, + .lanes = 4, @@ -76,7 +75,7 @@ index 511af659f273b..08cbc316266c1 100644 { struct st7703 *ctx = panel_to_st7703(panel); struct drm_display_mode *mode; - + - mode = drm_mode_duplicate(connector->dev, &default_mode); + mode = drm_mode_duplicate(connector->dev, ctx->desc->mode); if (!mode) { @@ -87,13 +86,13 @@ index 511af659f273b..08cbc316266c1 100644 + ctx->desc->mode->vrefresh); return -ENOMEM; } - + @@ -317,11 +336,11 @@ static int st7703_probe(struct mipi_dsi_device *dsi) mipi_dsi_set_drvdata(dsi, ctx); - + ctx->dev = dev; + ctx->desc = of_device_get_match_data(dev); - + - dsi->lanes = 4; - dsi->format = MIPI_DSI_FMT_RGB888; - dsi->mode_flags = MIPI_DSI_MODE_VIDEO | @@ -101,23 +100,23 @@ index 511af659f273b..08cbc316266c1 100644 + dsi->mode_flags = ctx->desc->mode_flags; + dsi->format = ctx->desc->format; + dsi->lanes = ctx->desc->lanes; - + ctx->vcc = devm_regulator_get(dev, "vcc"); if (IS_ERR(ctx->vcc)) { @@ -361,8 +380,8 @@ static int st7703_probe(struct mipi_dsi_device *dsi) } - + DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", - default_mode.hdisplay, default_mode.vdisplay, - default_mode.vrefresh, + ctx->desc->mode->hdisplay, ctx->desc->mode->vdisplay, + ctx->desc->mode->vrefresh, mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); - + st7703_debugfs_init(ctx); @@ -405,7 +424,7 @@ static int st7703_remove(struct mipi_dsi_device *dsi) } - + static const struct of_device_id st7703_of_match[] = { - { .compatible = "rocktech,jh057n00900" }, + { .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc }, diff --git a/0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch b/0001-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch index 5432e1bba..1d17d147e 100644 --- a/0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch +++ b/0001-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch @@ -1,8 +1,8 @@ -From 6fad8493b27ade51f37d88acc7ce6fd7dbc9da69 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:53 +0200 -Subject: [PATCH 05/13] drm/panel: st7703: Rename functions from jh057n prefix - to st7703 +Subject: [PATCH] drm/panel: st7703: Rename functions from jh057n prefix to + st7703 This is done so that code that's not specific to a particular jh057n panel is named after the controller. Functions specific @@ -14,7 +14,7 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c -index 38ff742bc1209..511af659f273b 100644 +index 38ff742bc120..511af659f273 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c @@ -1,6 +1,8 @@ @@ -30,16 +30,16 @@ index 38ff742bc1209..511af659f273b 100644 @@ -21,7 +23,7 @@ #include <drm/drm_panel.h> #include <drm/drm_print.h> - + -#define DRV_NAME "panel-rocktech-jh057n00900" +#define DRV_NAME "panel-sitronix-st7703" - + /* Manufacturer specific Commands send via DSI */ #define ST7703_CMD_ALL_PIXEL_OFF 0x22 @@ -45,7 +47,7 @@ #define ST7703_CMD_SETGIP1 0xE9 #define ST7703_CMD_SETGIP2 0xEA - + -struct jh057n { +struct st7703 { struct device *dev; @@ -48,19 +48,19 @@ index 38ff742bc1209..511af659f273b 100644 @@ -56,9 +58,9 @@ struct jh057n { struct dentry *debugfs; }; - + -static inline struct jh057n *panel_to_jh057n(struct drm_panel *panel) +static inline struct st7703 *panel_to_st7703(struct drm_panel *panel) { - return container_of(panel, struct jh057n, panel); + return container_of(panel, struct st7703, panel); } - + #define dsi_generic_write_seq(dsi, seq...) do { \ @@ -69,7 +71,7 @@ static inline struct jh057n *panel_to_jh057n(struct drm_panel *panel) return ret; \ } while (0) - + -static int jh057n_init_sequence(struct jh057n *ctx) +static int jh057n_init_sequence(struct st7703 *ctx) { @@ -69,53 +69,53 @@ index 38ff742bc1209..511af659f273b 100644 @@ -141,9 +143,9 @@ static int jh057n_init_sequence(struct jh057n *ctx) return 0; } - + -static int jh057n_enable(struct drm_panel *panel) +static int st7703_enable(struct drm_panel *panel) { - struct jh057n *ctx = panel_to_jh057n(panel); + struct st7703 *ctx = panel_to_st7703(panel); int ret; - + ret = jh057n_init_sequence(ctx); @@ -156,17 +158,17 @@ static int jh057n_enable(struct drm_panel *panel) return 0; } - + -static int jh057n_disable(struct drm_panel *panel) +static int st7703_disable(struct drm_panel *panel) { - struct jh057n *ctx = panel_to_jh057n(panel); + struct st7703 *ctx = panel_to_st7703(panel); struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); - + return mipi_dsi_dcs_set_display_off(dsi); } - + -static int jh057n_unprepare(struct drm_panel *panel) +static int st7703_unprepare(struct drm_panel *panel) { - struct jh057n *ctx = panel_to_jh057n(panel); + struct st7703 *ctx = panel_to_st7703(panel); - + if (!ctx->prepared) return 0; @@ -178,9 +180,9 @@ static int jh057n_unprepare(struct drm_panel *panel) return 0; } - + -static int jh057n_prepare(struct drm_panel *panel) +static int st7703_prepare(struct drm_panel *panel) { - struct jh057n *ctx = panel_to_jh057n(panel); + struct st7703 *ctx = panel_to_st7703(panel); int ret; - + if (ctx->prepared) @@ -230,10 +232,10 @@ static const struct drm_display_mode default_mode = { .height_mm = 130, }; - + -static int jh057n_get_modes(struct drm_panel *panel, +static int st7703_get_modes(struct drm_panel *panel, struct drm_connector *connector) @@ -123,12 +123,12 @@ index 38ff742bc1209..511af659f273b 100644 - struct jh057n *ctx = panel_to_jh057n(panel); + struct st7703 *ctx = panel_to_st7703(panel); struct drm_display_mode *mode; - + mode = drm_mode_duplicate(connector->dev, &default_mode); @@ -254,17 +256,17 @@ static int jh057n_get_modes(struct drm_panel *panel, return 1; } - + -static const struct drm_panel_funcs jh057n_drm_funcs = { - .disable = jh057n_disable, - .unprepare = jh057n_unprepare, @@ -142,34 +142,34 @@ index 38ff742bc1209..511af659f273b 100644 + .enable = st7703_enable, + .get_modes = st7703_get_modes, }; - + static int allpixelson_set(void *data, u64 val) { - struct jh057n *ctx = data; + struct st7703 *ctx = data; struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); - + DRM_DEV_DEBUG_DRIVER(ctx->dev, "Setting all pixels on\n"); @@ -282,7 +284,7 @@ static int allpixelson_set(void *data, u64 val) DEFINE_SIMPLE_ATTRIBUTE(allpixelson_fops, NULL, allpixelson_set, "%llu\n"); - + -static void jh057n_debugfs_init(struct jh057n *ctx) +static void st7703_debugfs_init(struct st7703 *ctx) { ctx->debugfs = debugfs_create_dir(DRV_NAME, NULL); - + @@ -290,16 +292,16 @@ static void jh057n_debugfs_init(struct jh057n *ctx) &allpixelson_fops); } - + -static void jh057n_debugfs_remove(struct jh057n *ctx) +static void st7703_debugfs_remove(struct st7703 *ctx) { debugfs_remove_recursive(ctx->debugfs); ctx->debugfs = NULL; } - + -static int jh057n_probe(struct mipi_dsi_device *dsi) +static int st7703_probe(struct mipi_dsi_device *dsi) { @@ -177,60 +177,60 @@ index 38ff742bc1209..511af659f273b 100644 - struct jh057n *ctx; + struct st7703 *ctx; int ret; - + ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); @@ -340,7 +342,7 @@ static int jh057n_probe(struct mipi_dsi_device *dsi) return ret; } - + - drm_panel_init(&ctx->panel, dev, &jh057n_drm_funcs, + drm_panel_init(&ctx->panel, dev, &st7703_drm_funcs, DRM_MODE_CONNECTOR_DSI); - + ret = drm_panel_of_backlight(&ctx->panel); @@ -363,13 +365,13 @@ static int jh057n_probe(struct mipi_dsi_device *dsi) default_mode.vrefresh, mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); - + - jh057n_debugfs_init(ctx); + st7703_debugfs_init(ctx); return 0; } - + -static void jh057n_shutdown(struct mipi_dsi_device *dsi) +static void st7703_shutdown(struct mipi_dsi_device *dsi) { - struct jh057n *ctx = mipi_dsi_get_drvdata(dsi); + struct st7703 *ctx = mipi_dsi_get_drvdata(dsi); int ret; - + ret = drm_panel_unprepare(&ctx->panel); @@ -383,12 +385,12 @@ static void jh057n_shutdown(struct mipi_dsi_device *dsi) ret); } - + -static int jh057n_remove(struct mipi_dsi_device *dsi) +static int st7703_remove(struct mipi_dsi_device *dsi) { - struct jh057n *ctx = mipi_dsi_get_drvdata(dsi); + struct st7703 *ctx = mipi_dsi_get_drvdata(dsi); int ret; - + - jh057n_shutdown(dsi); + st7703_shutdown(dsi); - + ret = mipi_dsi_detach(dsi); if (ret < 0) @@ -397,28 +399,28 @@ static int jh057n_remove(struct mipi_dsi_device *dsi) - + drm_panel_remove(&ctx->panel); - + - jh057n_debugfs_remove(ctx); + st7703_debugfs_remove(ctx); - + return 0; } - + -static const struct of_device_id jh057n_of_match[] = { +static const struct of_device_id st7703_of_match[] = { { .compatible = "rocktech,jh057n00900" }, @@ -238,7 +238,7 @@ index 38ff742bc1209..511af659f273b 100644 }; -MODULE_DEVICE_TABLE(of, jh057n_of_match); +MODULE_DEVICE_TABLE(of, st7703_of_match); - + -static struct mipi_dsi_driver jh057n_driver = { - .probe = jh057n_probe, - .remove = jh057n_remove, @@ -255,7 +255,7 @@ index 38ff742bc1209..511af659f273b 100644 }; -module_mipi_dsi_driver(jh057n_driver); +module_mipi_dsi_driver(st7703_driver); - + MODULE_AUTHOR("Guido Günther <agx@sigxcpu.org>"); -MODULE_DESCRIPTION("DRM driver for Rocktech JH057N00900 MIPI DSI panel"); +MODULE_DESCRIPTION("DRM driver for Sitronix ST7703 based MIPI DSI panels"); diff --git a/0001-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timing-calcu.patch b/0001-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timing-calcu.patch new file mode 100644 index 000000000..a812477f4 --- /dev/null +++ b/0001-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timing-calcu.patch @@ -0,0 +1,59 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng <icenowy@aosc.io> +Date: Mon, 16 Mar 2020 21:35:02 +0800 +Subject: [PATCH] drm/sun4i: sun6i_mipi_dsi: fix horizontal timing calculation + +The max() function call in horizontal timing calculation shouldn't pad a +length already subtracted with overhead to overhead, instead it should +only prevent the set timing to underflow. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +--- + 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 aa67cb037e9d..52e009dc632b 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/0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch b/0001-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch index a7099de05..74906d9b1 100644 --- a/0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch +++ b/0001-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch @@ -1,8 +1,8 @@ -From 12146093602e0dedb7ee431224fc4a58d40697f8 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:51 +0200 -Subject: [PATCH 03/13] dt-bindings: panel: Add compatible for Xingbangda - XBD599 panel +Subject: [PATCH] dt-bindings: panel: Add compatible for Xingbangda XBD599 + panel Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI LCD panel. It is based on Sitronix ST7703 LCD controller just like rocktech,jh057n00900. It is @@ -16,11 +16,11 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml -index f97c48550741c..4d43a1b36d7c7 100644 +index f97c48550741..4d43a1b36d7c 100644 --- a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml +++ b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml @@ -18,7 +18,11 @@ allOf: - + properties: compatible: - const: rocktech,jh057n00900 @@ -29,7 +29,7 @@ index f97c48550741c..4d43a1b36d7c7 100644 + - rocktech,jh057n00900 + # Xingbangda XBD599 5.99" 720x1440 TFT LCD panel + - xingbangda,xbd599 - + reg: maxItems: 1 -- diff --git a/0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch b/0001-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch index 0d05e02e0..0aaf4a92a 100644 --- a/0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch +++ b/0001-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch @@ -1,8 +1,7 @@ -From 789d3f52a1cf675ba68c3578fe2b259bc44caba2 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman <megous@megous.com> Date: Fri, 26 Jun 2020 02:55:50 +0200 -Subject: [PATCH 02/13] dt-bindings: panel: Convert rocktech, jh057n00900 to - yaml +Subject: [PATCH] dt-bindings: panel: Convert rocktech, jh057n00900 to yaml Convert Rocktech MIPI DSI panel driver from txt to yaml bindings. @@ -16,7 +15,7 @@ Signed-off-by: Ondrej Jirman <megous@megous.com> diff --git a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.txt b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.txt deleted file mode 100644 -index a372c5d846956..0000000000000 +index a372c5d84695..000000000000 --- a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.txt +++ /dev/null @@ -1,23 +0,0 @@ @@ -45,7 +44,7 @@ index a372c5d846956..0000000000000 - }; diff --git a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml new file mode 100644 -index 0000000000000..f97c48550741c +index 000000000000..f97c48550741 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml @@ -0,0 +1,66 @@ diff --git a/0001-dt-bindings-panel-add-binding-for-Xingbangda-XBD599-.patch b/0001-dt-bindings-panel-add-binding-for-Xingbangda-XBD599-.patch new file mode 100644 index 000000000..8e6808fdc --- /dev/null +++ b/0001-dt-bindings-panel-add-binding-for-Xingbangda-XBD599-.patch @@ -0,0 +1,74 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng <icenowy@aosc.io> +Date: Mon, 16 Mar 2020 21:35:00 +0800 +Subject: [PATCH] dt-bindings: panel: add binding for Xingbangda XBD599 panel + +Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI LCD panel. + +Add its device tree binding. + +Signed-off-by: Icenowy Zheng <icenowy@aosc.io> +--- + .../display/panel/xingbangda,xbd599.yaml | 50 +++++++++++++++++++ + 1 file changed, 50 insertions(+) + create 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 +new file mode 100644 +index 000000000000..b27bcf11198f +--- /dev/null ++++ b/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml +@@ -0,0 +1,50 @@ ++# 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 <icenowy@aosc.io> ++ ++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-dt-bindings-vendor-prefixes-Add-Xingbangda.patch b/0001-dt-bindings-vendor-prefixes-Add-Xingbangda.patch index eef72a211..65dad5c77 100644 --- a/0001-dt-bindings-vendor-prefixes-Add-Xingbangda.patch +++ b/0001-dt-bindings-vendor-prefixes-Add-Xingbangda.patch @@ -1,7 +1,7 @@ -From 025eb2eb927d2c3020882ea0ed3af28d65321763 Mon Sep 17 00:00:00 2001 +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Icenowy Zheng <icenowy@aosc.io> Date: Fri, 26 Jun 2020 02:55:49 +0200 -Subject: [PATCH 01/13] dt-bindings: vendor-prefixes: Add Xingbangda +Subject: [PATCH] dt-bindings: vendor-prefixes: Add Xingbangda Shenzhen Xingbangda Display Technology Co., Ltd is a company which produces LCD modules. It supplies the LCD panels for the PinePhone. @@ -16,10 +16,10 @@ Acked-by: Rob Herring <robh@kernel.org> 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index d3891386d6710..a558ef87ee5b0 100644 +index 9aeab66be85f..740b116b179f 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -1121,6 +1121,8 @@ patternProperties: +@@ -1157,6 +1157,8 @@ patternProperties: description: Xiaomi Technology Co., Ltd. "^xillybus,.*": description: Xillybus Ltd. diff --git a/0001-e1000e-bump-up-timeout-to-wait-when-ME-un-configure-.patch b/0001-e1000e-bump-up-timeout-to-wait-when-ME-un-configure-.patch index 8e740ce24..e679aeb55 100644 --- a/0001-e1000e-bump-up-timeout-to-wait-when-ME-un-configure-.patch +++ b/0001-e1000e-bump-up-timeout-to-wait-when-ME-un-configure-.patch @@ -15,10 +15,10 @@ Signed-off-by: Aaron Ma <aaron.ma@canonical.com> 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c -index 735bf25952fc..15f6c0a4dc63 100644 +index 489bb5b59475..26bb39b62956 100644 --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c -@@ -1243,9 +1243,9 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force) +@@ -1245,9 +1245,9 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force) ew32(H2ME, mac_reg); } diff --git a/0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch b/0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch deleted file mode 100644 index acd11a206..000000000 --- a/0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Tue, 27 Feb 2018 10:04:55 +0000 -Subject: [PATCH] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode - -UEFI machines can be booted in Secure Boot mode. Add an EFI_SECURE_BOOT -flag that can be passed to efi_enabled() to find out whether secure boot is -enabled. - -Move the switch-statement in x86's setup_arch() that inteprets the -secure_boot boot parameter to generic code and set the bit there. - -Upstream Status: RHEL only -Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> -cc: linux-efi@vger.kernel.org -[Rebased for context; efi_is_table_address was moved to arch/x86] -Signed-off-by: Jeremy Cline <jcline@redhat.com> ---- - arch/x86/kernel/setup.c | 14 +----------- - drivers/firmware/efi/Makefile | 1 + - drivers/firmware/efi/secureboot.c | 38 +++++++++++++++++++++++++++++++ - include/linux/efi.h | 18 ++++++++++----- - 4 files changed, 52 insertions(+), 19 deletions(-) - create mode 100644 drivers/firmware/efi/secureboot.c - -diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index e39ec0f88d28..08e9f5fc26a8 100644 ---- a/arch/x86/kernel/setup.c -+++ b/arch/x86/kernel/setup.c -@@ -1250,19 +1250,7 @@ void __init setup_arch(char **cmdline_p) - /* Allocate bigger log buffer */ - setup_log_buf(1); - -- if (efi_enabled(EFI_BOOT)) { -- switch (boot_params.secure_boot) { -- case efi_secureboot_mode_disabled: -- pr_info("Secure boot disabled\n"); -- break; -- case efi_secureboot_mode_enabled: -- pr_info("Secure boot enabled\n"); -- break; -- default: -- pr_info("Secure boot could not be determined\n"); -- break; -- } -- } -+ efi_set_secure_boot(boot_params.secure_boot); - - reserve_initrd(); - -diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile -index 7a216984552b..f0ef02d733af 100644 ---- a/drivers/firmware/efi/Makefile -+++ b/drivers/firmware/efi/Makefile -@@ -25,6 +25,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_map.o - obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o - obj-$(CONFIG_EFI_TEST) += test/ - obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o -+obj-$(CONFIG_EFI) += secureboot.o - obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o - obj-$(CONFIG_EFI_RCI2_TABLE) += rci2-table.o - obj-$(CONFIG_EFI_EMBEDDED_FIRMWARE) += embedded-firmware.o -diff --git a/drivers/firmware/efi/secureboot.c b/drivers/firmware/efi/secureboot.c -new file mode 100644 -index 000000000000..de0a3714a5d4 ---- /dev/null -+++ b/drivers/firmware/efi/secureboot.c -@@ -0,0 +1,38 @@ -+/* Core kernel secure boot support. -+ * -+ * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. -+ * Written by David Howells (dhowells@redhat.com) -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public Licence -+ * as published by the Free Software Foundation; either version -+ * 2 of the Licence, or (at your option) any later version. -+ */ -+ -+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -+ -+#include <linux/efi.h> -+#include <linux/kernel.h> -+#include <linux/printk.h> -+ -+/* -+ * Decide what to do when UEFI secure boot mode is enabled. -+ */ -+void __init efi_set_secure_boot(enum efi_secureboot_mode mode) -+{ -+ if (efi_enabled(EFI_BOOT)) { -+ switch (mode) { -+ case efi_secureboot_mode_disabled: -+ pr_info("Secure boot disabled\n"); -+ break; -+ case efi_secureboot_mode_enabled: -+ set_bit(EFI_SECURE_BOOT, &efi.flags); -+ pr_info("Secure boot enabled\n"); -+ break; -+ default: -+ pr_warn("Secure boot could not be determined (mode %u)\n", -+ mode); -+ break; -+ } -+ } -+} -diff --git a/include/linux/efi.h b/include/linux/efi.h -index 51503bf118ab..b35e693f20f3 100644 ---- a/include/linux/efi.h -+++ b/include/linux/efi.h -@@ -778,6 +778,14 @@ extern int __init efi_setup_pcdp_console(char *); - #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ - #define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */ - #define EFI_PRESERVE_BS_REGIONS 12 /* Are EFI boot-services memory segments available? */ -+#define EFI_SECURE_BOOT 13 /* Are we in Secure Boot mode? */ -+ -+enum efi_secureboot_mode { -+ efi_secureboot_mode_unset, -+ efi_secureboot_mode_unknown, -+ efi_secureboot_mode_disabled, -+ efi_secureboot_mode_enabled, -+}; - - #ifdef CONFIG_EFI - /* -@@ -789,6 +797,8 @@ static inline bool efi_enabled(int feature) - } - extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused); - -+extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode); -+ - bool __pure __efi_soft_reserve_enabled(void); - - static inline bool __pure efi_soft_reserve_enabled(void) -@@ -815,6 +825,8 @@ efi_capsule_pending(int *reset_type) - return false; - } - -+static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} -+ - static inline bool efi_soft_reserve_enabled(void) - { - return false; -@@ -1086,12 +1098,6 @@ static inline bool efi_runtime_disabled(void) { return true; } - extern void efi_call_virt_check_flags(unsigned long flags, const char *call); - extern unsigned long efi_call_virt_save_flags(void); - --enum efi_secureboot_mode { -- efi_secureboot_mode_unset, -- efi_secureboot_mode_unknown, -- efi_secureboot_mode_disabled, -- efi_secureboot_mode_enabled, --}; - enum efi_secureboot_mode efi_get_secureboot(void); - - #ifdef CONFIG_RESET_ATTACK_MITIGATION --- -2.26.2 - diff --git a/0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch b/0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch index 97096ad32..3d262ba84 100644 --- a/0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch +++ b/0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch @@ -18,7 +18,7 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> 2 files changed, 21 insertions(+) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index 08e9f5fc26a8..b6f5510f3d91 100644 +index 28d43754aeb6..19d57bfc12f9 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -18,6 +18,7 @@ @@ -29,7 +29,7 @@ index 08e9f5fc26a8..b6f5510f3d91 100644 #include <linux/usb/xhci-dbgp.h> #include <uapi/linux/mount.h> -@@ -1099,6 +1100,13 @@ void __init setup_arch(char **cmdline_p) +@@ -1105,6 +1106,13 @@ void __init setup_arch(char **cmdline_p) if (efi_enabled(EFI_BOOT)) efi_init(); diff --git a/0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch b/0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch deleted file mode 100644 index db8a4a16c..000000000 --- a/0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Date: Tue, 10 Mar 2020 13:52:40 +0100 -Subject: [PATCH] firmware: raspberrypi: Introduce vl805 init routine - -On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be -loaded directly from an EEPROM or, if not present, by the SoC's -VideCore. The function informs VideCore that VL805 was just reset, or -requests for a probe defer. - -Based on Tim Gover's downstream implementation. - -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> ---- - drivers/firmware/raspberrypi.c | 38 ++++++++++++++++++++++ - include/soc/bcm2835/raspberrypi-firmware.h | 7 ++++ - 2 files changed, 45 insertions(+) - -diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index da26a584dca0..cbb495aff6a0 100644 ---- a/drivers/firmware/raspberrypi.c -+++ b/drivers/firmware/raspberrypi.c -@@ -12,6 +12,7 @@ - #include <linux/of_platform.h> - #include <linux/platform_device.h> - #include <linux/slab.h> -+#include <linux/pci.h> - #include <soc/bcm2835/raspberrypi-firmware.h> - - #define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf)) -@@ -286,6 +287,43 @@ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node) - } - EXPORT_SYMBOL_GPL(rpi_firmware_get); - -+/* -+ * On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be -+ * loaded directly from an EEPROM or, if not present, by the SoC's VideCore. -+ * Inform VideCore that VL805 was just reset, or defer xhci's probe if not yet -+ * joinable trough the mailbox interface. -+ */ -+int rpi_firmware_init_vl805(struct pci_dev *pdev) -+{ -+ struct device_node *fw_np; -+ struct rpi_firmware *fw; -+ u32 dev_addr; -+ int ret; -+ -+ fw_np = of_find_compatible_node(NULL, NULL, -+ "raspberrypi,bcm2835-firmware"); -+ if (!fw_np) -+ return 0; -+ -+ fw = rpi_firmware_get(fw_np); -+ of_node_put(fw_np); -+ if (!fw) -+ return -EPROBE_DEFER; -+ -+ dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 | -+ PCI_FUNC(pdev->devfn) << 12; -+ -+ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET, -+ &dev_addr, sizeof(dev_addr)); -+ if (ret) -+ return ret; -+ -+ dev_dbg(&pdev->dev, "loaded Raspberry Pi's VL805 firmware\n"); -+ -+ return 0; -+} -+EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805); -+ - static const struct of_device_id rpi_firmware_of_match[] = { - { .compatible = "raspberrypi,bcm2835-firmware", }, - {}, -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index cc9cdbc66403..3025aca3c358 100644 ---- a/include/soc/bcm2835/raspberrypi-firmware.h -+++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -10,6 +10,7 @@ - #include <linux/of_device.h> - - struct rpi_firmware; -+struct pci_dev; - - enum rpi_firmware_property_status { - RPI_FIRMWARE_STATUS_REQUEST = 0, -@@ -141,6 +142,7 @@ int rpi_firmware_property(struct rpi_firmware *fw, - int rpi_firmware_property_list(struct rpi_firmware *fw, - void *data, size_t tag_size); - struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node); -+int rpi_firmware_init_vl805(struct pci_dev *pdev); - #else - static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag, - void *data, size_t len) -@@ -158,6 +160,11 @@ static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware - { - return NULL; - } -+ -+static inline int rpi_firmware_init_vl805(struct pci_dev *pdev) -+{ -+ return 0; -+} - #endif - - #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ --- -2.26.2 - diff --git a/0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch b/0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch index e6eef22d6..81fa9b1b1 100644 --- a/0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch +++ b/0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch @@ -57,7 +57,7 @@ Signed-off-by: Laura Abbott <labbott@redhat.com> 1 file changed, 22 insertions(+) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c -index 03d6a26687bc..86981f228c90 100644 +index b6858adc4f17..4c2da9f17514 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -7,6 +7,7 @@ @@ -68,7 +68,7 @@ index 03d6a26687bc..86981f228c90 100644 #include <linux/kernel.h> #include <linux/bug.h> #include <linux/types.h> -@@ -2664,3 +2665,24 @@ int iommu_sva_get_pasid(struct iommu_sva *handle) +@@ -2838,3 +2839,24 @@ int iommu_sva_get_pasid(struct iommu_sva *handle) return ops->sva_get_pasid(handle); } EXPORT_SYMBOL_GPL(iommu_sva_get_pasid); diff --git a/0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch b/0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch index aad7ef066..8ffa070b4 100644 --- a/0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch +++ b/0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch @@ -84,10 +84,10 @@ index bbf7029e224b..cf7faa970dd6 100644 dmi_decode_ipmi((const struct dmi_header *) dev->device_data); diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c -index c48d8f086382..0fc980a87ed0 100644 +index e1b22fe0916c..894eda427214 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c -@@ -33,6 +33,7 @@ +@@ -34,6 +34,7 @@ #include <linux/uuid.h> #include <linux/nospec.h> #include <linux/vmalloc.h> @@ -95,7 +95,7 @@ index c48d8f086382..0fc980a87ed0 100644 #define IPMI_DRIVER_VERSION "39.2" -@@ -5154,8 +5155,21 @@ static int __init ipmi_init_msghandler_mod(void) +@@ -5155,8 +5156,21 @@ static int __init ipmi_init_msghandler_mod(void) { int rv; diff --git a/0001-kABI-Add-generic-kABI-macros-to-use-for-kABI-workaro.patch b/0001-kABI-Add-generic-kABI-macros-to-use-for-kABI-workaro.patch deleted file mode 100644 index 4b895c6c4..000000000 --- a/0001-kABI-Add-generic-kABI-macros-to-use-for-kABI-workaro.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Myron Stowe <myron.stowe@redhat.com> -Date: Fri, 29 Jun 2018 20:05:41 -0400 -Subject: [PATCH] kABI: Add generic kABI macros to use for kABI workarounds - -Message-id: <20180629200436.151355.18581.stgit@tak.stowe> -Patchwork-id: 223206 -O-Subject: [RHEL8.0 PATCH v3] kABI: Add generic kABI macros to use for kABI workarounds -Bugzilla: 1546831 -RH-Acked-by: Larry Woodman <lwoodman@redhat.com> -RH-Acked-by: Jarod Wilson <jarod@redhat.com> - -Some kernel subsystem maintainers have asked about kABI for RHEL8.0 -- getting kABI related "extension" structures and such into place. The -consensus was to wait until the 4.17 re-base. Now that that's occurred, -lets get this first step, kABI macros, into RHEL8.0 so developers will -notice, and use, them in subsequent kABI related efforts. - -Content taken from RHEL 7. No functional change intended. - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1546831 -Brew: https://brewweb.devel.redhat.com/taskinfo?taskID=16694565 -Upstream Status: N/A (RHEL only) -Testing: Passed through brew build. - -Upstream Status: RHEL only -Signed-off-by: Myron Stowe <myron.stowe@redhat.com> -Signed-off-by: Herton R. Krzesinski <herton@redhat.com> ---- - include/linux/rh_kabi.h | 172 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 172 insertions(+) - create mode 100644 include/linux/rh_kabi.h - -diff --git a/include/linux/rh_kabi.h b/include/linux/rh_kabi.h -new file mode 100644 -index 000000000000..e0d3353802bb ---- /dev/null -+++ b/include/linux/rh_kabi.h -@@ -0,0 +1,172 @@ -+/* -+ * rh_kabi.h - Red Hat kABI abstraction header -+ * -+ * Copyright (c) 2014 Don Zickus -+ * Copyright (c) 2015-2017 Jiri Benc -+ * Copyright (c) 2015 Sabrina Dubroca, Hannes Frederic Sowa -+ * Copyright (c) 2016-2018 Prarit Bhargava -+ * Copyright (c) 2017 Paolo Abeni, Larry Woodman -+ * -+ * This file is released under the GPLv2. -+ * See the file COPYING for more details. -+ * -+ * These kabi macros hide the changes from the kabi checker and from the -+ * process that computes the exported symbols' checksums. -+ * They have 2 variants: one (defined under __GENKSYMS__) used when -+ * generating the checksums, and the other used when building the kernel's -+ * binaries. -+ * -+ * The use of these macros does not guarantee that the usage and modification -+ * of code is correct. As with all Red Hat only changes, an engineer must -+ * explain why the use of the macro is valid in the patch containing the -+ * changes. -+ * -+ */ -+ -+#ifndef _LINUX_RH_KABI_H -+#define _LINUX_RH_KABI_H -+ -+#include <linux/compiler.h> -+#include <linux/stringify.h> -+ -+/* -+ * RH_KABI_CONST -+ * Adds a new const modifier to a function parameter preserving the old -+ * checksum. -+ * -+ * RH_KABI_DEPRECATE -+ * Mark the element as deprecated and make it unusable by modules while -+ * preserving kABI checksums. -+ * -+ * RH_KABI_DEPRECATE_FN -+ * Mark the function pointer as deprecated and make it unusable by modules -+ * while preserving kABI checksums. -+ * -+ * RH_KABI_EXTEND -+ * Simple macro for adding a new element to a struct. -+ * -+ * Warning: only use if a hole exists for _all_ arches. Use pahole to verify. -+ * -+ * RH_KABI_FILL_HOLE -+ * Simple macro for filling a hole in a struct. -+ * -+ * RH_KABI_RENAME -+ * Simple macro for renaming an element without changing its type. This -+ * macro can be used in bitfields, for example. -+ * -+ * NOTE: does not include the final ';' -+ * -+ * RH_KABI_REPLACE -+ * Simple replacement of _orig with a union of _orig and _new. -+ * -+ * The RH_KABI_REPLACE* macros attempt to add the ability to use the '_new' -+ * element while preserving size alignment with the '_orig' element. -+ * -+ * The #ifdef __GENKSYMS__ preserves the kABI agreement, while the anonymous -+ * union structure preserves the size alignment (assuming the '_new' element -+ * is not bigger than the '_orig' element). -+ * -+ * RH_KABI_REPLACE_UNSAFE -+ * Unsafe version of RH_KABI_REPLACE. Only use for typedefs. -+ * -+ * RH_KABI_FORCE_CHANGE -+ * Force change of the symbol checksum. The argument of the macro is a -+ * version for cases we need to do this more than once. -+ * -+ * This macro does the opposite: it changes the symbol checksum without -+ * actually changing anything about the exported symbol. It is useful for -+ * symbols that are not whitelisted, we're changing them in an -+ * incompatible way and want to prevent 3rd party modules to silently -+ * corrupt memory. Instead, by changing the symbol checksum, such modules -+ * won't be loaded by the kernel. This macro should only be used as a -+ * last resort when all other KABI workarounds have failed. -+ * -+ * NOTE -+ * Don't use ';' after these macros as it messes up the kABI checker by -+ * changing what the resulting token string looks like. Instead let this -+ * macro add the ';' so it can be properly hidden from the kABI checker -+ * (mainly for RH_KABI_EXTEND, but applied to all macros for uniformity). -+ * -+ */ -+#ifdef __GENKSYMS__ -+ -+# define RH_KABI_CONST -+# define RH_KABI_EXTEND(_new) -+# define RH_KABI_FILL_HOLE(_new) -+# define RH_KABI_FORCE_CHANGE(ver) __attribute__((rh_kabi_change ## ver)) -+# define RH_KABI_RENAME(_orig, _new) _orig -+ -+# define _RH_KABI_DEPRECATE(_type, _orig) _type _orig -+# define _RH_KABI_DEPRECATE_FN(_type, _orig, _args...) _type (*_orig)(_args) -+# define _RH_KABI_REPLACE(_orig, _new) _orig -+# define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _orig -+ -+#else -+ -+# define RH_KABI_ALIGN_WARNING ". Disable CONFIG_RH_KABI_SIZE_ALIGN_CHECKS if debugging." -+ -+# define RH_KABI_CONST const -+# define RH_KABI_EXTEND(_new) _new; -+# define RH_KABI_FILL_HOLE(_new) _new; -+# define RH_KABI_FORCE_CHANGE(ver) -+# define RH_KABI_RENAME(_orig, _new) _new -+ -+ -+#if IS_BUILTIN(CONFIG_RH_KABI_SIZE_ALIGN_CHECKS) -+# define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new) \ -+ union { \ -+ _Static_assert(sizeof(struct{_new;}) <= sizeof(struct{_orig;}), \ -+ __FILE__ ":" __stringify(__LINE__) ": " __stringify(_new) " is larger than " __stringify(_orig) RH_KABI_ALIGN_WARNING); \ -+ _Static_assert(__alignof__(struct{_new;}) <= __alignof__(struct{_orig;}), \ -+ __FILE__ ":" __stringify(__LINE__) ": " __stringify(_orig) " is not aligned the same as " __stringify(_new) RH_KABI_ALIGN_WARNING); \ -+ } -+#else -+# define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new) -+#endif -+ -+# define _RH_KABI_DEPRECATE(_type, _orig) _type rh_reserved_##_orig -+# define _RH_KABI_DEPRECATE_FN(_type, _orig, _args...) \ -+ _type (* rh_reserved_##_orig)(_args) -+# define _RH_KABI_REPLACE(_orig, _new) \ -+ union { \ -+ _new; \ -+ struct { \ -+ _orig; \ -+ } __UNIQUE_ID(rh_kabi_hide); \ -+ __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new); \ -+ } -+# define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _new -+ -+#endif /* __GENKSYMS__ */ -+ -+/* semicolon added wrappers for the RH_KABI_REPLACE macros */ -+# define RH_KABI_DEPRECATE(_type, _orig) _RH_KABI_DEPRECATE(_type, _orig); -+# define RH_KABI_DEPRECATE_FN(_type, _orig, _args...) \ -+ _RH_KABI_DEPRECATE_FN(_type, _orig, _args); -+# define RH_KABI_REPLACE(_orig, _new) _RH_KABI_REPLACE(_orig, _new); -+# define RH_KABI_REPLACE_UNSAFE(_orig, _new) _RH_KABI_REPLACE_UNSAFE(_orig, _new); -+/* -+ * Macro for breaking up a random element into two smaller chunks using an -+ * anonymous struct inside an anonymous union. -+ */ -+# define RH_KABI_REPLACE2(orig, _new1, _new2) RH_KABI_REPLACE(orig, struct{ _new1; _new2;}) -+ -+# define RH_KABI_RESERVE(n) _RH_KABI_RESERVE(n); -+/* -+ * Simple wrappers to replace standard Red Hat reserved elements. -+ */ -+# define RH_KABI_USE(n, _new) RH_KABI_REPLACE(_RH_KABI_RESERVE(n), _new) -+/* -+ * Macros for breaking up a reserved element into two smaller chunks using -+ * an anonymous struct inside an anonymous union. -+ */ -+# define RH_KABI_USE2(n, _new1, _new2) RH_KABI_REPLACE(_RH_KABI_RESERVE(n), struct{ _new1; _new2; }) -+ -+/* -+ * We tried to standardize on Red Hat reserved names. These wrappers -+ * leverage those common names making it easier to read and find in the -+ * code. -+ */ -+# define _RH_KABI_RESERVE(n) unsigned long rh_reserved##n -+ -+#endif /* _LINUX_RH_KABI_H */ --- -2.26.2 - diff --git a/0001-kdump-add-support-for-crashkernel-auto.patch b/0001-kdump-add-support-for-crashkernel-auto.patch index 83eb38e6d..115110146 100644 --- a/0001-kdump-add-support-for-crashkernel-auto.patch +++ b/0001-kdump-add-support-for-crashkernel-auto.patch @@ -138,7 +138,7 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> 2 files changed, 25 insertions(+) diff --git a/Documentation/admin-guide/kdump/kdump.rst b/Documentation/admin-guide/kdump/kdump.rst -index ac7e131d2935..3b3bf30e537d 100644 +index 2da65fef2a1c..d53a524f80f0 100644 --- a/Documentation/admin-guide/kdump/kdump.rst +++ b/Documentation/admin-guide/kdump/kdump.rst @@ -285,6 +285,17 @@ This would mean: diff --git a/0001-kms-gv100-Add-support-for-interlaced-modes.patch b/0001-kms-gv100-Add-support-for-interlaced-modes.patch deleted file mode 100644 index c50c826b8..000000000 --- a/0001-kms-gv100-Add-support-for-interlaced-modes.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Lyude Paul <lyude@redhat.com> -Date: Mon, 11 May 2020 18:41:25 -0400 -Subject: [PATCH] kms/gv100-: Add support for interlaced modes - -We advertise being able to set interlaced modes, so let's actually make -sure to do that. Otherwise, we'll end up hanging the display engine due -to trying to set a mode with timings adjusted for interlacing without -telling the hardware it's actually an interlaced mode. - -Signed-off-by: Lyude Paul <lyude@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/dispnv50/headc37d.c | 5 +++-- - drivers/gpu/drm/nouveau/dispnv50/headc57d.c | 5 +++-- - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/dispnv50/headc37d.c b/drivers/gpu/drm/nouveau/dispnv50/headc37d.c -index 00011ce109a6..4a9a32b89f74 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/headc37d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/headc37d.c -@@ -168,14 +168,15 @@ headc37d_mode(struct nv50_head *head, struct nv50_head_atom *asyh) - struct nv50_dmac *core = &nv50_disp(head->base.base.dev)->core->chan; - struct nv50_head_mode *m = &asyh->mode; - u32 *push; -- if ((push = evo_wait(core, 12))) { -+ if ((push = evo_wait(core, 13))) { - evo_mthd(push, 0x2064 + (head->base.index * 0x400), 5); - evo_data(push, (m->v.active << 16) | m->h.active ); - evo_data(push, (m->v.synce << 16) | m->h.synce ); - evo_data(push, (m->v.blanke << 16) | m->h.blanke ); - evo_data(push, (m->v.blanks << 16) | m->h.blanks ); - evo_data(push, (m->v.blank2e << 16) | m->v.blank2s); -- evo_mthd(push, 0x200c + (head->base.index * 0x400), 1); -+ evo_mthd(push, 0x2008 + (head->base.index * 0x400), 2); -+ evo_data(push, m->interlace); - evo_data(push, m->clock * 1000); - evo_mthd(push, 0x2028 + (head->base.index * 0x400), 1); - evo_data(push, m->clock * 1000); -diff --git a/drivers/gpu/drm/nouveau/dispnv50/headc57d.c b/drivers/gpu/drm/nouveau/dispnv50/headc57d.c -index 938d910a1b1e..859131a8bc3c 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/headc57d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/headc57d.c -@@ -173,14 +173,15 @@ headc57d_mode(struct nv50_head *head, struct nv50_head_atom *asyh) - struct nv50_dmac *core = &nv50_disp(head->base.base.dev)->core->chan; - struct nv50_head_mode *m = &asyh->mode; - u32 *push; -- if ((push = evo_wait(core, 12))) { -+ if ((push = evo_wait(core, 13))) { - evo_mthd(push, 0x2064 + (head->base.index * 0x400), 5); - evo_data(push, (m->v.active << 16) | m->h.active ); - evo_data(push, (m->v.synce << 16) | m->h.synce ); - evo_data(push, (m->v.blanke << 16) | m->h.blanke ); - evo_data(push, (m->v.blanks << 16) | m->h.blanks ); - evo_data(push, (m->v.blank2e << 16) | m->v.blank2s); -- evo_mthd(push, 0x200c + (head->base.index * 0x400), 1); -+ evo_mthd(push, 0x2008 + (head->base.index * 0x400), 2); -+ evo_data(push, m->interlace); - evo_data(push, m->clock * 1000); - evo_mthd(push, 0x2028 + (head->base.index * 0x400), 1); - evo_data(push, m->clock * 1000); --- -2.26.2 - diff --git a/0001-kms-nv50-Initialize-core-channel-in-nouveau_display_.patch b/0001-kms-nv50-Initialize-core-channel-in-nouveau_display_.patch deleted file mode 100644 index b590bb06c..000000000 --- a/0001-kms-nv50-Initialize-core-channel-in-nouveau_display_.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Lyude Paul <lyude@redhat.com> -Date: Mon, 11 May 2020 18:41:23 -0400 -Subject: [PATCH] kms/nv50-: Initialize core channel in - nouveau_display_create() - -We'll need the core channel initialized and ready by the time that we -start creating modesetting objects, so that we can call the -NV507D_GET_CAPABILITIES method to make the hardware expose it's -modesetting capabilities for later probing. - -So, when loading the driver prepare the core channel from within -nouveau_display_create(). Everywhere else, we initialize the core -channel during resume. - -Signed-off-by: Lyude Paul <lyude@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/dispnv50/disp.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c -index 2625ed84fc44..2afd56b9887d 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/disp.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c -@@ -2373,7 +2373,8 @@ nv50_display_init(struct drm_device *dev, bool resume, bool runtime) - struct drm_encoder *encoder; - struct drm_plane *plane; - -- core->func->init(core); -+ if (resume || runtime) -+ core->func->init(core); - - list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { - if (encoder->encoder_type != DRM_MODE_ENCODER_DPMST) { -@@ -2460,6 +2461,8 @@ nv50_display_create(struct drm_device *dev) - if (ret) - goto out; - -+ disp->core->func->init(disp->core); -+ - /* create crtc objects to represent the hw heads */ - if (disp->disp->object.oclass >= GV100_DISP) - crtcs = nvif_rd32(&device->object, 0x610060) & 0xff; --- -2.26.2 - diff --git a/0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch b/0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch deleted file mode 100644 index 0a6a4cfa8..000000000 --- a/0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Lyude Paul <lyude@redhat.com> -Date: Mon, 11 May 2020 18:41:26 -0400 -Subject: [PATCH] kms/nv50-: Move 8BPC limit for MST into nv50_mstc_get_modes() - -This just limits the BPC for MST connectors to a maximum of 8 from -nv50_mstc_get_modes(), instead of doing so during -nv50_msto_atomic_check(). This doesn't introduce any functional changes -yet (other then userspace now lying about the max bpc, but we can't -support that yet anyway so meh). But, we'll need this in a moment so -that we can share mode validation between SST and MST which will fix -some real world issues. - -Signed-off-by: Lyude Paul <lyude@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/dispnv50/disp.c | 25 ++++++++++++++----------- - 1 file changed, 14 insertions(+), 11 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c -index 1db4f20b8697..e92e7bf49780 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/disp.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c -@@ -908,15 +908,9 @@ nv50_msto_atomic_check(struct drm_encoder *encoder, - if (!state->duplicated) { - const int clock = crtc_state->adjusted_mode.clock; - -- /* -- * XXX: Since we don't use HDR in userspace quite yet, limit -- * the bpc to 8 to save bandwidth on the topology. In the -- * future, we'll want to properly fix this by dynamically -- * selecting the highest possible bpc that would fit in the -- * topology -- */ -- asyh->or.bpc = min(connector->display_info.bpc, 8U); -- asyh->dp.pbn = drm_dp_calc_pbn_mode(clock, asyh->or.bpc * 3, false); -+ asyh->or.bpc = connector->display_info.bpc; -+ asyh->dp.pbn = drm_dp_calc_pbn_mode(clock, asyh->or.bpc * 3, -+ false); - } - - slots = drm_dp_atomic_find_vcpi_slots(state, &mstm->mgr, mstc->port, -@@ -1076,8 +1070,17 @@ nv50_mstc_get_modes(struct drm_connector *connector) - if (mstc->edid) - ret = drm_add_edid_modes(&mstc->connector, mstc->edid); - -- if (!mstc->connector.display_info.bpc) -- mstc->connector.display_info.bpc = 8; -+ /* -+ * XXX: Since we don't use HDR in userspace quite yet, limit the bpc -+ * to 8 to save bandwidth on the topology. In the future, we'll want -+ * to properly fix this by dynamically selecting the highest possible -+ * bpc that would fit in the topology -+ */ -+ if (connector->display_info.bpc) -+ connector->display_info.bpc = -+ clamp(connector->display_info.bpc, 6U, 8U); -+ else -+ connector->display_info.bpc = 8; - - if (mstc->native) - drm_mode_destroy(mstc->connector.dev, mstc->native); --- -2.26.2 - diff --git a/0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch b/0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch deleted file mode 100644 index e74501bef..000000000 --- a/0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch +++ /dev/null @@ -1,439 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Lyude Paul <lyude@redhat.com> -Date: Mon, 11 May 2020 18:41:24 -0400 -Subject: [PATCH] kms/nv50-: Probe SOR and PIOR caps for DP interlacing support - -Right now, we make the mistake of allowing interlacing on all -connectors. Nvidia hardware does not always support interlacing with DP -though, so we need to make sure that we don't allow interlaced modes to -be set in such situations as otherwise we'll end up accidentally hanging -the display HW. - -This fixes some hangs with Turing, which would be caused by attempting -to set an interlaced mode on hardware that doesn't support it. This -patch likely fixes other hardware hanging in the same way as well. - -Note that we say we probe PIOR caps, but they don't actually have any -interlacing caps. So, the get_caps() function for PIORs just sets -interlacing support to true. - -Changes since v1: -* Actually probe caps correctly this time, both on EVO and NVDisplay. -Changes since v2: -* Fix probing for < GF119 -* Use vfunc table, in prep for adding more caps in the future. - -Signed-off-by: Lyude Paul <lyude@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/dispnv50/core.h | 7 ++++++ - drivers/gpu/drm/nouveau/dispnv50/core507d.c | 15 ++++++++++++ - drivers/gpu/drm/nouveau/dispnv50/core827d.c | 1 + - drivers/gpu/drm/nouveau/dispnv50/core907d.c | 1 + - drivers/gpu/drm/nouveau/dispnv50/core917d.c | 1 + - drivers/gpu/drm/nouveau/dispnv50/corec37d.c | 26 +++++++++++++++++++++ - drivers/gpu/drm/nouveau/dispnv50/corec57d.c | 1 + - drivers/gpu/drm/nouveau/dispnv50/disp.c | 19 +++++++++++++-- - drivers/gpu/drm/nouveau/dispnv50/disp.h | 1 + - drivers/gpu/drm/nouveau/dispnv50/pior507d.c | 8 +++++++ - drivers/gpu/drm/nouveau/dispnv50/sor507d.c | 7 ++++++ - drivers/gpu/drm/nouveau/dispnv50/sor907d.c | 11 +++++++++ - drivers/gpu/drm/nouveau/dispnv50/sorc37d.c | 9 +++++++ - drivers/gpu/drm/nouveau/nouveau_connector.c | 10 +++++++- - drivers/gpu/drm/nouveau/nouveau_encoder.h | 4 ++++ - 15 files changed, 118 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/dispnv50/core.h b/drivers/gpu/drm/nouveau/dispnv50/core.h -index ff94f3f6f264..99157dc94d23 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/core.h -+++ b/drivers/gpu/drm/nouveau/dispnv50/core.h -@@ -2,6 +2,7 @@ - #define __NV50_KMS_CORE_H__ - #include "disp.h" - #include "atom.h" -+#include <nouveau_encoder.h> - - struct nv50_core { - const struct nv50_core_func *func; -@@ -15,6 +16,7 @@ void nv50_core_del(struct nv50_core **); - struct nv50_core_func { - void (*init)(struct nv50_core *); - void (*ntfy_init)(struct nouveau_bo *, u32 offset); -+ int (*caps_init)(struct nouveau_drm *, struct nv50_disp *); - int (*ntfy_wait_done)(struct nouveau_bo *, u32 offset, - struct nvif_device *); - void (*update)(struct nv50_core *, u32 *interlock, bool ntfy); -@@ -27,6 +29,9 @@ struct nv50_core_func { - const struct nv50_outp_func { - void (*ctrl)(struct nv50_core *, int or, u32 ctrl, - struct nv50_head_atom *); -+ /* XXX: Only used by SORs and PIORs for now */ -+ void (*get_caps)(struct nv50_disp *, -+ struct nouveau_encoder *, int or); - } *dac, *pior, *sor; - }; - -@@ -35,6 +40,7 @@ int core507d_new_(const struct nv50_core_func *, struct nouveau_drm *, s32, - struct nv50_core **); - void core507d_init(struct nv50_core *); - void core507d_ntfy_init(struct nouveau_bo *, u32); -+int core507d_caps_init(struct nouveau_drm *, struct nv50_disp *); - int core507d_ntfy_wait_done(struct nouveau_bo *, u32, struct nvif_device *); - void core507d_update(struct nv50_core *, u32 *, bool); - -@@ -51,6 +57,7 @@ extern const struct nv50_outp_func sor907d; - int core917d_new(struct nouveau_drm *, s32, struct nv50_core **); - - int corec37d_new(struct nouveau_drm *, s32, struct nv50_core **); -+int corec37d_caps_init(struct nouveau_drm *, struct nv50_disp *); - int corec37d_ntfy_wait_done(struct nouveau_bo *, u32, struct nvif_device *); - void corec37d_update(struct nv50_core *, u32 *, bool); - void corec37d_wndw_owner(struct nv50_core *); -diff --git a/drivers/gpu/drm/nouveau/dispnv50/core507d.c b/drivers/gpu/drm/nouveau/dispnv50/core507d.c -index c5152c39c684..e341f572c269 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/core507d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/core507d.c -@@ -62,6 +62,20 @@ core507d_ntfy_init(struct nouveau_bo *bo, u32 offset) - nouveau_bo_wr32(bo, offset / 4, 0x00000000); - } - -+int -+core507d_caps_init(struct nouveau_drm *drm, struct nv50_disp *disp) -+{ -+ u32 *push = evo_wait(&disp->core->chan, 2); -+ -+ if (push) { -+ evo_mthd(push, 0x008c, 1); -+ evo_data(push, 0x0); -+ evo_kick(push, &disp->core->chan); -+ } -+ -+ return 0; -+} -+ - void - core507d_init(struct nv50_core *core) - { -@@ -77,6 +91,7 @@ static const struct nv50_core_func - core507d = { - .init = core507d_init, - .ntfy_init = core507d_ntfy_init, -+ .caps_init = core507d_caps_init, - .ntfy_wait_done = core507d_ntfy_wait_done, - .update = core507d_update, - .head = &head507d, -diff --git a/drivers/gpu/drm/nouveau/dispnv50/core827d.c b/drivers/gpu/drm/nouveau/dispnv50/core827d.c -index 6123a068f836..2e0c1c536afe 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/core827d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/core827d.c -@@ -26,6 +26,7 @@ static const struct nv50_core_func - core827d = { - .init = core507d_init, - .ntfy_init = core507d_ntfy_init, -+ .caps_init = core507d_caps_init, - .ntfy_wait_done = core507d_ntfy_wait_done, - .update = core507d_update, - .head = &head827d, -diff --git a/drivers/gpu/drm/nouveau/dispnv50/core907d.c b/drivers/gpu/drm/nouveau/dispnv50/core907d.c -index ef822f813435..271629832629 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/core907d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/core907d.c -@@ -26,6 +26,7 @@ static const struct nv50_core_func - core907d = { - .init = core507d_init, - .ntfy_init = core507d_ntfy_init, -+ .caps_init = core507d_caps_init, - .ntfy_wait_done = core507d_ntfy_wait_done, - .update = core507d_update, - .head = &head907d, -diff --git a/drivers/gpu/drm/nouveau/dispnv50/core917d.c b/drivers/gpu/drm/nouveau/dispnv50/core917d.c -index 392338df5bfd..5cc072d4c30f 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/core917d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/core917d.c -@@ -26,6 +26,7 @@ static const struct nv50_core_func - core917d = { - .init = core507d_init, - .ntfy_init = core507d_ntfy_init, -+ .caps_init = core507d_caps_init, - .ntfy_wait_done = core507d_ntfy_wait_done, - .update = core507d_update, - .head = &head917d, -diff --git a/drivers/gpu/drm/nouveau/dispnv50/corec37d.c b/drivers/gpu/drm/nouveau/dispnv50/corec37d.c -index c03cb987856b..e0c8811fb8e4 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/corec37d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/corec37d.c -@@ -22,6 +22,7 @@ - #include "core.h" - #include "head.h" - -+#include <nvif/class.h> - #include <nouveau_bo.h> - - #include <nvif/timer.h> -@@ -87,6 +88,30 @@ corec37d_ntfy_init(struct nouveau_bo *bo, u32 offset) - nouveau_bo_wr32(bo, offset / 4 + 3, 0x00000000); - } - -+int corec37d_caps_init(struct nouveau_drm *drm, struct nv50_disp *disp) -+{ -+ int ret; -+ -+ ret = nvif_object_init(&disp->disp->object, 0, GV100_DISP_CAPS, -+ NULL, 0, &disp->caps); -+ if (ret) { -+ NV_ERROR(drm, -+ "Failed to init notifier caps region: %d\n", -+ ret); -+ return ret; -+ } -+ -+ ret = nvif_object_map(&disp->caps, NULL, 0); -+ if (ret) { -+ NV_ERROR(drm, -+ "Failed to map notifier caps region: %d\n", -+ ret); -+ return ret; -+ } -+ -+ return 0; -+} -+ - static void - corec37d_init(struct nv50_core *core) - { -@@ -111,6 +136,7 @@ static const struct nv50_core_func - corec37d = { - .init = corec37d_init, - .ntfy_init = corec37d_ntfy_init, -+ .caps_init = corec37d_caps_init, - .ntfy_wait_done = corec37d_ntfy_wait_done, - .update = corec37d_update, - .wndw.owner = corec37d_wndw_owner, -diff --git a/drivers/gpu/drm/nouveau/dispnv50/corec57d.c b/drivers/gpu/drm/nouveau/dispnv50/corec57d.c -index 147adcd60937..10ba9e9e4ae6 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/corec57d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/corec57d.c -@@ -46,6 +46,7 @@ static const struct nv50_core_func - corec57d = { - .init = corec57d_init, - .ntfy_init = corec37d_ntfy_init, -+ .caps_init = corec37d_caps_init, - .ntfy_wait_done = corec37d_ntfy_wait_done, - .update = corec37d_update, - .wndw.owner = corec37d_wndw_owner, -diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c -index 2afd56b9887d..1db4f20b8697 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/disp.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c -@@ -1663,6 +1663,7 @@ nv50_sor_create(struct drm_connector *connector, struct dcb_output *dcbe) - struct nvkm_i2c *i2c = nvxx_i2c(&drm->client.device); - struct nouveau_encoder *nv_encoder; - struct drm_encoder *encoder; -+ struct nv50_disp *disp = nv50_disp(connector->dev); - int type, ret; - - switch (dcbe->type) { -@@ -1689,10 +1690,12 @@ nv50_sor_create(struct drm_connector *connector, struct dcb_output *dcbe) - - drm_connector_attach_encoder(connector, encoder); - -+ disp->core->func->sor->get_caps(disp, nv_encoder, ffs(dcbe->or) - 1); -+ - if (dcbe->type == DCB_OUTPUT_DP) { -- struct nv50_disp *disp = nv50_disp(encoder->dev); - struct nvkm_i2c_aux *aux = - nvkm_i2c_aux_find(i2c, dcbe->i2c_index); -+ - if (aux) { - if (disp->disp->object.oclass < GF110_DISP) { - /* HW has no support for address-only -@@ -1805,7 +1808,9 @@ nv50_pior_func = { - static int - nv50_pior_create(struct drm_connector *connector, struct dcb_output *dcbe) - { -- struct nouveau_drm *drm = nouveau_drm(connector->dev); -+ struct drm_device *dev = connector->dev; -+ struct nouveau_drm *drm = nouveau_drm(dev); -+ struct nv50_disp *disp = nv50_disp(dev); - struct nvkm_i2c *i2c = nvxx_i2c(&drm->client.device); - struct nvkm_i2c_bus *bus = NULL; - struct nvkm_i2c_aux *aux = NULL; -@@ -1844,6 +1849,9 @@ nv50_pior_create(struct drm_connector *connector, struct dcb_output *dcbe) - drm_encoder_helper_add(encoder, &nv50_pior_help); - - drm_connector_attach_encoder(connector, encoder); -+ -+ disp->core->func->pior->get_caps(disp, nv_encoder, ffs(dcbe->or) - 1); -+ - return 0; - } - -@@ -2401,6 +2409,8 @@ nv50_display_destroy(struct drm_device *dev) - - nv50_audio_component_fini(nouveau_drm(dev)); - -+ nvif_object_unmap(&disp->caps); -+ nvif_object_fini(&disp->caps); - nv50_core_del(&disp->core); - - nouveau_bo_unmap(disp->sync); -@@ -2462,6 +2472,11 @@ nv50_display_create(struct drm_device *dev) - goto out; - - disp->core->func->init(disp->core); -+ if (disp->core->func->caps_init) { -+ ret = disp->core->func->caps_init(drm, disp); -+ if (ret) -+ goto out; -+ } - - /* create crtc objects to represent the hw heads */ - if (disp->disp->object.oclass >= GV100_DISP) -diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.h b/drivers/gpu/drm/nouveau/dispnv50/disp.h -index d54fe00ac3a3..89c3b38c32a5 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/disp.h -+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.h -@@ -9,6 +9,7 @@ struct nv50_msto; - struct nv50_disp { - struct nvif_disp *disp; - struct nv50_core *core; -+ struct nvif_object caps; - - #define NV50_DISP_SYNC(c, o) ((c) * 0x040 + (o)) - #define NV50_DISP_CORE_NTFY NV50_DISP_SYNC(0 , 0x00) -diff --git a/drivers/gpu/drm/nouveau/dispnv50/pior507d.c b/drivers/gpu/drm/nouveau/dispnv50/pior507d.c -index d2bac6a341dc..45d8ce7d2c28 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/pior507d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/pior507d.c -@@ -38,7 +38,15 @@ pior507d_ctrl(struct nv50_core *core, int or, u32 ctrl, - } - } - -+static void -+pior507d_get_caps(struct nv50_disp *disp, struct nouveau_encoder *outp, -+ int or) -+{ -+ outp->caps.dp_interlace = true; -+} -+ - const struct nv50_outp_func - pior507d = { - .ctrl = pior507d_ctrl, -+ .get_caps = pior507d_get_caps, - }; -diff --git a/drivers/gpu/drm/nouveau/dispnv50/sor507d.c b/drivers/gpu/drm/nouveau/dispnv50/sor507d.c -index 5222fe6a9b21..9a59fa7da00d 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/sor507d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/sor507d.c -@@ -38,7 +38,14 @@ sor507d_ctrl(struct nv50_core *core, int or, u32 ctrl, - } - } - -+static void -+sor507d_get_caps(struct nv50_disp *core, struct nouveau_encoder *outp, int or) -+{ -+ outp->caps.dp_interlace = true; -+} -+ - const struct nv50_outp_func - sor507d = { - .ctrl = sor507d_ctrl, -+ .get_caps = sor507d_get_caps, - }; -diff --git a/drivers/gpu/drm/nouveau/dispnv50/sor907d.c b/drivers/gpu/drm/nouveau/dispnv50/sor907d.c -index b0314ec11fb3..9577ccf1c809 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/sor907d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/sor907d.c -@@ -21,6 +21,7 @@ - */ - #include "core.h" - -+#include <nouveau_bo.h> - #include <nvif/class.h> - - static void -@@ -35,7 +36,17 @@ sor907d_ctrl(struct nv50_core *core, int or, u32 ctrl, - } - } - -+static void -+sor907d_get_caps(struct nv50_disp *disp, struct nouveau_encoder *outp, int or) -+{ -+ const int off = or * 2; -+ u32 tmp = nouveau_bo_rd32(disp->sync, 0x000014 + off); -+ -+ outp->caps.dp_interlace = !!(tmp & 0x04000000); -+} -+ - const struct nv50_outp_func - sor907d = { - .ctrl = sor907d_ctrl, -+ .get_caps = sor907d_get_caps, - }; -diff --git a/drivers/gpu/drm/nouveau/dispnv50/sorc37d.c b/drivers/gpu/drm/nouveau/dispnv50/sorc37d.c -index dff059241c5d..c86ca955fdcd 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/sorc37d.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/sorc37d.c -@@ -33,7 +33,16 @@ sorc37d_ctrl(struct nv50_core *core, int or, u32 ctrl, - } - } - -+static void -+sorc37d_get_caps(struct nv50_disp *disp, struct nouveau_encoder *outp, int or) -+{ -+ u32 tmp = nvif_rd32(&disp->caps, 0x000144 + (or * 8)); -+ -+ outp->caps.dp_interlace = !!(tmp & 0x04000000); -+} -+ - const struct nv50_outp_func - sorc37d = { - .ctrl = sorc37d_ctrl, -+ .get_caps = sorc37d_get_caps, - }; -diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c -index 9a9a7f5003d3..6dae00da5d7e 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_connector.c -+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c -@@ -509,7 +509,11 @@ nouveau_connector_set_encoder(struct drm_connector *connector, - nv_connector->detected_encoder = nv_encoder; - - if (drm->client.device.info.family >= NV_DEVICE_INFO_V0_TESLA) { -- connector->interlace_allowed = true; -+ if (nv_encoder->dcb->type == DCB_OUTPUT_DP) -+ connector->interlace_allowed = -+ nv_encoder->caps.dp_interlace; -+ else -+ connector->interlace_allowed = true; - connector->doublescan_allowed = true; - } else - if (nv_encoder->dcb->type == DCB_OUTPUT_LVDS || -@@ -1060,6 +1064,10 @@ nouveau_connector_mode_valid(struct drm_connector *connector, - case DCB_OUTPUT_TV: - return get_slave_funcs(encoder)->mode_valid(encoder, mode); - case DCB_OUTPUT_DP: -+ if (mode->flags & DRM_MODE_FLAG_INTERLACE && -+ !nv_encoder->caps.dp_interlace) -+ return MODE_NO_INTERLACE; -+ - max_clock = nv_encoder->dp.link_nr; - max_clock *= nv_encoder->dp.link_bw; - clock = clock * (connector->display_info.bpc * 3) / 10; -diff --git a/drivers/gpu/drm/nouveau/nouveau_encoder.h b/drivers/gpu/drm/nouveau/nouveau_encoder.h -index 3517f920bf89..3217f587eceb 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_encoder.h -+++ b/drivers/gpu/drm/nouveau/nouveau_encoder.h -@@ -66,6 +66,10 @@ struct nouveau_encoder { - } dp; - }; - -+ struct { -+ bool dp_interlace : 1; -+ } caps; -+ - void (*enc_save)(struct drm_encoder *encoder); - void (*enc_restore)(struct drm_encoder *encoder); - void (*update)(struct nouveau_encoder *, u8 head, --- -2.26.2 - diff --git a/0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch b/0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch deleted file mode 100644 index c14aed7ea..000000000 --- a/0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Lyude Paul <lyude@redhat.com> -Date: Mon, 11 May 2020 18:41:27 -0400 -Subject: [PATCH] kms/nv50-: Share DP SST mode_valid() handling with MST - -Currently, the nv50_mstc_mode_valid() function is happy to take any and -all modes, even the ones we can't actually support sometimes like -interlaced modes. - -Luckily, the only difference between the mode validation that needs to -be performed for MST vs. SST is that eventually we'll need to check the -minimum PBN against the MSTB's full PBN capabilities (remember-we don't -care about the current bw state here). Otherwise, all of the other code -can be shared. - -So, we move all of the common mode validation in -nouveau_connector_mode_valid() into a separate helper, -nv50_dp_mode_valid(), and use that from both nv50_mstc_mode_valid() and -nouveau_connector_mode_valid(). Note that we allow for returning the -calculated clock that nv50_dp_mode_valid() came up with, since we'll -eventually want to use that for PBN calculation in -nv50_mstc_mode_valid(). - -Signed-off-by: Lyude Paul <lyude@redhat.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/dispnv50/disp.c | 9 +++- - drivers/gpu/drm/nouveau/nouveau_connector.c | 46 ++++++++++++--------- - drivers/gpu/drm/nouveau/nouveau_connector.h | 5 +++ - drivers/gpu/drm/nouveau/nouveau_dp.c | 31 ++++++++++++++ - drivers/gpu/drm/nouveau/nouveau_encoder.h | 4 ++ - 5 files changed, 75 insertions(+), 20 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c -index e92e7bf49780..d5d69532f3c5 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/disp.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c -@@ -1056,7 +1056,14 @@ static enum drm_mode_status - nv50_mstc_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) - { -- return MODE_OK; -+ struct nv50_mstc *mstc = nv50_mstc(connector); -+ struct nouveau_encoder *outp = mstc->mstm->outp; -+ -+ /* TODO: calculate the PBN from the dotclock and validate against the -+ * MSTB's max possible PBN -+ */ -+ -+ return nv50_dp_mode_valid(connector, outp, mode, NULL); - } - - static int -diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c -index 6dae00da5d7e..1b383ae0248f 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_connector.c -+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c -@@ -38,6 +38,7 @@ - #include "nouveau_reg.h" - #include "nouveau_drv.h" - #include "dispnv04/hw.h" -+#include "dispnv50/disp.h" - #include "nouveau_acpi.h" - - #include "nouveau_display.h" -@@ -1033,6 +1034,29 @@ get_tmds_link_bandwidth(struct drm_connector *connector) - return 112000 * duallink_scale; - } - -+enum drm_mode_status -+nouveau_conn_mode_clock_valid(const struct drm_display_mode *mode, -+ const unsigned min_clock, -+ const unsigned max_clock, -+ unsigned int *clock_out) -+{ -+ unsigned int clock = mode->clock; -+ -+ if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == -+ DRM_MODE_FLAG_3D_FRAME_PACKING) -+ clock *= 2; -+ -+ if (clock < min_clock) -+ return MODE_CLOCK_LOW; -+ if (clock > max_clock) -+ return MODE_CLOCK_HIGH; -+ -+ if (clock_out) -+ *clock_out = clock; -+ -+ return MODE_OK; -+} -+ - static enum drm_mode_status - nouveau_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) -@@ -1041,7 +1065,6 @@ nouveau_connector_mode_valid(struct drm_connector *connector, - struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder; - struct drm_encoder *encoder = to_drm_encoder(nv_encoder); - unsigned min_clock = 25000, max_clock = min_clock; -- unsigned clock = mode->clock; - - switch (nv_encoder->dcb->type) { - case DCB_OUTPUT_LVDS: -@@ -1064,29 +1087,14 @@ nouveau_connector_mode_valid(struct drm_connector *connector, - case DCB_OUTPUT_TV: - return get_slave_funcs(encoder)->mode_valid(encoder, mode); - case DCB_OUTPUT_DP: -- if (mode->flags & DRM_MODE_FLAG_INTERLACE && -- !nv_encoder->caps.dp_interlace) -- return MODE_NO_INTERLACE; -- -- max_clock = nv_encoder->dp.link_nr; -- max_clock *= nv_encoder->dp.link_bw; -- clock = clock * (connector->display_info.bpc * 3) / 10; -- break; -+ return nv50_dp_mode_valid(connector, nv_encoder, mode, NULL); - default: - BUG(); - return MODE_BAD; - } - -- if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == DRM_MODE_FLAG_3D_FRAME_PACKING) -- clock *= 2; -- -- if (clock < min_clock) -- return MODE_CLOCK_LOW; -- -- if (clock > max_clock) -- return MODE_CLOCK_HIGH; -- -- return MODE_OK; -+ return nouveau_conn_mode_clock_valid(mode, min_clock, max_clock, -+ NULL); - } - - static struct drm_encoder * -diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.h b/drivers/gpu/drm/nouveau/nouveau_connector.h -index de84fb4708c7..9e062c7adec8 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_connector.h -+++ b/drivers/gpu/drm/nouveau/nouveau_connector.h -@@ -195,6 +195,11 @@ int nouveau_conn_atomic_get_property(struct drm_connector *, - const struct drm_connector_state *, - struct drm_property *, u64 *); - struct drm_display_mode *nouveau_conn_native_mode(struct drm_connector *); -+enum drm_mode_status -+nouveau_conn_mode_clock_valid(const struct drm_display_mode *, -+ const unsigned min_clock, -+ const unsigned max_clock, -+ unsigned *clock); - - #ifdef CONFIG_DRM_NOUVEAU_BACKLIGHT - extern int nouveau_backlight_init(struct drm_connector *); -diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c -index 2674f1587457..8a0f7994e1ae 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_dp.c -+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c -@@ -98,3 +98,34 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder) - return NOUVEAU_DP_SST; - return ret; - } -+ -+/* TODO: -+ * - Use the minimum possible BPC here, once we add support for the max bpc -+ * property. -+ * - Validate the mode against downstream port caps (see -+ * drm_dp_downstream_max_clock()) -+ * - Validate against the DP caps advertised by the GPU (we don't check these -+ * yet) -+ */ -+enum drm_mode_status -+nv50_dp_mode_valid(struct drm_connector *connector, -+ struct nouveau_encoder *outp, -+ const struct drm_display_mode *mode, -+ unsigned *out_clock) -+{ -+ const unsigned min_clock = 25000; -+ unsigned max_clock, clock; -+ enum drm_mode_status ret; -+ -+ if (mode->flags & DRM_MODE_FLAG_INTERLACE && !outp->caps.dp_interlace) -+ return MODE_NO_INTERLACE; -+ -+ max_clock = outp->dp.link_nr * outp->dp.link_bw; -+ clock = mode->clock * (connector->display_info.bpc * 3) / 10; -+ -+ ret = nouveau_conn_mode_clock_valid(mode, min_clock, max_clock, -+ &clock); -+ if (out_clock) -+ *out_clock = clock; -+ return ret; -+} -diff --git a/drivers/gpu/drm/nouveau/nouveau_encoder.h b/drivers/gpu/drm/nouveau/nouveau_encoder.h -index 3217f587eceb..de51733b0476 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_encoder.h -+++ b/drivers/gpu/drm/nouveau/nouveau_encoder.h -@@ -104,6 +104,10 @@ enum nouveau_dp_status { - }; - - int nouveau_dp_detect(struct nouveau_encoder *); -+enum drm_mode_status nv50_dp_mode_valid(struct drm_connector *, -+ struct nouveau_encoder *, -+ const struct drm_display_mode *, -+ unsigned *clock); - - struct nouveau_connector * - nouveau_encoder_connector_get(struct nouveau_encoder *encoder); --- -2.26.2 - diff --git a/0001-mmu-Remove-unneeded-semicolon.patch b/0001-mmu-Remove-unneeded-semicolon.patch deleted file mode 100644 index 3931ff586..000000000 --- a/0001-mmu-Remove-unneeded-semicolon.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Zheng Bin <zhengbin13@huawei.com> -Date: Fri, 24 Apr 2020 15:36:01 +0800 -Subject: [PATCH] mmu: Remove unneeded semicolon - -Fixes coccicheck warning: - -drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h:307:2-3: Unneeded semicolon -drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c:583:2-3: Unneeded semicolon - -Reported-by: Hulk Robot <hulkci@huawei.com> -Signed-off-by: Zheng Bin <zhengbin13@huawei.com> -Signed-off-by: Ben Skeggs <bskeggs@redhat.com> ---- - drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c | 2 +- - drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c -index 41640e0584ac..199f94e15c5f 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c -+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.c -@@ -580,7 +580,7 @@ nvkm_vmm_iter(struct nvkm_vmm *vmm, const struct nvkm_vmm_page *page, - it.pte[it.lvl]++; - } - } -- }; -+ } - - nvkm_vmm_flush(&it); - return ~0ULL; -diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h -index 5e55ecbd8005..d3f8f916d0db 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h -+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/mmu/vmm.h -@@ -304,7 +304,7 @@ int tu102_vmm_new(struct nvkm_mmu *, bool, u64, u64, void *, u32, - FILL(VMM, PT, PTEI, _ptes, MAP, _addr); \ - PTEI += _ptes; \ - PTEN -= _ptes; \ -- }; \ -+ } \ - nvkm_done((PT)->memory); \ - } while(0) - --- -2.26.2 - diff --git a/0001-modules-add-rhelversion-MODULE_INFO-tag.patch b/0001-modules-add-rhelversion-MODULE_INFO-tag.patch deleted file mode 100644 index 5fbcc61e2..000000000 --- a/0001-modules-add-rhelversion-MODULE_INFO-tag.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Laura Abbott <labbott@redhat.com> -Date: Mon, 7 Jan 2019 21:03:10 +0000 -Subject: [PATCH] modules: add rhelversion MODULE_INFO tag - -There were several changes in the 5.0-rc1 kernel that required -this patch to be rebased with some context diff. - - Patchwork-id: 7379 - O-Subject: [kernel team] [RHEL8.0 BZ 1544999 1/2] modules: add rhelversion MODULE_INFO tag - Bugzilla: 1544999 - RH-Acked-by: Tony Camuso <tcamuso@redhat.com> - RH-Acked-by: Oleg Nesterov <oleg@redhat.com> - RH-Acked-by: Jarod Wilson <jarod@redhat.com> - - Bugzilla: http://bugzilla.redhat.com/1544999 - - kernel-alt commit 9816b4b6ca5d4c0504d8806ce99442c90afbc8e6 - Author: Prarit Bhargava <prarit@redhat.com> - Date: Fri Feb 9 18:09:26 2018 -0500 - - [kernel] modules: add rhelversion MODULE_INFO tag - - Message-id: <20180209180926.5955-3-prarit@redhat.com> - Patchwork-id: 205587 - O-Subject: [RHEL-ALT-7.5 BZ 1542796 2/2] modules: add rhelversion MODULE_INFO tag - Bugzilla: 1542796 - RH-Acked-by: David Arcari <darcari@redhat.com> - RH-Acked-by: Tony Camuso <tcamuso@redhat.com> - RH-Acked-by: Steve Best <sbest@redhat.com> - - Bugzilla: http://bugzilla.redhat.com/1542796 - - rhel7 commit 9af8c3992ce5fff253c49abc0dedb3ec77badba4 - Author: Kyle McMartin <kmcmarti@redhat.com> - Date: Fri Sep 12 17:46:12 2014 -0400 - - [kernel] modules: add rhelversion MODULE_INFO tag - - Message-id: <20140912174612.GS29420@redacted.bos.redhat.com> - Patchwork-id: 94052 - O-Subject: [RHEL7.1 PATCH 2/6 v4] modules: add rhelversion MODULE_INFO tag - Bugzilla: 1110315 - RH-Acked-by: Prarit Bhargava <prarit@redhat.com> - RH-Acked-by: Johannes Weiner <jweiner@redhat.com> - RH-Acked-by: Don Zickus <dzickus@redhat.com> - - From: Kyle McMartin <kmcmarti@redhat.com> - - Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1110315 - - >From kylem's RHEL8 post: - - Let's not lose this ability in RHEL8. Sadly can't be applied to RHEL7 - because it breaks KABI due to the struct module change. - - Inspired by bits of a147e4729d9920ccae2c717ca65c811cc0f93a1d in RHEL6, - which got lost for RHEL7.0. :/ - - Kyle is correct and doing this would break RHEL7's KABI. I'm taking this - patch in as a base and the next patch will resolve the KABI issues. - - [v2]: dzickus, cleanup add_rhelversion() - [v4]: resubmitted along with 16k stacks change - - Signed-off-by: Jarod Wilson <jarod@redhat.com> - - Cc: Richard Guy Briggs <rgb@redhat.com> - Cc: Peter Rajnoha <prajnoha@redhat.com> - Cc: Laura Abbott <labbott@redhat.com> - Cc: Josh Poimboeuf <jpoimboe@redhat.com> - Signed-off-by: Herton R. Krzesinski <herton@redhat.com> - -Upstream Status: RHEL only -Signed-off-by: Herton R. Krzesinski <herton@redhat.com> -Acked-by: Don Zickus <dzickus@redhat.com> -Acked-by: Prarit Bhargava <prarit@redhat.com> ---- - include/linux/module.h | 1 + - kernel/module.c | 2 ++ - scripts/mod/modpost.c | 8 ++++++++ - 3 files changed, 11 insertions(+) - -diff --git a/include/linux/module.h b/include/linux/module.h -index 1ad393e62bef..3fb19abee033 100644 ---- a/include/linux/module.h -+++ b/include/linux/module.h -@@ -371,6 +371,7 @@ struct module { - struct module_attribute *modinfo_attrs; - const char *version; - const char *srcversion; -+ const char *rhelversion; - struct kobject *holders_dir; - - /* Exported symbols */ -diff --git a/kernel/module.c b/kernel/module.c -index 646f1e2330d2..aed5b1fcadf8 100644 ---- a/kernel/module.c -+++ b/kernel/module.c -@@ -799,6 +799,7 @@ static struct module_attribute modinfo_##field = { \ - - MODINFO_ATTR(version); - MODINFO_ATTR(srcversion); -+MODINFO_ATTR(rhelversion); - - static char last_unloaded_module[MODULE_NAME_LEN+1]; - -@@ -1263,6 +1264,7 @@ static struct module_attribute *modinfo_attrs[] = { - &module_uevent, - &modinfo_version, - &modinfo_srcversion, -+ &modinfo_rhelversion, - &modinfo_initstate, - &modinfo_coresize, - &modinfo_initsize, -diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c -index 5c3c50c5ec52..188eb460cede 100644 ---- a/scripts/mod/modpost.c -+++ b/scripts/mod/modpost.c -@@ -21,6 +21,7 @@ - #include <errno.h> - #include "modpost.h" - #include "../../include/linux/license.h" -+#include "../../include/generated/uapi/linux/version.h" - - /* Are we using CONFIG_MODVERSIONS? */ - static int modversions = 0; -@@ -2381,6 +2382,12 @@ static void add_srcversion(struct buffer *b, struct module *mod) - } - } - -+static void add_rhelversion(struct buffer *b, struct module *mod) -+{ -+ buf_printf(b, "MODULE_INFO(rhelversion, \"%d.%d\");\n", RHEL_MAJOR, -+ RHEL_MINOR); -+} -+ - static void write_if_changed(struct buffer *b, const char *fname) - { - char *tmp; -@@ -2644,6 +2651,7 @@ int main(int argc, char **argv) - add_depends(&buf, mod); - add_moddevtable(&buf, mod); - add_srcversion(&buf, mod); -+ add_rhelversion(&buf, mod); - - sprintf(fname, "%s.mod.c", mod->name); - write_if_changed(&buf, fname); --- -2.26.2 - diff --git a/0001-perf-cs-etm-Move-defined-of-traceid_list.patch b/0001-perf-cs-etm-Move-defined-of-traceid_list.patch deleted file mode 100644 index 63cbefa93..000000000 --- a/0001-perf-cs-etm-Move-defined-of-traceid_list.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Leo Yan <leo.yan@linaro.org> -Date: Tue, 5 May 2020 21:36:42 +0800 -Subject: [PATCH] perf cs-etm: Move defined of traceid_list - -The variable 'traceid_list' is defined in the header file cs-etm.h, -if multiple C files include cs-etm.h the compiler might complaint for -multiple definition of 'traceid_list'. - -To fix multiple definition error, move the definition of 'traceid_list' -into cs-etm.c. - -Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata") -Reported-by: Thomas Backlund <tmb@mageia.org> -Signed-off-by: Leo Yan <leo.yan@linaro.org> -Tested-by: Thomas Backlund <tmb@mageia.org> -Tested-by: Mike Leach <mike.leach@linaro.org> -Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> -Reviewed-by: Mike Leach <mike.leach@linaro.org> -Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> - -Upstream Status: https://lore.kernel.org/lkml/20200505133642.4756-1-leo.yan@linaro.org/ ---- - tools/perf/util/cs-etm.c | 3 +++ - tools/perf/util/cs-etm.h | 3 --- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c -index 62d2f9b9ce1b..381d9708e9bd 100644 ---- a/tools/perf/util/cs-etm.c -+++ b/tools/perf/util/cs-etm.c -@@ -94,6 +94,9 @@ struct cs_etm_queue { - struct cs_etm_traceid_queue **traceid_queues; - }; - -+/* RB tree for quick conversion between traceID and metadata pointers */ -+static struct intlist *traceid_list; -+ - static int cs_etm__update_queues(struct cs_etm_auxtrace *etm); - static int cs_etm__process_queues(struct cs_etm_auxtrace *etm); - static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm, -diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h -index 650ecc2a6349..4ad925d6d799 100644 ---- a/tools/perf/util/cs-etm.h -+++ b/tools/perf/util/cs-etm.h -@@ -114,9 +114,6 @@ enum cs_etm_isa { - CS_ETM_ISA_T32, - }; - --/* RB tree for quick conversion between traceID and metadata pointers */ --struct intlist *traceid_list; -- - struct cs_etm_queue; - - struct cs_etm_packet { --- -2.26.2 - diff --git a/0001-platform-x86-thinkpad_acpi-Add-support-for-dual-fan-.patch b/0001-platform-x86-thinkpad_acpi-Add-support-for-dual-fan-.patch deleted file mode 100644 index 4ba03934d..000000000 --- a/0001-platform-x86-thinkpad_acpi-Add-support-for-dual-fan-.patch +++ /dev/null @@ -1,136 +0,0 @@ -From 14232c6e788cb1f7b96dbd08b077f90923324b24 Mon Sep 17 00:00:00 2001 -From: Lars Hofhansl <larsh@apache.org> -Date: Thu, 23 Apr 2020 14:57:09 -0700 -Subject: [PATCH] platform/x86: thinkpad_acpi: Add support for dual fan control - -This adds dual fan control for the following models: -P50, P51, P52, P70, P71, P72, P1 gen1, P2 gen2, X1E gen1 and X1E gen2. - -Both fans are controlled together as if they were a single fan. - -Tested on an X1 Extreme Gen1, an X1 Extreme Gen2, and a P50. - -The patch is defensive, it adds only specific supported machines, and falls -back to the old behavior if both fans cannot be controlled. - -Background: -I tested the BIOS default behavior on my X1E gen2 and both fans are always -changed together. So rather than adding controls for each fan, this controls -both fans together as the BIOS would do. - -This was inspired by a discussion on dual fan support for the thinkfan tool -(see link below). All BIOS IDs are taken from there. The X1E gen2 ID is -verified on my machine. - -Thanks to GitHub users voidworker and civic9 for the earlier patches and -BIOS IDs, and to users peter-stoll and sassman for testing the patch on -their machines. - -BugLink: https://github.com/vmatare/thinkfan/issues/58 -Signed-off-by: Lars Hofhansl <larsh@apache.org> -[andy: massaged commit message to capitalize ID and convert to BugLink] -Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> ---- - drivers/platform/x86/thinkpad_acpi.c | 43 ++++++++++++++++++++++++---- - 1 file changed, 37 insertions(+), 6 deletions(-) - -diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c -index 8eaadbaf8ffa..83b4a83da967 100644 ---- a/drivers/platform/x86/thinkpad_acpi.c -+++ b/drivers/platform/x86/thinkpad_acpi.c -@@ -318,6 +318,7 @@ static struct { - u32 uwb:1; - u32 fan_ctrl_status_undef:1; - u32 second_fan:1; -+ u32 second_fan_ctl:1; - u32 beep_needs_two_args:1; - u32 mixer_no_level_control:1; - u32 battery_force_primary:1; -@@ -8324,11 +8325,19 @@ static int fan_set_level(int level) - - switch (fan_control_access_mode) { - case TPACPI_FAN_WR_ACPI_SFAN: -- if (level >= 0 && level <= 7) { -- if (!acpi_evalf(sfan_handle, NULL, NULL, "vd", level)) -- return -EIO; -- } else -+ if ((level < 0) || (level > 7)) - return -EINVAL; -+ -+ if (tp_features.second_fan_ctl) { -+ if (!fan_select_fan2() || -+ !acpi_evalf(sfan_handle, NULL, NULL, "vd", level)) { -+ pr_warn("Couldn't set 2nd fan level, disabling support\n"); -+ tp_features.second_fan_ctl = 0; -+ } -+ fan_select_fan1(); -+ } -+ if (!acpi_evalf(sfan_handle, NULL, NULL, "vd", level)) -+ return -EIO; - break; - - case TPACPI_FAN_WR_ACPI_FANS: -@@ -8345,6 +8354,15 @@ static int fan_set_level(int level) - else if (level & TP_EC_FAN_AUTO) - level |= 4; /* safety min speed 4 */ - -+ if (tp_features.second_fan_ctl) { -+ if (!fan_select_fan2() || -+ !acpi_ec_write(fan_status_offset, level)) { -+ pr_warn("Couldn't set 2nd fan level, disabling support\n"); -+ tp_features.second_fan_ctl = 0; -+ } -+ fan_select_fan1(); -+ -+ } - if (!acpi_ec_write(fan_status_offset, level)) - return -EIO; - else -@@ -8763,6 +8781,7 @@ static const struct attribute_group fan_attr_group = { - - #define TPACPI_FAN_Q1 0x0001 /* Unitialized HFSP */ - #define TPACPI_FAN_2FAN 0x0002 /* EC 0x31 bit 0 selects fan2 */ -+#define TPACPI_FAN_2CTL 0x0004 /* selects fan2 control */ - - static const struct tpacpi_quirk fan_quirk_table[] __initconst = { - TPACPI_QEC_IBM('1', 'Y', TPACPI_FAN_Q1), -@@ -8771,6 +8790,13 @@ static const struct tpacpi_quirk fan_quirk_table[] __initconst = { - TPACPI_QEC_IBM('7', '0', TPACPI_FAN_Q1), - TPACPI_QEC_LNV('7', 'M', TPACPI_FAN_2FAN), - TPACPI_Q_LNV('N', '1', TPACPI_FAN_2FAN), -+ TPACPI_Q_LNV3('N', '1', 'D', TPACPI_FAN_2CTL), /* P70 */ -+ TPACPI_Q_LNV3('N', '1', 'E', TPACPI_FAN_2CTL), /* P50 */ -+ TPACPI_Q_LNV3('N', '1', 'T', TPACPI_FAN_2CTL), /* P71 */ -+ TPACPI_Q_LNV3('N', '1', 'U', TPACPI_FAN_2CTL), /* P51 */ -+ TPACPI_Q_LNV3('N', '2', 'C', TPACPI_FAN_2CTL), /* P52 / P72 */ -+ TPACPI_Q_LNV3('N', '2', 'E', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (1st gen) */ -+ TPACPI_Q_LNV3('N', '2', 'O', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (2nd gen) */ - }; - - static int __init fan_init(struct ibm_init_struct *iibm) -@@ -8788,6 +8814,7 @@ static int __init fan_init(struct ibm_init_struct *iibm) - fan_watchdog_maxinterval = 0; - tp_features.fan_ctrl_status_undef = 0; - tp_features.second_fan = 0; -+ tp_features.second_fan_ctl = 0; - fan_control_desired_level = 7; - - if (tpacpi_is_ibm()) { -@@ -8812,8 +8839,12 @@ static int __init fan_init(struct ibm_init_struct *iibm) - fan_quirk1_setup(); - if (quirks & TPACPI_FAN_2FAN) { - tp_features.second_fan = 1; -- dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_FAN, -- "secondary fan support enabled\n"); -+ pr_info("secondary fan support enabled\n"); -+ } -+ if (quirks & TPACPI_FAN_2CTL) { -+ tp_features.second_fan = 1; -+ tp_features.second_fan_ctl = 1; -+ pr_info("secondary fan control enabled\n"); - } - } else { - pr_err("ThinkPad ACPI EC access misbehaving, fan status and control unavailable\n"); --- -2.26.2 - diff --git a/0001-s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch b/0001-s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch index 4332472bb..63cd86b35 100644 --- a/0001-s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch +++ b/0001-s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch @@ -16,10 +16,10 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> 3 files changed, 10 insertions(+) diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h -index b63bd66404b8..3482d9602e68 100644 +index 7d5cfdda5277..be66ee5d0437 100644 --- a/arch/s390/include/asm/ipl.h +++ b/arch/s390/include/asm/ipl.h -@@ -109,6 +109,7 @@ int ipl_report_add_component(struct ipl_report *report, struct kexec_buf *kbuf, +@@ -120,6 +120,7 @@ int ipl_report_add_component(struct ipl_report *report, struct kexec_buf *kbuf, unsigned char flags, unsigned short cert); int ipl_report_add_certificate(struct ipl_report *report, void *key, unsigned long addr, unsigned long len); @@ -28,10 +28,10 @@ index b63bd66404b8..3482d9602e68 100644 /* * DIAG 308 support diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c -index 4a71061974fd..9baf0b570c3d 100644 +index 90a2a17239b0..be3b72c53656 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c -@@ -1901,3 +1901,8 @@ int ipl_report_free(struct ipl_report *report) +@@ -2110,3 +2110,8 @@ int ipl_report_free(struct ipl_report *report) } #endif @@ -41,7 +41,7 @@ index 4a71061974fd..9baf0b570c3d 100644 + return !!ipl_secure_flag; +} diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c -index 36445dd40fdb..b338a050c5aa 100644 +index 07aa15ba43b3..307abb2d82d7 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -49,6 +49,7 @@ @@ -52,7 +52,7 @@ index 36445dd40fdb..b338a050c5aa 100644 #include <asm/boot_data.h> #include <asm/ipl.h> -@@ -1093,6 +1094,9 @@ void __init setup_arch(char **cmdline_p) +@@ -1086,6 +1087,9 @@ void __init setup_arch(char **cmdline_p) log_component_list(); diff --git a/0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch b/0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch index fc6b78ad0..9189832cf 100644 --- a/0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch +++ b/0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch @@ -17,10 +17,10 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> 5 files changed, 20 insertions(+) diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h -index 5616b2567aa7..bc5caab1413b 100644 +index af998f93d256..3c33f00cd4d6 100644 --- a/include/linux/lsm_hook_defs.h +++ b/include/linux/lsm_hook_defs.h -@@ -371,6 +371,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux) +@@ -383,6 +383,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux) #endif /* CONFIG_BPF_SYSCALL */ LSM_HOOK(int, 0, locked_down, enum lockdown_reason what) @@ -30,10 +30,10 @@ index 5616b2567aa7..bc5caab1413b 100644 #ifdef CONFIG_PERF_EVENTS LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type) diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h -index 988ca0df7824..4ed37b95417c 100644 +index 95b7c1d32062..dbacbb1fc129 100644 --- a/include/linux/lsm_hooks.h +++ b/include/linux/lsm_hooks.h -@@ -1476,6 +1476,12 @@ +@@ -1507,6 +1507,12 @@ * * @what: kernel feature being accessed * @@ -47,10 +47,10 @@ index 988ca0df7824..4ed37b95417c 100644 * * @perf_event_open: diff --git a/include/linux/security.h b/include/linux/security.h -index a8d9310472df..381305889d89 100644 +index 0a0a03b36a3b..26869f44416b 100644 --- a/include/linux/security.h +++ b/include/linux/security.h -@@ -446,6 +446,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen); +@@ -451,6 +451,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen); int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen); int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen); int security_locked_down(enum lockdown_reason what); @@ -58,7 +58,7 @@ index a8d9310472df..381305889d89 100644 #else /* CONFIG_SECURITY */ static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data) -@@ -1273,6 +1274,10 @@ static inline int security_locked_down(enum lockdown_reason what) +@@ -1291,6 +1292,10 @@ static inline int security_locked_down(enum lockdown_reason what) { return 0; } @@ -68,9 +68,9 @@ index a8d9310472df..381305889d89 100644 +} #endif /* CONFIG_SECURITY */ - #ifdef CONFIG_SECURITY_NETWORK + #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c -index 5a952617a0eb..61cc3cdc4d25 100644 +index 87cbdc64d272..18555cf18da7 100644 --- a/security/lockdown/lockdown.c +++ b/security/lockdown/lockdown.c @@ -73,6 +73,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what) @@ -82,10 +82,10 @@ index 5a952617a0eb..61cc3cdc4d25 100644 static int __init lockdown_lsm_init(void) diff --git a/security/security.c b/security/security.c -index 51de970fbb1e..48d05f8067f2 100644 +index 70a7ad357bc6..23e16e773bc2 100644 --- a/security/security.c +++ b/security/security.c -@@ -2468,6 +2468,12 @@ int security_locked_down(enum lockdown_reason what) +@@ -2516,6 +2516,12 @@ int security_locked_down(enum lockdown_reason what) } EXPORT_SYMBOL(security_locked_down); diff --git a/0001-selinux-allow-reading-labels-before-policy-is-loaded.patch b/0001-selinux-allow-reading-labels-before-policy-is-loaded.patch new file mode 100644 index 000000000..5c2384cd6 --- /dev/null +++ b/0001-selinux-allow-reading-labels-before-policy-is-loaded.patch @@ -0,0 +1,49 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jonathan Lebon <jlebon@redhat.com> +Date: Thu, 28 May 2020 10:39:40 -0400 +Subject: [PATCH] selinux: allow reading labels before policy is loaded + +This patch does for `getxattr` what commit 3e3e24b42043 ("selinux: allow +labeling before policy is loaded") did for `setxattr`; it allows +querying the current SELinux label on disk before the policy is loaded. + +One of the motivations described in that commit message also drives this +patch: for Fedora CoreOS (and eventually RHEL CoreOS), we want to be +able to move the root filesystem for example, from xfs to ext4 on RAID, +on first boot, at initrd time.[1] + +Because such an operation works at the filesystem level, we need to be +able to read the SELinux labels first from the original root, and apply +them to the files of the new root. The previous commit enabled the +second part of this process; this commit enables the first part. + +[1] https://github.com/coreos/fedora-coreos-tracker/issues/94 + +Acked-by: Stephen Smalley <stephen.smalley.work@gmail.com> +Signed-off-by: Jonathan Lebon <jlebon@redhat.com> +Signed-off-by: Paul Moore <paul@paul-moore.com> +--- + security/selinux/hooks.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c +index efa6108b1ce9..ca901025802a 100644 +--- a/security/selinux/hooks.c ++++ b/security/selinux/hooks.c +@@ -3332,7 +3332,12 @@ static int selinux_inode_getsecurity(struct inode *inode, const char *name, void + char *context = NULL; + struct inode_security_struct *isec; + +- if (strcmp(name, XATTR_SELINUX_SUFFIX)) ++ /* ++ * If we're not initialized yet, then we can't validate contexts, so ++ * just let vfs_getxattr fall back to using the on-disk xattr. ++ */ ++ if (!selinux_initialized(&selinux_state) || ++ strcmp(name, XATTR_SELINUX_SUFFIX)) + return -EOPNOTSUPP; + + /* +-- +2.26.2 + diff --git a/0001-soc-bcm2835-Sync-xHCI-reset-firmware-property-with-d.patch b/0001-soc-bcm2835-Sync-xHCI-reset-firmware-property-with-d.patch deleted file mode 100644 index 3dd66b141..000000000 --- a/0001-soc-bcm2835-Sync-xHCI-reset-firmware-property-with-d.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Date: Tue, 10 Mar 2020 13:52:39 +0100 -Subject: [PATCH] soc: bcm2835: Sync xHCI reset firmware property with - downstream - -The property is needed in order to trigger VL805's firmware load. Note -that there is a gap between the property introduced and the previous -one. This is also the case downstream. - -Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> -Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> ---- - include/soc/bcm2835/raspberrypi-firmware.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 7800e12ee042..cc9cdbc66403 100644 ---- a/include/soc/bcm2835/raspberrypi-firmware.h -+++ b/include/soc/bcm2835/raspberrypi-firmware.h -@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag { - RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045, - RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049, - RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050, -- -+ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058, - - /* Dispmanx TAGS */ - RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, --- -2.26.2 - diff --git a/0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch b/0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch deleted file mode 100644 index 40732340c..000000000 --- a/0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 2c36867719d93db8d7f365310587578ab980762c Mon Sep 17 00:00:00 2001 -From: Linus Walleij <linus.walleij@linaro.org> -Date: Wed, 15 Apr 2020 21:24:48 +0200 -Subject: [PATCH] usb: fusb302: Convert to use GPIO descriptors - -This converts the FUSB302 driver to use GPIO descriptors. -The conversion to descriptors per se is pretty straight-forward. - -In the process I discovered that: - -1. The driver uses a completely undocumented device tree binding - for the interrupt GPIO line, "fcs,int_n". Ooops. - -2. The undocumented binding, presumably since it has not seen - review, is just "fcs,int_n", lacking the compulsory "-gpios" - suffix and also something that is not a good name because - the "_n" implies the line is inverted which is something we - handle with flags in the device tree. Ooops. - -3. Possibly the driver should not be requesting the line as a - GPIO and request the corresponding interrupt line by open - coding, the GPIO chip is very likely doubleing as an IRQ - controller and can probably provide an interrupt directly - for this line with interrupts-extended = <&gpio0 ...>; - -4. Possibly the IRQ should just be tagged on the I2C client node - in the device tree like apparently ACPI does, as it overrides - this IRQ with client->irq if that exists. - -But now it is too late to do much about that and as I can see -this is used like this in the Pinebook which is a shipping product -so let'a just contain the mess and move on. - -The property currently appears in: -arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts - -Create a quirk in the GPIO OF library to allow this property -specifically to be specified without the "-gpios" suffix, we have -other such bindings already. - -Cc: Tobias Schramm <t.schramm@manjaro.org> -Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> -Cc: Yueyao Zhu <yueyao@google.com> -Cc: Guenter Roeck <linux@roeck-us.net> -Cc: devicetree@vger.kernel.org -Signed-off-by: Linus Walleij <linus.walleij@linaro.org> -Link: https://lore.kernel.org/r/20200415192448.305257-1-linus.walleij@linaro.org -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - drivers/gpio/gpiolib-of.c | 21 +++++++++++++++++++++ - drivers/usb/typec/tcpm/fusb302.c | 32 +++++++++----------------------- - 2 files changed, 30 insertions(+), 23 deletions(-) - -diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c -index ccc449df3792a..20c2c428168e4 100644 ---- a/drivers/gpio/gpiolib-of.c -+++ b/drivers/gpio/gpiolib-of.c -@@ -460,6 +460,24 @@ static struct gpio_desc *of_find_arizona_gpio(struct device *dev, - return of_get_named_gpiod_flags(dev->of_node, con_id, 0, of_flags); - } - -+static struct gpio_desc *of_find_usb_gpio(struct device *dev, -+ const char *con_id, -+ enum of_gpio_flags *of_flags) -+{ -+ /* -+ * Currently this USB quirk is only for the Fairchild FUSB302 host which is using -+ * an undocumented DT GPIO line named "fcs,int_n" without the compulsory "-gpios" -+ * suffix. -+ */ -+ if (!IS_ENABLED(CONFIG_TYPEC_FUSB302)) -+ return ERR_PTR(-ENOENT); -+ -+ if (!con_id || strcmp(con_id, "fcs,int_n")) -+ return ERR_PTR(-ENOENT); -+ -+ return of_get_named_gpiod_flags(dev->of_node, con_id, 0, of_flags); -+} -+ - struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, - unsigned int idx, unsigned long *flags) - { -@@ -504,6 +522,9 @@ struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, - if (PTR_ERR(desc) == -ENOENT) - desc = of_find_arizona_gpio(dev, con_id, &of_flags); - -+ if (PTR_ERR(desc) == -ENOENT) -+ desc = of_find_usb_gpio(dev, con_id, &of_flags); -+ - if (IS_ERR(desc)) - return desc; - -diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c -index b498960ff72b5..b28facece43c4 100644 ---- a/drivers/usb/typec/tcpm/fusb302.c -+++ b/drivers/usb/typec/tcpm/fusb302.c -@@ -9,14 +9,13 @@ - #include <linux/delay.h> - #include <linux/errno.h> - #include <linux/extcon.h> --#include <linux/gpio.h> -+#include <linux/gpio/consumer.h> - #include <linux/i2c.h> - #include <linux/interrupt.h> - #include <linux/kernel.h> - #include <linux/module.h> - #include <linux/mutex.h> - #include <linux/of_device.h> --#include <linux/of_gpio.h> - #include <linux/pinctrl/consumer.h> - #include <linux/proc_fs.h> - #include <linux/regulator/consumer.h> -@@ -83,7 +82,7 @@ struct fusb302_chip { - struct work_struct irq_work; - bool irq_suspended; - bool irq_while_suspended; -- int gpio_int_n; -+ struct gpio_desc *gpio_int_n; - int gpio_int_n_irq; - struct extcon_dev *extcon; - -@@ -1618,30 +1617,17 @@ static void fusb302_irq_work(struct work_struct *work) - - static int init_gpio(struct fusb302_chip *chip) - { -- struct device_node *node; -+ struct device *dev = chip->dev; - int ret = 0; - -- node = chip->dev->of_node; -- chip->gpio_int_n = of_get_named_gpio(node, "fcs,int_n", 0); -- if (!gpio_is_valid(chip->gpio_int_n)) { -- ret = chip->gpio_int_n; -- dev_err(chip->dev, "cannot get named GPIO Int_N, ret=%d", ret); -- return ret; -- } -- ret = devm_gpio_request(chip->dev, chip->gpio_int_n, "fcs,int_n"); -- if (ret < 0) { -- dev_err(chip->dev, "cannot request GPIO Int_N, ret=%d", ret); -- return ret; -- } -- ret = gpio_direction_input(chip->gpio_int_n); -- if (ret < 0) { -- dev_err(chip->dev, -- "cannot set GPIO Int_N to input, ret=%d", ret); -- return ret; -+ chip->gpio_int_n = devm_gpiod_get(dev, "fcs,int_n", GPIOD_IN); -+ if (IS_ERR(chip->gpio_int_n)) { -+ dev_err(dev, "failed to request gpio_int_n\n"); -+ return PTR_ERR(chip->gpio_int_n); - } -- ret = gpio_to_irq(chip->gpio_int_n); -+ ret = gpiod_to_irq(chip->gpio_int_n); - if (ret < 0) { -- dev_err(chip->dev, -+ dev_err(dev, - "cannot request IRQ for GPIO Int_N, ret=%d", ret); - return ret; - } --- -2.26.2 - diff --git a/0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch b/0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch deleted file mode 100644 index daf372ec2..000000000 --- a/0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Tue, 19 May 2020 12:21:30 +0200 -Subject: [PATCH] virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req - numbers to match upstream - -Until this commit the mainline kernel version (this version) of the -vboxguest module contained a bug where it defined -VBGL_IOCTL_VMMDEV_REQUEST_BIG and VBGL_IOCTL_LOG using -_IOC(_IOC_READ | _IOC_WRITE, 'V', ...) instead of -_IO(V, ...) as the out of tree VirtualBox upstream version does. - -Since the VirtualBox userspace bits are always built against VirtualBox -upstream's headers, this means that so far the mainline kernel version -of the vboxguest module has been failing these 2 ioctls with -ENOTTY. -I guess that VBGL_IOCTL_VMMDEV_REQUEST_BIG is never used causing us to -not hit that one and sofar the vboxguest driver has failed to actually -log any log messages passed it through VBGL_IOCTL_LOG. - -This commit changes the VBGL_IOCTL_VMMDEV_REQUEST_BIG and VBGL_IOCTL_LOG -defines to match the out of tree VirtualBox upstream vboxguest version, -while keeping compatibility with the old wrong request defines so as -to not break the kernel ABI in case someone has been using the old -request defines. - -Fixes: f6ddd094f579 ("virt: Add vboxguest driver for Virtual Box Guest integration UAPI") -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede <hdegoede@redhat.com> -Upstream Status: https://lore.kernel.org/lkml/20200520195440.38759-1-hdegoede@redhat.com/ ---- - drivers/virt/vboxguest/vboxguest_core.c | 4 +++- - drivers/virt/vboxguest/vboxguest_core.h | 15 +++++++++++++++ - drivers/virt/vboxguest/vboxguest_linux.c | 3 ++- - include/uapi/linux/vboxguest.h | 4 ++-- - 4 files changed, 22 insertions(+), 4 deletions(-) - -diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c -index b690a8a4bf9e..8fab04e76c14 100644 ---- a/drivers/virt/vboxguest/vboxguest_core.c -+++ b/drivers/virt/vboxguest/vboxguest_core.c -@@ -1520,7 +1520,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data) - - /* For VMMDEV_REQUEST hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT */ - if (req_no_size == VBG_IOCTL_VMMDEV_REQUEST(0) || -- req == VBG_IOCTL_VMMDEV_REQUEST_BIG) -+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG || -+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT) - return vbg_ioctl_vmmrequest(gdev, session, data); - - if (hdr->type != VBG_IOCTL_HDR_TYPE_DEFAULT) -@@ -1558,6 +1559,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data) - case VBG_IOCTL_HGCM_CALL(0): - return vbg_ioctl_hgcm_call(gdev, session, f32bit, data); - case VBG_IOCTL_LOG(0): -+ case VBG_IOCTL_LOG_ALT(0): - return vbg_ioctl_log(data); - } - -diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h -index 4188c12b839f..77c3a9c8255d 100644 ---- a/drivers/virt/vboxguest/vboxguest_core.h -+++ b/drivers/virt/vboxguest/vboxguest_core.h -@@ -15,6 +15,21 @@ - #include <linux/vboxguest.h> - #include "vmmdev.h" - -+/* -+ * The mainline kernel version (this version) of the vboxguest module -+ * contained a bug where it defined VBGL_IOCTL_VMMDEV_REQUEST_BIG and -+ * VBGL_IOCTL_LOG using _IOC(_IOC_READ | _IOC_WRITE, 'V', ...) instead -+ * of _IO(V, ...) as the out of tree VirtualBox upstream version does. -+ * -+ * These _ALT definitions keep compatibility with the wrong defines the -+ * mainline kernel version used for a while. -+ * Note the VirtualBox userspace bits have always been built against -+ * VirtualBox upstream's headers, so this is likely not necessary. But -+ * we must never break our ABI so we keep these around to be 100% sure. -+ */ -+#define VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT _IOC(_IOC_READ | _IOC_WRITE, 'V', 3, 0) -+#define VBG_IOCTL_LOG_ALT(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s) -+ - struct vbg_session; - - /** VBox guest memory balloon. */ -diff --git a/drivers/virt/vboxguest/vboxguest_linux.c b/drivers/virt/vboxguest/vboxguest_linux.c -index 6e8c0f1c1056..32c2c52f7e84 100644 ---- a/drivers/virt/vboxguest/vboxguest_linux.c -+++ b/drivers/virt/vboxguest/vboxguest_linux.c -@@ -131,7 +131,8 @@ static long vbg_misc_device_ioctl(struct file *filp, unsigned int req, - * the need for a bounce-buffer and another copy later on. - */ - is_vmmdev_req = (req & ~IOCSIZE_MASK) == VBG_IOCTL_VMMDEV_REQUEST(0) || -- req == VBG_IOCTL_VMMDEV_REQUEST_BIG; -+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG || -+ req == VBG_IOCTL_VMMDEV_REQUEST_BIG_ALT; - - if (is_vmmdev_req) - buf = vbg_req_alloc(size, VBG_IOCTL_HDR_TYPE_DEFAULT, -diff --git a/include/uapi/linux/vboxguest.h b/include/uapi/linux/vboxguest.h -index 9cec58a6a5ea..f79d7abe27db 100644 ---- a/include/uapi/linux/vboxguest.h -+++ b/include/uapi/linux/vboxguest.h -@@ -103,7 +103,7 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_driver_version_info, 24 + 20); - - - /* IOCTL to perform a VMM Device request larger then 1KB. */ --#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IOC(_IOC_READ | _IOC_WRITE, 'V', 3, 0) -+#define VBG_IOCTL_VMMDEV_REQUEST_BIG _IO('V', 3) - - - /** VBG_IOCTL_HGCM_CONNECT data structure. */ -@@ -198,7 +198,7 @@ struct vbg_ioctl_log { - } u; - }; - --#define VBG_IOCTL_LOG(s) _IOC(_IOC_READ | _IOC_WRITE, 'V', 9, s) -+#define VBG_IOCTL_LOG(s) _IO('V', 9) - - - /** VBG_IOCTL_WAIT_FOR_EVENTS data structure. */ --- -2.26.2 - diff --git a/0001-virt-vbox-Fix-guest-capabilities-mask-check.patch b/0001-virt-vbox-Fix-guest-capabilities-mask-check.patch deleted file mode 100644 index 77dbde8f5..000000000 --- a/0001-virt-vbox-Fix-guest-capabilities-mask-check.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Tue, 19 May 2020 13:23:06 +0200 -Subject: [PATCH] virt: vbox: Fix guest capabilities mask check - -Check the passed in capabilities against VMMDEV_GUEST_CAPABILITIES_MASK -instead of against VMMDEV_EVENT_VALID_EVENT_MASK. -This tightens the allowed mask from 0x7ff to 0x7. - -Fixes: 0ba002bc4393 ("virt: Add vboxguest driver for Virtual Box Guest integration") -Cc: stable@vger.kernel.org -Signed-off-by: Hans de Goede <hdegoede@redhat.com> -Upstream Status: https://lore.kernel.org/lkml/20200520195440.38759-1-hdegoede@redhat.com/ ---- - drivers/virt/vboxguest/vboxguest_core.c | 2 +- - drivers/virt/vboxguest/vmmdev.h | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c -index 8fab04e76c14..18ebd7a6af98 100644 ---- a/drivers/virt/vboxguest/vboxguest_core.c -+++ b/drivers/virt/vboxguest/vboxguest_core.c -@@ -1444,7 +1444,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev, - or_mask = caps->u.in.or_mask; - not_mask = caps->u.in.not_mask; - -- if ((or_mask | not_mask) & ~VMMDEV_EVENT_VALID_EVENT_MASK) -+ if ((or_mask | not_mask) & ~VMMDEV_GUEST_CAPABILITIES_MASK) - return -EINVAL; - - ret = vbg_set_session_capabilities(gdev, session, or_mask, not_mask, -diff --git a/drivers/virt/vboxguest/vmmdev.h b/drivers/virt/vboxguest/vmmdev.h -index 6337b8d75d96..21f408120e3f 100644 ---- a/drivers/virt/vboxguest/vmmdev.h -+++ b/drivers/virt/vboxguest/vmmdev.h -@@ -206,6 +206,8 @@ VMMDEV_ASSERT_SIZE(vmmdev_mask, 24 + 8); - * not. - */ - #define VMMDEV_GUEST_SUPPORTS_GRAPHICS BIT(2) -+/* The mask of valid capabilities, for sanity checking. */ -+#define VMMDEV_GUEST_CAPABILITIES_MASK 0x00000007U - - /** struct vmmdev_hypervisorinfo - Hypervisor info structure. */ - struct vmmdev_hypervisorinfo { --- -2.26.2 - diff --git a/0004-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch b/0004-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch deleted file mode 100644 index c4c947641..000000000 --- a/0004-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch +++ /dev/null @@ -1,91 +0,0 @@ -From e82044df3332199c63904d86b4b1ad0963a6f8e0 Mon Sep 17 00:00:00 2001 -From: Ondrej Jirman <megous@megous.com> -Date: Fri, 26 Jun 2020 02:55:52 +0200 -Subject: [PATCH 04/13] 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 <megous@megous.com> ---- - drivers/gpu/drm/panel/Kconfig | 26 +++++++++---------- - drivers/gpu/drm/panel/Makefile | 2 +- - ...-jh057n00900.c => panel-sitronix-st7703.c} | 0 - 3 files changed, 14 insertions(+), 14 deletions(-) - rename drivers/gpu/drm/panel/{panel-rocktech-jh057n00900.c => panel-sitronix-st7703.c} (100%) - -diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig -index a1723c1b5fbf8..7cf1f160fdd51 100644 ---- a/drivers/gpu/drm/panel/Kconfig -+++ b/drivers/gpu/drm/panel/Kconfig -@@ -262,19 +262,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 -@@ -374,6 +361,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 96a883cd66305..0519fdf0710d5 100644 ---- a/drivers/gpu/drm/panel/Makefile -+++ b/drivers/gpu/drm/panel/Makefile -@@ -25,7 +25,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 -@@ -39,6 +38,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-sitronix-st7703.c -similarity index 100% -rename from drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c -rename to drivers/gpu/drm/panel/panel-sitronix-st7703.c --- -2.26.2 - diff --git a/20200505_leo_yan_linaro_org.patch b/20200505_leo_yan_linaro_org.patch deleted file mode 100644 index 9674efab9..000000000 --- a/20200505_leo_yan_linaro_org.patch +++ /dev/null @@ -1,70 +0,0 @@ -From MAILER-DAEMON Wed May 6 20:19:37 2020 -From: Leo Yan <leo.yan@linaro.org> -To: Arnaldo Carvalho de Melo <acme@kernel.org>, Mathieu Poirier <mathieu.poirier@linaro.org>, Suzuki K Poulose <suzuki.poulose@arm.com>, Mike Leach <mike.leach@linaro.org>, Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, Mark Rutland <mark.rutland@arm.com>, Alexander Shishkin <alexander.shishkin@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>, Tor Jeremiassen <tor@ti.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org -Subject: [PATCH] perf cs-etm: Move defined of traceid_list -Date: Tue, 05 May 2020 21:36:42 +0800 -Message-Id: <20200505133642.4756-1-leo.yan@linaro.org> -List-Id: <linux-arm-kernel.lists.infradead.org> -Cc: Leo Yan <leo.yan@linaro.org> -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 7bit - -The variable 'traceid_list' is defined in the header file cs-etm.h, -if multiple C files include cs-etm.h the compiler might complaint for -multiple definition of 'traceid_list'. - -To fix multiple definition error, move the definition of 'traceid_list' -into cs-etm.c. - -Fixes: cd8bfd8c973e ("perf tools: Add processing of coresight metadata") -Reported-by: Thomas Backlund <tmb@mageia.org> -Signed-off-by: Leo Yan <leo.yan@linaro.org> -Tested-by: Thomas Backlund <tmb@mageia.org> -Tested-by: Mike Leach <mike.leach@linaro.org> -Reviewed-by: Mike Leach <mike.leach@linaro.org> -Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> ---- - tools/perf/util/cs-etm.c | 3 +++ - tools/perf/util/cs-etm.h | 3 --- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tools/perf/util/cs-etm.c b/tools/perf/util/cs-etm.c -index 62d2f9b9ce1b..381d9708e9bd 100644 ---- a/tools/perf/util/cs-etm.c -+++ b/tools/perf/util/cs-etm.c -@@ -94,6 +94,9 @@ struct cs_etm_queue { - struct cs_etm_traceid_queue **traceid_queues; - }; - -+/* RB tree for quick conversion between traceID and metadata pointers */ -+static struct intlist *traceid_list; -+ - static int cs_etm__update_queues(struct cs_etm_auxtrace *etm); - static int cs_etm__process_queues(struct cs_etm_auxtrace *etm); - static int cs_etm__process_timeless_queues(struct cs_etm_auxtrace *etm, -diff --git a/tools/perf/util/cs-etm.h b/tools/perf/util/cs-etm.h -index 650ecc2a6349..4ad925d6d799 100644 ---- a/tools/perf/util/cs-etm.h -+++ b/tools/perf/util/cs-etm.h -@@ -114,9 +114,6 @@ enum cs_etm_isa { - CS_ETM_ISA_T32, - }; - --/* RB tree for quick conversion between traceID and metadata pointers */ --struct intlist *traceid_list; -- - struct cs_etm_queue; - - struct cs_etm_packet { --- -2.17.1 - - -_______________________________________________ -linux-arm-kernel mailing list -linux-arm-kernel@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/linux-arm-kernel - diff --git a/configs/fedora/debug/CONFIG_BTRFS_ASSERT b/configs/fedora/debug/CONFIG_BTRFS_ASSERT new file mode 100644 index 000000000..bfb600a25 --- /dev/null +++ b/configs/fedora/debug/CONFIG_BTRFS_ASSERT @@ -0,0 +1 @@ +CONFIG_BTRFS_ASSERT=y diff --git a/configs/fedora/debug/CONFIG_DEBUG_VM_PGTABLE b/configs/fedora/debug/CONFIG_DEBUG_VM_PGTABLE new file mode 100644 index 000000000..1ac76e09a --- /dev/null +++ b/configs/fedora/debug/CONFIG_DEBUG_VM_PGTABLE @@ -0,0 +1,24 @@ +# CONFIG_DEBUG_VM_PGTABLE: +# +# This option provides a debug method which can be used to test +# architecture page table helper functions on various platforms in +# verifying if they comply with expected generic MM semantics. This +# will help architecture code in making sure that any changes or +# new additions of these helpers still conform to expected +# semantics of the generic MM. Platforms will have to opt in for +# this through ARCH_HAS_DEBUG_VM_PGTABLE. +# +# If unsure, say N. +# +# Symbol: DEBUG_VM_PGTABLE [=y] +# Type : bool +# Defined at lib/Kconfig.debug:702 +# Prompt: Debug arch page table for semantics compliance +# Depends on: MMU [=y] && ARCH_HAS_DEBUG_VM_PGTABLE [=y] +# Location: +# -> Kernel hacking +# -> Memory Debugging +# +# +# +CONFIG_DEBUG_VM_PGTABLE=y diff --git a/configs/fedora/debug/CONFIG_DMADEVICES_DEBUG b/configs/fedora/debug/CONFIG_DMADEVICES_DEBUG index 7cd4fec86..0b101be4e 100644 --- a/configs/fedora/debug/CONFIG_DMADEVICES_DEBUG +++ b/configs/fedora/debug/CONFIG_DMADEVICES_DEBUG @@ -1 +1 @@ -# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMADEVICES_DEBUG=y diff --git a/configs/fedora/debug/CONFIG_KASAN_VMALLOC b/configs/fedora/debug/CONFIG_KASAN_VMALLOC new file mode 100644 index 000000000..290120758 --- /dev/null +++ b/configs/fedora/debug/CONFIG_KASAN_VMALLOC @@ -0,0 +1 @@ +CONFIG_KASAN_VMALLOC=y diff --git a/configs/fedora/debug/CONFIG_KPROBE_EVENT_GEN_TEST b/configs/fedora/debug/CONFIG_KPROBE_EVENT_GEN_TEST new file mode 100644 index 000000000..e7583defd --- /dev/null +++ b/configs/fedora/debug/CONFIG_KPROBE_EVENT_GEN_TEST @@ -0,0 +1 @@ +CONFIG_KPROBE_EVENT_GEN_TEST=m diff --git a/configs/fedora/debug/CONFIG_MMIOTRACE b/configs/fedora/debug/CONFIG_MMIOTRACE deleted file mode 100644 index dd8016c2c..000000000 --- a/configs/fedora/debug/CONFIG_MMIOTRACE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MMIOTRACE=y diff --git a/configs/fedora/debug/CONFIG_PROVE_RCU b/configs/fedora/debug/CONFIG_PROVE_RCU deleted file mode 100644 index d7a71a2e7..000000000 --- a/configs/fedora/debug/CONFIG_PROVE_RCU +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PROVE_RCU=y diff --git a/configs/fedora/debug/CONFIG_PTDUMP_DEBUGFS b/configs/fedora/debug/CONFIG_PTDUMP_DEBUGFS new file mode 100644 index 000000000..72f9e29de --- /dev/null +++ b/configs/fedora/debug/CONFIG_PTDUMP_DEBUGFS @@ -0,0 +1 @@ +CONFIG_PTDUMP_DEBUGFS=y diff --git a/configs/fedora/debug/CONFIG_SND_CTL_VALIDATION b/configs/fedora/debug/CONFIG_SND_CTL_VALIDATION new file mode 100644 index 000000000..884dadda0 --- /dev/null +++ b/configs/fedora/debug/CONFIG_SND_CTL_VALIDATION @@ -0,0 +1 @@ +CONFIG_SND_CTL_VALIDATION=y diff --git a/configs/fedora/debug/CONFIG_SND_SOC_SOF_DEBUG_PROBES b/configs/fedora/debug/CONFIG_SND_SOC_SOF_DEBUG_PROBES new file mode 100644 index 000000000..a44a53ccf --- /dev/null +++ b/configs/fedora/debug/CONFIG_SND_SOC_SOF_DEBUG_PROBES @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_DEBUG_PROBES=y diff --git a/configs/fedora/debug/CONFIG_SND_SOC_SOF_HDA_PROBES b/configs/fedora/debug/CONFIG_SND_SOC_SOF_HDA_PROBES new file mode 100644 index 000000000..bc27b6a00 --- /dev/null +++ b/configs/fedora/debug/CONFIG_SND_SOC_SOF_HDA_PROBES @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_HDA_PROBES=y diff --git a/configs/fedora/debug/CONFIG_SYNTH_EVENT_GEN_TEST b/configs/fedora/debug/CONFIG_SYNTH_EVENT_GEN_TEST new file mode 100644 index 000000000..29f4ccb3b --- /dev/null +++ b/configs/fedora/debug/CONFIG_SYNTH_EVENT_GEN_TEST @@ -0,0 +1 @@ +CONFIG_SYNTH_EVENT_GEN_TEST=m diff --git a/configs/fedora/debug/CONFIG_TEST_MIN_HEAP b/configs/fedora/debug/CONFIG_TEST_MIN_HEAP new file mode 100644 index 000000000..484d9f294 --- /dev/null +++ b/configs/fedora/debug/CONFIG_TEST_MIN_HEAP @@ -0,0 +1 @@ +CONFIG_TEST_MIN_HEAP=m diff --git a/configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT b/configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT deleted file mode 100644 index 6eed5bde6..000000000 --- a/configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TRACE_EVENT_INJECT=y diff --git a/configs/fedora/debug/arm/aarch64/CONFIG_ARM64_FORCE_52BIT b/configs/fedora/debug/arm/aarch64/CONFIG_ARM64_FORCE_52BIT new file mode 100644 index 000000000..8836ae9a5 --- /dev/null +++ b/configs/fedora/debug/arm/aarch64/CONFIG_ARM64_FORCE_52BIT @@ -0,0 +1 @@ +CONFIG_ARM64_FORCE_52BIT=y diff --git a/configs/fedora/debug/arm/aarch64/README b/configs/fedora/debug/arm/aarch64/README new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/configs/fedora/debug/arm/aarch64/README diff --git a/configs/fedora/debug/arm/armv7/README b/configs/fedora/debug/arm/armv7/README new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/configs/fedora/debug/arm/armv7/README diff --git a/configs/fedora/debug/powerpc/README b/configs/fedora/debug/powerpc/README new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/configs/fedora/debug/powerpc/README diff --git a/configs/fedora/debug/s390x/README b/configs/fedora/debug/s390x/README new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/configs/fedora/debug/s390x/README diff --git a/configs/fedora/generic/CONFIG_ACPI_TABLE_UPGRADE b/configs/fedora/generic/CONFIG_ACPI_TABLE_UPGRADE new file mode 100644 index 000000000..3ac21bf3a --- /dev/null +++ b/configs/fedora/generic/CONFIG_ACPI_TABLE_UPGRADE @@ -0,0 +1 @@ +# CONFIG_ACPI_TABLE_UPGRADE is not set diff --git a/configs/fedora/generic/CONFIG_AD9467 b/configs/fedora/generic/CONFIG_AD9467 new file mode 100644 index 000000000..c7d541b1c --- /dev/null +++ b/configs/fedora/generic/CONFIG_AD9467 @@ -0,0 +1,26 @@ +# CONFIG_AD9467: +# +# Say yes here to build support for Analog Devices: +# * AD9467 16-Bit, 200 MSPS/250 MSPS Analog-to-Digital Converter +# +# The driver requires the assistance of the AXI ADC IP core to operate, +# since SPI is used for configuration only, while data has to be +# streamed into memory via DMA. +# +# To compile this driver as a module, choose M here: the module will be +# called ad9467. +# +# Symbol: AD9467 [=n] +# Type : tristate +# Defined at drivers/iio/adc/Kconfig:249 +# Prompt: Analog Devices AD9467 High Speed ADC driver +# Depends on: IIO [=m] && SPI [=y] +# Location: +# -> Device Drivers +# -> Industrial I/O support (IIO [=m]) +# -> Analog to digital converters +# Selects: ADI_AXI_ADC [=n] +# +# +# +CONFIG_AD9467=m diff --git a/configs/fedora/generic/CONFIG_ADIS16475 b/configs/fedora/generic/CONFIG_ADIS16475 new file mode 100644 index 000000000..da7de0b31 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ADIS16475 @@ -0,0 +1,23 @@ +# CONFIG_ADIS16475: +# +# Say yes here to build support for Analog Devices ADIS16470, ADIS16475, +# ADIS16477, ADIS16465, ADIS16467, ADIS16500, ADIS16505, ADIS16507 inertial +# sensors. +# +# To compile this driver as a module, choose M here: the module will be +# called adis16475. +# +# Symbol: ADIS16475 [=n] +# Type : tristate +# Defined at drivers/iio/imu/Kconfig:32 +# Prompt: Analog Devices ADIS16475 and similar IMU driver +# Depends on: IIO [=m] && SPI [=y] +# Location: +# -> Device Drivers +# -> Industrial I/O support (IIO [=m]) +# -> Inertial measurement units +# Selects: IIO_ADIS_LIB [=n] && IIO_ADIS_LIB_BUFFER [=n] +# +# +# +CONFIG_ADIS16475=m diff --git a/configs/fedora/generic/CONFIG_ADI_AXI_ADC b/configs/fedora/generic/CONFIG_ADI_AXI_ADC new file mode 100644 index 000000000..58f300a76 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ADI_AXI_ADC @@ -0,0 +1,32 @@ +# CONFIG_ADI_AXI_ADC: +# +# Say yes here to build support for Analog Devices Generic +# AXI ADC IP core. The IP core is used for interfacing with +# analog-to-digital (ADC) converters that require either a high-speed +# serial interface (JESD204B/C) or a source synchronous parallel +# interface (LVDS/CMOS). +# Typically (for such devices) SPI will be used for configuration only, +# while this IP core handles the streaming of data into memory via DMA. +# +# Link: https://wiki.analog.com/resources/fpga/docs/axi_adc_ip +# If unsure, say N (but it's safe to say "Y"). +# +# To compile this driver as a module, choose M here: the +# module will be called adi-axi-adc. +# +# Symbol: ADI_AXI_ADC [=n] +# Type : tristate +# Defined at drivers/iio/adc/Kconfig:264 +# Prompt: Analog Devices Generic AXI ADC IP core driver +# Depends on: IIO [=m] +# Location: +# -> Device Drivers +# -> Industrial I/O support (IIO [=m]) +# -> Analog to digital converters +# Selects: IIO_BUFFER [=y] && IIO_BUFFER_HW_CONSUMER [=m] && IIO_BUFFER_DMAENGINE [=n] +# Selected by [n]: +# - AD9467 [=n] && IIO [=m] && SPI [=y] +# +# +# +CONFIG_ADI_AXI_ADC=m diff --git a/configs/fedora/generic/CONFIG_AMDTEE b/configs/fedora/generic/CONFIG_AMDTEE new file mode 100644 index 000000000..994a2a1fc --- /dev/null +++ b/configs/fedora/generic/CONFIG_AMDTEE @@ -0,0 +1 @@ +# CONFIG_AMDTEE is not set diff --git a/configs/fedora/generic/CONFIG_ARCH_REALTEK b/configs/fedora/generic/CONFIG_ARCH_REALTEK new file mode 100644 index 000000000..49536f6d5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ARCH_REALTEK @@ -0,0 +1 @@ +# CONFIG_ARCH_REALTEK is not set diff --git a/configs/fedora/generic/arm/CONFIG_ARCH_S32 b/configs/fedora/generic/CONFIG_ARCH_S32 index 8764fcd8b..8764fcd8b 100644 --- a/configs/fedora/generic/arm/CONFIG_ARCH_S32 +++ b/configs/fedora/generic/CONFIG_ARCH_S32 diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_AMU_EXTN b/configs/fedora/generic/CONFIG_ARM64_AMU_EXTN index e16916cec..e16916cec 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_AMU_EXTN +++ b/configs/fedora/generic/CONFIG_ARM64_AMU_EXTN diff --git a/configs/fedora/generic/CONFIG_ARM64_BTI b/configs/fedora/generic/CONFIG_ARM64_BTI new file mode 100644 index 000000000..5af4d535b --- /dev/null +++ b/configs/fedora/generic/CONFIG_ARM64_BTI @@ -0,0 +1,31 @@ +# CONFIG_ARM64_BTI: +# +# Branch Target Identification (part of the ARMv8.5 Extensions) +# provides a mechanism to limit the set of locations to which computed +# branch instructions such as BR or BLR can jump. +# +# To make use of BTI on CPUs that support it, say Y. +# +# BTI is intended to provide complementary protection to other control +# flow integrity protection mechanisms, such as the Pointer +# authentication mechanism provided as part of the ARMv8.3 Extensions. +# For this reason, it does not make sense to enable this option without +# also enabling support for pointer authentication. Thus, when +# enabling this option you should also select ARM64_PTR_AUTH=y. +# +# Userspace binaries must also be specifically compiled to make use of +# this mechanism. If you say N here or the hardware does not support +# BTI, such binaries can still run, but you get no additional +# enforcement of branch destinations. +# +# Symbol: ARM64_BTI [=y] +# Type : bool +# Defined at arch/arm64/Kconfig:1594 +# Prompt: Branch Target Identification support +# Location: +# -> Kernel Features +# -> ARMv8.5 architectural features +# +# +# +CONFIG_ARM64_BTI=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD b/configs/fedora/generic/CONFIG_ARM64_E0PD index cba9bf0b8..cba9bf0b8 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD +++ b/configs/fedora/generic/CONFIG_ARM64_E0PD diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1319367 b/configs/fedora/generic/CONFIG_ARM64_ERRATUM_1319367 index 3c76daab5..3c76daab5 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1319367 +++ b/configs/fedora/generic/CONFIG_ARM64_ERRATUM_1319367 diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 b/configs/fedora/generic/CONFIG_ARM64_ERRATUM_1530923 index 4cc427c4a..4cc427c4a 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 +++ b/configs/fedora/generic/CONFIG_ARM64_ERRATUM_1530923 diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1542419 b/configs/fedora/generic/CONFIG_ARM64_ERRATUM_1542419 index fc1543d3a..fc1543d3a 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1542419 +++ b/configs/fedora/generic/CONFIG_ARM64_ERRATUM_1542419 diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS b/configs/fedora/generic/CONFIG_ARM64_USE_LSE_ATOMICS index bb1ab4cb2..bb1ab4cb2 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS +++ b/configs/fedora/generic/CONFIG_ARM64_USE_LSE_ATOMICS diff --git a/configs/fedora/generic/CONFIG_ARM_SMC_WATCHDOG b/configs/fedora/generic/CONFIG_ARM_SMC_WATCHDOG new file mode 100644 index 000000000..af24ce5fa --- /dev/null +++ b/configs/fedora/generic/CONFIG_ARM_SMC_WATCHDOG @@ -0,0 +1,21 @@ +# CONFIG_ARM_SMC_WATCHDOG: +# +# Say Y here to include support for a watchdog timer +# implemented by the EL3 Secure Monitor on ARM platforms. +# Requires firmware support. +# To compile this driver as a module, choose M here: the +# module will be called arm_smc_wdt. +# +# Symbol: ARM_SMC_WATCHDOG [=n] +# Type : tristate +# Defined at drivers/watchdog/Kconfig:871 +# Prompt: ARM Secure Monitor Call based watchdog support +# Depends on: WATCHDOG [=y] && (ARM || ARM64 [=y]) && OF [=y] && HAVE_ARM_SMCCC [=y] +# Location: +# -> Device Drivers +# -> Watchdog Timer Support (WATCHDOG [=y]) +# Selects: WATCHDOG_CORE [=y] +# +# +# +# CONFIG_ARM_SMC_WATCHDOG is not set diff --git a/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS b/configs/fedora/generic/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS index a8cf80f89..a8cf80f89 100644 --- a/configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS +++ b/configs/fedora/generic/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS diff --git a/configs/fedora/generic/CONFIG_ATLAS_EZO_SENSOR b/configs/fedora/generic/CONFIG_ATLAS_EZO_SENSOR new file mode 100644 index 000000000..be8768690 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ATLAS_EZO_SENSOR @@ -0,0 +1 @@ +# CONFIG_ATLAS_EZO_SENSOR is not set diff --git a/configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED b/configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED new file mode 100644 index 000000000..cd95d798e --- /dev/null +++ b/configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED @@ -0,0 +1 @@ +# CONFIG_BACKLIGHT_PM8941_WLED is not set diff --git a/configs/fedora/generic/CONFIG_BATTERY_CW2015 b/configs/fedora/generic/CONFIG_BATTERY_CW2015 new file mode 100644 index 000000000..e369d35da --- /dev/null +++ b/configs/fedora/generic/CONFIG_BATTERY_CW2015 @@ -0,0 +1,21 @@ +# CONFIG_BATTERY_CW2015: +# +# Say Y here to enable support for the cellwise cw2015 +# battery fuel gauge (used in the Pinebook Pro & others) +# +# This driver can also be built as a module. If so, the module will be +# called cw2015_battery. +# +# Symbol: BATTERY_CW2015 [=n] +# Type : tristate +# Defined at drivers/power/supply/Kconfig:119 +# Prompt: CW2015 Battery driver +# Depends on: POWER_SUPPLY [=y] && I2C [=y] +# Location: +# -> Device Drivers +# -> Power supply class support (POWER_SUPPLY [=y]) +# Selects: REGMAP_I2C [=y] +# +# +# +CONFIG_BATTERY_CW2015=m diff --git a/configs/fedora/generic/CONFIG_BCACHE_ASYNC_REGISTRAION b/configs/fedora/generic/CONFIG_BCACHE_ASYNC_REGISTRAION new file mode 100644 index 000000000..a4305fdb6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_BCACHE_ASYNC_REGISTRAION @@ -0,0 +1,20 @@ +# CONFIG_BCACHE_ASYNC_REGISTRAION: +# +# Add a sysfs file /sys/fs/bcache/register_async. Writing registering +# device path into this file will returns immediately and the real +# registration work is handled in kernel work queue in asynchronous +# way. +# +# Symbol: BCACHE_ASYNC_REGISTRAION [=n] +# Type : bool +# Defined at drivers/md/bcache/Kconfig:30 +# Prompt: Asynchronous device registration (EXPERIMENTAL) +# Depends on: MD [=y] && BCACHE [=m] +# Location: +# -> Device Drivers +# -> Multiple devices driver support (RAID and LVM) (MD [=y]) +# -> Block device as cache (BCACHE [=m]) +# +# +# +# CONFIG_BCACHE_ASYNC_REGISTRAION is not set diff --git a/configs/fedora/generic/CONFIG_BCM54140_PHY b/configs/fedora/generic/CONFIG_BCM54140_PHY new file mode 100644 index 000000000..4c1b9f68b --- /dev/null +++ b/configs/fedora/generic/CONFIG_BCM54140_PHY @@ -0,0 +1,21 @@ +# CONFIG_BCM54140_PHY: +# +# Support the Broadcom BCM54140 Quad SGMII/QSGMII PHY. +# +# This driver also supports the hardware monitoring of this PHY and +# exposes voltage and temperature sensors. +# +# Symbol: BCM54140_PHY [=n] +# Type : tristate +# Defined at drivers/net/phy/Kconfig:357 +# Prompt: Broadcom BCM54140 PHY +# Depends on: NETDEVICES [=y] && PHYLIB [=y] && (HWMON [=y] || HWMON [=y]=n) +# Location: +# -> Device Drivers +# -> Network device support (NETDEVICES [=y]) +# -> PHY Device support and infrastructure (PHYLIB [=y]) +# Selects: BCM_NET_PHYLIB [=m] +# +# +# +CONFIG_BCM54140_PHY=m diff --git a/configs/fedora/generic/CONFIG_BLK_DEV_RNBD_CLIENT b/configs/fedora/generic/CONFIG_BLK_DEV_RNBD_CLIENT new file mode 100644 index 000000000..7a5e3ce8d --- /dev/null +++ b/configs/fedora/generic/CONFIG_BLK_DEV_RNBD_CLIENT @@ -0,0 +1 @@ +CONFIG_BLK_DEV_RNBD_CLIENT=m diff --git a/configs/fedora/generic/CONFIG_BLK_DEV_RNBD_SERVER b/configs/fedora/generic/CONFIG_BLK_DEV_RNBD_SERVER new file mode 100644 index 000000000..08ebe8932 --- /dev/null +++ b/configs/fedora/generic/CONFIG_BLK_DEV_RNBD_SERVER @@ -0,0 +1 @@ +CONFIG_BLK_DEV_RNBD_SERVER=m diff --git a/configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION b/configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION new file mode 100644 index 000000000..f81ea9630 --- /dev/null +++ b/configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION @@ -0,0 +1,17 @@ +# CONFIG_BLK_INLINE_ENCRYPTION: +# +# Build the blk-crypto subsystem. Enabling this lets the +# block layer handle encryption, so users can take +# advantage of inline encryption hardware if present. +# +# Symbol: BLK_INLINE_ENCRYPTION [=n] +# Type : bool +# Defined at block/Kconfig:189 +# Prompt: Enable inline encryption support in block layer +# Depends on: BLOCK [=y] +# Location: +# -> Enable the block layer (BLOCK [=y]) +# +# +# +CONFIG_BLK_INLINE_ENCRYPTION=y diff --git a/configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK b/configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK new file mode 100644 index 000000000..ff476454e --- /dev/null +++ b/configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK @@ -0,0 +1 @@ +# CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK is not set diff --git a/configs/fedora/generic/CONFIG_BRIDGE_MRP b/configs/fedora/generic/CONFIG_BRIDGE_MRP new file mode 100644 index 000000000..92d19f49a --- /dev/null +++ b/configs/fedora/generic/CONFIG_BRIDGE_MRP @@ -0,0 +1,22 @@ +# CONFIG_BRIDGE_MRP: +# +# If you say Y here, then the Ethernet bridge will be able to run MRP +# protocol to detect loops +# +# Say N to exclude this support and reduce the binary size. +# +# If unsure, say N. +# +# Symbol: BRIDGE_MRP [=n] +# Type : bool +# Defined at net/bridge/Kconfig:65 +# Prompt: MRP protocol +# Depends on: NET [=y] && BRIDGE [=m] +# Location: +# -> Networking support (NET [=y]) +# -> Networking options +# -> 802.1d Ethernet Bridging (BRIDGE [=m]) +# +# +# +CONFIG_BRIDGE_MRP=y diff --git a/configs/fedora/generic/CONFIG_BTRFS_FS b/configs/fedora/generic/CONFIG_BTRFS_FS index 3b4d4254c..605c1837e 100644 --- a/configs/fedora/generic/CONFIG_BTRFS_FS +++ b/configs/fedora/generic/CONFIG_BTRFS_FS @@ -1 +1 @@ -CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS=y diff --git a/configs/fedora/generic/CONFIG_BT_MSFTEXT b/configs/fedora/generic/CONFIG_BT_MSFTEXT new file mode 100644 index 000000000..07c77454d --- /dev/null +++ b/configs/fedora/generic/CONFIG_BT_MSFTEXT @@ -0,0 +1,17 @@ +# CONFIG_BT_MSFTEXT: +# +# This options enables support for the Microsoft defined HCI +# vendor extensions. +# +# Symbol: BT_MSFTEXT [=n] +# Type : bool +# Defined at net/bluetooth/Kconfig:96 +# Prompt: Enable Microsoft extensions +# Depends on: NET [=y] && BT [=m] +# Location: +# -> Networking support (NET [=y]) +# -> Bluetooth subsystem support (BT [=m]) +# +# +# +CONFIG_BT_MSFTEXT=y diff --git a/configs/fedora/generic/CONFIG_CAPI_AVM b/configs/fedora/generic/CONFIG_CAPI_AVM new file mode 100644 index 000000000..e22084428 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CAPI_AVM @@ -0,0 +1 @@ +CONFIG_CAPI_AVM=y diff --git a/configs/fedora/generic/CONFIG_CEC_SECO b/configs/fedora/generic/CONFIG_CEC_SECO new file mode 100644 index 000000000..bd4e94258 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CEC_SECO @@ -0,0 +1,20 @@ +# CONFIG_CEC_SECO: +# +# This is a driver for SECO Boards integrated CEC interface. +# Selecting it will enable support for this device. +# CEC bus is present in the HDMI connector and enables communication +# between compatible devices. +# +# Symbol: CEC_SECO [=n] +# Type : tristate +# Defined at drivers/media/cec/platform/Kconfig:100 +# Prompt: SECO Boards HDMI CEC driver +# Depends on: MEDIA_CEC_SUPPORT [=y] && (X86 [=y] || IA64 || COMPILE_TEST [=n]) && PCI [=y] && DMI [=y] +# Location: +# -> Device Drivers +# -> HDMI CEC drivers (MEDIA_CEC_SUPPORT [=y]) +# Selects: CEC_CORE [=m] && CEC_NOTIFIER [=n] +# +# +# +# CONFIG_CEC_SECO is not set diff --git a/configs/fedora/generic/CONFIG_CEC_SECO_RC b/configs/fedora/generic/CONFIG_CEC_SECO_RC new file mode 100644 index 000000000..9ecdec2cc --- /dev/null +++ b/configs/fedora/generic/CONFIG_CEC_SECO_RC @@ -0,0 +1,20 @@ +# CONFIG_CEC_SECO_RC: +# +# If you say yes here you will get support for the +# SECO Boards Consumer-IR in seco-cec driver. +# The embedded controller supports RC5 protocol only, default mapping +# is set to rc-hauppauge. +# +# Symbol: CEC_SECO_RC [=n] +# Type : bool +# Defined at drivers/media/cec/platform/Kconfig:112 +# Prompt: SECO Boards IR RC5 support +# Depends on: MEDIA_CEC_SUPPORT [=y] && CEC_SECO [=m] && (RC_CORE [=y]=y || RC_CORE [=y]=CEC_SECO [=m]) +# Location: +# -> Device Drivers +# -> HDMI CEC drivers (MEDIA_CEC_SUPPORT [=y]) +# -> SECO Boards HDMI CEC driver (CEC_SECO [=m]) +# +# +# +CONFIG_CEC_SECO_RC=y diff --git a/configs/fedora/generic/CONFIG_CHARGER_BD99954 b/configs/fedora/generic/CONFIG_CHARGER_BD99954 new file mode 100644 index 000000000..769d056b1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CHARGER_BD99954 @@ -0,0 +1,19 @@ +# CONFIG_CHARGER_BD99954: +# +# Say Y here to enable support for getting battery and charger +# information and altering charger configurations from the ROHM +# BD99954 charger IC. +# +# Symbol: CHARGER_BD99954 [=n] +# Type : tristate +# Defined at drivers/power/supply/Kconfig:724 +# Prompt: ROHM bd99954 charger driver +# Depends on: POWER_SUPPLY [=y] && I2C [=y] +# Location: +# -> Device Drivers +# -> Power supply class support (POWER_SUPPLY [=y]) +# Selects: LINEAR_RANGES [=y] +# +# +# +CONFIG_CHARGER_BD99954=m diff --git a/configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE b/configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE index 0cf2ac889..eb5031f20 100644 --- a/configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE +++ b/configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE @@ -1 +1,19 @@ +# CONFIG_CHELSIO_TLS_DEVICE: +# +# This flag enables support for kernel tls offload over Chelsio T6 +# crypto accelerator. CONFIG_CHELSIO_TLS_DEVICE flag can be enabled +# only if CONFIG_TLS and CONFIG_TLS_DEVICE flags are enabled. +# +# Symbol: CHELSIO_TLS_DEVICE [=y] +# Type : bool +# Defined at drivers/crypto/chelsio/Kconfig:46 +# Prompt: Chelsio Inline KTLS Offload +# Depends on: CRYPTO [=y] && CRYPTO_HW [=y] && CHELSIO_T4 [=m] && TLS_DEVICE [=y] +# Location: +# -> Cryptographic API (CRYPTO [=y]) +# -> Hardware crypto devices (CRYPTO_HW [=y]) +# Selects: CRYPTO_DEV_CHELSIO [=m] +# +# +# CONFIG_CHELSIO_TLS_DEVICE=y diff --git a/configs/fedora/generic/CONFIG_COMMON_CLK b/configs/fedora/generic/CONFIG_COMMON_CLK new file mode 100644 index 000000000..1b102ee1c --- /dev/null +++ b/configs/fedora/generic/CONFIG_COMMON_CLK @@ -0,0 +1,24 @@ +# CONFIG_COMMON_CLK: +# +# The common clock framework is a single definition of struct +# clk, useful across many platforms, as well as an +# implementation of the clock API in include/linux/clk.h. +# Architectures utilizing the common struct clk should select +# this option. +# +# Symbol: COMMON_CLK [=n] +# Type : bool +# Defined at drivers/clk/Kconfig:25 +# Prompt: Common Clock Framework +# Depends on: !HAVE_LEGACY_CLK [=n] +# Location: +# -> Device Drivers +# Selects: HAVE_CLK_PREPARE [=n] && CLKDEV_LOOKUP [=n] && SRCU [=y] && RATIONAL [=n] +# Selected by [n]: +# - MFD_INTEL_LPSS [=n] && HAS_IOMEM [=y] +# - INTEL_ATOMISP [=n] && STAGING [=n] && STAGING_MEDIA [=n] && MEDIA_SUPPORT [=n] && X86 && EFI && PCI [=y] && ACPI +# - PMC_ATOM [=n] && X86 && PCI [=y] +# +# +# +CONFIG_COMMON_CLK=y diff --git a/configs/fedora/generic/CONFIG_COMMON_CLK_MMP2_AUDIO b/configs/fedora/generic/CONFIG_COMMON_CLK_MMP2_AUDIO new file mode 100644 index 000000000..389b3f04a --- /dev/null +++ b/configs/fedora/generic/CONFIG_COMMON_CLK_MMP2_AUDIO @@ -0,0 +1,16 @@ +# CONFIG_COMMON_CLK_MMP2_AUDIO: +# +# This driver supports clocks for Audio subsystem on MMP2 SoC. +# +# Symbol: COMMON_CLK_MMP2_AUDIO [=n] +# Type : tristate +# Defined at drivers/clk/Kconfig:344 +# Prompt: Clock driver for MMP2 Audio subsystem +# Depends on: COMMON_CLK [=y] && (COMMON_CLK_MMP2 [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> Common Clock Framework (COMMON_CLK [=y]) +# +# +# +# CONFIG_COMMON_CLK_MMP2_AUDIO is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN b/configs/fedora/generic/CONFIG_CPU_LITTLE_ENDIAN index ee43fdb3b..ee43fdb3b 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN +++ b/configs/fedora/generic/CONFIG_CPU_LITTLE_ENDIAN diff --git a/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B index 13f92b91f..5a978e966 100644 --- a/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B +++ b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B @@ -1 +1 @@ -CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_BLAKE2B=y diff --git a/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S_X86 b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S_X86 new file mode 100644 index 000000000..7767ca12c --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S_X86 @@ -0,0 +1 @@ +# CONFIG_CRYPTO_BLAKE2S_X86 is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER b/configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER new file mode 100644 index 000000000..ba301e0ea --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER @@ -0,0 +1 @@ +CONFIG_CRYPTO_BLKCIPHER=y diff --git a/configs/fedora/generic/CONFIG_CRYPTO_CURVE25519_X86 b/configs/fedora/generic/CONFIG_CRYPTO_CURVE25519_X86 new file mode 100644 index 000000000..22b552878 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_CURVE25519_X86 @@ -0,0 +1 @@ +# CONFIG_CRYPTO_CURVE25519_X86 is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_HPRE b/configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_HPRE new file mode 100644 index 000000000..131c89d2a --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_HPRE @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_HISI_HPRE is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_SEC2 b/configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_SEC2 new file mode 100644 index 000000000..92ab7af9e --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_SEC2 @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_DEV_OCTEONTX_CPT b/configs/fedora/generic/CONFIG_CRYPTO_DEV_OCTEONTX_CPT new file mode 100644 index 000000000..a27e4b6a8 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_DEV_OCTEONTX_CPT @@ -0,0 +1,21 @@ +# CONFIG_CRYPTO_DEV_OCTEONTX_CPT: +# +# This driver allows you to utilize the Marvell Cryptographic +# Accelerator Unit(CPT) found in OcteonTX series of processors. +# +# To compile this driver as module, choose M here: +# the modules will be called octeontx-cpt and octeontx-cptvf +# +# Symbol: CRYPTO_DEV_OCTEONTX_CPT [=n] +# Type : tristate +# Defined at drivers/crypto/marvell/Kconfig:23 +# Prompt: Support for Marvell OcteonTX CPT driver +# Depends on: CRYPTO [=y] && CRYPTO_HW [=y] && (ARCH_THUNDER [=y] || COMPILE_TEST [=n]) && PCI_MSI [=y] && 64BIT [=y] && CRYPTO_LIB_AES [=y] +# Location: +# -> Cryptographic API (CRYPTO [=y]) +# -> Hardware crypto devices (CRYPTO_HW [=y]) +# Selects: CRYPTO_SKCIPHER [=y] && CRYPTO_HASH [=y] && CRYPTO_AEAD [=y] && CRYPTO_DEV_MARVELL [=n] +# +# +# +# CONFIG_CRYPTO_DEV_OCTEONTX_CPT is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_POLY1305_NEON b/configs/fedora/generic/CONFIG_CRYPTO_POLY1305_NEON new file mode 100644 index 000000000..045de8b66 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_POLY1305_NEON @@ -0,0 +1 @@ +# CONFIG_CRYPTO_POLY1305_NEON is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_SHA512 b/configs/fedora/generic/CONFIG_CRYPTO_SHA512 deleted file mode 100644 index 5c25197e5..000000000 --- a/configs/fedora/generic/CONFIG_CRYPTO_SHA512 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_SHA512=y diff --git a/configs/fedora/generic/CONFIG_CRYPTO_XXHASH b/configs/fedora/generic/CONFIG_CRYPTO_XXHASH index 95c76019f..974554787 100644 --- a/configs/fedora/generic/CONFIG_CRYPTO_XXHASH +++ b/configs/fedora/generic/CONFIG_CRYPTO_XXHASH @@ -1 +1 @@ -CONFIG_CRYPTO_XXHASH=m +CONFIG_CRYPTO_XXHASH=y diff --git a/configs/fedora/generic/CONFIG_DEBUG_INFO_COMPRESSED b/configs/fedora/generic/CONFIG_DEBUG_INFO_COMPRESSED new file mode 100644 index 000000000..a12a51893 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DEBUG_INFO_COMPRESSED @@ -0,0 +1 @@ +# CONFIG_DEBUG_INFO_COMPRESSED is not set diff --git a/configs/fedora/generic/CONFIG_DEBUG_VM_PGTABLE b/configs/fedora/generic/CONFIG_DEBUG_VM_PGTABLE new file mode 100644 index 000000000..9f311469e --- /dev/null +++ b/configs/fedora/generic/CONFIG_DEBUG_VM_PGTABLE @@ -0,0 +1,24 @@ +# CONFIG_DEBUG_VM_PGTABLE: +# +# This option provides a debug method which can be used to test +# architecture page table helper functions on various platforms in +# verifying if they comply with expected generic MM semantics. This +# will help architecture code in making sure that any changes or +# new additions of these helpers still conform to expected +# semantics of the generic MM. Platforms will have to opt in for +# this through ARCH_HAS_DEBUG_VM_PGTABLE. +# +# If unsure, say N. +# +# Symbol: DEBUG_VM_PGTABLE [=n] +# Type : bool +# Defined at lib/Kconfig.debug:702 +# Prompt: Debug arch page table for semantics compliance +# Depends on: MMU [=y] && ARCH_HAS_DEBUG_VM_PGTABLE [=y] +# Location: +# -> Kernel hacking +# -> Memory Debugging +# +# +# +# CONFIG_DEBUG_VM_PGTABLE is not set diff --git a/configs/fedora/generic/arm/CONFIG_DEBUG_WX b/configs/fedora/generic/CONFIG_DEBUG_WX index 95e08f44b..95e08f44b 100644 --- a/configs/fedora/generic/arm/CONFIG_DEBUG_WX +++ b/configs/fedora/generic/CONFIG_DEBUG_WX diff --git a/configs/fedora/generic/CONFIG_DEFAULT_INIT b/configs/fedora/generic/CONFIG_DEFAULT_INIT new file mode 100644 index 000000000..e49f35c9c --- /dev/null +++ b/configs/fedora/generic/CONFIG_DEFAULT_INIT @@ -0,0 +1,18 @@ +# CONFIG_DEFAULT_INIT: +# +# This option determines the default init for the system if no init= +# option is passed on the kernel command line. If the requested path is +# not present, we will still then move on to attempting further +# locations (e.g. /sbin/init, etc). If this is empty, we will just use +# the fallback list when init= is not passed. +# +# Symbol: DEFAULT_INIT [=] +# Type : string +# Defined at init/Kconfig:267 +# Prompt: Default init path +# Location: +# -> General setup +# +# +# +CONFIG_DEFAULT_INIT="" diff --git a/configs/fedora/generic/CONFIG_DMABUF_HEAPS b/configs/fedora/generic/CONFIG_DMABUF_HEAPS index 06c5f4cf1..f4f69ff9b 100644 --- a/configs/fedora/generic/CONFIG_DMABUF_HEAPS +++ b/configs/fedora/generic/CONFIG_DMABUF_HEAPS @@ -1 +1 @@ -# CONFIG_DMABUF_HEAPS is not set +CONFIG_DMABUF_HEAPS=y diff --git a/configs/fedora/generic/CONFIG_DMABUF_HEAPS_CMA b/configs/fedora/generic/CONFIG_DMABUF_HEAPS_CMA new file mode 100644 index 000000000..0173e7c19 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DMABUF_HEAPS_CMA @@ -0,0 +1,19 @@ +# CONFIG_DMABUF_HEAPS_CMA: +# +# Choose this option to enable dma-buf CMA heap. This heap is backed +# by the Contiguous Memory Allocator (CMA). If your system has these +# regions, you should say Y here. +# +# Symbol: DMABUF_HEAPS_CMA [=n] +# Type : bool +# Defined at drivers/dma-buf/heaps/Kconfig:8 +# Prompt: DMA-BUF CMA Heap +# Depends on: DMABUF_HEAPS [=y] && DMA_CMA [=y] +# Location: +# -> Device Drivers +# -> DMABUF options +# -> DMA-BUF Userland Memory Heaps (DMABUF_HEAPS [=y]) +# +# +# +CONFIG_DMABUF_HEAPS_CMA=y diff --git a/configs/fedora/generic/CONFIG_DMABUF_HEAPS_SYSTEM b/configs/fedora/generic/CONFIG_DMABUF_HEAPS_SYSTEM new file mode 100644 index 000000000..fe2294a4f --- /dev/null +++ b/configs/fedora/generic/CONFIG_DMABUF_HEAPS_SYSTEM @@ -0,0 +1,18 @@ +# CONFIG_DMABUF_HEAPS_SYSTEM: +# +# Choose this option to enable the system dmabuf heap. The system heap +# is backed by pages from the buddy allocator. If in doubt, say Y. +# +# Symbol: DMABUF_HEAPS_SYSTEM [=n] +# Type : bool +# Defined at drivers/dma-buf/heaps/Kconfig:1 +# Prompt: DMA-BUF System Heap +# Depends on: DMABUF_HEAPS [=y] +# Location: +# -> Device Drivers +# -> DMABUF options +# -> DMA-BUF Userland Memory Heaps (DMABUF_HEAPS [=y]) +# +# +# +CONFIG_DMABUF_HEAPS_SYSTEM=y diff --git a/configs/fedora/generic/CONFIG_DM_EBS b/configs/fedora/generic/CONFIG_DM_EBS new file mode 100644 index 000000000..ee5e77fae --- /dev/null +++ b/configs/fedora/generic/CONFIG_DM_EBS @@ -0,0 +1,19 @@ +# CONFIG_DM_EBS: +# +# dm-ebs emulates smaller logical block size on backing devices +# with larger ones (e.g. 512 byte sectors on 4K native disks). +# +# Symbol: DM_EBS [=n] +# Type : tristate +# Defined at drivers/md/Kconfig:340 +# Prompt: Emulated block size target (EXPERIMENTAL) +# Depends on: MD [=y] && BLK_DEV_DM [=y] +# Location: +# -> Device Drivers +# -> Multiple devices driver support (RAID and LVM) (MD [=y]) +# -> Device mapper support (BLK_DEV_DM [=y]) +# Selects: DM_BUFIO [=y] +# +# +# +CONFIG_DM_EBS=m diff --git a/configs/fedora/generic/CONFIG_DM_MULTIPATH_HST b/configs/fedora/generic/CONFIG_DM_MULTIPATH_HST new file mode 100644 index 000000000..33b24c2e0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DM_MULTIPATH_HST @@ -0,0 +1,23 @@ +# CONFIG_DM_MULTIPATH_HST: +# +# This path selector is a dynamic load balancer which selects +# the path expected to complete the incoming I/O in the shortest +# time by comparing estimated service time (based on historical +# service time). +# +# If unsure, say N. +# +# Symbol: DM_MULTIPATH_HST [=n] +# Type : tristate +# Defined at drivers/md/Kconfig:455 +# Prompt: I/O Path Selector based on historical service time +# Depends on: MD [=y] && DM_MULTIPATH [=m] +# Location: +# -> Device Drivers +# -> Multiple devices driver support (RAID and LVM) (MD [=y]) +# -> Device mapper support (BLK_DEV_DM [=y]) +# -> Multipath target (DM_MULTIPATH [=m]) +# +# +# +CONFIG_DM_MULTIPATH_HST=m diff --git a/configs/fedora/generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG b/configs/fedora/generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG index 4d2da6ce4..e18a99fb3 100644 --- a/configs/fedora/generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG +++ b/configs/fedora/generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG @@ -1 +1 @@ -# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y diff --git a/configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DCN2_0 b/configs/fedora/generic/CONFIG_DRM_AMD_DC_DCN2_0 index 6dd660a6d..6dd660a6d 100644 --- a/configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DCN2_0 +++ b/configs/fedora/generic/CONFIG_DRM_AMD_DC_DCN2_0 diff --git a/configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DSC_SUPPORT b/configs/fedora/generic/CONFIG_DRM_AMD_DC_DSC_SUPPORT index 94442b2a5..94442b2a5 100644 --- a/configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DSC_SUPPORT +++ b/configs/fedora/generic/CONFIG_DRM_AMD_DC_DSC_SUPPORT diff --git a/configs/fedora/generic/CONFIG_DRM_CHRONTEL_CH7033 b/configs/fedora/generic/CONFIG_DRM_CHRONTEL_CH7033 new file mode 100644 index 000000000..77e5139cb --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_CHRONTEL_CH7033 @@ -0,0 +1,21 @@ +# CONFIG_DRM_CHRONTEL_CH7033: +# +# Enable support for the Chrontel CH7033 VGA/DVI/HDMI Encoder, as +# found in the Dell Wyse 3020 thin client. +# +# If in doubt, say "N". +# +# Symbol: DRM_CHRONTEL_CH7033 [=n] +# Type : tristate +# Defined at drivers/gpu/drm/bridge/Kconfig:30 +# Prompt: Chrontel CH7033 Video Encoder +# Depends on: HAS_IOMEM [=y] && DRM [=m] && DRM_BRIDGE [=y] && OF [=y] +# Location: +# -> Device Drivers +# -> Graphics support +# -> Display Interface Bridges +# Selects: DRM_KMS_HELPER [=m] +# +# +# +CONFIG_DRM_CHRONTEL_CH7033=m diff --git a/configs/fedora/generic/CONFIG_DRM_DP_CEC b/configs/fedora/generic/CONFIG_DRM_DP_CEC index f0dbdcca2..5f9b38555 100644 --- a/configs/fedora/generic/CONFIG_DRM_DP_CEC +++ b/configs/fedora/generic/CONFIG_DRM_DP_CEC @@ -1 +1 @@ -# CONFIG_DRM_DP_CEC is not set +CONFIG_DRM_DP_CEC=y diff --git a/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER b/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER new file mode 100644 index 000000000..e2ea277b3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER @@ -0,0 +1 @@ +# CONFIG_DRM_LVDS_ENCODER is not set diff --git a/configs/fedora/generic/CONFIG_DRM_NWL_MIPI_DSI b/configs/fedora/generic/CONFIG_DRM_NWL_MIPI_DSI new file mode 100644 index 000000000..6f4e4e857 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_NWL_MIPI_DSI @@ -0,0 +1 @@ +# CONFIG_DRM_NWL_MIPI_DSI is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_ARM_VERSATILE b/configs/fedora/generic/CONFIG_DRM_PANEL_ARM_VERSATILE new file mode 100644 index 000000000..f5ffd8d31 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_ARM_VERSATILE @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_ARM_VERSATILE is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 b/configs/fedora/generic/CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 new file mode 100644 index 000000000..848c00fc5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 @@ -0,0 +1,19 @@ +# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596: +# +# Say Y here if you want to enable support for the ASUS TMP5P5 +# NT35596 1080x1920 video mode panel as found in some Asus +# Zenfone 2 Laser Z00T devices. +# +# Symbol: DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 [=n] +# Type : tristate +# Defined at drivers/gpu/drm/panel/Kconfig:21 +# Prompt: ASUS Z00T TM5P5 NT35596 panel +# Depends on: HAS_IOMEM [=y] && DRM [=m] && DRM_PANEL [=y] && GPIOLIB [=y] && OF [=y] && DRM_MIPI_DSI [=y] && BACKLIGHT_CLASS_DEVICE [=y] +# Location: +# -> Device Drivers +# -> Graphics support +# -> Display Panels +# +# +# +# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W b/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W new file mode 100644 index 000000000..94f7279db --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W @@ -0,0 +1,20 @@ +# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W: +# +# Say Y here if you want to enable support for Leadtek LTK050H3146W +# TFT-LCD modules. The panel has a 720x1280 resolution and uses +# 24 bit RGB per pixel. It provides a MIPI DSI interface to +# the host and has a built-in LED backlight. +# +# Symbol: DRM_PANEL_LEADTEK_LTK050H3146W [=n] +# Type : tristate +# Defined at drivers/gpu/drm/panel/Kconfig:150 +# Prompt: Leadtek LTK050H3146W panel +# Depends on: HAS_IOMEM [=y] && DRM [=m] && DRM_PANEL [=y] && OF [=y] && DRM_MIPI_DSI [=y] && BACKLIGHT_CLASS_DEVICE [=y] +# Location: +# -> Device Drivers +# -> Graphics support +# -> Display Panels +# +# +# +# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 b/configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 new file mode 100644 index 000000000..070c7734f --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 @@ -0,0 +1 @@ +CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7703 b/configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7703 index aa14cabc0..f518598bb 100644 --- a/configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7703 +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7703 @@ -1 +1 @@ -CONFIG_DRM_PANEL_SITRONIX_ST7703=m +# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_VISIONOX_RM69299 b/configs/fedora/generic/CONFIG_DRM_PANEL_VISIONOX_RM69299 new file mode 100644 index 000000000..4275adab8 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_VISIONOX_RM69299 @@ -0,0 +1,18 @@ +# CONFIG_DRM_PANEL_VISIONOX_RM69299: +# +# Say Y here if you want to enable support for Visionox +# RM69299 DSI Video Mode panel. +# +# Symbol: DRM_PANEL_VISIONOX_RM69299 [=n] +# Type : tristate +# Defined at drivers/gpu/drm/panel/Kconfig:457 +# Prompt: Visionox RM69299 +# Depends on: HAS_IOMEM [=y] && DRM [=m] && DRM_PANEL [=y] && OF [=y] && DRM_MIPI_DSI [=y] +# Location: +# -> Device Drivers +# -> Graphics support +# -> Display Panels +# +# +# +CONFIG_DRM_PANEL_VISIONOX_RM69299=m diff --git a/configs/fedora/generic/CONFIG_DWMAC_IMX8 b/configs/fedora/generic/CONFIG_DWMAC_IMX8 new file mode 100644 index 000000000..b644971dd --- /dev/null +++ b/configs/fedora/generic/CONFIG_DWMAC_IMX8 @@ -0,0 +1,25 @@ +# CONFIG_DWMAC_IMX8: +# +# Support for ethernet controller on NXP i.MX8 SOCs. +# +# This selects NXP SoC glue layer support for the stmmac +# device driver. This driver is used for i.MX8 series like +# iMX8MP/iMX8DXL GMAC ethernet controller. +# +# Symbol: DWMAC_IMX8 [=m] +# Type : tristate +# Defined at drivers/net/ethernet/stmicro/stmmac/Kconfig:200 +# Prompt: NXP IMX8 DWMAC support +# Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_STMICRO [=y] && STMMAC_ETH [=m] && STMMAC_PLATFORM [=m] && OF [=y] && (ARCH_MXC [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> Network device support (NETDEVICES [=y]) +# -> Ethernet driver support (ETHERNET [=y]) +# -> STMicroelectronics devices (NET_VENDOR_STMICRO [=y]) +# -> STMicroelectronics Multi-Gigabit Ethernet driver (STMMAC_ETH [=m]) +# -> STMMAC Platform bus support (STMMAC_PLATFORM [=m]) +# Selects: MFD_SYSCON [=y] +# +# +# +CONFIG_DWMAC_IMX8=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_EDAC_DMC520 b/configs/fedora/generic/CONFIG_EDAC_DMC520 index 691d534c5..691d534c5 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_EDAC_DMC520 +++ b/configs/fedora/generic/CONFIG_EDAC_DMC520 diff --git a/configs/fedora/generic/CONFIG_EFI_CUSTOM_SSDT_OVERLAYS b/configs/fedora/generic/CONFIG_EFI_CUSTOM_SSDT_OVERLAYS new file mode 100644 index 000000000..d96a45178 --- /dev/null +++ b/configs/fedora/generic/CONFIG_EFI_CUSTOM_SSDT_OVERLAYS @@ -0,0 +1,19 @@ +# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS: +# +# Allow loading of an ACPI SSDT overlay from an EFI variable specified +# by a kernel command line option. +# +# See Documentation/admin-guide/acpi/ssdt-overlays.rst for more +# information. +# +# Symbol: EFI_CUSTOM_SSDT_OVERLAYS [=y] +# Type : bool +# Defined at drivers/firmware/efi/Kconfig:282 +# Prompt: Load custom ACPI SSDT overlay from an EFI variable +# Depends on: EFI_VARS [=y] && ACPI [=y] +# Location: +# -> Firmware Drivers +# +# +# +# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set diff --git a/configs/fedora/generic/CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER b/configs/fedora/generic/CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER new file mode 100644 index 000000000..5c373663f --- /dev/null +++ b/configs/fedora/generic/CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER @@ -0,0 +1,21 @@ +# CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER: +# +# Select this config option to add support for the initrd= command +# line parameter, allowing an initrd that resides on the same volume +# as the kernel image to be loaded into memory. +# +# This method is deprecated. +# +# Symbol: EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER [=y] +# Type : bool +# Defined at drivers/firmware/efi/Kconfig:127 +# Prompt: Enable the command line initrd loader +# Depends on: EFI [=y] && EFI_STUB [=y] && (EFI_GENERIC_STUB [=y] || X86) +# Visible if: EFI [=y] && EFI_STUB [=y] && (EFI_GENERIC_STUB [=y] || X86) && !X86 +# Location: +# -> Firmware Drivers +# -> EFI (Extensible Firmware Interface) Support +# +# +# +CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC b/configs/fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC index 5f2508da3..5f2508da3 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC +++ b/configs/fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_LZORLE b/configs/fedora/generic/CONFIG_F2FS_FS_LZORLE new file mode 100644 index 000000000..39bf1b307 --- /dev/null +++ b/configs/fedora/generic/CONFIG_F2FS_FS_LZORLE @@ -0,0 +1,18 @@ +# CONFIG_F2FS_FS_LZORLE: +# +# Support LZO-RLE compress algorithm, if unsure, say Y. +# +# Symbol: F2FS_FS_LZORLE [=y] +# Type : bool +# Defined at fs/f2fs/Kconfig:131 +# Prompt: LZO-RLE compression support +# Depends on: BLOCK [=y] && F2FS_FS_COMPRESSION [=y] && F2FS_FS_LZO [=y] +# Location: +# -> File systems +# -> F2FS filesystem support (F2FS_FS [=m]) +# -> F2FS compression feature (F2FS_FS_COMPRESSION [=y]) +# Selects: LZO_COMPRESS [=y] && LZO_DECOMPRESS [=y] +# +# +# +CONFIG_F2FS_FS_LZORLE=y diff --git a/configs/fedora/generic/CONFIG_FLATMEM_MANUAL b/configs/fedora/generic/CONFIG_FLATMEM_MANUAL new file mode 100644 index 000000000..0c149e927 --- /dev/null +++ b/configs/fedora/generic/CONFIG_FLATMEM_MANUAL @@ -0,0 +1,25 @@ +# CONFIG_FLATMEM_MANUAL: +# +# This option is best suited for non-NUMA systems with +# flat address space. The FLATMEM is the most efficient +# system in terms of performance and resource consumption +# and it is the best option for smaller systems. +# +# For systems that have holes in their physical address +# spaces and for features like NUMA and memory hotplug, +# choose "Sparse Memory". +# +# If unsure, choose this option (Flat Memory) over any other. +# +# Symbol: FLATMEM_MANUAL [=n] +# Type : bool +# Defined at mm/Kconfig:21 +# Prompt: Flat Memory +# Depends on: <choice> && (!ARCH_DISCONTIGMEM_ENABLE && !ARCH_SPARSEMEM_ENABLE [=y] || ARCH_FLATMEM_ENABLE [=y]) +# Location: +# -> Memory Management options +# -> Memory model (<choice> [=y]) +# +# +# +# CONFIG_FLATMEM_MANUAL is not set diff --git a/configs/fedora/generic/CONFIG_FRAME_WARN b/configs/fedora/generic/CONFIG_FRAME_WARN index ca907a00b..6826578df 100644 --- a/configs/fedora/generic/CONFIG_FRAME_WARN +++ b/configs/fedora/generic/CONFIG_FRAME_WARN @@ -1 +1 @@ -CONFIG_FRAME_WARN=1024 +CONFIG_FRAME_WARN=2048 diff --git a/configs/fedora/generic/CONFIG_FSL_RCPM b/configs/fedora/generic/CONFIG_FSL_RCPM new file mode 100644 index 000000000..aab0d456e --- /dev/null +++ b/configs/fedora/generic/CONFIG_FSL_RCPM @@ -0,0 +1 @@ +# CONFIG_FSL_RCPM is not set diff --git a/configs/fedora/generic/CONFIG_GIGASET_BASE b/configs/fedora/generic/CONFIG_GIGASET_BASE new file mode 100644 index 000000000..fa7bb4bea --- /dev/null +++ b/configs/fedora/generic/CONFIG_GIGASET_BASE @@ -0,0 +1 @@ +CONFIG_GIGASET_BASE=m diff --git a/configs/fedora/generic/CONFIG_GIGASET_CAPI b/configs/fedora/generic/CONFIG_GIGASET_CAPI new file mode 100644 index 000000000..b94738045 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GIGASET_CAPI @@ -0,0 +1 @@ +CONFIG_GIGASET_CAPI=y diff --git a/configs/fedora/generic/CONFIG_GIGASET_DEBUG b/configs/fedora/generic/CONFIG_GIGASET_DEBUG new file mode 100644 index 000000000..95c9cd104 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GIGASET_DEBUG @@ -0,0 +1 @@ +# CONFIG_GIGASET_DEBUG is not set diff --git a/configs/fedora/generic/CONFIG_GIGASET_M101 b/configs/fedora/generic/CONFIG_GIGASET_M101 new file mode 100644 index 000000000..10388d0a9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GIGASET_M101 @@ -0,0 +1 @@ +CONFIG_GIGASET_M101=m diff --git a/configs/fedora/generic/CONFIG_GIGASET_M105 b/configs/fedora/generic/CONFIG_GIGASET_M105 new file mode 100644 index 000000000..cf3d1db9f --- /dev/null +++ b/configs/fedora/generic/CONFIG_GIGASET_M105 @@ -0,0 +1 @@ +CONFIG_GIGASET_M105=m diff --git a/configs/fedora/generic/CONFIG_GPIO_AGGREGATOR b/configs/fedora/generic/CONFIG_GPIO_AGGREGATOR new file mode 100644 index 000000000..873288c62 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GPIO_AGGREGATOR @@ -0,0 +1,23 @@ +# CONFIG_GPIO_AGGREGATOR: +# +# Say yes here to enable the GPIO Aggregator, which provides a way to +# aggregate existing GPIO lines into a new virtual GPIO chip. +# This can serve the following purposes: +# - Assign permissions for a collection of GPIO lines to a user, +# - Export a collection of GPIO lines to a virtual machine, +# - Provide a generic driver for a GPIO-operated device in an +# industrial control context, to be operated from userspace using +# the GPIO chardev interface. +# +# Symbol: GPIO_AGGREGATOR [=n] +# Type : tristate +# Defined at drivers/gpio/Kconfig:1548 +# Prompt: GPIO Aggregator +# Depends on: GPIOLIB [=y] +# Location: +# -> Device Drivers +# -> GPIO Support (GPIOLIB [=y]) +# +# +# +CONFIG_GPIO_AGGREGATOR=m diff --git a/configs/fedora/generic/CONFIG_GPIO_BCM_XGS_IPROC b/configs/fedora/generic/CONFIG_GPIO_BCM_XGS_IPROC new file mode 100644 index 000000000..ddd521a75 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GPIO_BCM_XGS_IPROC @@ -0,0 +1 @@ +# CONFIG_GPIO_BCM_XGS_IPROC is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_GPIO_MLXBF2 b/configs/fedora/generic/CONFIG_GPIO_MLXBF2 index 127a1ffa2..127a1ffa2 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_GPIO_MLXBF2 +++ b/configs/fedora/generic/CONFIG_GPIO_MLXBF2 diff --git a/configs/fedora/generic/CONFIG_GPIO_PCA953X_IRQ b/configs/fedora/generic/CONFIG_GPIO_PCA953X_IRQ new file mode 100644 index 000000000..ea752dc52 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GPIO_PCA953X_IRQ @@ -0,0 +1 @@ +# CONFIG_GPIO_PCA953X_IRQ is not set diff --git a/configs/fedora/generic/CONFIG_GPIO_SYSCON b/configs/fedora/generic/CONFIG_GPIO_SYSCON new file mode 100644 index 000000000..714d52d62 --- /dev/null +++ b/configs/fedora/generic/CONFIG_GPIO_SYSCON @@ -0,0 +1 @@ +# CONFIG_GPIO_SYSCON is not set diff --git a/configs/fedora/generic/CONFIG_HEADERS_CHECK b/configs/fedora/generic/CONFIG_HEADERS_CHECK new file mode 100644 index 000000000..0658b1fce --- /dev/null +++ b/configs/fedora/generic/CONFIG_HEADERS_CHECK @@ -0,0 +1 @@ +CONFIG_HEADERS_CHECK=y diff --git a/configs/fedora/generic/CONFIG_HEADER_TEST b/configs/fedora/generic/CONFIG_HEADER_TEST new file mode 100644 index 000000000..bcdd8b485 --- /dev/null +++ b/configs/fedora/generic/CONFIG_HEADER_TEST @@ -0,0 +1 @@ +CONFIG_HEADER_TEST=y diff --git a/configs/fedora/generic/CONFIG_HIBERNATION_SNAPSHOT_DEV b/configs/fedora/generic/CONFIG_HIBERNATION_SNAPSHOT_DEV new file mode 100644 index 000000000..c4627aa7e --- /dev/null +++ b/configs/fedora/generic/CONFIG_HIBERNATION_SNAPSHOT_DEV @@ -0,0 +1 @@ +CONFIG_HIBERNATION_SNAPSHOT_DEV=y diff --git a/configs/fedora/generic/CONFIG_HISI_DMA b/configs/fedora/generic/CONFIG_HISI_DMA new file mode 100644 index 000000000..57350600f --- /dev/null +++ b/configs/fedora/generic/CONFIG_HISI_DMA @@ -0,0 +1 @@ +# CONFIG_HISI_DMA is not set diff --git a/configs/fedora/generic/CONFIG_HIST_TRIGGERS_DEBUG b/configs/fedora/generic/CONFIG_HIST_TRIGGERS_DEBUG new file mode 100644 index 000000000..7634345b6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_HIST_TRIGGERS_DEBUG @@ -0,0 +1,33 @@ +# CONFIG_HIST_TRIGGERS_DEBUG: +# +# Add "hist_debug" file for each event, which when read will +# dump out a bunch of internal details about the hist triggers +# defined on that event. +# +# The hist_debug file serves a couple of purposes: +# +# - Helps developers verify that nothing is broken. +# +# - Provides educational information to support the details +# of the hist trigger internals as described by +# Documentation/trace/histogram-design.rst. +# +# The hist_debug output only covers the data structures +# related to the histogram definitions themselves and doesn't +# display the internals of map buckets or variable values of +# running histograms. +# +# If unsure, say N. +# +# Symbol: HIST_TRIGGERS_DEBUG [=n] +# Type : bool +# Defined at kernel/trace/Kconfig:850 +# Prompt: Hist trigger debug support +# Depends on: TRACING_SUPPORT [=y] && FTRACE [=y] && HIST_TRIGGERS [=y] +# Location: +# -> Kernel hacking +# -> Tracers (FTRACE [=y]) +# +# +# +# CONFIG_HIST_TRIGGERS_DEBUG is not set diff --git a/configs/fedora/generic/CONFIG_HW_RANDOM_CCTRNG b/configs/fedora/generic/CONFIG_HW_RANDOM_CCTRNG new file mode 100644 index 000000000..97f5363c7 --- /dev/null +++ b/configs/fedora/generic/CONFIG_HW_RANDOM_CCTRNG @@ -0,0 +1 @@ +# CONFIG_HW_RANDOM_CCTRNG is not set diff --git a/configs/fedora/generic/x86/CONFIG_HYPERV_TESTING b/configs/fedora/generic/CONFIG_HYPERV_TESTING index d763bef97..d763bef97 100644 --- a/configs/fedora/generic/x86/CONFIG_HYPERV_TESTING +++ b/configs/fedora/generic/CONFIG_HYPERV_TESTING diff --git a/configs/fedora/generic/CONFIG_HYSDN b/configs/fedora/generic/CONFIG_HYSDN new file mode 100644 index 000000000..2f1ddde6c --- /dev/null +++ b/configs/fedora/generic/CONFIG_HYSDN @@ -0,0 +1 @@ +CONFIG_HYSDN=m diff --git a/configs/fedora/generic/CONFIG_HYSDN_CAPI b/configs/fedora/generic/CONFIG_HYSDN_CAPI new file mode 100644 index 000000000..db9a861ab --- /dev/null +++ b/configs/fedora/generic/CONFIG_HYSDN_CAPI @@ -0,0 +1 @@ +CONFIG_HYSDN_CAPI=y diff --git a/configs/fedora/generic/CONFIG_I2C_QCOM_CCI b/configs/fedora/generic/CONFIG_I2C_QCOM_CCI new file mode 100644 index 000000000..b66c46744 --- /dev/null +++ b/configs/fedora/generic/CONFIG_I2C_QCOM_CCI @@ -0,0 +1 @@ +# CONFIG_I2C_QCOM_CCI is not set diff --git a/configs/fedora/generic/CONFIG_ICST b/configs/fedora/generic/CONFIG_ICST new file mode 100644 index 000000000..f1c4cbd99 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ICST @@ -0,0 +1,20 @@ +# CONFIG_ICST: +# +# Supports clocking on ARM Reference designs: +# - Integrator/AP and Integrator/CP +# - RealView PB1176, EB, PB11MP and PBX +# +# Symbol: ICST [=n] +# Type : bool +# Defined at drivers/clk/versatile/Kconfig:7 +# Prompt: Clock driver for ARM Reference designs ICST +# Depends on: COMMON_CLK [=y] && (ARCH_INTEGRATOR || ARCH_REALVIEW || ARCH_VERSATILE || ARCH_VEXPRESS [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> Common Clock Framework +# -> Clock driver for ARM Reference designs +# Selects: REGMAP_MMIO [=y] +# +# +# +# CONFIG_ICST is not set diff --git a/configs/fedora/generic/CONFIG_INET6_ESPINTCP b/configs/fedora/generic/CONFIG_INET6_ESPINTCP new file mode 100644 index 000000000..50485ce44 --- /dev/null +++ b/configs/fedora/generic/CONFIG_INET6_ESPINTCP @@ -0,0 +1,23 @@ +# CONFIG_INET6_ESPINTCP: +# +# Support for RFC 8229 encapsulation of ESP and IKE over +# TCP/IPv6 sockets. +# +# If unsure, say N. +# +# Symbol: INET6_ESPINTCP [=n] +# Type : bool +# Defined at net/ipv6/Kconfig:91 +# Prompt: IPv6: ESP in TCP encapsulation (RFC 8229) +# Depends on: NET [=y] && INET [=y] && IPV6 [=y] && XFRM [=y] && INET6_ESP [=m] +# Location: +# -> Networking support (NET [=y]) +# -> Networking options +# -> TCP/IP networking (INET [=y]) +# -> The IPv6 protocol (IPV6 [=y]) +# -> IPv6: ESP transformation (INET6_ESP [=m]) +# Selects: STREAM_PARSER [=y] && NET_SOCK_MSG [=y] && XFRM_ESPINTCP [=y] +# +# +# +CONFIG_INET6_ESPINTCP=y diff --git a/configs/fedora/generic/CONFIG_INFINIBAND_RTRS_CLIENT b/configs/fedora/generic/CONFIG_INFINIBAND_RTRS_CLIENT new file mode 100644 index 000000000..5d438a4cb --- /dev/null +++ b/configs/fedora/generic/CONFIG_INFINIBAND_RTRS_CLIENT @@ -0,0 +1,21 @@ +# CONFIG_INFINIBAND_RTRS_CLIENT: +# +# RDMA transport client module. +# +# RDMA Transport (RTRS) client implements a reliable transport layer +# and also multipathing functionality and that it is intended to be +# the base layer for a block storage initiator over RDMA. +# +# Symbol: INFINIBAND_RTRS_CLIENT [=n] +# Type : tristate +# Defined at drivers/infiniband/ulp/rtrs/Kconfig:7 +# Prompt: RTRS client module +# Depends on: INFINIBAND [=m] && INFINIBAND_ADDR_TRANS [=y] +# Location: +# -> Device Drivers +# -> InfiniBand support (INFINIBAND [=m]) +# Selects: INFINIBAND_RTRS [=n] +# +# +# +CONFIG_INFINIBAND_RTRS_CLIENT=m diff --git a/configs/fedora/generic/CONFIG_INFINIBAND_RTRS_SERVER b/configs/fedora/generic/CONFIG_INFINIBAND_RTRS_SERVER new file mode 100644 index 000000000..30fe516f4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_INFINIBAND_RTRS_SERVER @@ -0,0 +1,21 @@ +# CONFIG_INFINIBAND_RTRS_SERVER: +# +# RDMA transport server module. +# +# RDMA Transport (RTRS) server module processing connection and IO +# requests received from the RTRS client module, it will pass the +# IO requests to its user eg. RNBD_server. +# +# Symbol: INFINIBAND_RTRS_SERVER [=n] +# Type : tristate +# Defined at drivers/infiniband/ulp/rtrs/Kconfig:18 +# Prompt: RTRS server module +# Depends on: INFINIBAND [=m] && INFINIBAND_ADDR_TRANS [=y] +# Location: +# -> Device Drivers +# -> InfiniBand support (INFINIBAND [=m]) +# Selects: INFINIBAND_RTRS [=n] +# +# +# +CONFIG_INFINIBAND_RTRS_SERVER=m diff --git a/configs/fedora/generic/CONFIG_INPUT_FF_MEMLESS b/configs/fedora/generic/CONFIG_INPUT_FF_MEMLESS index 817e3e1ed..f3633927e 100644 --- a/configs/fedora/generic/CONFIG_INPUT_FF_MEMLESS +++ b/configs/fedora/generic/CONFIG_INPUT_FF_MEMLESS @@ -1 +1,2 @@ +# CONFIG_INPUT_FF_MEMLESS is selected as a module by CONFIG_HID_BETOP_FF CONFIG_INPUT_FF_MEMLESS=m diff --git a/configs/fedora/generic/CONFIG_INPUT_IQS269A b/configs/fedora/generic/CONFIG_INPUT_IQS269A new file mode 100644 index 000000000..fc8eb94c6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_INPUT_IQS269A @@ -0,0 +1,23 @@ +# CONFIG_INPUT_IQS269A: +# +# Say Y to enable support for the Azoteq IQS269A capacitive +# touch controller. +# +# To compile this driver as a module, choose M here: the +# module will be called iqs269a. +# +# Symbol: INPUT_IQS269A [=n] +# Type : tristate +# Defined at drivers/input/misc/Kconfig:721 +# Prompt: Azoteq IQS269A capacitive touch controller +# Depends on: !UML && INPUT [=y] && INPUT_MISC [=y] && I2C [=y] +# Location: +# -> Device Drivers +# -> Input device support +# -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y]) +# -> Miscellaneous devices (INPUT_MISC [=y]) +# Selects: REGMAP_I2C [=y] +# +# +# +CONFIG_INPUT_IQS269A=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD b/configs/fedora/generic/CONFIG_INTEL_IDXD index 5ca68a398..5ca68a398 100644 --- a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD +++ b/configs/fedora/generic/CONFIG_INTEL_IDXD diff --git a/configs/fedora/generic/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON b/configs/fedora/generic/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON new file mode 100644 index 000000000..1b7327cec --- /dev/null +++ b/configs/fedora/generic/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON @@ -0,0 +1 @@ +# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set diff --git a/configs/fedora/generic/CONFIG_INTEL_SCU_PCI b/configs/fedora/generic/CONFIG_INTEL_SCU_PCI new file mode 100644 index 000000000..6accffa2c --- /dev/null +++ b/configs/fedora/generic/CONFIG_INTEL_SCU_PCI @@ -0,0 +1,27 @@ +# CONFIG_INTEL_SCU_PCI: +# +# This driver is used to bridge the communications between kernel +# and SCU on some embedded Intel x86 platforms. It also creates +# devices that are connected to the SoC through the SCU. +# Platforms supported: +# Medfield +# Clovertrail +# Merrifield +# Broxton +# Apollo Lake +# +# Symbol: INTEL_SCU_PCI [=n] +# Type : bool +# Defined at drivers/platform/x86/Kconfig:1354 +# Prompt: Intel SCU PCI driver +# Depends on: X86 [=y] && X86_PLATFORM_DEVICES [=y] && PCI [=y] +# Location: +# -> Device Drivers +# -> X86 Platform Specific Device Drivers (X86_PLATFORM_DEVICES [=y]) +# Selects: INTEL_SCU [=n] +# Selected by [n]: +# - X86_INTEL_MID [=n] && X86_EXTENDED_PLATFORM [=y] && X86_PLATFORM_DEVICES [=y] && PCI [=y] && (X86_64 [=y] || PCI_GOANY [=n] && X86_32 [=n]) && X86_IO_APIC [=y] +# +# +# +# CONFIG_INTEL_SCU_PCI is not set diff --git a/configs/fedora/generic/CONFIG_INTEL_SCU_PLATFORM b/configs/fedora/generic/CONFIG_INTEL_SCU_PLATFORM new file mode 100644 index 000000000..0e96047ab --- /dev/null +++ b/configs/fedora/generic/CONFIG_INTEL_SCU_PLATFORM @@ -0,0 +1,19 @@ +# CONFIG_INTEL_SCU_PLATFORM: +# +# This driver is used to bridge the communications between kernel +# and SCU (sometimes called PMC as well). The driver currently +# supports Intel Elkhart Lake and compatible platforms. +# +# Symbol: INTEL_SCU_PLATFORM [=n] +# Type : tristate +# Defined at drivers/platform/x86/Kconfig:1369 +# Prompt: Intel SCU platform driver +# Depends on: X86 [=y] && X86_PLATFORM_DEVICES [=y] && ACPI [=y] +# Location: +# -> Device Drivers +# -> X86 Platform Specific Device Drivers (X86_PLATFORM_DEVICES [=y]) +# Selects: INTEL_SCU [=n] +# +# +# +# CONFIG_INTEL_SCU_PLATFORM is not set diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL b/configs/fedora/generic/CONFIG_INTEL_UNCORE_FREQ_CONTROL index f8e5172cf..f8e5172cf 100644 --- a/configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL +++ b/configs/fedora/generic/CONFIG_INTEL_UNCORE_FREQ_CONTROL diff --git a/configs/fedora/generic/CONFIG_INTEL_WMI_SBL_FW_UPDATE b/configs/fedora/generic/CONFIG_INTEL_WMI_SBL_FW_UPDATE new file mode 100644 index 000000000..1625bb32c --- /dev/null +++ b/configs/fedora/generic/CONFIG_INTEL_WMI_SBL_FW_UPDATE @@ -0,0 +1,21 @@ +# CONFIG_INTEL_WMI_SBL_FW_UPDATE: +# +# Say Y here if you want to be able to use the WMI interface to signal +# Slim Bootloader to trigger update on next reboot. +# +# To compile this driver as a module, choose M here: the module will +# be called intel-wmi-sbl-fw-update. +# +# Symbol: INTEL_WMI_SBL_FW_UPDATE [=n] +# Type : tristate +# Defined at drivers/platform/x86/Kconfig:81 +# Prompt: Intel WMI Slim Bootloader firmware update signaling driver +# Depends on: X86 [=y] && X86_PLATFORM_DEVICES [=y] && ACPI_WMI [=m] +# Location: +# -> Device Drivers +# -> X86 Platform Specific Device Drivers (X86_PLATFORM_DEVICES [=y]) +# -> WMI (ACPI_WMI [=m]) +# +# +# +# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set diff --git a/configs/fedora/generic/CONFIG_INTERCONNECT b/configs/fedora/generic/CONFIG_INTERCONNECT index 44680093f..04fcaa10c 100644 --- a/configs/fedora/generic/CONFIG_INTERCONNECT +++ b/configs/fedora/generic/CONFIG_INTERCONNECT @@ -1 +1,19 @@ -# CONFIG_INTERCONNECT is not set +# CONFIG_INTERCONNECT: +# +# Support for management of the on-chip interconnects. +# +# This framework is designed to provide a generic interface for +# managing the interconnects in a SoC. +# +# If unsure, say no. +# +# Symbol: INTERCONNECT [=n] +# Type : bool +# Defined at drivers/interconnect/Kconfig:2 +# Prompt: On-Chip Interconnect management support +# Location: +# -> Device Drivers +# +# +# +CONFIG_INTERCONNECT=y diff --git a/configs/fedora/generic/CONFIG_IR_SERIAL b/configs/fedora/generic/CONFIG_IR_SERIAL index 53c7f1d81..4da276f1e 100644 --- a/configs/fedora/generic/CONFIG_IR_SERIAL +++ b/configs/fedora/generic/CONFIG_IR_SERIAL @@ -1 +1 @@ -CONFIG_IR_SERIAL=m +# CONFIG_IR_SERIAL is not set diff --git a/configs/fedora/generic/CONFIG_ISDN_CAPI b/configs/fedora/generic/CONFIG_ISDN_CAPI new file mode 100644 index 000000000..b36fbdb13 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ISDN_CAPI @@ -0,0 +1 @@ +CONFIG_ISDN_CAPI=y diff --git a/configs/fedora/generic/CONFIG_KASAN_VMALLOC b/configs/fedora/generic/CONFIG_KASAN_VMALLOC new file mode 100644 index 000000000..81b3589c9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_KASAN_VMALLOC @@ -0,0 +1 @@ +# CONFIG_KASAN_VMALLOC is not set diff --git a/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST b/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST new file mode 100644 index 000000000..040d0b830 --- /dev/null +++ b/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST @@ -0,0 +1 @@ +CONFIG_KERNEL_HEADER_TEST=y diff --git a/configs/fedora/generic/CONFIG_KEXEC_SIG b/configs/fedora/generic/CONFIG_KEXEC_SIG new file mode 100644 index 000000000..49392e485 --- /dev/null +++ b/configs/fedora/generic/CONFIG_KEXEC_SIG @@ -0,0 +1 @@ +# CONFIG_KEXEC_SIG is not set diff --git a/configs/fedora/generic/CONFIG_KEYBOARD_BCM b/configs/fedora/generic/CONFIG_KEYBOARD_BCM new file mode 100644 index 000000000..93e4fffa8 --- /dev/null +++ b/configs/fedora/generic/CONFIG_KEYBOARD_BCM @@ -0,0 +1,22 @@ +# CONFIG_KEYBOARD_BCM: +# +# Say Y here if you want to use Broadcom keypad. +# +# To compile this driver as a module, choose M here: the +# module will be called bcm-keypad. +# +# Symbol: KEYBOARD_BCM [=n] +# Type : tristate +# Defined at drivers/input/keyboard/Kconfig:774 +# Prompt: Broadcom keypad driver +# Depends on: !UML && INPUT [=y] && INPUT_KEYBOARD [=y] && OF [=y] && HAVE_CLK [=y] +# Location: +# -> Device Drivers +# -> Input device support +# -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y]) +# -> Keyboards (INPUT_KEYBOARD [=y]) +# Selects: INPUT_MATRIXKMAP [=m] +# +# +# +CONFIG_KEYBOARD_BCM=m diff --git a/configs/fedora/generic/CONFIG_KEY_NOTIFICATIONS b/configs/fedora/generic/CONFIG_KEY_NOTIFICATIONS new file mode 100644 index 000000000..f2556d44c --- /dev/null +++ b/configs/fedora/generic/CONFIG_KEY_NOTIFICATIONS @@ -0,0 +1,19 @@ +# CONFIG_KEY_NOTIFICATIONS: +# +# This option provides support for getting change notifications on keys +# and keyrings on which the caller has View permission. This makes use +# of the /dev/watch_queue misc device to handle the notification +# buffer and provides KEYCTL_WATCH_KEY to enable/disable watches. +# +# Symbol: KEY_NOTIFICATIONS [=n] +# Type : bool +# Defined at security/keys/Kconfig:118 +# Prompt: Provide key/keyring change notifications +# Depends on: KEYS [=y] && WATCH_QUEUE [=y] +# Location: +# -> Security options +# -> Enable access key retention support (KEYS [=y]) +# +# +# +CONFIG_KEY_NOTIFICATIONS=y diff --git a/configs/fedora/generic/CONFIG_KVM_ARM_PMU b/configs/fedora/generic/CONFIG_KVM_ARM_PMU new file mode 100644 index 000000000..c60b45de4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_KVM_ARM_PMU @@ -0,0 +1,17 @@ +# CONFIG_KVM_ARM_PMU: +# +# Adds support for a virtual Performance Monitoring Unit (PMU) in +# virtual machines. +# +# Symbol: KVM_ARM_PMU [=y] +# Type : bool +# Defined at arch/arm64/kvm/Kconfig:52 +# Prompt: Virtual Performance Monitoring Unit (PMU) support +# Depends on: VIRTUALIZATION [=y] && KVM [=y] && HW_PERF_EVENTS [=y] +# Location: +# -> Virtualization (VIRTUALIZATION [=y]) +# -> Kernel-based Virtual Machine (KVM) support (KVM [=y]) +# +# +# +CONFIG_KVM_ARM_PMU=y diff --git a/configs/fedora/generic/CONFIG_LEDS_AW2013 b/configs/fedora/generic/CONFIG_LEDS_AW2013 new file mode 100644 index 000000000..2c5a7d17a --- /dev/null +++ b/configs/fedora/generic/CONFIG_LEDS_AW2013 @@ -0,0 +1,20 @@ +# CONFIG_LEDS_AW2013: +# +# This option enables support for the AW2013 3-channel +# LED driver. +# +# To compile this driver as a module, choose M here: the module +# will be called leds-aw2013. +# +# Symbol: LEDS_AW2013 [=n] +# Type : tristate +# Defined at drivers/leds/Kconfig:106 +# Prompt: LED support for Awinic AW2013 +# Depends on: NEW_LEDS [=y] && LEDS_CLASS [=y] && I2C [=y] && OF [=y] +# Location: +# -> Device Drivers +# -> LED Support (NEW_LEDS [=y]) +# +# +# +# CONFIG_LEDS_AW2013 is not set diff --git a/configs/fedora/generic/CONFIG_LEDS_SGM3140 b/configs/fedora/generic/CONFIG_LEDS_SGM3140 new file mode 100644 index 000000000..ecd6dc8d2 --- /dev/null +++ b/configs/fedora/generic/CONFIG_LEDS_SGM3140 @@ -0,0 +1,17 @@ +# CONFIG_LEDS_SGM3140: +# +# This option enables support for the SGM3140 500mA Buck/Boost Charge +# Pump LED Driver. +# +# Symbol: LEDS_SGM3140 [=n] +# Type : tristate +# Defined at drivers/leds/Kconfig:881 +# Prompt: LED support for the SGM3140 +# Depends on: NEW_LEDS [=y] && LEDS_CLASS_FLASH [=m] && (V4L2_FLASH_LED_CLASS [=n] || !V4L2_FLASH_LED_CLASS [=n]) +# Location: +# -> Device Drivers +# -> LED Support (NEW_LEDS [=y]) +# +# +# +# CONFIG_LEDS_SGM3140 is not set diff --git a/configs/fedora/generic/CONFIG_LEDS_SYSCON b/configs/fedora/generic/CONFIG_LEDS_SYSCON new file mode 100644 index 000000000..cc80700c5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_LEDS_SYSCON @@ -0,0 +1 @@ +# CONFIG_LEDS_SYSCON is not set diff --git a/configs/fedora/generic/CONFIG_LIBCRC32C b/configs/fedora/generic/CONFIG_LIBCRC32C index ed0c7dfc7..887fe16f5 100644 --- a/configs/fedora/generic/CONFIG_LIBCRC32C +++ b/configs/fedora/generic/CONFIG_LIBCRC32C @@ -1 +1 @@ -CONFIG_LIBCRC32C=m +CONFIG_LIBCRC32C=y diff --git a/configs/fedora/generic/CONFIG_MAX1241 b/configs/fedora/generic/CONFIG_MAX1241 new file mode 100644 index 000000000..33d998381 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MAX1241 @@ -0,0 +1,21 @@ +# CONFIG_MAX1241: +# +# Say yes here to build support for Maxim max1241 12-bit, single-channel +# ADC. +# +# To compile this driver as a module, choose M here: the module will be +# called max1241. +# +# Symbol: MAX1241 [=n] +# Type : tristate +# Defined at drivers/iio/adc/Kconfig:633 +# Prompt: Maxim max1241 ADC driver +# Depends on: IIO [=m] && SPI_MASTER [=y] +# Location: +# -> Device Drivers +# -> Industrial I/O support (IIO [=m]) +# -> Analog to digital converters +# +# +# +CONFIG_MAX1241=m diff --git a/configs/fedora/generic/CONFIG_MDIO_IPQ4019 b/configs/fedora/generic/CONFIG_MDIO_IPQ4019 new file mode 100644 index 000000000..e7792d132 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MDIO_IPQ4019 @@ -0,0 +1,18 @@ +# CONFIG_MDIO_IPQ4019: +# +# This driver supports the MDIO interface found in Qualcomm +# IPQ40xx series Soc-s. +# +# Symbol: MDIO_IPQ4019 [=n] +# Type : tristate +# Defined at drivers/net/phy/Kconfig:160 +# Prompt: Qualcomm IPQ4019 MDIO interface support +# Depends on: NETDEVICES [=y] && MDIO_DEVICE [=y] && MDIO_BUS [=y] && HAS_IOMEM [=y] && OF_MDIO [=y] +# Location: +# -> Device Drivers +# -> Network device support (NETDEVICES [=y]) +# -> MDIO bus device drivers (MDIO_DEVICE [=y]) +# +# +# +# CONFIG_MDIO_IPQ4019 is not set diff --git a/configs/fedora/generic/CONFIG_MDIO_IPQ8064 b/configs/fedora/generic/CONFIG_MDIO_IPQ8064 new file mode 100644 index 000000000..3104618fc --- /dev/null +++ b/configs/fedora/generic/CONFIG_MDIO_IPQ8064 @@ -0,0 +1 @@ +# CONFIG_MDIO_IPQ8064 is not set diff --git a/configs/fedora/generic/CONFIG_MEDIA_PLATFORM_SUPPORT b/configs/fedora/generic/CONFIG_MEDIA_PLATFORM_SUPPORT new file mode 100644 index 000000000..9f6637ddf --- /dev/null +++ b/configs/fedora/generic/CONFIG_MEDIA_PLATFORM_SUPPORT @@ -0,0 +1,25 @@ +# CONFIG_MEDIA_PLATFORM_SUPPORT: +# +# Enable support for complex cameras, codecs, and other hardware +# that are integrated at the CPU, GPU or on Image Signalling Processor +# and don't use PCI, USB or Firewire buses. +# +# This is found on Embedded hardware (SoC), on V4L2 codecs and +# on some GPU and newer CPU chipsets. +# +# Say Y when you want to be able so see such devices. +# +# Symbol: MEDIA_PLATFORM_SUPPORT [=n] +# Type : bool +# Defined at drivers/media/Kconfig:126 +# Prompt: Platform-specific devices +# Depends on: MEDIA_SUPPORT [=m] +# Visible if: MEDIA_SUPPORT [=m] && MEDIA_SUPPORT_FILTER [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media device types +# +# +# +CONFIG_MEDIA_PLATFORM_SUPPORT=y diff --git a/configs/fedora/generic/CONFIG_MEDIA_SUPPORT_FILTER b/configs/fedora/generic/CONFIG_MEDIA_SUPPORT_FILTER new file mode 100644 index 000000000..6cd0717b2 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MEDIA_SUPPORT_FILTER @@ -0,0 +1,25 @@ +# CONFIG_MEDIA_SUPPORT_FILTER: +# +# Configuring the media subsystem can be complex, as there are +# hundreds of drivers and other config options. +# +# This menu offers option that will help the Kernel's config +# system to hide drivers that are out of the scope of the +# user needs, and disabling core support for unused APIs. +# +# If not selected, all non-optional media core functionality +# needed to support media drivers will be enabled. Also, all +# media device drivers should be shown. +# +# Symbol: MEDIA_SUPPORT_FILTER [=y] +# Type : bool +# Defined at drivers/media/Kconfig:25 +# Prompt: Filter media drivers +# Depends on: MEDIA_SUPPORT [=m] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# +# +# +CONFIG_MEDIA_SUPPORT_FILTER=y diff --git a/configs/fedora/generic/CONFIG_MEDIA_TEST_SUPPORT b/configs/fedora/generic/CONFIG_MEDIA_TEST_SUPPORT new file mode 100644 index 000000000..06cb75c8d --- /dev/null +++ b/configs/fedora/generic/CONFIG_MEDIA_TEST_SUPPORT @@ -0,0 +1,26 @@ +# CONFIG_MEDIA_TEST_SUPPORT: +# +# Those drivers should not be used on production Kernels, but +# can be useful on debug ones. It enables several dummy drivers +# that simulate a real hardware. Very useful to test userspace +# applications and to validate if the subsystem core is doesn't +# have regressions. +# +# Say Y if you want to use some virtual test driver. +# +# In case of doubts, say N. +# Say Y when you have a software defined radio device. +# Symbol: MEDIA_TEST_SUPPORT [=n] +# Type : bool +# Defined at drivers/media/Kconfig:140 +# Prompt: Test drivers +# Depends on: MEDIA_SUPPORT [=m] +# Visible if: MEDIA_SUPPORT [=m] && MEDIA_SUPPORT_FILTER [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media device types +# +# +# +# CONFIG_MEDIA_TEST_SUPPORT is not set diff --git a/configs/fedora/generic/CONFIG_MFD_GATEWORKS_GSC b/configs/fedora/generic/CONFIG_MFD_GATEWORKS_GSC new file mode 100644 index 000000000..19ea1a015 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MFD_GATEWORKS_GSC @@ -0,0 +1 @@ +# CONFIG_MFD_GATEWORKS_GSC is not set diff --git a/configs/fedora/generic/CONFIG_MFD_INTEL_PMC_BXT b/configs/fedora/generic/CONFIG_MFD_INTEL_PMC_BXT new file mode 100644 index 000000000..daf2341bb --- /dev/null +++ b/configs/fedora/generic/CONFIG_MFD_INTEL_PMC_BXT @@ -0,0 +1,21 @@ +# CONFIG_MFD_INTEL_PMC_BXT: +# +# This driver provides support for the PMC (Power Management +# Controller) on Intel Broxton and Apollo Lake. The PMC is a +# multi-function device that exposes IPC, General Control +# Register and P-unit access. In addition this creates devices +# for iTCO watchdog and telemetry that are part of the PMC. +# +# Symbol: MFD_INTEL_PMC_BXT [=n] +# Type : tristate +# Defined at drivers/mfd/Kconfig:650 +# Prompt: Intel PMC Driver for Broxton +# Depends on: HAS_IOMEM [=y] && X86 [=y] && X86_PLATFORM_DEVICES [=y] && ACPI [=y] +# Location: +# -> Device Drivers +# -> Multifunction device drivers +# Selects: INTEL_SCU_IPC [=n] && MFD_CORE [=y] +# +# +# +# CONFIG_MFD_INTEL_PMC_BXT is not set diff --git a/configs/fedora/generic/CONFIG_MFD_MP2629 b/configs/fedora/generic/CONFIG_MFD_MP2629 new file mode 100644 index 000000000..ab50ee3da --- /dev/null +++ b/configs/fedora/generic/CONFIG_MFD_MP2629 @@ -0,0 +1,19 @@ +# CONFIG_MFD_MP2629: +# +# Select this option to enable support for Monolithic Power Systems +# battery charger. This provides ADC, thermal and battery charger power +# management functions. +# +# Symbol: MFD_MP2629 [=n] +# Type : tristate +# Defined at drivers/mfd/Kconfig:452 +# Prompt: Monolithic Power Systems MP2629 ADC and Battery charger +# Depends on: HAS_IOMEM [=y] && I2C [=y] +# Location: +# -> Device Drivers +# -> Multifunction device drivers +# Selects: REGMAP_I2C [=m] +# +# +# +# CONFIG_MFD_MP2629 is not set diff --git a/configs/fedora/generic/CONFIG_MFD_MT6360 b/configs/fedora/generic/CONFIG_MFD_MT6360 new file mode 100644 index 000000000..c12a94335 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MFD_MT6360 @@ -0,0 +1,20 @@ +# CONFIG_MFD_MT6360: +# +# Say Y here to enable MT6360 PMU/PMIC/LDO functional support. +# PMU part includes Charger, Flashlight, RGB LED +# PMIC part includes 2-channel BUCKs and 2-channel LDOs +# LDO part includes 4-channel LDOs +# +# Symbol: MFD_MT6360 [=n] +# Type : tristate +# Defined at drivers/mfd/Kconfig:911 +# Prompt: Mediatek MT6360 SubPMIC +# Depends on: HAS_IOMEM [=y] && I2C [=y] +# Location: +# -> Device Drivers +# -> Multifunction device drivers +# Selects: MFD_CORE [=y] && REGMAP_I2C [=m] && REGMAP_IRQ [=y] +# +# +# +# CONFIG_MFD_MT6360 is not set diff --git a/configs/fedora/generic/CONFIG_MFD_SYSCON b/configs/fedora/generic/CONFIG_MFD_SYSCON index cab0ef0b7..9890ebdb9 100644 --- a/configs/fedora/generic/CONFIG_MFD_SYSCON +++ b/configs/fedora/generic/CONFIG_MFD_SYSCON @@ -1 +1 @@ -# CONFIG_MFD_SYSCON is not set +CONFIG_MFD_SYSCON=y diff --git a/configs/fedora/generic/CONFIG_MLX5_CLS_ACT b/configs/fedora/generic/CONFIG_MLX5_CLS_ACT new file mode 100644 index 000000000..0dd0c3000 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MLX5_CLS_ACT @@ -0,0 +1,28 @@ +# CONFIG_MLX5_CLS_ACT: +# +# mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT), +# works in both native NIC mode and Switchdev SRIOV mode. +# Actions get attached to a Hardware offloaded classifiers and are +# invoked after a successful classification. Actions are used to +# overwrite the classification result, instantly drop or redirect and/or +# reformat packets in wire speeds without involving the host cpu. +# +# If set to N, TC offloads in both NIC and switchdev modes will be disabled. +# If unsure, set to Y +# +# Symbol: MLX5_CLS_ACT [=y] +# Type : bool +# Defined at drivers/net/ethernet/mellanox/mlx5/core/Kconfig:81 +# Prompt: MLX5 TC classifier action support +# Depends on: NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_MELLANOX [=y] && MLX5_ESWITCH [=y] && NET_CLS_ACT [=y] +# Location: +# -> Device Drivers +# -> Network device support (NETDEVICES [=y]) +# -> Ethernet driver support (ETHERNET [=y]) +# -> Mellanox devices (NET_VENDOR_MELLANOX [=y]) +# -> Mellanox 5th generation network adapters (ConnectX series) Ethernet support (MLX5_CORE_EN [=y]) +# -> Mellanox Technologies MLX5 SRIOV E-Switch support (MLX5_ESWITCH [=y]) +# +# +# +CONFIG_MLX5_CLS_ACT=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL b/configs/fedora/generic/CONFIG_MLXBF_BOOTCTL index 3bf6d6449..3bf6d6449 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL +++ b/configs/fedora/generic/CONFIG_MLXBF_BOOTCTL diff --git a/configs/fedora/generic/CONFIG_MODULE_SIG_SHA256 b/configs/fedora/generic/CONFIG_MODULE_SIG_SHA256 index b350aa05a..f54169c56 100644 --- a/configs/fedora/generic/CONFIG_MODULE_SIG_SHA256 +++ b/configs/fedora/generic/CONFIG_MODULE_SIG_SHA256 @@ -1 +1 @@ -CONFIG_MODULE_SIG_SHA256=y +# CONFIG_MODULE_SIG_SHA256 is not set diff --git a/configs/fedora/generic/CONFIG_MODULE_SIG_SHA512 b/configs/fedora/generic/CONFIG_MODULE_SIG_SHA512 index 2910d8330..fe14d3f42 100644 --- a/configs/fedora/generic/CONFIG_MODULE_SIG_SHA512 +++ b/configs/fedora/generic/CONFIG_MODULE_SIG_SHA512 @@ -1 +1 @@ -# CONFIG_MODULE_SIG_SHA512 is not set +CONFIG_MODULE_SIG_SHA512=y diff --git a/configs/fedora/generic/CONFIG_MSM_GCC_8939 b/configs/fedora/generic/CONFIG_MSM_GCC_8939 new file mode 100644 index 000000000..c17aa7073 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MSM_GCC_8939 @@ -0,0 +1,20 @@ +# CONFIG_MSM_GCC_8939: +# +# Support for the global clock controller on msm8939 devices. +# Say Y if you want to use devices such as UART, SPI i2c, USB, +# SD/eMMC, display, graphics, camera etc. +# +# Symbol: MSM_GCC_8939 [=n] +# Type : tristate +# Defined at drivers/clk/qcom/Kconfig:145 +# Prompt: MSM8939 Global Clock Controller +# Depends on: COMMON_CLK [=y] && COMMON_CLK_QCOM [=y] +# Location: +# -> Device Drivers +# -> Common Clock Framework (COMMON_CLK [=y]) +# -> Support for Qualcomm's clock controllers (COMMON_CLK_QCOM [=y]) +# Selects: QCOM_GDSC [=y] +# +# +# +# CONFIG_MSM_GCC_8939 is not set diff --git a/configs/fedora/generic/CONFIG_MT7663U b/configs/fedora/generic/CONFIG_MT7663U new file mode 100644 index 000000000..bf8eea13c --- /dev/null +++ b/configs/fedora/generic/CONFIG_MT7663U @@ -0,0 +1,21 @@ +# CONFIG_MT7663U: +# +# This adds support for MT7663U 802.11ax 2x2:2 wireless devices. +# +# To compile this driver as a module, choose M here. +# +# Symbol: MT7663U [=n] +# Type : tristate +# Defined at drivers/net/wireless/mediatek/mt76/mt7615/Kconfig:31 +# Prompt: MediaTek MT7663U (USB) support +# Depends on: NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_MEDIATEK [=y] && MAC80211 [=m] && USB [=y] +# Location: +# -> Device Drivers +# -> Network device support (NETDEVICES [=y]) +# -> Wireless LAN (WLAN [=y]) +# -> MediaTek devices (WLAN_VENDOR_MEDIATEK [=y]) +# Selects: MT76_USB [=m] && MT7615_COMMON [=m] +# +# +# +CONFIG_MT7663U=m diff --git a/configs/fedora/generic/CONFIG_MT7915E b/configs/fedora/generic/CONFIG_MT7915E new file mode 100644 index 000000000..bb801afb9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MT7915E @@ -0,0 +1,24 @@ +# CONFIG_MT7915E: +# +# This adds support for MT7915-based wireless PCIe devices, +# which support concurrent dual-band operation at both 5GHz +# and 2.4GHz IEEE 802.11ax 4x4:4SS 1024-QAM, 160MHz channels, +# OFDMA, spatial reuse and dual carrier modulation. +# +# To compile this driver as a module, choose M here. +# +# Symbol: MT7915E [=n] +# Type : tristate +# Defined at drivers/net/wireless/mediatek/mt76/mt7915/Kconfig:2 +# Prompt: MediaTek MT7915E (PCIe) support +# Depends on: NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_MEDIATEK [=y] && MAC80211 [=m] && PCI [=y] +# Location: +# -> Device Drivers +# -> Network device support (NETDEVICES [=y]) +# -> Wireless LAN (WLAN [=y]) +# -> MediaTek devices (WLAN_VENDOR_MEDIATEK [=y]) +# Selects: MT76_CORE [=m] +# +# +# +CONFIG_MT7915E=m diff --git a/configs/fedora/generic/CONFIG_MTD_NAND_ARASAN b/configs/fedora/generic/CONFIG_MTD_NAND_ARASAN new file mode 100644 index 000000000..ae4589669 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MTD_NAND_ARASAN @@ -0,0 +1,19 @@ +# CONFIG_MTD_NAND_ARASAN: +# +# Enables the driver for the Arasan NAND flash controller on +# Zynq Ultrascale+ MPSoC. +# +# Symbol: MTD_NAND_ARASAN [=n] +# Type : tristate +# Defined at drivers/mtd/nand/raw/Kconfig:456 +# Prompt: Support for Arasan NAND flash controller +# Depends on: MTD [=m] && MTD_RAW_NAND [=m] && HAS_IOMEM [=y] && HAS_DMA [=y] +# Location: +# -> Device Drivers +# -> Memory Technology Device (MTD) support (MTD [=m]) +# -> Raw/Parallel NAND Device Support (MTD_RAW_NAND [=m]) +# Selects: BCH [=n] +# +# +# +# CONFIG_MTD_NAND_ARASAN is not set diff --git a/configs/fedora/generic/CONFIG_MTD_PSTORE b/configs/fedora/generic/CONFIG_MTD_PSTORE new file mode 100644 index 000000000..f2e8aab06 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MTD_PSTORE @@ -0,0 +1,20 @@ +# CONFIG_MTD_PSTORE: +# +# This enables panic and oops messages to be logged to a circular +# buffer in a flash partition where it can be read back as files after +# mounting pstore filesystem. +# +# If unsure, say N. +# +# Symbol: MTD_PSTORE [=n] +# Type : tristate +# Defined at drivers/mtd/Kconfig:173 +# Prompt: Log panic/oops to an MTD buffer based on pstore +# Depends on: MTD [=m] && PSTORE_BLK [=m] +# Location: +# -> Device Drivers +# -> Memory Technology Device (MTD) support (MTD [=m]) +# +# +# +CONFIG_MTD_PSTORE=m diff --git a/configs/fedora/generic/CONFIG_NET_ACT_GATE b/configs/fedora/generic/CONFIG_NET_ACT_GATE new file mode 100644 index 000000000..7458b23d0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_ACT_GATE @@ -0,0 +1,24 @@ +# CONFIG_NET_ACT_GATE: +# +# Say Y here to allow to control the ingress flow to be passed at +# specific time slot and be dropped at other specific time slot by +# the gate entry list. +# +# If unsure, say N. +# To compile this code as a module, choose M here: the +# module will be called act_gate. +# +# Symbol: NET_ACT_GATE [=n] +# Type : tristate +# Defined at net/sched/Kconfig:984 +# Prompt: Frame gate entry list control tc action +# Depends on: NET [=y] && NET_SCHED [=y] && NET_CLS_ACT [=y] +# Location: +# -> Networking support (NET [=y]) +# -> Networking options +# -> QoS and/or fair queueing (NET_SCHED [=y]) +# -> Actions (NET_CLS_ACT [=y]) +# +# +# +CONFIG_NET_ACT_GATE=m diff --git a/configs/fedora/generic/CONFIG_NET_SCH_ETS b/configs/fedora/generic/CONFIG_NET_SCH_ETS index 95ea61e43..40ac4251e 100644 --- a/configs/fedora/generic/CONFIG_NET_SCH_ETS +++ b/configs/fedora/generic/CONFIG_NET_SCH_ETS @@ -1 +1 @@ -# CONFIG_NET_SCH_ETS is not set +CONFIG_NET_SCH_ETS=m diff --git a/configs/fedora/generic/powerpc/CONFIG_OPAL_CORE b/configs/fedora/generic/CONFIG_OPAL_CORE index 48e23bed6..48e23bed6 100644 --- a/configs/fedora/generic/powerpc/CONFIG_OPAL_CORE +++ b/configs/fedora/generic/CONFIG_OPAL_CORE diff --git a/configs/fedora/generic/CONFIG_PAGE_REPORTING b/configs/fedora/generic/CONFIG_PAGE_REPORTING new file mode 100644 index 000000000..454926ab4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PAGE_REPORTING @@ -0,0 +1 @@ +CONFIG_PAGE_REPORTING=y diff --git a/configs/fedora/generic/CONFIG_PCIEASPM_DEBUG b/configs/fedora/generic/CONFIG_PCIEASPM_DEBUG new file mode 100644 index 000000000..f298e0392 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PCIEASPM_DEBUG @@ -0,0 +1 @@ +# CONFIG_PCIEASPM_DEBUG is not set diff --git a/configs/fedora/generic/CONFIG_PCIE_LAYERSCAPE_GEN4 b/configs/fedora/generic/CONFIG_PCIE_LAYERSCAPE_GEN4 new file mode 100644 index 000000000..57ef6cae5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PCIE_LAYERSCAPE_GEN4 @@ -0,0 +1 @@ +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set diff --git a/configs/fedora/generic/CONFIG_PHY_CADENCE_SALVO b/configs/fedora/generic/CONFIG_PHY_CADENCE_SALVO new file mode 100644 index 000000000..4df039f62 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PHY_CADENCE_SALVO @@ -0,0 +1,19 @@ +# CONFIG_PHY_CADENCE_SALVO: +# +# Enable this to support the Cadence SALVO PHY driver, +# this PHY is a legacy PHY, and only are used for USB3 +# and USB2. +# +# Symbol: PHY_CADENCE_SALVO [=n] +# Type : tristate +# Defined at drivers/phy/cadence/Kconfig:31 +# Prompt: Cadence Salvo PHY Driver +# Depends on: OF [=y] && HAS_IOMEM [=y] +# Location: +# -> Device Drivers +# -> PHY Subsystem +# Selects: GENERIC_PHY [=y] +# +# +# +CONFIG_PHY_CADENCE_SALVO=m diff --git a/configs/fedora/generic/CONFIG_PHY_QCOM_IPQ4019_USB b/configs/fedora/generic/CONFIG_PHY_QCOM_IPQ4019_USB new file mode 100644 index 000000000..feefe01f6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PHY_QCOM_IPQ4019_USB @@ -0,0 +1 @@ +# CONFIG_PHY_QCOM_IPQ4019_USB is not set diff --git a/configs/fedora/generic/CONFIG_PHY_QCOM_USB_HS_28NM b/configs/fedora/generic/CONFIG_PHY_QCOM_USB_HS_28NM new file mode 100644 index 000000000..1f67fe251 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PHY_QCOM_USB_HS_28NM @@ -0,0 +1 @@ +# CONFIG_PHY_QCOM_USB_HS_28NM is not set diff --git a/configs/fedora/generic/CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 b/configs/fedora/generic/CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 new file mode 100644 index 000000000..7f13bc315 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 @@ -0,0 +1 @@ +# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set diff --git a/configs/fedora/generic/CONFIG_PHY_QCOM_USB_SS b/configs/fedora/generic/CONFIG_PHY_QCOM_USB_SS new file mode 100644 index 000000000..0213a42d7 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PHY_QCOM_USB_SS @@ -0,0 +1 @@ +# CONFIG_PHY_QCOM_USB_SS is not set diff --git a/configs/fedora/generic/CONFIG_PINCTRL_JASPERLAKE b/configs/fedora/generic/CONFIG_PINCTRL_JASPERLAKE new file mode 100644 index 000000000..59ec9a1e7 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PINCTRL_JASPERLAKE @@ -0,0 +1,18 @@ +# CONFIG_PINCTRL_JASPERLAKE: +# +# This pinctrl driver provides an interface that allows configuring +# of Intel Jasper Lake PCH pins and using them as GPIOs. +# +# Symbol: PINCTRL_JASPERLAKE [=n] +# Type : tristate +# Defined at drivers/pinctrl/intel/Kconfig:114 +# Prompt: Intel Jasper Lake PCH pinctrl and GPIO driver +# Depends on: PINCTRL [=y] && (X86 [=y] || COMPILE_TEST [=n]) && ACPI [=y] +# Location: +# -> Device Drivers +# -> Pin controllers (PINCTRL [=y]) +# Selects: PINCTRL_INTEL [=m] +# +# +# +# CONFIG_PINCTRL_JASPERLAKE is not set diff --git a/configs/fedora/generic/CONFIG_PINCTRL_LYNXPOINT b/configs/fedora/generic/CONFIG_PINCTRL_LYNXPOINT new file mode 100644 index 000000000..252078559 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PINCTRL_LYNXPOINT @@ -0,0 +1 @@ +# CONFIG_PINCTRL_LYNXPOINT is not set diff --git a/configs/fedora/generic/arm/CONFIG_PINCTRL_MSM8976 b/configs/fedora/generic/CONFIG_PINCTRL_MSM8976 index 05e860247..05e860247 100644 --- a/configs/fedora/generic/arm/CONFIG_PINCTRL_MSM8976 +++ b/configs/fedora/generic/CONFIG_PINCTRL_MSM8976 diff --git a/configs/fedora/generic/CONFIG_PINCTRL_SM8250 b/configs/fedora/generic/CONFIG_PINCTRL_SM8250 new file mode 100644 index 000000000..383eb8bef --- /dev/null +++ b/configs/fedora/generic/CONFIG_PINCTRL_SM8250 @@ -0,0 +1,19 @@ +# CONFIG_PINCTRL_SM8250: +# +# This is the pinctrl, pinmux, pinconf and gpiolib driver for the +# Qualcomm Technologies Inc TLMM block found on the Qualcomm +# Technologies Inc SM8250 platform. +# +# Symbol: PINCTRL_SM8250 [=n] +# Type : tristate +# Defined at drivers/pinctrl/qcom/Kconfig:219 +# Prompt: Qualcomm Technologies Inc SM8250 pin controller driver +# Depends on: PINCTRL [=y] && (ARCH_QCOM [=y] || COMPILE_TEST [=n]) && GPIOLIB [=y] && OF [=y] +# Location: +# -> Device Drivers +# -> Pin controllers (PINCTRL [=y]) +# Selects: PINCTRL_MSM [=y] +# +# +# +# CONFIG_PINCTRL_SM8250 is not set diff --git a/configs/fedora/generic/CONFIG_PMU_SYSFS b/configs/fedora/generic/CONFIG_PMU_SYSFS new file mode 100644 index 000000000..1f1a0f6ce --- /dev/null +++ b/configs/fedora/generic/CONFIG_PMU_SYSFS @@ -0,0 +1,14 @@ +# CONFIG_PMU_SYSFS: +# +# This option enables sysfs file creation for PMU SPRs like MMCR* and PMC*. +# +# Symbol: PMU_SYSFS [=n] +# Type : bool +# Defined at arch/powerpc/platforms/Kconfig.cputype:428 +# Prompt: Create PMU SPRs sysfs file +# Location: +# -> Processor support +# +# +# +# CONFIG_PMU_SYSFS is not set diff --git a/configs/fedora/generic/CONFIG_POWER_RESET_VEXPRESS b/configs/fedora/generic/CONFIG_POWER_RESET_VEXPRESS new file mode 100644 index 000000000..80e0a957f --- /dev/null +++ b/configs/fedora/generic/CONFIG_POWER_RESET_VEXPRESS @@ -0,0 +1,17 @@ +# CONFIG_POWER_RESET_VEXPRESS: +# +# Power off and reset support for the ARM Ltd. Versatile +# Express boards. +# +# Symbol: POWER_RESET_VEXPRESS [=n] +# Type : bool +# Defined at drivers/power/reset/Kconfig:184 +# Prompt: ARM Versatile Express power-off and reset driver +# Depends on: POWER_RESET [=y] && (ARM || ARM64 [=y]) && VEXPRESS_CONFIG [=y]=y +# Location: +# -> Device Drivers +# -> Board level reset or power off (POWER_RESET [=y]) +# +# +# +# CONFIG_POWER_RESET_VEXPRESS is not set diff --git a/configs/fedora/generic/CONFIG_PRIME_NUMBERS b/configs/fedora/generic/CONFIG_PRIME_NUMBERS new file mode 100644 index 000000000..86f0c3931 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PRIME_NUMBERS @@ -0,0 +1 @@ +# CONFIG_PRIME_NUMBERS is not set diff --git a/configs/fedora/generic/CONFIG_PSTORE_BLK b/configs/fedora/generic/CONFIG_PSTORE_BLK new file mode 100644 index 000000000..a70dbf739 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PSTORE_BLK @@ -0,0 +1,23 @@ +# CONFIG_PSTORE_BLK: +# +# This enables panic and oops message to be logged to a block dev +# where it can be read back at some later point. +# +# For more information, see Documentation/admin-guide/pstore-blk.rst +# +# If unsure, say N. +# +# Symbol: PSTORE_BLK [=n] +# Type : tristate +# Defined at fs/pstore/Kconfig:164 +# Prompt: Log panic/oops to a block device +# Depends on: MISC_FILESYSTEMS [=y] && PSTORE [=y] && BLOCK [=y] +# Location: +# -> File systems +# -> Miscellaneous filesystems (MISC_FILESYSTEMS [=y]) +# -> Persistent store support (PSTORE [=y]) +# Selects: PSTORE_ZONE [=n] +# +# +# +CONFIG_PSTORE_BLK=m diff --git a/configs/fedora/generic/CONFIG_PSTORE_BLK_BLKDEV b/configs/fedora/generic/CONFIG_PSTORE_BLK_BLKDEV new file mode 100644 index 000000000..01e947530 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PSTORE_BLK_BLKDEV @@ -0,0 +1,40 @@ +# CONFIG_PSTORE_BLK_BLKDEV: +# +# Which block device should be used for pstore/blk. +# +# It accepts the following variants: +# 1) <hex_major><hex_minor> device number in hexadecimal representation, +# with no leading 0x, for example b302. +# 2) /dev/<disk_name> represents the device name of disk +# 3) /dev/<disk_name><decimal> represents the device name and number +# of partition - device number of disk plus the partition number +# 4) /dev/<disk_name>p<decimal> - same as the above, this form is +# used when disk name of partitioned disk ends with a digit. +# 5) PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF representing the +# unique id of a partition if the partition table provides it. +# The UUID may be either an EFI/GPT UUID, or refer to an MSDOS +# partition using the format SSSSSSSS-PP, where SSSSSSSS is a zero- +# filled hex representation of the 32-bit "NT disk signature", and PP +# is a zero-filled hex representation of the 1-based partition number. +# 6) PARTUUID=<UUID>/PARTNROFF=<int> to select a partition in relation +# to a partition with a known unique id. +# 7) <major>:<minor> major and minor number of the device separated by +# a colon. +# +# NOTE that, both Kconfig and module parameters can configure +# pstore/blk, but module parameters have priority over Kconfig. +# +# Symbol: PSTORE_BLK_BLKDEV [=] +# Type : string +# Defined at fs/pstore/Kconfig:178 +# Prompt: block device identifier +# Depends on: MISC_FILESYSTEMS [=y] && PSTORE_BLK [=m] +# Location: +# -> File systems +# -> Miscellaneous filesystems (MISC_FILESYSTEMS [=y]) +# -> Persistent store support (PSTORE [=y]) +# -> Log panic/oops to a block device (PSTORE_BLK [=m]) +# +# +# +CONFIG_PSTORE_BLK_BLKDEV="" diff --git a/configs/fedora/generic/CONFIG_PSTORE_BLK_KMSG_SIZE b/configs/fedora/generic/CONFIG_PSTORE_BLK_KMSG_SIZE new file mode 100644 index 000000000..b7de7e902 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PSTORE_BLK_KMSG_SIZE @@ -0,0 +1,22 @@ +# CONFIG_PSTORE_BLK_KMSG_SIZE: +# +# This just sets size of kmsg dump (oops, panic, etc) log for +# pstore/blk. The size is in KB and must be a multiple of 4. +# +# NOTE that, both Kconfig and module parameters can configure +# pstore/blk, but module parameters have priority over Kconfig. +# +# Symbol: PSTORE_BLK_KMSG_SIZE [=64] +# Type : integer +# Defined at fs/pstore/Kconfig:207 +# Prompt: Size in Kbytes of kmsg dump log to store +# Depends on: MISC_FILESYSTEMS [=y] && PSTORE_BLK [=m] +# Location: +# -> File systems +# -> Miscellaneous filesystems (MISC_FILESYSTEMS [=y]) +# -> Persistent store support (PSTORE [=y]) +# -> Log panic/oops to a block device (PSTORE_BLK [=m]) +# +# +# +CONFIG_PSTORE_BLK_KMSG_SIZE=64 diff --git a/configs/fedora/generic/CONFIG_PSTORE_BLK_MAX_REASON b/configs/fedora/generic/CONFIG_PSTORE_BLK_MAX_REASON new file mode 100644 index 000000000..294dbd1a4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PSTORE_BLK_MAX_REASON @@ -0,0 +1,23 @@ +# CONFIG_PSTORE_BLK_MAX_REASON: +# +# The maximum reason for kmsg dumps to store. The default is +# 2 (KMSG_DUMP_OOPS), see include/linux/kmsg_dump.h's +# enum kmsg_dump_reason for more details. +# +# NOTE that, both Kconfig and module parameters can configure +# pstore/blk, but module parameters have priority over Kconfig. +# +# Symbol: PSTORE_BLK_MAX_REASON [=2] +# Type : integer +# Defined at fs/pstore/Kconfig:218 +# Prompt: Maximum kmsg dump reason to store +# Depends on: MISC_FILESYSTEMS [=y] && PSTORE_BLK [=m] +# Location: +# -> File systems +# -> Miscellaneous filesystems (MISC_FILESYSTEMS [=y]) +# -> Persistent store support (PSTORE [=y]) +# -> Log panic/oops to a block device (PSTORE_BLK [=m]) +# +# +# +CONFIG_PSTORE_BLK_MAX_REASON=2 diff --git a/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_VMW b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_VMW new file mode 100644 index 000000000..4b0c1ae34 --- /dev/null +++ b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_VMW @@ -0,0 +1 @@ +# CONFIG_PTP_1588_CLOCK_VMW is not set diff --git a/configs/fedora/generic/CONFIG_QCOM_IPCC b/configs/fedora/generic/CONFIG_QCOM_IPCC new file mode 100644 index 000000000..2ddcde4f3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_QCOM_IPCC @@ -0,0 +1,20 @@ +# CONFIG_QCOM_IPCC: +# +# Qualcomm Technologies, Inc. Inter-Processor Communication Controller +# (IPCC) driver for MSM devices. The driver provides mailbox support for +# sending interrupts to the clients. On the other hand, the driver also +# acts as an interrupt controller for receiving interrupts from clients. +# Say Y here if you want to build this driver. +# +# Symbol: QCOM_IPCC [=n] +# Type : bool +# Defined at drivers/mailbox/Kconfig:247 +# Prompt: Qualcomm Technologies, Inc. IPCC driver +# Depends on: MAILBOX [=y] && (ARCH_QCOM [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> Mailbox Hardware Support (MAILBOX [=y]) +# +# +# +# CONFIG_QCOM_IPCC is not set diff --git a/configs/fedora/generic/CONFIG_QCOM_OCMEM b/configs/fedora/generic/CONFIG_QCOM_OCMEM new file mode 100644 index 000000000..e4a4d8bc7 --- /dev/null +++ b/configs/fedora/generic/CONFIG_QCOM_OCMEM @@ -0,0 +1,21 @@ +# CONFIG_QCOM_OCMEM: +# +# The On Chip Memory (OCMEM) allocator allows various clients to +# allocate memory from OCMEM based on performance, latency and power +# requirements. This is typically used by the GPU, camera/video, and +# audio components on some Snapdragon SoCs. +# +# Symbol: QCOM_OCMEM [=n] +# Type : tristate +# Prompt: Qualcomm On Chip Memory (OCMEM) driver +# Location: +# -> Device Drivers +# -> SOC (System On Chip) specific Drivers +# -> Qualcomm SoC drivers +# Defined at drivers/soc/qcom/Kconfig:69 +# Depends on: ARCH_QCOM [=y] +# Selects: QCOM_SCM [=n] +# +# +# +# CONFIG_QCOM_OCMEM is not set diff --git a/configs/fedora/generic/CONFIG_QRTR b/configs/fedora/generic/CONFIG_QRTR new file mode 100644 index 000000000..19f911ca5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_QRTR @@ -0,0 +1 @@ +# CONFIG_QRTR is not set diff --git a/configs/fedora/generic/CONFIG_QRTR_MHI b/configs/fedora/generic/CONFIG_QRTR_MHI new file mode 100644 index 000000000..05dd502bd --- /dev/null +++ b/configs/fedora/generic/CONFIG_QRTR_MHI @@ -0,0 +1,18 @@ +# CONFIG_QRTR_MHI: +# +# Say Y here to support MHI based ipcrouter channels. MHI is the +# transport used for communicating to external modems. +# +# Symbol: QRTR_MHI [=n] +# Type : tristate +# Defined at net/qrtr/Kconfig:31 +# Prompt: MHI IPC Router channels +# Depends on: NET [=y] && QRTR [=m] && MHI_BUS [=m] +# Location: +# -> Networking support (NET [=y]) +# -> Networking options +# -> Qualcomm IPC Router support (QRTR [=m]) +# +# +# +CONFIG_QRTR_MHI=m diff --git a/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE b/configs/fedora/generic/CONFIG_QUICC_ENGINE index b340a0279..b340a0279 100644 --- a/configs/fedora/generic/arm/CONFIG_QUICC_ENGINE +++ b/configs/fedora/generic/CONFIG_QUICC_ENGINE diff --git a/configs/fedora/generic/CONFIG_REFCOUNT_FULL b/configs/fedora/generic/CONFIG_REFCOUNT_FULL new file mode 100644 index 000000000..0789ed3be --- /dev/null +++ b/configs/fedora/generic/CONFIG_REFCOUNT_FULL @@ -0,0 +1 @@ +# CONFIG_REFCOUNT_FULL is not set diff --git a/configs/fedora/generic/CONFIG_REGULATOR_MAX77826 b/configs/fedora/generic/CONFIG_REGULATOR_MAX77826 new file mode 100644 index 000000000..8803b5a85 --- /dev/null +++ b/configs/fedora/generic/CONFIG_REGULATOR_MAX77826 @@ -0,0 +1,20 @@ +# CONFIG_REGULATOR_MAX77826: +# +# This driver controls a Maxim 77826 regulator via I2C bus. +# The regulator include 15 LDOs, BUCK and BUCK BOOST regulator. +# It includes support for control of output voltage. This +# regulator is found on the Samsung Galaxy S5 (klte) smartphone. +# +# Symbol: REGULATOR_MAX77826 [=n] +# Type : tristate +# Defined at drivers/regulator/Kconfig:589 +# Prompt: Maxim 77826 regulator +# Depends on: REGULATOR [=y] && I2C [=y] +# Location: +# -> Device Drivers +# -> Voltage and Current Regulator Support (REGULATOR [=y]) +# Selects: REGMAP_I2C [=y] +# +# +# +# CONFIG_REGULATOR_MAX77826 is not set diff --git a/configs/fedora/generic/CONFIG_RTW88_8723DE b/configs/fedora/generic/CONFIG_RTW88_8723DE new file mode 100644 index 000000000..64f027c61 --- /dev/null +++ b/configs/fedora/generic/CONFIG_RTW88_8723DE @@ -0,0 +1,22 @@ +# CONFIG_RTW88_8723DE: +# +# Select this option will enable support for 8723DE chipset +# +# 802.11n PCIe wireless network adapter +# +# Symbol: RTW88_8723DE [=n] +# Type : tristate +# Defined at drivers/net/wireless/realtek/rtw88/Kconfig:50 +# Prompt: Realtek 8723DE PCI wireless network adapter +# Depends on: NETDEVICES [=y] && WLAN [=y] && WLAN_VENDOR_REALTEK [=y] && RTW88 [=m] && PCI [=y] +# Location: +# -> Device Drivers +# -> Network device support (NETDEVICES [=y]) +# -> Wireless LAN (WLAN [=y]) +# -> Realtek devices (WLAN_VENDOR_REALTEK [=y]) +# -> Realtek 802.11ac wireless chips support (RTW88 [=m]) +# Selects: RTW88_CORE [=m] && RTW88_PCI [=m] && RTW88_8723D [=n] +# +# +# +CONFIG_RTW88_8723DE=m diff --git a/configs/fedora/generic/CONFIG_RTW88_8822BE b/configs/fedora/generic/CONFIG_RTW88_8822BE index 9409e72ea..d7170a75d 100644 --- a/configs/fedora/generic/CONFIG_RTW88_8822BE +++ b/configs/fedora/generic/CONFIG_RTW88_8822BE @@ -1 +1 @@ -CONFIG_RTW88_8822BE=y +CONFIG_RTW88_8822BE=m diff --git a/configs/fedora/generic/CONFIG_RTW88_8822CE b/configs/fedora/generic/CONFIG_RTW88_8822CE index afea3100f..2cc838e52 100644 --- a/configs/fedora/generic/CONFIG_RTW88_8822CE +++ b/configs/fedora/generic/CONFIG_RTW88_8822CE @@ -1 +1 @@ -CONFIG_RTW88_8822CE=y +CONFIG_RTW88_8822CE=m diff --git a/configs/fedora/generic/CONFIG_SENSORS_AMD_ENERGY b/configs/fedora/generic/CONFIG_SENSORS_AMD_ENERGY new file mode 100644 index 000000000..8a4fc5222 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_AMD_ENERGY @@ -0,0 +1 @@ +# CONFIG_SENSORS_AMD_ENERGY is not set diff --git a/configs/fedora/generic/CONFIG_SENSORS_MAX16601 b/configs/fedora/generic/CONFIG_SENSORS_MAX16601 new file mode 100644 index 000000000..4fa6afb57 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_MAX16601 @@ -0,0 +1 @@ +# CONFIG_SENSORS_MAX16601 is not set diff --git a/configs/fedora/generic/CONFIG_SERIAL_LANTIQ b/configs/fedora/generic/CONFIG_SERIAL_LANTIQ new file mode 100644 index 000000000..5fc2caf1f --- /dev/null +++ b/configs/fedora/generic/CONFIG_SERIAL_LANTIQ @@ -0,0 +1,21 @@ +# CONFIG_SERIAL_LANTIQ: +# +# Support for UART on Lantiq and Intel SoCs. +# To compile this driver as a module, select M here. The +# module will be called lantiq. +# +# Symbol: SERIAL_LANTIQ [=n] +# Type : tristate +# Defined at drivers/tty/serial/Kconfig:1036 +# Prompt: Lantiq serial driver +# Depends on: TTY [=y] && HAS_IOMEM [=y] && (LANTIQ || X86 [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> Character devices +# -> Enable TTY (TTY [=y]) +# -> Serial drivers +# Selects: SERIAL_CORE [=y] +# +# +# +# CONFIG_SERIAL_LANTIQ is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_AMD_RENOIR b/configs/fedora/generic/CONFIG_SND_SOC_AMD_RENOIR new file mode 100644 index 000000000..cd2ab9040 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_AMD_RENOIR @@ -0,0 +1,18 @@ +# CONFIG_SND_SOC_AMD_RENOIR: +# +# This option enables ACP support for Renoir platform +# +# Symbol: SND_SOC_AMD_RENOIR [=n] +# Type : tristate +# Defined at sound/soc/amd/Kconfig:40 +# Prompt: AMD Audio Coprocessor - Renoir support +# Depends on: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && X86 [=y] && PCI [=y] +# Location: +# -> Device Drivers +# -> Sound card support (SOUND [=m]) +# -> Advanced Linux Sound Architecture (SND [=m]) +# -> ALSA for SoC audio support (SND_SOC [=m]) +# +# +# +# CONFIG_SND_SOC_AMD_RENOIR is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH new file mode 100644 index 000000000..08ec882bb --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m diff --git a/configs/fedora/generic/CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH new file mode 100644 index 000000000..bc1e5017d --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH @@ -0,0 +1,21 @@ +# CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH: +# +# This adds support for ASoC machine driver for Elkhart Lake +# platform with RT5660 I2S audio codec. +# +# Symbol: SND_SOC_INTEL_EHL_RT5660_MACH [=n] +# Type : tristate +# Defined at sound/soc/intel/boards/Kconfig:545 +# Prompt: EHL with RT5660 in I2S mode +# Depends on: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_SOC_INTEL_MACH [=y] && SND_SOC_SOF_ELKHARTLAKE [=m] && I2C [=y] && ACPI [=y] && GPIOLIB [=y] && (MFD_INTEL_LPSS [=y] || COMPILE_TEST [=n]) && SND_HDA_CODEC_HDMI [=m] && SND_SOC_SOF_HDA_AUDIO_CODEC [=y] +# Location: +# -> Device Drivers +# -> Sound card support (SOUND [=m]) +# -> Advanced Linux Sound Architecture (SND [=m]) +# -> ALSA for SoC audio support (SND_SOC [=m]) +# -> Intel Machine drivers (SND_SOC_INTEL_MACH [=y]) +# Selects: SND_SOC_RT5660 [=m] && SND_SOC_DMIC [=m] +# +# +# +# CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH is not set diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH index fb43c5728..fb43c5728 100644 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH +++ b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH diff --git a/configs/fedora/generic/CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH new file mode 100644 index 000000000..202eaec68 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH @@ -0,0 +1,23 @@ +# CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH: +# +# This adds support for ASoC machine driver for Intel platforms +# with the Wolfson/Cirrus WM8804 I2S audio codec. +# Say Y or m if you have such a device. This is a recommended option. +# If unsure select "N". +# +# Symbol: SND_SOC_INTEL_SOF_WM8804_MACH [=n] +# Type : tristate +# Defined at sound/soc/intel/boards/Kconfig:329 +# Prompt: SOF with Wolfson/Cirrus WM8804 codec +# Depends on: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SND_SOC_INTEL_MACH [=y] && SND_SOC_SOF_APOLLOLAKE [=m] && I2C [=y] && ACPI [=y] && (MFD_INTEL_LPSS [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> Sound card support (SOUND [=m]) +# -> Advanced Linux Sound Architecture (SND [=m]) +# -> ALSA for SoC audio support (SND_SOC [=m]) +# -> Intel Machine drivers (SND_SOC_INTEL_MACH [=y]) +# Selects: SND_SOC_WM8804_I2C [=n] +# +# +# +# CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES new file mode 100644 index 000000000..1e007232f --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y diff --git a/configs/fedora/generic/CONFIG_SND_SOC_MAX98390 b/configs/fedora/generic/CONFIG_SND_SOC_MAX98390 new file mode 100644 index 000000000..170b80f82 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_MAX98390 @@ -0,0 +1 @@ +CONFIG_SND_SOC_MAX98390=m diff --git a/configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C b/configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C index dc0ba2922..4482311b2 100644 --- a/configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C +++ b/configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C @@ -1 +1 @@ -CONFIG_SND_SOC_PCM512x_I2C=m +# CONFIG_SND_SOC_PCM512x_I2C is not set diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 b/configs/fedora/generic/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 index 3d5403951..3d5403951 100644 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 +++ b/configs/fedora/generic/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 diff --git a/configs/fedora/generic/CONFIG_SND_SOC_ZL38060 b/configs/fedora/generic/CONFIG_SND_SOC_ZL38060 new file mode 100644 index 000000000..aab446602 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_ZL38060 @@ -0,0 +1,24 @@ +# CONFIG_SND_SOC_ZL38060: +# +# Support for ZL38060 Connected Home Audio Processor from Microsemi, +# which consists of a Digital Signal Processor (DSP), several Digital +# Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs. +# +# Symbol: SND_SOC_ZL38060 [=n] +# Type : tristate +# Defined at sound/soc/codecs/Kconfig:1660 +# Prompt: Microsemi ZL38060 Connected Home Audio Processor +# Depends on: SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && SPI_MASTER [=y] +# Location: +# -> Device Drivers +# -> Sound card support (SOUND [=m]) +# -> Advanced Linux Sound Architecture (SND [=m]) +# -> ALSA for SoC audio support (SND_SOC [=m]) +# -> CODEC drivers +# Selects: GPIOLIB [=y] && REGMAP [=y] +# Implied by [n]: +# - SND_SOC_ALL_CODECS [=n] && SOUND [=m] && !UML && SND [=m] && SND_SOC [=m] && COMPILE_TEST [=n] +# +# +# +CONFIG_SND_SOC_ZL38060=m diff --git a/configs/fedora/generic/CONFIG_SPI_AMD b/configs/fedora/generic/CONFIG_SPI_AMD new file mode 100644 index 000000000..ac7ea25e0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SPI_AMD @@ -0,0 +1,16 @@ +# CONFIG_SPI_AMD: +# +# Enables SPI controller driver for AMD SoC. +# +# Symbol: SPI_AMD [=n] +# Type : tristate +# Defined at drivers/spi/Kconfig:917 +# Prompt: AMD SPI controller +# Depends on: SPI [=y] && SPI_MASTER [=y] && (SPI_MASTER [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> SPI support (SPI [=y]) +# +# +# +# CONFIG_SPI_AMD is not set diff --git a/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS b/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS deleted file mode 100644 index ddd3656b3..000000000 --- a/configs/fedora/generic/CONFIG_STAGING_EXFAT_FS +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_STAGING_EXFAT_FS is not set diff --git a/configs/fedora/generic/CONFIG_SURFACE_3_POWER_OPREGION b/configs/fedora/generic/CONFIG_SURFACE_3_POWER_OPREGION new file mode 100644 index 000000000..aaa37ad19 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SURFACE_3_POWER_OPREGION @@ -0,0 +1 @@ +# CONFIG_SURFACE_3_POWER_OPREGION is not set diff --git a/configs/fedora/generic/CONFIG_SX9310 b/configs/fedora/generic/CONFIG_SX9310 new file mode 100644 index 000000000..910bedc18 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SX9310 @@ -0,0 +1,22 @@ +# CONFIG_SX9310: +# +# Say Y here to build a driver for Semtech's SX9310/SX9311 capacitive +# proximity/button sensor. +# +# To compile this driver as a module, choose M here: the +# module will be called sx9310. +# +# Symbol: SX9310 [=n] +# Type : tristate +# Defined at drivers/iio/proximity/Kconfig:104 +# Prompt: SX9310/SX9311 Semtech proximity sensor +# Depends on: IIO [=m] && I2C [=y] +# Location: +# -> Device Drivers +# -> Industrial I/O support (IIO [=m]) +# -> Proximity and distance sensors +# Selects: IIO_BUFFER [=y] && IIO_TRIGGERED_BUFFER [=m] && REGMAP_I2C [=y] +# +# +# +CONFIG_SX9310=m diff --git a/configs/fedora/generic/CONFIG_SYNTH_EVENTS b/configs/fedora/generic/CONFIG_SYNTH_EVENTS new file mode 100644 index 000000000..57527e3de --- /dev/null +++ b/configs/fedora/generic/CONFIG_SYNTH_EVENTS @@ -0,0 +1,28 @@ +# CONFIG_SYNTH_EVENTS: +# +# Synthetic events are user-defined trace events that can be +# used to combine data from other trace events or in fact any +# data source. Synthetic events can be generated indirectly +# via the trace() action of histogram triggers or directly +# by way of an in-kernel API. +# +# See Documentation/trace/events.rst or +# Documentation/trace/histogram.rst for details and examples. +# +# If in doubt, say N. +# +# Symbol: SYNTH_EVENTS [=n] +# Type : bool +# Defined at kernel/trace/Kconfig:608 +# Prompt: Synthetic trace events +# Depends on: TRACING_SUPPORT [=y] && FTRACE [=y] +# Location: +# -> Kernel hacking +# -> Tracers (FTRACE [=y]) +# Selects: TRACING [=y] && DYNAMIC_EVENTS [=y] +# Selected by [n]: +# - HIST_TRIGGERS [=n] && TRACING_SUPPORT [=y] && FTRACE [=y] && ARCH_HAVE_NMI_SAFE_CMPXCHG [=n] +# +# +# +CONFIG_SYNTH_EVENTS=y diff --git a/configs/fedora/generic/CONFIG_SYSTEM76_ACPI b/configs/fedora/generic/CONFIG_SYSTEM76_ACPI new file mode 100644 index 000000000..40471194d --- /dev/null +++ b/configs/fedora/generic/CONFIG_SYSTEM76_ACPI @@ -0,0 +1 @@ +# CONFIG_SYSTEM76_ACPI is not set diff --git a/configs/fedora/generic/CONFIG_NVME_TCP b/configs/fedora/generic/CONFIG_TARGET_TCP index 738cd8284..738cd8284 100644 --- a/configs/fedora/generic/CONFIG_NVME_TCP +++ b/configs/fedora/generic/CONFIG_TARGET_TCP diff --git a/configs/fedora/generic/CONFIG_TEST_BITOPS b/configs/fedora/generic/CONFIG_TEST_BITOPS new file mode 100644 index 000000000..86e8dea05 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TEST_BITOPS @@ -0,0 +1,24 @@ +# CONFIG_TEST_BITOPS: +# +# This builds the "test_bitops" module that is much like the +# TEST_LKM module except that it does a basic exercise of the +# clear_bit and set_bit macros to make sure there are no compiler +# warnings from C=1 sparse checker or -Wextra compilations. It has +# no dependencies and doesn't run or load unless explicitly requested +# by name. for example: modprobe test_bitops. +# +# If unsure, say N. +# +# Symbol: TEST_BITOPS [=n] +# Type : tristate +# Defined at lib/Kconfig.debug:2025 +# Prompt: Test module for compilation of clear_bit/set_bit operations +# Depends on: RUNTIME_TESTING_MENU [=y] && m && MODULES [=y] +# Location: +# -> Kernel hacking +# -> Kernel Testing and Coverage +# -> Runtime Testing (RUNTIME_TESTING_MENU [=y]) +# +# +# +# CONFIG_TEST_BITOPS is not set diff --git a/configs/fedora/generic/CONFIG_TEST_HMM b/configs/fedora/generic/CONFIG_TEST_HMM new file mode 100644 index 000000000..5210be0d7 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TEST_HMM @@ -0,0 +1 @@ +# CONFIG_TEST_HMM is not set diff --git a/configs/fedora/generic/x86/CONFIG_TIME_NS b/configs/fedora/generic/CONFIG_TIME_NS index 4480620f6..4480620f6 100644 --- a/configs/fedora/generic/x86/CONFIG_TIME_NS +++ b/configs/fedora/generic/CONFIG_TIME_NS diff --git a/configs/fedora/generic/CONFIG_TOUCHSCREEN_CY8CTMA140 b/configs/fedora/generic/CONFIG_TOUCHSCREEN_CY8CTMA140 new file mode 100644 index 000000000..cf84427b3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TOUCHSCREEN_CY8CTMA140 @@ -0,0 +1,24 @@ +# CONFIG_TOUCHSCREEN_CY8CTMA140: +# +# Say Y here if you have a Cypress CY8CTMA140 capacitive +# touchscreen also just known as "TMA140" +# +# If unsure, say N. +# +# To compile this driver as a module, choose M here: the +# module will be called cy8ctma140. +# +# Symbol: TOUCHSCREEN_CY8CTMA140 [=n] +# Type : tristate +# Defined at drivers/input/touchscreen/Kconfig:204 +# Prompt: cy8ctma140 touchscreen +# Depends on: !UML && INPUT [=y] && INPUT_TOUCHSCREEN [=y] && I2C [=y] +# Location: +# -> Device Drivers +# -> Input device support +# -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y]) +# -> Touchscreens (INPUT_TOUCHSCREEN [=y]) +# +# +# +CONFIG_TOUCHSCREEN_CY8CTMA140=m diff --git a/configs/fedora/generic/CONFIG_USB4 b/configs/fedora/generic/CONFIG_USB4 new file mode 100644 index 000000000..cda710060 --- /dev/null +++ b/configs/fedora/generic/CONFIG_USB4 @@ -0,0 +1 @@ +CONFIG_USB4=y diff --git a/configs/fedora/generic/x86/CONFIG_USB4_NET b/configs/fedora/generic/CONFIG_USB4_NET index 2d51af31b..2d51af31b 100644 --- a/configs/fedora/generic/x86/CONFIG_USB4_NET +++ b/configs/fedora/generic/CONFIG_USB4_NET diff --git a/configs/fedora/generic/CONFIG_USB_XHCI_PCI_RENESAS b/configs/fedora/generic/CONFIG_USB_XHCI_PCI_RENESAS new file mode 100644 index 000000000..1878a6c74 --- /dev/null +++ b/configs/fedora/generic/CONFIG_USB_XHCI_PCI_RENESAS @@ -0,0 +1,20 @@ +# CONFIG_USB_XHCI_PCI_RENESAS: +# +# Say 'Y' to enable the support for the Renesas xHCI controller with +# firwmare. Make sure you have the firwmare for the device and +# installed on your system for this device to work. +# If unsure, say 'N'. +# +# Symbol: USB_XHCI_PCI_RENESAS [=n] +# Type : tristate +# Defined at drivers/usb/host/Kconfig:46 +# Prompt: Support for additional Renesas xHCI controller with firwmare +# Depends on: USB_SUPPORT [=y] && USB [=y] && USB_XHCI_HCD [=y] +# Location: +# -> Device Drivers +# -> USB support (USB_SUPPORT [=y]) +# -> xHCI HCD (USB 3.0) support (USB_XHCI_HCD [=y]) +# +# +# +CONFIG_USB_XHCI_PCI_RENESAS=m diff --git a/configs/fedora/generic/CONFIG_VBOXSF_FS b/configs/fedora/generic/CONFIG_VBOXSF_FS new file mode 100644 index 000000000..7fb11ee4b --- /dev/null +++ b/configs/fedora/generic/CONFIG_VBOXSF_FS @@ -0,0 +1 @@ +# CONFIG_VBOXSF_FS is not set diff --git a/configs/fedora/generic/CONFIG_VCNL3020 b/configs/fedora/generic/CONFIG_VCNL3020 new file mode 100644 index 000000000..156fa15d0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VCNL3020 @@ -0,0 +1,22 @@ +# CONFIG_VCNL3020: +# +# Say Y here if you want to build a driver for the Vishay VCNL3020 +# proximity sensor. +# +# To compile this driver as a module, choose M here: the +# module will be called vcnl3020. +# +# Symbol: VCNL3020 [=n] +# Type : tristate +# Defined at drivers/iio/proximity/Kconfig:143 +# Prompt: VCNL3020 proximity sensor +# Depends on: IIO [=m] && I2C [=y] +# Location: +# -> Device Drivers +# -> Industrial I/O support (IIO [=m]) +# -> Proximity and distance sensors +# Selects: REGMAP_I2C [=y] +# +# +# +CONFIG_VCNL3020=m diff --git a/configs/fedora/generic/CONFIG_VEXPRESS_CONFIG b/configs/fedora/generic/CONFIG_VEXPRESS_CONFIG new file mode 100644 index 000000000..a2c1cb307 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VEXPRESS_CONFIG @@ -0,0 +1,18 @@ +# CONFIG_VEXPRESS_CONFIG: +# +# Platform configuration infrastructure for the ARM Ltd. +# Versatile Express. +# +# Symbol: VEXPRESS_CONFIG [=y] +# Type : tristate +# Defined at drivers/bus/Kconfig:224 +# Prompt: Versatile Express configuration bus +# Depends on: (ARM || ARM64 [=y]) && OF [=y] +# Location: +# -> Device Drivers +# -> Bus devices +# Selects: REGMAP [=y] +# +# +# +CONFIG_VEXPRESS_CONFIG=y diff --git a/configs/fedora/generic/CONFIG_VIDEO_AD5820 b/configs/fedora/generic/CONFIG_VIDEO_AD5820 new file mode 100644 index 000000000..c7c6cdbae --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_AD5820 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_AD5820: +# +# This is a driver for the AD5820 camera lens voice coil. +# It is used for example in Nokia N900 (RX-51). +# +# Symbol: VIDEO_AD5820 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1226 +# Prompt: AD5820 lens voice coil support +# Depends on: MEDIA_SUPPORT [=m] && GPIOLIB [=y] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && GPIOLIB [=y] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Lens drivers +# Selects: MEDIA_CONTROLLER [=y] +# +# +# +CONFIG_VIDEO_AD5820=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_ADP1653 b/configs/fedora/generic/CONFIG_VIDEO_ADP1653 new file mode 100644 index 000000000..033a028e1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_ADP1653 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_ADP1653: +# +# This is a driver for the ADP1653 flash controller. It is used for +# example in Nokia N900. +# +# Symbol: VIDEO_ADP1653 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1272 +# Prompt: ADP1653 flash support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Flash devices +# Selects: MEDIA_CONTROLLER [=y] +# +# +# +CONFIG_VIDEO_ADP1653=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_AK7375 b/configs/fedora/generic/CONFIG_VIDEO_AK7375 new file mode 100644 index 000000000..c107cd8af --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_AK7375 @@ -0,0 +1,23 @@ +# CONFIG_VIDEO_AK7375: +# +# This is a driver for the AK7375 camera lens voice coil. +# AK7375 is a 12 bit DAC with 120mA output current sink +# capability. This is designed for linear control of +# voice coil motors, controlled via I2C serial interface. +# +# Symbol: VIDEO_AK7375 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1234 +# Prompt: AK7375 lens voice coil support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Lens drivers +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_AK7375=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_DW9714 b/configs/fedora/generic/CONFIG_VIDEO_DW9714 new file mode 100644 index 000000000..f22564b89 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_DW9714 @@ -0,0 +1,23 @@ +# CONFIG_VIDEO_DW9714: +# +# This is a driver for the DW9714 camera lens voice coil. +# DW9714 is a 10 bit DAC with 120mA output current sink +# capability. This is designed for linear control of +# voice coil motors, controlled via I2C serial interface. +# +# Symbol: VIDEO_DW9714 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1245 +# Prompt: DW9714 lens voice coil support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Lens drivers +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_DW9714=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_DW9807_VCM b/configs/fedora/generic/CONFIG_VIDEO_DW9807_VCM new file mode 100644 index 000000000..a7a8a97c9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_DW9807_VCM @@ -0,0 +1,23 @@ +# CONFIG_VIDEO_DW9807_VCM: +# +# This is a driver for the DW9807 camera lens voice coil. +# DW9807 is a 10 bit DAC with 100mA output current sink +# capability. This is designed for linear control of +# voice coil motors, controlled via I2C serial interface. +# +# Symbol: VIDEO_DW9807_VCM [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1256 +# Prompt: DW9807 lens voice coil support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Lens drivers +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_DW9807_VCM=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_ET8EK8 b/configs/fedora/generic/CONFIG_VIDEO_ET8EK8 new file mode 100644 index 000000000..de9bd2729 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_ET8EK8 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_ET8EK8: +# +# This is a driver for the Toshiba ET8EK8 5 MP camera sensor. +# It is used for example in Nokia N900 (RX-51). +# +# Symbol: VIDEO_ET8EK8 [=n] +# Type : tristate +# Defined at drivers/media/i2c/et8ek8/Kconfig:2 +# Prompt: ET8EK8 camera sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && V4L2_FWNODE [=m] +# +# +# +CONFIG_VIDEO_ET8EK8=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_HI556 b/configs/fedora/generic/CONFIG_VIDEO_HI556 new file mode 100644 index 000000000..d37b1bd54 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_HI556 @@ -0,0 +1,24 @@ +# CONFIG_VIDEO_HI556: +# +# This is a Video4Linux2 sensor driver for the Hynix +# Hi-556 camera. +# +# To compile this driver as a module, choose M here: the +# module will be called hi556. +# +# Symbol: VIDEO_HI556 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:715 +# Prompt: Hynix Hi-556 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && V4L2_FWNODE [=m] +# +# +# +CONFIG_VIDEO_HI556=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IMX214 b/configs/fedora/generic/CONFIG_VIDEO_IMX214 new file mode 100644 index 000000000..8e362c641 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IMX214 @@ -0,0 +1,24 @@ +# CONFIG_VIDEO_IMX214: +# +# This is a Video4Linux2 sensor driver for the Sony +# IMX214 camera. +# +# To compile this driver as a module, choose M here: the +# module will be called imx214. +# +# Symbol: VIDEO_IMX214 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:728 +# Prompt: Sony IMX214 sensor support +# Depends on: MEDIA_SUPPORT [=m] && GPIOLIB [=y] && I2C [=y] && VIDEO_V4L2 [=m] && V4L2_FWNODE [=m] +# Visible if: MEDIA_SUPPORT [=m] && GPIOLIB [=y] && I2C [=y] && VIDEO_V4L2 [=m] && V4L2_FWNODE [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && REGMAP_I2C [=y] +# +# +# +CONFIG_VIDEO_IMX214=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IMX219 b/configs/fedora/generic/CONFIG_VIDEO_IMX219 new file mode 100644 index 000000000..c4bdcef59 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IMX219 @@ -0,0 +1,24 @@ +# CONFIG_VIDEO_IMX219: +# +# This is a Video4Linux2 sensor driver for the Sony +# IMX219 camera. +# +# To compile this driver as a module, choose M here: the +# module will be called imx219. +# +# Symbol: VIDEO_IMX219 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:742 +# Prompt: Sony IMX219 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && V4L2_FWNODE [=m] +# +# +# +CONFIG_VIDEO_IMX219=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IMX258 b/configs/fedora/generic/CONFIG_VIDEO_IMX258 new file mode 100644 index 000000000..9f21450c5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IMX258 @@ -0,0 +1,24 @@ +# CONFIG_VIDEO_IMX258: +# +# This is a Video4Linux2 sensor driver for the Sony +# IMX258 camera. +# +# To compile this driver as a module, choose M here: the +# module will be called imx258. +# +# Symbol: VIDEO_IMX258 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:755 +# Prompt: Sony IMX258 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_IMX258=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IMX274 b/configs/fedora/generic/CONFIG_VIDEO_IMX274 new file mode 100644 index 000000000..3f89e3512 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IMX274 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_IMX274: +# +# This is a V4L2 sensor driver for the Sony IMX274 +# CMOS image sensor. +# +# Symbol: VIDEO_IMX274 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:767 +# Prompt: Sony IMX274 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && REGMAP_I2C [=y] +# +# +# +CONFIG_VIDEO_IMX274=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IMX290 b/configs/fedora/generic/CONFIG_VIDEO_IMX290 new file mode 100644 index 000000000..a39625af6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IMX290 @@ -0,0 +1,24 @@ +# CONFIG_VIDEO_IMX290: +# +# This is a Video4Linux2 sensor driver for the Sony +# IMX290 camera sensor. +# +# To compile this driver as a module, choose M here: the +# module will be called imx290. +# +# Symbol: VIDEO_IMX290 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:777 +# Prompt: Sony IMX290 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && REGMAP_I2C [=y] && V4L2_FWNODE [=m] +# +# +# +CONFIG_VIDEO_IMX290=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IMX319 b/configs/fedora/generic/CONFIG_VIDEO_IMX319 new file mode 100644 index 000000000..0bfeec087 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IMX319 @@ -0,0 +1,24 @@ +# CONFIG_VIDEO_IMX319: +# +# This is a Video4Linux2 sensor driver for the Sony +# IMX319 camera. +# +# To compile this driver as a module, choose M here: the +# module will be called imx319. +# +# Symbol: VIDEO_IMX319 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:791 +# Prompt: Sony IMX319 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_IMX319=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IMX355 b/configs/fedora/generic/CONFIG_VIDEO_IMX355 new file mode 100644 index 000000000..5107d2450 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IMX355 @@ -0,0 +1,24 @@ +# CONFIG_VIDEO_IMX355: +# +# This is a Video4Linux2 sensor driver for the Sony +# IMX355 camera. +# +# To compile this driver as a module, choose M here: the +# module will be called imx355. +# +# Symbol: VIDEO_IMX355 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:803 +# Prompt: Sony IMX355 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_IMX355=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_IPU3_CIO2 b/configs/fedora/generic/CONFIG_VIDEO_IPU3_CIO2 new file mode 100644 index 000000000..54f3191c9 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_IPU3_CIO2 @@ -0,0 +1,25 @@ +# CONFIG_VIDEO_IPU3_CIO2: +# +# This is the Intel IPU3 CIO2 CSI-2 receiver unit, found in Intel +# Skylake and Kaby Lake SoCs and used for capturing images and +# video from a camera sensor. +# +# Say Y or M here if you have a Skylake/Kaby Lake SoC with MIPI CSI-2 +# connected camera. +# The module will be called ipu3-cio2. +# +# Symbol: VIDEO_IPU3_CIO2 [=n] +# Type : tristate +# Defined at drivers/media/pci/intel/ipu3/Kconfig:2 +# Prompt: Intel ipu3-cio2 driver +# Depends on: MEDIA_SUPPORT [=m] && MEDIA_PCI_SUPPORT [=y] && VIDEO_V4L2 [=m] && PCI [=y] && (X86 [=y] && ACPI [=y] || COMPILE_TEST [=n]) +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media drivers +# -> Media PCI Adapters (MEDIA_PCI_SUPPORT [=y]) +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=n] && V4L2_FWNODE [=n] && VIDEOBUF2_DMA_SG [=m] +# +# +# +# CONFIG_VIDEO_IPU3_CIO2 is not set diff --git a/configs/fedora/generic/CONFIG_VIDEO_LM3560 b/configs/fedora/generic/CONFIG_VIDEO_LM3560 new file mode 100644 index 000000000..0797bb990 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_LM3560 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_LM3560: +# +# This is a driver for the lm3560 dual flash controllers. It controls +# flash, torch LEDs. +# +# Symbol: VIDEO_LM3560 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1280 +# Prompt: LM3560 dual flash driver support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Flash devices +# Selects: MEDIA_CONTROLLER [=y] && REGMAP_I2C [=y] +# +# +# +CONFIG_VIDEO_LM3560=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_LM3646 b/configs/fedora/generic/CONFIG_VIDEO_LM3646 new file mode 100644 index 000000000..aed3b4276 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_LM3646 @@ -0,0 +1,20 @@ +# CONFIG_VIDEO_LM3646: +# +# This is a driver for the lm3646 dual flash controllers. It controls +# flash, torch LEDs. +# Symbol: VIDEO_LM3646 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1289 +# Prompt: LM3646 dual flash driver support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Flash devices +# Selects: MEDIA_CONTROLLER [=y] && REGMAP_I2C [=y] +# +# +# +CONFIG_VIDEO_LM3646=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_M5MOLS b/configs/fedora/generic/CONFIG_VIDEO_M5MOLS new file mode 100644 index 000000000..faf633bbb --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_M5MOLS @@ -0,0 +1,20 @@ +# CONFIG_VIDEO_M5MOLS: +# +# This driver supports Fujitsu M-5MOLS camera sensor with ISP +# +# Symbol: VIDEO_M5MOLS [=n] +# Type : tristate +# Defined at drivers/media/i2c/m5mols/Kconfig:2 +# Prompt: Fujitsu M-5MOLS 8MP sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_M5MOLS=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_MT9M001 b/configs/fedora/generic/CONFIG_VIDEO_MT9M001 new file mode 100644 index 000000000..12c082119 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_MT9M001 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_MT9M001: +# +# This driver supports MT9M001 cameras from Micron, monochrome +# and colour models. +# +# Symbol: VIDEO_MT9M001 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1059 +# Prompt: mt9m001 support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_MT9M001=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_MT9M032 b/configs/fedora/generic/CONFIG_VIDEO_MT9M032 new file mode 100644 index 000000000..fd181c4a7 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_MT9M032 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_MT9M032: +# +# This driver supports MT9M032 camera sensors from Aptina, monochrome +# models only. +# +# Symbol: VIDEO_MT9M032 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1068 +# Prompt: MT9M032 camera sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && VIDEO_APTINA_PLL [=n] +# +# +# +CONFIG_VIDEO_MT9M032=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_MT9M111 b/configs/fedora/generic/CONFIG_VIDEO_MT9M111 new file mode 100644 index 000000000..ba548bbc3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_MT9M111 @@ -0,0 +1,23 @@ +# CONFIG_VIDEO_MT9M111: +# +# This driver supports MT9M111, MT9M112 and MT9M131 cameras from +# Micron/Aptina +# +# Symbol: VIDEO_MT9M111 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1078 +# Prompt: mt9m111, mt9m112 and mt9m131 support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: V4L2_FWNODE [=m] +# Selected by [n]: +# - SOC_CAMERA_MT9M111 [=n] && STAGING [=y] && STAGING_MEDIA [=y] && MEDIA_SUPPORT [=m] && SOC_CAMERA [=n] && I2C [=y] +# +# +# +CONFIG_VIDEO_MT9M111=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_MT9P031 b/configs/fedora/generic/CONFIG_VIDEO_MT9P031 new file mode 100644 index 000000000..fd24ae64a --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_MT9P031 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_MT9P031: +# +# This is a Video4Linux2 sensor driver for the Aptina +# (Micron) mt9p031 5 Mpixel camera. +# +# Symbol: VIDEO_MT9P031 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1086 +# Prompt: Aptina MT9P031 support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] && VIDEO_APTINA_PLL [=n] +# +# +# +CONFIG_VIDEO_MT9P031=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_MT9T001 b/configs/fedora/generic/CONFIG_VIDEO_MT9T001 new file mode 100644 index 000000000..eb16e0893 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_MT9T001 @@ -0,0 +1,21 @@ +# CONFIG_VIDEO_MT9T001: +# +# This is a Video4Linux2 sensor driver for the Aptina +# (Micron) mt0t001 3 Mpixel camera. +# +# Symbol: VIDEO_MT9T001 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1096 +# Prompt: Aptina MT9T001 support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selects: MEDIA_CONTROLLER [=y] && VIDEO_V4L2_SUBDEV_API [=y] +# +# +# +CONFIG_VIDEO_MT9T001=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_MT9T112 b/configs/fedora/generic/CONFIG_VIDEO_MT9T112 new file mode 100644 index 000000000..4ab531311 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_MT9T112 @@ -0,0 +1,23 @@ +# CONFIG_VIDEO_MT9T112: +# +# This is a Video4Linux2 sensor driver for the Aptina +# (Micron) MT9T111 and MT9T112 3 Mpixel camera. +# +# To compile this driver as a module, choose M here: the +# module will be called mt9t112. +# +# Symbol: VIDEO_MT9T112 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1105 +# Prompt: Aptina MT9T111/MT9T112 support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# +# +# +CONFIG_VIDEO_MT9T112=m diff --git a/configs/fedora/generic/CONFIG_VIDEO_MT9V011 b/configs/fedora/generic/CONFIG_VIDEO_MT9V011 new file mode 100644 index 000000000..5f18a2f0f --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIDEO_MT9V011 @@ -0,0 +1,23 @@ +# CONFIG_VIDEO_MT9V011: +# +# This is a Video4Linux2 sensor driver for the Micron +# mt0v011 1.3 Mpixel camera. It currently only works with the +# em28xx driver. +# +# Symbol: VIDEO_MT9V011 [=n] +# Type : tristate +# Defined at drivers/media/i2c/Kconfig:1115 +# Prompt: Micron mt9v011 sensor support +# Depends on: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] +# Visible if: MEDIA_SUPPORT [=m] && I2C [=y] && VIDEO_V4L2 [=m] && MEDIA_CAMERA_SUPPORT [=y] +# Location: +# -> Device Drivers +# -> Multimedia support (MEDIA_SUPPORT [=m]) +# -> Media ancillary drivers +# -> Camera sensor devices +# Selected by [n]: |