summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch71
-rw-r--r--0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch (renamed from ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch)33
-rw-r--r--0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch (renamed from ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch)71
-rw-r--r--0001-ARM-tegra-usb-no-reset.patch (renamed from ARM-tegra-usb-no-reset.patch)10
-rw-r--r--0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch (renamed from 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch)78
-rw-r--r--0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch (renamed from arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch)15
-rw-r--r--0001-Drop-that-for-now.patch8
-rw-r--r--0001-Include-kvm_asm.h-and-kvm_arm.h-in-kvm-arm-trace.h.patch28
-rw-r--r--0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch (renamed from input-rmi4-remove-the-need-for-artifical-IRQ.patch)0
-rw-r--r--0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch (renamed from KEYS-Make-use-of-platform-keyring-for-module-signature.patch)11
-rw-r--r--0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch (renamed from 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch)13
-rw-r--r--0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch209
-rw-r--r--0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch57
-rw-r--r--0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch72
-rw-r--r--0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch75
-rw-r--r--0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch (renamed from ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch)33
-rw-r--r--0001-acpi-prefer-booting-with-ACPI-over-DTS.patch56
-rw-r--r--0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch55
-rw-r--r--0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch89
-rw-r--r--0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch38
-rw-r--r--0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch (renamed from arm-make-highpte-not-expert.patch)10
-rw-r--r--0001-compat_ioctl-cdrom-Replace-.ioctl-with-.compat_ioctl.patch83
-rw-r--r--0001-core-memory-remove-redundant-assignments-to-variable.patch32
-rw-r--r--0001-device-detect-if-changing-endianness-failed.patch62
-rw-r--r--0001-device-detect-vGPUs.patch59
-rw-r--r--0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch84
-rw-r--r--0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch113
-rw-r--r--0001-disp-gv100-expose-capabilities-class.patch149
-rw-r--r--0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch146
-rw-r--r--0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch49
-rw-r--r--0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch83
-rw-r--r--0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch105
-rw-r--r--0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch26
-rw-r--r--0001-drm-Use-generic-helper-to-check-_PR3-presence.patch96
-rw-r--r--0001-dt-bindings-vendor-prefixes-Add-Xingbangda.patch33
-rw-r--r--0001-e1000e-bump-up-timeout-to-wait-when-ME-un-configure-.patch35
-rw-r--r--0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch161
-rw-r--r--0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch72
-rw-r--r--0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch110
-rw-r--r--0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch98
-rw-r--r--0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch123
-rw-r--r--0001-kdump-add-support-for-crashkernel-auto.patch189
-rw-r--r--0001-kdump-fix-a-grammar-issue-in-a-kernel-message.patch43
-rw-r--r--0001-kdump-round-up-the-total-memory-size-to-128M-for-cra.patch93
-rw-r--r--0001-kms-gv100-Add-support-for-interlaced-modes.patch64
-rw-r--r--0001-kms-nv50-Initialize-core-channel-in-nouveau_display_.patch47
-rw-r--r--0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch65
-rw-r--r--0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch439
-rw-r--r--0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch209
-rw-r--r--0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch10
-rw-r--r--0001-mmu-Remove-unneeded-semicolon.patch47
-rw-r--r--0001-perf-cs-etm-Move-defined-of-traceid_list.patch58
-rw-r--r--0001-pwm-lpss-Fix-get_state-runtime-pm-reference-handling.patch100
-rw-r--r--0001-s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch (renamed from s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch)27
-rw-r--r--0001-scsi-smartpqi-add-inspur-advantech-ids.patch70
-rw-r--r--0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch103
-rw-r--r--0001-soc-bcm2835-Sync-xHCI-reset-firmware-property-with-d.patch32
-rw-r--r--0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch (renamed from usb-fusb302-Convert-to-use-GPIO-descriptors.patch)17
-rw-r--r--0001-virt-vbox-Add-a-few-new-vmmdev-request-types-to-the-.patch58
-rw-r--r--0001-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch320
-rw-r--r--0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch130
-rw-r--r--0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch123
-rw-r--r--0001-virt-vbox-Fix-guest-capabilities-mask-check.patch47
-rw-r--r--0001-virt-vbox-Log-unknown-ioctl-requests-as-error.patch30
-rw-r--r--0001-virt-vbox-Rename-guest_caps-struct-members-to-set_gu.patch103
-rw-r--r--0001-xfs-add-agf-freeblocks-verify-in-xfs_agf_verify.patch107
-rw-r--r--0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch120
-rw-r--r--0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch37
-rw-r--r--0004-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch91
-rw-r--r--0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch265
-rw-r--r--0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch129
-rw-r--r--0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch84
-rw-r--r--0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch84
-rw-r--r--0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch251
-rw-r--r--0010-drm-panel-st7703-Enter-sleep-after-display-off.patch41
-rw-r--r--0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch29
-rw-r--r--0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch112
-rw-r--r--0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch47
-rw-r--r--ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch168
-rw-r--r--ARM64-Tegra-fixes.patch477
-rw-r--r--Add-LCD-support-for-Pine64-Pinebook-1080p.patch1033
-rw-r--r--Add-support-for-PinePhone-LCD-panel.patch1121
-rw-r--r--Add-support-for-the-pine64-Pinebook-Pro.patch1360
-rw-r--r--PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch481
-rw-r--r--RFC-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch144
-rw-r--r--USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch714
-rw-r--r--arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch374
-rw-r--r--arm-bcm2835-serial-8250_early-support-aux-uart.patch47
-rw-r--r--arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch50
-rw-r--r--arm64-a64-mbus.patch69
-rw-r--r--arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch200
-rw-r--r--arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch868
-rw-r--r--arm64-pine64-pinephone.patch568
-rw-r--r--arm64-pine64-pinetab.patch583
-rw-r--r--arm64-pinebook-fixes.patch429
-rw-r--r--arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch396
-rw-r--r--arm64-tegra-Fix-ethernet-phy-mode-for-Jetson-Xavier.patch102
-rw-r--r--backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch186
-rw-r--r--bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch232
-rw-r--r--configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE2
-rw-r--r--configs/fedora/debug/CONFIG_TEST_LOCKUP1
-rw-r--r--configs/fedora/debug/x86/x86_64/README3
-rw-r--r--configs/fedora/generic/CONFIG_AD5770R1
-rw-r--r--configs/fedora/generic/CONFIG_AL30101
-rw-r--r--configs/fedora/generic/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ1
-rw-r--r--configs/fedora/generic/CONFIG_APPLE_MFI_FASTCHARGE1
-rw-r--r--configs/fedora/generic/CONFIG_BAREUDP1
-rw-r--r--configs/fedora/generic/CONFIG_BPF_LSM1
-rw-r--r--configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE1
-rw-r--r--configs/fedora/generic/CONFIG_CLK_RASPBERRYPI1
-rw-r--r--configs/fedora/generic/CONFIG_CROS_EC_TYPEC1
-rw-r--r--configs/fedora/generic/CONFIG_CROS_USBPD_NOTIFY1
-rw-r--r--configs/fedora/generic/CONFIG_DMABUF_MOVE_NOTIFY1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_DISPLAY_CONNECTOR1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_BOE_TV101WUM_NL61
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_ELIDA_KD35T1331
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA021
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_NOVATEK_NT355101
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N009001
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF011
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST77031
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD5991
-rw-r--r--configs/fedora/generic/CONFIG_DRM_PARADE_PS86401
-rw-r--r--configs/fedora/generic/CONFIG_DRM_SIMPLE_BRIDGE1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_TIDSS1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_TI_TPD12S0151
-rw-r--r--configs/fedora/generic/CONFIG_DRM_TOSHIBA_TC3587681
-rw-r--r--configs/fedora/generic/CONFIG_EXFAT_DEFAULT_IOCHARSET1
-rw-r--r--configs/fedora/generic/CONFIG_EXFAT_FS1
-rw-r--r--configs/fedora/generic/CONFIG_F2FS_FS_ZSTD1
-rw-r--r--configs/fedora/generic/CONFIG_FSL_ENETC1
-rw-r--r--configs/fedora/generic/CONFIG_FSL_ENETC_MDIO1
-rw-r--r--configs/fedora/generic/CONFIG_FSL_ENETC_VF1
-rw-r--r--configs/fedora/generic/CONFIG_GP2AP0021
-rw-r--r--configs/fedora/generic/CONFIG_HID_CREATIVE_SB05402
-rw-r--r--configs/fedora/generic/CONFIG_HID_GLORIOUS1
-rw-r--r--configs/fedora/generic/CONFIG_HID_MCP22211
-rw-r--r--configs/fedora/generic/CONFIG_HMC4251
-rw-r--r--configs/fedora/generic/CONFIG_HW_RANDOM_HISI_V21
-rw-r--r--configs/fedora/generic/CONFIG_ICP101001
-rw-r--r--configs/fedora/generic/CONFIG_IFCVF1
-rw-r--r--configs/fedora/generic/CONFIG_IPV6_RPL_LWTUNNEL1
-rw-r--r--configs/fedora/generic/CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE1
-rw-r--r--configs/fedora/generic/CONFIG_MDIO_MVUSB1
-rw-r--r--configs/fedora/generic/CONFIG_MDIO_XPCS1
-rw-r--r--configs/fedora/generic/CONFIG_MFD_IQS62X1
-rw-r--r--configs/fedora/generic/CONFIG_MHI_BUS1
-rw-r--r--configs/fedora/generic/CONFIG_MLX5_TC_CT1
-rw-r--r--configs/fedora/generic/CONFIG_MMC_HSQ1
-rw-r--r--configs/fedora/generic/CONFIG_PCIE_EDR1
-rw-r--r--configs/fedora/generic/CONFIG_PHY_CADENCE_TORRENT1
-rw-r--r--configs/fedora/generic/CONFIG_PINCTRL_IPQ60181
-rw-r--r--configs/fedora/generic/CONFIG_PROVE_RAW_LOCK_NESTING1
-rw-r--r--configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDT82P331
-rw-r--r--configs/fedora/generic/CONFIG_PWM_DEBUG1
-rw-r--r--configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT1
-rw-r--r--configs/fedora/generic/CONFIG_REGULATOR_MP54161
-rw-r--r--configs/fedora/generic/CONFIG_REGULATOR_MP886X1
-rw-r--r--configs/fedora/generic/CONFIG_RHEL_DIFFERENCES1
-rw-r--r--configs/fedora/generic/CONFIG_RH_DISABLE_DEPRECATED1
-rw-r--r--configs/fedora/generic/CONFIG_SCHED_THERMAL_PRESSURE1
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_AXI_FAN_CONTROL1
-rw-r--r--configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX2
-rw-r--r--configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_I2C1
-rw-r--r--configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_SPI1
-rw-r--r--configs/fedora/generic/CONFIG_SERIAL_SPRD1
-rw-r--r--configs/fedora/generic/CONFIG_SND_BCM63XX_I2S_WHISTLER1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C2
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_RT5682_SDW1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_SOF_DEBUG_PROBES1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_TLV320ADCX1401
-rw-r--r--configs/fedora/generic/CONFIG_SPI_FSI1
-rw-r--r--configs/fedora/generic/CONFIG_SPI_MUX1
-rw-r--r--configs/fedora/generic/CONFIG_TEST_LOCKUP1
-rw-r--r--configs/fedora/generic/CONFIG_TEST_MIN_HEAP1
-rw-r--r--configs/fedora/generic/CONFIG_TINYDRM_ILI94861
-rw-r--r--configs/fedora/generic/CONFIG_UACCE1
-rw-r--r--configs/fedora/generic/CONFIG_USB_MAX3420_UDC1
-rw-r--r--configs/fedora/generic/CONFIG_USB_RAW_GADGET1
-rw-r--r--configs/fedora/generic/CONFIG_VDPA16
-rw-r--r--configs/fedora/generic/CONFIG_VDPA_MENU1
-rw-r--r--configs/fedora/generic/CONFIG_VDPA_SIM1
-rw-r--r--configs/fedora/generic/CONFIG_VHOST_MENU1
-rw-r--r--configs/fedora/generic/CONFIG_VHOST_VDPA1
-rw-r--r--configs/fedora/generic/CONFIG_VIDEO_USBVISION2
-rw-r--r--configs/fedora/generic/CONFIG_VIRTIO_VDPA1
-rw-r--r--configs/fedora/generic/CONFIG_XILINX_LL_TEMAC1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_8421
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ41
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_DEFAULT_ON1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD1
-rw-r--r--configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC1
-rw-r--r--configs/fedora/generic/arm/CONFIG_HISILICON_IRQ_MBIGEN2
-rw-r--r--configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD5991
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER3
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_HIGHPTE3
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_COMPAT1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_PMU_SYSFS1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_64BIT1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_NODES_SHIFT2
-rw-r--r--configs/fedora/generic/s390x/CONFIG_QETH_OSN1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_QETH_OSX1
-rw-r--r--configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION1
-rw-r--r--configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM1
-rw-r--r--configs/fedora/generic/x86/CONFIG_DWMAC_INTEL1
-rw-r--r--configs/fedora/generic/x86/CONFIG_IMA_ARCH_POLICY1
-rw-r--r--configs/fedora/generic/x86/CONFIG_KEYBOARD_APPLESPI1
-rw-r--r--configs/fedora/generic/x86/CONFIG_PTP_1588_CLOCK_VMW1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SURFACE_3_POWER_OPREGION1
-rw-r--r--configs/fedora/generic/x86/CONFIG_TYPEC_MUX_INTEL_PMC1
-rw-r--r--configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX1
-rw-r--r--drm-dp-mst-error-handling-improvements.patch471
-rw-r--r--drm-dp_mst-Fix-drm_dp_send_dpcd_write-return-code.patch47
-rw-r--r--drm-i915-backports.patch894
-rw-r--r--e1000e-bump-up-timeout-to-wait-when-ME-un-configure-ULP-mode.patch112
-rw-r--r--efi-secureboot.patch337
-rw-r--r--filter-aarch64.sh.rhel18
-rwxr-xr-xfilter-modules.sh17
-rwxr-xr-xfilter-modules.sh.fedora17
-rw-r--r--filter-modules.sh.rhel168
-rw-r--r--filter-ppc64le.sh.rhel14
-rw-r--r--filter-s390x.sh.rhel12
-rw-r--r--filter-x86_64.sh.rhel12
-rw-r--r--kernel-aarch64-debug-fedora.config138
-rw-r--r--kernel-aarch64-fedora.config136
-rw-r--r--kernel-armv7hl-debug-fedora.config129
-rw-r--r--kernel-armv7hl-fedora.config127
-rw-r--r--kernel-armv7hl-lpae-debug-fedora.config136
-rw-r--r--kernel-armv7hl-lpae-fedora.config134
-rw-r--r--kernel-i686-debug-fedora.config110
-rw-r--r--kernel-i686-fedora.config108
-rw-r--r--kernel-ppc64le-debug-fedora.config103
-rw-r--r--kernel-ppc64le-fedora.config101
-rw-r--r--kernel-s390x-debug-fedora.config106
-rw-r--r--kernel-s390x-fedora.config104
-rw-r--r--kernel-x86_64-debug-fedora.config108
-rw-r--r--kernel-x86_64-fedora.config106
-rw-r--r--kernel.spec221
-rw-r--r--media-rc-prevent-memory-leak-in-cx23888_ir_probe.patch103
-rw-r--r--mwifiex-fix-possible-heap-overflow-in-mwifiex_process_country_ie.patch129
-rw-r--r--net-netlabel-cope-with-NULL-catmap.patch95
-rw-r--r--nouveau-add-missing-MODULE_FIRMWARE.patch59
-rw-r--r--regulator-pwm-Don-t-warn-on-probe-deferral.patch36
-rwxr-xr-xscripts/create_headers_tarball.sh2
-rw-r--r--sources4
-rw-r--r--vboxguest-fixes.patch843
-rw-r--r--vfio-pci-block-user-access-to-disabled-device-MMIO.patch857
254 files changed, 8098 insertions, 14338 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
new file mode 100644
index 000000000..ec362d9b2
--- /dev/null
+++ b/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch
@@ -0,0 +1,71 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Al Stone <ahs3@redhat.com>
+Date: Tue, 27 Feb 2018 00:21:23 -0500
+Subject: [PATCH] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support
+
+Message-id: <20180227002123.21608-1-ahs3@redhat.com>
+Patchwork-id: 206052
+O-Subject: [RHEL8 BZ1518076 PATCH] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support
+Bugzilla: 1518076
+RH-Acked-by: Mark Salter <msalter@redhat.com>
+RH-Acked-by: Jeremy McNicoll <jmcnicol@redhat.com>
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1518076
+Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=15417197
+Tested: compile-only; several other patches are required for full booting
+ QE has tested limited boot (see comment#12 of BZ)
+
+This is a re-post of a RHEL-ALT-7.5 patch specific to aarch64 moonshots
+that we use in beaker. It is required for these machines to boot.
+
+ commit 8a663a264863efedf8bb4a9d76ac603920fdd739
+ Author: Robert Richter <rrichter@redhat.com>
+ Date: Wed Aug 16 19:49:30 2017 -0400
+
+ [acpi] APEI: arm64: Ignore broken HPE moonshot APEI support
+
+ From: Mark Salter <msalter@redhat.com>
+ Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1344237
+ Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=13768971
+ Tested: Booted on moonshot with patched 4.11.0-20 kernel
+ Upstream: RHEL-only
+
+ The aarch64 HP moonshot platforms we have in beaker and elsewhere have
+ a firmware bug which causes a spurious fatal memory error via APEI at
+ boot time. This platform is no longer supported and no further firmware
+ updates are expected. This is a downstream-only hack to avoid the problem
+ by bailing out of HEST table probing if we detect a moonshot HEST table.
+
+ Signed-off-by: Mark Salter <msalter@redhat.com>
+ Signed-off-by: Robert Richter <rrichter@redhat.com>
+ Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+
+Upstream Status: RHEL only
+Signed-off-by: Al Stone <ahs3@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+---
+ drivers/acpi/apei/hest.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c
+index 822402480f7d..3f87d8602560 100644
+--- a/drivers/acpi/apei/hest.c
++++ b/drivers/acpi/apei/hest.c
+@@ -88,6 +88,14 @@ int apei_hest_parse(apei_hest_func_t func, void *data)
+ if (hest_disable || !hest_tab)
+ return -EINVAL;
+
++#ifdef CONFIG_ARM64
++ /* Ignore broken firmware */
++ if (!strncmp(hest_tab->header.oem_id, "HPE ", 6) &&
++ !strncmp(hest_tab->header.oem_table_id, "ProLiant", 8) &&
++ MIDR_IMPLEMENTOR(read_cpuid_id()) == ARM_CPU_IMP_APM)
++ return -EINVAL;
++#endif
++
+ hest_hdr = (struct acpi_hest_header *)(hest_tab + 1);
+ for (i = 0; i < hest_tab->error_source_count; i++) {
+ len = hest_esrc_len(hest_hdr);
+--
+2.26.2
+
diff --git a/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch b/0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch
index 3dcfd4969..1cc560ee8 100644
--- a/ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch
+++ b/0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch
@@ -1,8 +1,17 @@
-From dbdda4277cf0422a9ccb7ea98d0263c3cdbecdf6 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Salter <msalter@redhat.com>
-Date: Tue, 8 May 2018 21:54:39 -0400
-Subject: [PATCH] ACPI / irq: Workaround firmware issue on X-Gene based
- m400
+Date: Thu, 10 May 2018 17:38:43 -0400
+Subject: [PATCH] ACPI / irq: Workaround firmware issue on X-Gene based m400
+
+Message-id: <20180510173844.29580-3-msalter@redhat.com>
+Patchwork-id: 214383
+O-Subject: [RHEL-8 BZ1519554 2/3] ACPI / irq: Workaround firmware issue on X-Gene based m400
+Bugzilla: 1519554
+RH-Acked-by: Al Stone <astone@redhat.com>
+RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1519554
+Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16144520
The ACPI firmware on the xgene-based m400 platorms erroneously
describes its UART interrupt as ACPI_PRODUCER rather than
@@ -11,24 +20,26 @@ find its interrupt and the kernel unable find a console.
Work around this by avoiding the producer/consumer check
for X-Gene UARTs.
+Upstream Status: RHEL only
Signed-off-by: Mark Salter <msalter@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
---
drivers/acpi/irq.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c
-index 7c352cba0528..028c1a564cff 100644
+index e209081d644b..7484bcf59a1b 100644
--- a/drivers/acpi/irq.c
+++ b/drivers/acpi/irq.c
-@@ -129,6 +129,7 @@ struct acpi_irq_parse_one_ctx {
+@@ -126,6 +126,7 @@ struct acpi_irq_parse_one_ctx {
unsigned int index;
unsigned long *res_flags;
struct irq_fwspec *fwspec;
+ bool skip_producer_check;
};
-
+
/**
-@@ -200,7 +201,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
+@@ -197,7 +198,8 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
return AE_CTRL_TERMINATE;
case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
eirq = &ares->data.extended_irq;
@@ -38,13 +49,13 @@ index 7c352cba0528..028c1a564cff 100644
return AE_OK;
if (ctx->index >= eirq->interrupt_count) {
ctx->index -= eirq->interrupt_count;
-@@ -235,8 +237,19 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
+@@ -232,8 +234,19 @@ static acpi_status acpi_irq_parse_one_cb(struct acpi_resource *ares,
static int acpi_irq_parse_one(acpi_handle handle, unsigned int index,
struct irq_fwspec *fwspec, unsigned long *flags)
{
- struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec };
+ struct acpi_irq_parse_one_ctx ctx = { -EINVAL, index, flags, fwspec, false };
-
+
+ /*
+ * Firmware on arm64-based HPE m400 platform incorrectly marks
+ * its UART interrupt as ACPI_PRODUCER rather than ACPI_CONSUMER.
@@ -60,5 +71,5 @@ index 7c352cba0528..028c1a564cff 100644
return ctx.rc;
}
--
-2.17.0
+2.26.2
diff --git a/ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch b/0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch
index db893d26e..c5a43608f 100644
--- a/ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch
+++ b/0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch
@@ -1,67 +1,8 @@
-From patchwork Mon Sep 30 05:59:25 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Masahiro Yamada <yamada.masahiro@socionext.com>
-X-Patchwork-Id: 1132459
-Return-Path: <SRS0=rUXN=XZ=vger.kernel.org=linux-kernel-owner@kernel.org>
-Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
- by smtp.lore.kernel.org (Postfix) with ESMTP id DF215C4360C
- for <linux-kernel@archiver.kernel.org>; Mon, 30 Sep 2019 06:02:56 +0000 (UTC)
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mail.kernel.org (Postfix) with ESMTP id B032A20815
- for <linux-kernel@archiver.kernel.org>; Mon, 30 Sep 2019 06:02:56 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=nifty.com header.i=@nifty.com
- header.b="sVJyT1RO"
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1729635AbfI3GCz (ORCPT
- <rfc822;linux-kernel@archiver.kernel.org>);
- Mon, 30 Sep 2019 02:02:55 -0400
-Received: from conuserg-10.nifty.com ([210.131.2.77]:65305 "EHLO
- conuserg-10.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1726121AbfI3GCz (ORCPT
- <rfc822;linux-kernel@vger.kernel.org>);
- Mon, 30 Sep 2019 02:02:55 -0400
-Received: from localhost.localdomain (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp
- [153.142.97.92]) (authenticated)
- by conuserg-10.nifty.com with ESMTP id x8U60ANM011158;
- Mon, 30 Sep 2019 15:00:10 +0900
-DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com x8U60ANM011158
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com;
- s=dec2015msa; t=1569823213;
- bh=31RHoPop8t0h2pCPRnwABR+VMelvfuLJ6qwFWQxvRAk=;
- h=From:To:Cc:Subject:Date:From;
- b=sVJyT1ROU+6mzkZMRTb0M214/0QcKkmxRbNgDwh2q1TPJpEjPLOoE+y1jkVndgyce
- qBfr7v3nYiN5WSsx5xTwPYvHohsWcSS3AWwyVRw8Kxjd0CGrX8l5WcF76SmCvJPLCB
- wLRZ7C1/Z/zv9v8AVlB2BGhDmSvNQJ9bvuGi42d+JbBXGDfg0HZGGHEj7yDDLBV9nW
- EZkTGzP6wtIdqgD6DM5Lj4LA7FnlzH8Ocy6yp5agIZ7tdaiVh4E+Xb97KFsLgRin/o
- kTPCap5ub1TziurVW+1pbzwH+G3TNVeY+yJdYcAQRFzXXOrTa7s5zIJUtObrYVGCA2
- ctH5uaN1kjx1g==
-X-Nifty-SrcIP: [153.142.97.92]
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Masahiro Yamada <yamada.masahiro@socionext.com>
-To: linux-arm-kernel@lists.infradead.org,
- Russell King <rmk+kernel@armlinux.org.uk>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>,
- Olof Johansson <olof@lixom.net>, Arnd Bergmann <arnd@arndb.de>,
- Nick Desaulniers <ndesaulniers@google.com>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Masahiro Yamada <yamada.masahiro@socionext.com>,
- Julien Thierry <julien.thierry.kdev@gmail.com>,
- Russell King <linux@armlinux.org.uk>,
- Stefan Agner <stefan@agner.ch>,
- Thomas Gleixner <tglx@linutronix.de>,
- Vincent Whitchurch <vincent.whitchurch@axis.com>,
- linux-kernel@vger.kernel.org
+Date: Mon, 30 Sep 2019 14:59:25 +0900
Subject: [PATCH] ARM: fix __get_user_check() in case uaccess_* calls are not
inlined
-Date: Mon, 30 Sep 2019 14:59:25 +0900
-Message-Id: <20190930055925.25842-1-yamada.masahiro@socionext.com>
-X-Mailer: git-send-email 2.17.1
-Sender: linux-kernel-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-kernel.vger.kernel.org>
-X-Mailing-List: linux-kernel@vger.kernel.org
KernelCI reports that bcm2835_defconfig is no longer booting since
commit ac7c3e4ff401 ("compiler: enable CONFIG_OPTIMIZE_INLINING
@@ -106,12 +47,11 @@ Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Tested-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
-
arch/arm/include/asm/uaccess.h | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
-index 303248e5b990..559f252d7e3c 100644
+index 98c6b91be4a8..60055827dddc 100644
--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -191,11 +191,12 @@ extern int __get_user_64t_4(void *);
@@ -139,5 +79,8 @@ index 303248e5b990..559f252d7e3c 100644
+ uaccess_restore(__ua_flags); \
+ __err; \
})
-
+
#define get_user(x, p) \
+--
+2.26.2
+
diff --git a/ARM-tegra-usb-no-reset.patch b/0001-ARM-tegra-usb-no-reset.patch
index 8ea4f5174..f91c6b83e 100644
--- a/ARM-tegra-usb-no-reset.patch
+++ b/0001-ARM-tegra-usb-no-reset.patch
@@ -1,3 +1,4 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Thu, 3 May 2012 20:27:11 +0100
Subject: [PATCH] ARM: tegra: usb no reset
@@ -9,13 +10,13 @@ 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 43cb2f2e3b43..7f838ec11c81 100644
+index fc748c731832..7d35e12de70f 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -4996,6 +4996,13 @@ static void hub_event(struct work_struct *work)
+@@ -5517,6 +5517,13 @@ static void hub_event(struct work_struct *work)
(u16) hub->change_bits[0],
(u16) hub->event_bits[0]);
-
+
+ /* Don't disconnect USB-SATA on TrimSlice */
+ if (strcmp(dev_name(hdev->bus->controller), "tegra-ehci.0") == 0) {
+ if ((hdev->state == 7) && (hub->change_bits[0] == 0) &&
@@ -26,3 +27,6 @@ index 43cb2f2e3b43..7f838ec11c81 100644
/* Lock the device, then check to see if we were
* disconnected while waiting for the lock to succeed. */
usb_lock_device(hdev);
+--
+2.26.2
+
diff --git a/0002-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 871105093..ee11a2428 100644
--- a/0002-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
@@ -1,41 +1,21 @@
-From c8218e9b3c38fcd36a2d06eec09952a0c6cee9e0 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 2 Oct 2017 18:22:13 -0400
-Subject: [PATCH 2/3] Add efi_status_to_str() and rework efi_status_to_err().
+Subject: [PATCH] Add efi_status_to_str() and rework efi_status_to_err().
This adds efi_status_to_str() for use when printing efi_status_t
messages, and reworks efi_status_to_err() so that the two use a common
list of errors.
+Upstream Status: RHEL only
Signed-off-by: Peter Jones <pjones@redhat.com>
---
- include/linux/efi.h | 3 ++
- drivers/firmware/efi/efi.c | 122 ++++++++++++++++++++++++++++++++++-----------
- 2 files changed, 95 insertions(+), 30 deletions(-)
+ drivers/firmware/efi/efi.c | 124 +++++++++++++++++++++++++++----------
+ include/linux/efi.h | 3 +
+ 2 files changed, 96 insertions(+), 31 deletions(-)
-diff --git a/include/linux/efi.h b/include/linux/efi.h
-index 18b16bf5ce1..436b3c93c3d 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -42,6 +42,8 @@
- #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1)))
- #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1)))
-
-+#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1)))
-+
- typedef unsigned long efi_status_t;
- typedef u8 efi_bool_t;
- typedef u16 efi_char16_t; /* UNICODE character */
-@@ -1183,6 +1185,7 @@ static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
- #endif
-
- extern int efi_status_to_err(efi_status_t status);
-+extern const char *efi_status_to_str(efi_status_t status);
-
- /*
- * Variable Attributes
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
-index 557a47829d0..e8f9c7d84e9 100644
+index 4e3055238f31..36ca9e2943ce 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -31,6 +31,7 @@
@@ -43,13 +23,13 @@ index 557a47829d0..e8f9c7d84e9 100644
#include <linux/memblock.h>
#include <linux/security.h>
+#include <linux/bsearch.h>
-
+
#include <asm/early_ioremap.h>
-
-@@ -865,40 +866,101 @@ int efi_mem_type(unsigned long phys_addr)
+
+@@ -828,40 +829,101 @@ int efi_mem_type(unsigned long phys_addr)
}
#endif
-
+
+struct efi_error_code {
+ efi_status_t status;
+ int errno;
@@ -123,9 +103,7 @@ index 557a47829d0..e8f9c7d84e9 100644
int efi_status_to_err(efi_status_t status)
{
- int err;
-+ struct efi_error_code *found;
-+ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code);
-
+-
- switch (status) {
- case EFI_SUCCESS:
- err = 0;
@@ -154,6 +132,10 @@ index 557a47829d0..e8f9c7d84e9 100644
- default:
- err = -EINVAL;
- }
++ struct efi_error_code *found;
++ size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code);
+
+- return err;
+ found = bsearch((void *)(uintptr_t)status, efi_error_codes,
+ sizeof(struct efi_error_code), num,
+ efi_status_cmp_bsearch);
@@ -161,8 +143,7 @@ index 557a47829d0..e8f9c7d84e9 100644
+ return -EINVAL;
+ return found->errno;
+}
-
-- return err;
++
+const char *
+efi_status_to_str(efi_status_t status)
+{
@@ -176,8 +157,29 @@ index 557a47829d0..e8f9c7d84e9 100644
+ return "Unknown error code";
+ return found->description;
}
-
+
static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock);
+diff --git a/include/linux/efi.h b/include/linux/efi.h
+index 9430d01c0c3d..51503bf118ab 100644
+--- a/include/linux/efi.h
++++ b/include/linux/efi.h
+@@ -42,6 +42,8 @@
+ #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1)))
+ #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1)))
+
++#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1)))
++
+ typedef unsigned long efi_status_t;
+ typedef u8 efi_bool_t;
+ typedef u16 efi_char16_t; /* UNICODE character */
+@@ -825,6 +827,7 @@ static inline bool efi_rt_services_supported(unsigned int mask)
+ #endif
+
+ extern int efi_status_to_err(efi_status_t status);
++extern const char *efi_status_to_str(efi_status_t status);
+
+ /*
+ * Variable Attributes
--
-2.15.0
+2.26.2
diff --git a/arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch b/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
index 6417bc29a..970824d59 100644
--- a/arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
+++ b/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
@@ -1,29 +1,32 @@
-From 487ff7b0e537506057960a0c2d9482d19f2acf4a Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
-Date: Wed, 26 Apr 2017 11:12:54 +0100
+Date: Wed, 26 Feb 2020 13:38:40 -0500
Subject: [PATCH] Add option of 13 for FORCE_MAX_ZONEORDER
This is a hack, but it's what the other distros currently use
for aarch64 with 4K pages so we'll do the same while upstream
decides what the best outcome is (which isn't this).
+Upstream Status: RHEL only
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+[Add a dependency on RHEL_DIFFERENCES]
+Signed-off-by: Jeremy Cline <jcline@redhat.com>
---
arch/arm64/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 3741859765cf..deec9511f1d3 100644
+index 7f37a6d0658a..c88ee0e8ce6e 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
-@@ -751,6 +751,7 @@ config XEN
+@@ -1126,6 +1126,7 @@ config XEN
config FORCE_MAX_ZONEORDER
int
default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE)
-+ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES)
++ default "13" if (ARCH_THUNDER && !ARM64_64K_PAGES && !RHEL_DIFFERENCES)
default "12" if (ARM64_16K_PAGES && TRANSPARENT_HUGEPAGE)
default "11"
help
--
-2.12.2
+2.26.2
diff --git a/0001-Drop-that-for-now.patch b/0001-Drop-that-for-now.patch
index 1d1850944..bc898b654 100644
--- a/0001-Drop-that-for-now.patch
+++ b/0001-Drop-that-for-now.patch
@@ -1,4 +1,4 @@
-From 12cec6680e67d6b4fed9e30cd8c1f13871996cc1 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Laura Abbott <labbott@redhat.com>
Date: Wed, 23 Jan 2019 14:36:37 +0100
Subject: [PATCH] Drop that for now
@@ -8,10 +8,10 @@ Subject: [PATCH] Drop that for now
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
-index f5b1d0d168e0..5f31107b22d1 100644
+index 3d65d1153aac..0e2fb7fe2675 100644
--- a/Makefile
+++ b/Makefile
-@@ -430,7 +430,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
+@@ -479,7 +479,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 \
@@ -21,5 +21,5 @@ index f5b1d0d168e0..5f31107b22d1 100644
KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_AFLAGS_KERNEL :=
--
-2.20.1
+2.26.2
diff --git a/0001-Include-kvm_asm.h-and-kvm_arm.h-in-kvm-arm-trace.h.patch b/0001-Include-kvm_asm.h-and-kvm_arm.h-in-kvm-arm-trace.h.patch
deleted file mode 100644
index 9d2694b32..000000000
--- a/0001-Include-kvm_asm.h-and-kvm_arm.h-in-kvm-arm-trace.h.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 3f16f4a34eeb22d70afe1bebdd2cfcded179f22a Mon Sep 17 00:00:00 2001
-From: Jeremy Cline <jcline@redhat.com>
-Date: Tue, 4 Feb 2020 15:31:19 -0500
-Subject: [PATCH] Include kvm_asm.h and kvm_arm.h in kvm/arm/trace.h
-
-commit 0e20f5e25556 maybe broke this.
-
-Signed-off-by: Jeremy Cline <jcline@redhat.com>
----
- virt/kvm/arm/trace.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/virt/kvm/arm/trace.h b/virt/kvm/arm/trace.h
-index 204d210d01c2..1c88e60a6b00 100644
---- a/virt/kvm/arm/trace.h
-+++ b/virt/kvm/arm/trace.h
-@@ -4,6 +4,8 @@
-
- #include <kvm/arm_arch_timer.h>
- #include <linux/tracepoint.h>
-+#include <asm/kvm_asm.h>
-+#include <asm/kvm_arm.h>
-
- #undef TRACE_SYSTEM
- #define TRACE_SYSTEM kvm
---
-2.24.1
-
diff --git a/input-rmi4-remove-the-need-for-artifical-IRQ.patch b/0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch
index 4d7bef554..4d7bef554 100644
--- a/input-rmi4-remove-the-need-for-artifical-IRQ.patch
+++ b/0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch
diff --git a/KEYS-Make-use-of-platform-keyring-for-module-signature.patch b/0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch
index 7c2a0b68d..b53addbe3 100644
--- a/KEYS-Make-use-of-platform-keyring-for-module-signature.patch
+++ b/0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch
@@ -1,4 +1,4 @@
-From 70cecc97a4fc1667472224558a50dd7b6c42c789 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Robert Holmes <robeholmes@gmail.com>
Date: Tue, 23 Apr 2019 07:39:29 +0000
Subject: [PATCH] KEYS: Make use of platform keyring for module signature
@@ -15,8 +15,8 @@ were not successfully verified.
Signed-off-by: Robert Holmes <robeholmes@gmail.com>
Signed-off-by: Jeremy Cline <jcline@redhat.com>
---
- kernel/module_signing.c | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
+ kernel/module_signing.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/kernel/module_signing.c b/kernel/module_signing.c
index 9d9fc678c91d..84ad75a53c83 100644
@@ -25,7 +25,7 @@ index 9d9fc678c91d..84ad75a53c83 100644
@@ -38,8 +38,15 @@ int mod_verify_sig(const void *mod, struct load_info *info)
modlen -= sig_len + sizeof(ms);
info->len = modlen;
-
+
- return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
+ ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len,
VERIFY_USE_SECONDARY_KEYRING,
@@ -40,4 +40,5 @@ index 9d9fc678c91d..84ad75a53c83 100644
+ return ret;
}
--
-2.21.0
+2.26.2
+
diff --git a/0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch b/0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
index d1e43ed3f..671b7402f 100644
--- a/0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
+++ b/0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
@@ -1,9 +1,10 @@
-From 46daeedffe98b489014dcdcf14c89438362de7eb Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 2 Oct 2017 18:18:30 -0400
Subject: [PATCH] Make get_cert_list() use efi_status_to_str() to print error
messages.
+Upstream Status: RHEL only
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Jeremy Cline <jcline@redhat.com>
---
@@ -11,19 +12,19 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com>
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c
-index f0c908241966..4e783f6c6cfb 100644
+index 253fb9a7fc98..8c95b68d86d4 100644
--- a/security/integrity/platform_certs/load_uefi.c
+++ b/security/integrity/platform_certs/load_uefi.c
@@ -46,7 +46,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
return NULL;
-
+
if (*status != EFI_BUFFER_TOO_SMALL) {
- pr_err("Couldn't get size: 0x%lx\n", *status);
+ pr_err("Couldn't get size: %s (0x%lx)\n",
+ efi_status_to_str(*status), *status);
return NULL;
}
-
+
@@ -57,7 +58,8 @@ static __init void *get_cert_list(efi_char16_t *name, efi_guid_t *guid,
*status = efi.get_variable(name, guid, NULL, &lsize, db);
if (*status != EFI_SUCCESS) {
@@ -33,7 +34,7 @@ index f0c908241966..4e783f6c6cfb 100644
+ efi_status_to_str(*status), *status);
return NULL;
}
-
+
--
-2.24.1
+2.26.2
diff --git a/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch b/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
new file mode 100644
index 000000000..6fc81f845
--- /dev/null
+++ b/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
@@ -0,0 +1,209 @@
+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
new file mode 100644
index 000000000..07f8b4e26
--- /dev/null
+++ b/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch
@@ -0,0 +1,57 @@
+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-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
new file mode 100644
index 000000000..7f13ec1f5
--- /dev/null
+++ b/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
@@ -0,0 +1,72 @@
+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
new file mode 100644
index 000000000..828ed5d9a
--- /dev/null
+++ b/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch
@@ -0,0 +1,75 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Robert Richter <rrichter@redhat.com>
+Date: Thu, 7 Jun 2018 22:59:32 -0400
+Subject: [PATCH] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon
+
+Message-id: <1528412373-19128-2-git-send-email-rrichter@redhat.com>
+Patchwork-id: 220950
+O-Subject: [RHEL-8.0 BZ 1563590 v2 1/2] PCI: Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon
+Bugzilla: 1563590
+RH-Acked-by: Dean Nelson <dnelson@redhat.com>
+RH-Acked-by: Mark Langsdorf <mlangsdo@redhat.com>
+RH-Acked-by: Mark Salter <msalter@redhat.com>
+
+From: Ashok Kumar Sekar <asekar@redhat.com>
+
+PCI BAR 5 is not setup correctly for the on-board AHCI
+controller on Broadcom's Vulcan processor. Added a quirk to fix BAR 5
+by using BAR 4's resources which are populated correctly but NOT used
+by the AHCI controller actually.
+
+RHEL-only:
+
+Both patches are in RHEL-7.6 also. Inclusion of the patches into RHEL-8
+was discussed. Since there are partners with Ax system configurations it
+was decided to carry them in RHEL8 too. See:
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1563590#c1
+
+Upstream Status: RHEL only
+Signed-off-by: Ashok Kumar Sekar <asekar@redhat.com>
+Signed-off-by: Jayachandran C <jchandra@broadcom.com>
+Signed-off-by: Robert Richter <rrichter@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+---
+ drivers/pci/quirks.c | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
+index ca9ed5774eb1..bd0cee4236b0 100644
+--- a/drivers/pci/quirks.c
++++ b/drivers/pci/quirks.c
+@@ -4183,6 +4183,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000,
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084,
+ quirk_bridge_cavm_thrx2_pcie_root);
+
++/*
++ * PCI BAR 5 is not setup correctly for the on-board AHCI controller
++ * on Broadcom's Vulcan processor. Added a quirk to fix BAR 5 by
++ * using BAR 4's resources which are populated correctly and NOT
++ * actually used by the AHCI controller.
++ */
++static void quirk_fix_vulcan_ahci_bars(struct pci_dev *dev)
++{
++ struct resource *r = &dev->resource[4];
++
++ if (!(r->flags & IORESOURCE_MEM) || (r->start == 0))
++ return;
++
++ /* Set BAR5 resource to BAR4 */
++ dev->resource[5] = *r;
++
++ /* Update BAR5 in pci config space */
++ pci_write_config_dword(dev, PCI_BASE_ADDRESS_5, r->start);
++
++ /* Clear BAR4's resource */
++ memset(r, 0, sizeof(*r));
++}
++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9027, quirk_fix_vulcan_ahci_bars);
++
+ /*
+ * Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
+ * class code. Fix it.
+--
+2.26.2
+
diff --git a/ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch b/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch
index 697d76e13..86cbf5dad 100644
--- a/ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
+++ b/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch
@@ -1,7 +1,17 @@
-From 1e494dc5f3140005ff1f17bc06c0c16d6d50d580 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Salter <msalter@redhat.com>
-Date: Thu, 19 Apr 2018 23:29:47 -0400
-Subject: [PATCH] ACPI / scan: Fix regression related to X-Gene UARTs
+Date: Thu, 10 May 2018 17:38:44 -0400
+Subject: [PATCH] aarch64: acpi scan: Fix regression related to X-Gene UARTs
+
+Message-id: <20180510173844.29580-4-msalter@redhat.com>
+Patchwork-id: 214381
+O-Subject: [RHEL-8 BZ1519554 3/3] aarch64: acpi scan: Fix regression related to X-Gene UARTs
+Bugzilla: 1519554
+RH-Acked-by: Al Stone <astone@redhat.com>
+RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1519554
+Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16144520
Commit e361d1f85855 ("ACPI / scan: Fix enumeration for special UART
devices") caused a regression with some X-Gene based platforms (Mustang
@@ -10,30 +20,33 @@ device is also a slave device attached to itself. With the above commit
the UART won't be enumerated by ACPI scan (slave serial devices shouldn't
be). So check for X-Gene UART device and skip slace device check on it.
+Upstream Status: RHEL only
Signed-off-by: Mark Salter <msalter@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
---
- drivers/acpi/scan.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
+ drivers/acpi/scan.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
-index e1b6231cfa1c..542dafac4306 100644
+index 6d3448895382..221255007dc8 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
-@@ -1567,6 +1567,14 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
+@@ -1563,6 +1563,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids))
return false;
-
+
+ /*
+ * Firmware on some arm64 X-Gene platforms will make the UART
+ * device appear as both a UART and a slave of that UART. Just
+ * bail out here for X-Gene UARTs.
+ */
-+ if (!strcmp(acpi_device_hid(device), "APMC0D08"))
++ if (IS_ENABLED(CONFIG_ARM64) &&
++ !strcmp(acpi_device_hid(device), "APMC0D08"))
+ return false;
+
INIT_LIST_HEAD(&resource_list);
acpi_dev_get_resources(device, &resource_list,
acpi_check_serial_bus_slave,
--
-2.17.1
+2.26.2
diff --git a/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch b/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch
new file mode 100644
index 000000000..e188b5a2d
--- /dev/null
+++ b/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch
@@ -0,0 +1,56 @@
+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
new file mode 100644
index 000000000..9470c4608
--- /dev/null
+++ b/0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch
@@ -0,0 +1,55 @@
+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-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch b/0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch
new file mode 100644
index 000000000..0299e965c
--- /dev/null
+++ b/0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch
@@ -0,0 +1,89 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Robert Richter <rrichter@redhat.com>
+Date: Thu, 7 Jun 2018 22:59:33 -0400
+Subject: [PATCH] ahci: thunderx2: Fix for errata that affects stop engine
+
+Message-id: <1528412373-19128-3-git-send-email-rrichter@redhat.com>
+Patchwork-id: 220952
+O-Subject: [RHEL-8.0 BZ 1563590 v2 2/2] ahci: thunderx2: Fix for errata that affects stop engine
+Bugzilla: 1563590
+RH-Acked-by: Dean Nelson <dnelson@redhat.com>
+RH-Acked-by: Mark Langsdorf <mlangsdo@redhat.com>
+RH-Acked-by: Mark Salter <msalter@redhat.com>
+
+From: Jayachandran C <jnair@caviumnetworks.com>
+
+Apply workaround for this errata:
+ Synopsis: Resetting PxCMD.ST may hang the SATA device
+
+ Description: An internal ping-pong buffer state is not reset
+ correctly for an PxCMD.ST=0 command for a SATA channel. This
+ may cause the SATA interface to hang when a PxCMD.ST=0 command
+ is received.
+
+ Workaround: A SATA_BIU_CORE_ENABLE.sw_init_bsi must be asserted
+ by the driver whenever the PxCMD.ST needs to be de-asserted. This
+ will reset both the ports. So, it may not always work in a 2
+ channel SATA system.
+
+ Resolution: Fix in B0.
+
+Add the code to ahci_stop_engine() to do this. It is not easy to
+stop the other "port" since it is associated with a different AHCI
+interface. Please note that with this fix, SATA reset does not
+hang any more, but it can cause failures on the other interface
+if that is in active use.
+
+Unfortunately, we have nothing other the the CPU ID to check if the
+SATA block has this issue.
+
+RHEL-only:
+
+Both patches are in RHEL-7.6 also. Inclusion of the patches into RHEL-8
+was discussed. Since there are partners with Ax system configurations it
+was decided to carry them in RHEL8 too. See:
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1563590#c1
+
+[v3 with new delays]
+Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
+
+Upstream Status: RHEL only
+Signed-off-by: Robert Richter <rrichter@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+---
+ drivers/ata/libahci.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
+index ea5bf5f4cbed..71c55cae27ac 100644
+--- a/drivers/ata/libahci.c
++++ b/drivers/ata/libahci.c
+@@ -666,6 +666,24 @@ int ahci_stop_engine(struct ata_port *ap)
+ tmp &= ~PORT_CMD_START;
+ writel(tmp, port_mmio + PORT_CMD);
+
++#ifdef CONFIG_ARM64
++ /* Rev Ax of Cavium CN99XX needs a hack for port stop */
++ if (dev_is_pci(ap->host->dev) &&
++ to_pci_dev(ap->host->dev)->vendor == 0x14e4 &&
++ to_pci_dev(ap->host->dev)->device == 0x9027 &&
++ midr_is_cpu_model_range(read_cpuid_id(),
++ MIDR_CPU_MODEL(ARM_CPU_IMP_BRCM, BRCM_CPU_PART_VULCAN),
++ MIDR_CPU_VAR_REV(0, 0),
++ MIDR_CPU_VAR_REV(0, MIDR_REVISION_MASK))) {
++ tmp = readl(hpriv->mmio + 0x8000);
++ udelay(100);
++ writel(tmp | (1 << 26), hpriv->mmio + 0x8000);
++ udelay(100);
++ writel(tmp & ~(1 << 26), hpriv->mmio + 0x8000);
++ dev_warn(ap->host->dev, "CN99XX SATA reset workaround applied\n");
++ }
++#endif
++
+ /* wait for engine to stop. This could be as long as 500 msec */
+ tmp = ata_wait_register(ap, port_mmio + PORT_CMD,
+ PORT_CMD_LIST_ON, PORT_CMD_LIST_ON, 1, 500);
+--
+2.26.2
+
diff --git a/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch b/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch
new file mode 100644
index 000000000..286c898cb
--- /dev/null
+++ b/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch
@@ -0,0 +1,38 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jeremy Cline <jcline@redhat.com>
+Date: Tue, 1 Oct 2019 15:51:23 +0000
+Subject: [PATCH] arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT
+
+Message-id: <20191001181256.22935-1-jcline@redhat.com>
+Patchwork-id: 275498
+O-Subject: [ARK INTERNAL PATCH] [ARK INTERNAL PATCH] [redhat] Add patch
+ to drop the EXPERT setting from ARM64_FORCE_52BIT
+Bugzilla:
+RH-Acked-by: Laura Abbott <labbott@redhat.com>
+
+We don't turn on EXPERT as there are few settings we actually want to
+mess with. Remove the dependency for ARM64_FORCE_52BIT as we do want
+that on in debug builds to help find 52-bit bugs.
+
+Upstream Status: RHEL only
+Signed-off-by: Jeremy Cline <jcline@redhat.com>
+---
+ arch/arm64/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
+index 5d513f461957..7f37a6d0658a 100644
+--- a/arch/arm64/Kconfig
++++ b/arch/arm64/Kconfig
+@@ -858,7 +858,7 @@ endchoice
+
+ config ARM64_FORCE_52BIT
+ bool "Force 52-bit virtual addresses for userspace"
+- depends on ARM64_VA_BITS_52 && EXPERT
++ depends on ARM64_VA_BITS_52
+ help
+ For systems with 52-bit userspace VAs enabled, the kernel will attempt
+ to maintain compatibility with older software by providing 48-bit VAs
+--
+2.26.2
+
diff --git a/arm-make-highpte-not-expert.patch b/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch
index 09630fda1..040f33cb1 100644
--- a/arm-make-highpte-not-expert.patch
+++ b/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch
@@ -1,4 +1,4 @@
-From 19908e5fe3e63ed2d39f0a8a9135f35fd428d766 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jon Masters <jcm@redhat.com>
Date: Thu, 18 Jul 2019 15:47:26 -0400
Subject: [PATCH] arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT
@@ -11,12 +11,12 @@ 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 2bf1ce39a96d..e792b3e60095 100644
+index c77c93c485a0..f808c4e0727f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1644,9 +1644,9 @@ config HIGHMEM
+@@ -1543,9 +1543,9 @@ config HIGHMEM
If unsure, say n.
-
+
config HIGHPTE
- bool "Allocate 2nd-level pagetables from highmem" if EXPERT
+ bool "Allocate 2nd-level pagetables from highmem"
@@ -27,5 +27,5 @@ index 2bf1ce39a96d..e792b3e60095 100644
The VM uses one page of physical memory for each page table.
For systems with a lot of processes, this can use a lot of
--
-2.17.2
+2.26.2
diff --git a/0001-compat_ioctl-cdrom-Replace-.ioctl-with-.compat_ioctl.patch b/0001-compat_ioctl-cdrom-Replace-.ioctl-with-.compat_ioctl.patch
deleted file mode 100644
index be10f81af..000000000
--- a/0001-compat_ioctl-cdrom-Replace-.ioctl-with-.compat_ioctl.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From cef57541cdc079165e9af419ccacd36dce863d3a Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam@redhat.com>
-Date: Wed, 19 Feb 2020 17:50:07 +0100
-Subject: [PATCH] compat_ioctl, cdrom: Replace .ioctl with .compat_ioctl in
- four appropriate places
-
-Arnd Bergmann inadvertently typoed these in d320a9551e394 and
-64cbfa96551a; they seem to be the cause of
-https://bugzilla.redhat.com/show_bug.cgi?id=1801353 , invalid
-SCSI commands when udev tries to query a DVD drive.
-
-[arnd] Found another instance of the same bug, also introduced
-in my compat_ioctl series.
-
-Fixes: d320a9551e39 ("compat_ioctl: scsi: move ioctl handling into drivers")
-Fixes: 64cbfa96551a ("compat_ioctl: move cdrom commands into cdrom.c")
-Fixes: c103d6ee69f9 ("compat_ioctl: ide: floppy: add handler")
-Link: https://bugzilla.redhat.com/show_bug.cgi?id=1801353
-Bisected-by: Chris Murphy <bugzilla@colorremedies.com>
-Signed-off-by: Adam Williamson <awilliam@redhat.com>
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
----
- drivers/block/paride/pcd.c | 2 +-
- drivers/cdrom/gdrom.c | 2 +-
- drivers/ide/ide-gd.c | 2 +-
- drivers/scsi/sr.c | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/block/paride/pcd.c b/drivers/block/paride/pcd.c
-index 117cfc8cd05a..cda5cf917e9a 100644
---- a/drivers/block/paride/pcd.c
-+++ b/drivers/block/paride/pcd.c
-@@ -276,7 +276,7 @@ static const struct block_device_operations pcd_bdops = {
- .release = pcd_block_release,
- .ioctl = pcd_block_ioctl,
- #ifdef CONFIG_COMPAT
-- .ioctl = blkdev_compat_ptr_ioctl,
-+ .compat_ioctl = blkdev_compat_ptr_ioctl,
- #endif
- .check_events = pcd_block_check_events,
- };
-diff --git a/drivers/cdrom/gdrom.c b/drivers/cdrom/gdrom.c
-index 886b2638c730..c51292c2a131 100644
---- a/drivers/cdrom/gdrom.c
-+++ b/drivers/cdrom/gdrom.c
-@@ -519,7 +519,7 @@ static const struct block_device_operations gdrom_bdops = {
- .check_events = gdrom_bdops_check_events,
- .ioctl = gdrom_bdops_ioctl,
- #ifdef CONFIG_COMPAT
-- .ioctl = blkdev_compat_ptr_ioctl,
-+ .compat_ioctl = blkdev_compat_ptr_ioctl,
- #endif
- };
-
-diff --git a/drivers/ide/ide-gd.c b/drivers/ide/ide-gd.c
-index 1bb99b556393..05c26986637b 100644
---- a/drivers/ide/ide-gd.c
-+++ b/drivers/ide/ide-gd.c
-@@ -361,7 +361,7 @@ static const struct block_device_operations ide_gd_ops = {
- .release = ide_gd_release,
- .ioctl = ide_gd_ioctl,
- #ifdef CONFIG_COMPAT
-- .ioctl = ide_gd_compat_ioctl,
-+ .compat_ioctl = ide_gd_compat_ioctl,
- #endif
- .getgeo = ide_gd_getgeo,
- .check_events = ide_gd_check_events,
-diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
-index 0fbb8fe6e521..e4240e4ae8bb 100644
---- a/drivers/scsi/sr.c
-+++ b/drivers/scsi/sr.c
-@@ -688,7 +688,7 @@ static const struct block_device_operations sr_bdops =
- .release = sr_block_release,
- .ioctl = sr_block_ioctl,
- #ifdef CONFIG_COMPAT
-- .ioctl = sr_block_compat_ioctl,
-+ .compat_ioctl = sr_block_compat_ioctl,
- #endif
- .check_events = sr_block_check_events,
- .revalidate_disk = sr_block_revalidate_disk,
---
-2.24.1
-
diff --git a/0001-core-memory-remove-redundant-assignments-to-variable.patch b/0001-core-memory-remove-redundant-assignments-to-variable.patch
new file mode 100644
index 000000000..d490d68d2
--- /dev/null
+++ b/0001-core-memory-remove-redundant-assignments-to-variable.patch
@@ -0,0 +1,32 @@
+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
new file mode 100644
index 000000000..1089b7e87
--- /dev/null
+++ b/0001-device-detect-if-changing-endianness-failed.patch
@@ -0,0 +1,62 @@
+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
new file mode 100644
index 000000000..08f591ff7
--- /dev/null
+++ b/0001-device-detect-vGPUs.patch
@@ -0,0 +1,59 @@
+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
new file mode 100644
index 000000000..bde820ba5
--- /dev/null
+++ b/0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch
@@ -0,0 +1,84 @@
+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
new file mode 100644
index 000000000..ec4345169
--- /dev/null
+++ b/0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch
@@ -0,0 +1,113 @@
+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
new file mode 100644
index 000000000..60293792f
--- /dev/null
+++ b/0001-disp-gv100-expose-capabilities-class.patch
@@ -0,0 +1,149 @@
+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
new file mode 100644
index 000000000..cba6699dc
--- /dev/null
+++ b/0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch
@@ -0,0 +1,146 @@
+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
new file mode 100644
index 000000000..714d1a0f3
--- /dev/null
+++ b/0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch
@@ -0,0 +1,49 @@
+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
new file mode 100644
index 000000000..0011e60ae
--- /dev/null
+++ b/0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch
@@ -0,0 +1,83 @@
+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
new file mode 100644
index 000000000..b93c9f13b
--- /dev/null
+++ b/0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch
@@ -0,0 +1,105 @@
+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
new file mode 100644
index 000000000..d8c1a93d5
--- /dev/null
+++ b/0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 000000000..f0f9e0dfd
--- /dev/null
+++ b/0001-drm-Use-generic-helper-to-check-_PR3-presence.patch
@@ -0,0 +1,96 @@
+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-dt-bindings-vendor-prefixes-Add-Xingbangda.patch b/0001-dt-bindings-vendor-prefixes-Add-Xingbangda.patch
new file mode 100644
index 000000000..eef72a211
--- /dev/null
+++ b/0001-dt-bindings-vendor-prefixes-Add-Xingbangda.patch
@@ -0,0 +1,33 @@
+From 025eb2eb927d2c3020882ea0ed3af28d65321763 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
+
+Shenzhen Xingbangda Display Technology Co., Ltd is a company which
+produces LCD modules. It supplies the LCD panels for the PinePhone.
+
+Add the vendor prefix of it.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+Acked-by: Rob Herring <robh@kernel.org>
+---
+ Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
+ 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
+--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
++++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
+@@ -1121,6 +1121,8 @@ patternProperties:
+ description: Xiaomi Technology Co., Ltd.
+ "^xillybus,.*":
+ description: Xillybus Ltd.
++ "^xingbangda,.*":
++ description: Shenzhen Xingbangda Display Technology Co., Ltd
+ "^xinpeng,.*":
+ description: Shenzhen Xinpeng Technology Co., Ltd
+ "^xlnx,.*":
+--
+2.26.2
+
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
new file mode 100644
index 000000000..8e740ce24
--- /dev/null
+++ b/0001-e1000e-bump-up-timeout-to-wait-when-ME-un-configure-.patch
@@ -0,0 +1,35 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Aaron Ma <aaron.ma@canonical.com>
+Date: Tue, 24 Mar 2020 03:16:39 +0800
+Subject: [PATCH] e1000e: bump up timeout to wait when ME un-configure ULP mode
+
+ME takes 2+ seconds to un-configure ULP mode done after resume
+from s2idle on some ThinkPad laptops.
+Without enough wait, reset and re-init will fail with error.
+
+Fixes: f15bb6dde738cc8fa0 ("e1000e: Add support for S0ix")
+BugLink: https://bugs.launchpad.net/bugs/1865570
+Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
+---
+ drivers/net/ethernet/intel/e1000e/ich8lan.c | 4 ++--
+ 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
+--- 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)
+ ew32(H2ME, mac_reg);
+ }
+
+- /* Poll up to 300msec for ME to clear ULP_CFG_DONE. */
++ /* Poll up to 2.5sec for ME to clear ULP_CFG_DONE. */
+ while (er32(FWSM) & E1000_FWSM_ULP_CFG_DONE) {
+- if (i++ == 30) {
++ if (i++ == 250) {
+ ret_val = -E1000_ERR_PHY;
+ goto out;
+ }
+--
+2.26.2
+
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
new file mode 100644
index 000000000..acd11a206
--- /dev/null
+++ b/0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch
@@ -0,0 +1,161 @@
+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
new file mode 100644
index 000000000..97096ad32
--- /dev/null
+++ b/0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
@@ -0,0 +1,72 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: David Howells <dhowells@redhat.com>
+Date: Mon, 30 Sep 2019 21:28:16 +0000
+Subject: [PATCH] efi: Lock down the kernel if booted in secure boot mode
+
+UEFI Secure Boot provides a mechanism for ensuring that the firmware
+will only load signed bootloaders and kernels. Certain use cases may
+also require that all kernel modules also be signed. Add a
+configuration option that to lock down the kernel - which includes
+requiring validly signed modules - if the kernel is secure-booted.
+
+Upstream Status: RHEL only
+Signed-off-by: David Howells <dhowells@redhat.com>
+Signed-off-by: Jeremy Cline <jcline@redhat.com>
+---
+ arch/x86/kernel/setup.c | 8 ++++++++
+ security/lockdown/Kconfig | 13 +++++++++++++
+ 2 files changed, 21 insertions(+)
+
+diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
+index 08e9f5fc26a8..b6f5510f3d91 100644
+--- a/arch/x86/kernel/setup.c
++++ b/arch/x86/kernel/setup.c
+@@ -18,6 +18,7 @@
+ #include <linux/sfi.h>
+ #include <linux/hugetlb.h>
+ #include <linux/tboot.h>
++#include <linux/security.h>
+ #include <linux/usb/xhci-dbgp.h>
+
+ #include <uapi/linux/mount.h>
+@@ -1099,6 +1100,13 @@ void __init setup_arch(char **cmdline_p)
+ if (efi_enabled(EFI_BOOT))
+ efi_init();
+
++ efi_set_secure_boot(boot_params.secure_boot);
++
++#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
++ if (efi_enabled(EFI_SECURE_BOOT))
++ security_lock_kernel_down("EFI Secure Boot mode", LOCKDOWN_INTEGRITY_MAX);
++#endif
++
+ dmi_setup();
+
+ /*
+diff --git a/security/lockdown/Kconfig b/security/lockdown/Kconfig
+index e84ddf484010..d0501353a4b9 100644
+--- a/security/lockdown/Kconfig
++++ b/security/lockdown/Kconfig
+@@ -16,6 +16,19 @@ config SECURITY_LOCKDOWN_LSM_EARLY
+ subsystem is fully initialised. If enabled, lockdown will
+ unconditionally be called before any other LSMs.
+
++config LOCK_DOWN_IN_EFI_SECURE_BOOT
++ bool "Lock down the kernel in EFI Secure Boot mode"
++ default n
++ depends on EFI && SECURITY_LOCKDOWN_LSM_EARLY
++ help
++ UEFI Secure Boot provides a mechanism for ensuring that the firmware
++ will only load signed bootloaders and kernels. Secure boot mode may
++ be determined from EFI variables provided by the system firmware if
++ not indicated by the boot parameters.
++
++ Enabling this option results in kernel lockdown being triggered if
++ EFI Secure Boot is set.
++
+ choice
+ prompt "Kernel default lockdown mode"
+ default LOCK_DOWN_KERNEL_FORCE_NONE
+--
+2.26.2
+
diff --git a/0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch b/0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch
new file mode 100644
index 000000000..db8a4a16c
--- /dev/null
+++ b/0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch
@@ -0,0 +1,110 @@
+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
new file mode 100644
index 000000000..e6eef22d6
--- /dev/null
+++ b/0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch
@@ -0,0 +1,98 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Laura Abbott <labbott@redhat.com>
+Date: Mon, 20 May 2019 22:21:02 -0400
+Subject: [PATCH] iommu/arm-smmu: workaround DMA mode issues
+
+Message-id: <20190520222102.19488-1-labbott@redhat.com>
+Patchwork-id: 259215
+O-Subject: [ARK INTERNAL PATCH] iommu/arm-smmu: workaround DMA mode issues
+Bugzilla:
+RH-Acked-by: Mark Langsdorf <mlangsdo@redhat.com>
+RH-Acked-by: Mark Salter <msalter@redhat.com>
+
+From: Mark Salter <msalter@redhat.com>
+
+Rebased for v5.2-rc1
+
+ Bugzilla: 1652259
+ Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=19244562
+ Upstream status: RHEL only.
+
+ rhel8 commit 65feb1ed0ec9a088a63a90d46c0f7563ac96ad0f
+ Author: Mark Salter <msalter@redhat.com>
+ Date: Wed Nov 21 17:15:59 2018 +0100
+
+ [iommu] iommu/arm-smmu: workaround DMA mode issues
+
+ Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1624077
+ Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=18112820
+ Testing: Verified iommu.passthrough=1 no longer needed on gigabyte platforms.
+ Upstream Status: RHEL-only
+
+ In RHEL_ALT 7.5 we carried a RHEL-only patch which forced the arm smmuv2
+ into bypass mode due to performance issues on CN88xx. This was intended
+ to be a temporary hack until the issues were resolved. Another vendor
+ had issues with the iommu in bypass mode so we reverted the RHEL-only
+ patch so that iommu is in DMA mode by default (upstream default).
+
+ It turns on that there are remaining SMMU DMA mode issues on Gigabyte
+ platformws with CN88xx cpus. The problem manifests itself by pcie
+ card drivers failing to initialize the cards when SMMU is in DMA mode.
+ The root cause has not been determined yet, but looks likely to be
+ a hw or firmware issue. This patch forces bypass mode for Gigabyte
+ platforms. CN88xx isn't officially supported in RHEL but we have a
+ lot of them being used internally for testing, so I think we want
+ this to support that use case in RHEL8.
+
+ Signed-off-by: Mark Salter <msalter@redhat.com>
+ Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+
+ Acked-by: Mark Salter <msalter@redhat.com>
+ Acked-by: Donald Dutile <ddutile@redhat.com>
+
+Upstream Status: RHEL only
+Signed-off-by: Laura Abbott <labbott@redhat.com>
+---
+ drivers/iommu/iommu.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
+index 03d6a26687bc..86981f228c90 100644
+--- a/drivers/iommu/iommu.c
++++ b/drivers/iommu/iommu.c
+@@ -7,6 +7,7 @@
+ #define pr_fmt(fmt) "iommu: " fmt
+
+ #include <linux/device.h>
++#include <linux/dmi.h>
+ #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)
+ return ops->sva_get_pasid(handle);
+ }
+ EXPORT_SYMBOL_GPL(iommu_sva_get_pasid);
++
++#ifdef CONFIG_ARM64
++static int __init iommu_quirks(void)
++{
++ const char *vendor, *name;
++
++ vendor = dmi_get_system_info(DMI_SYS_VENDOR);
++ name = dmi_get_system_info(DMI_PRODUCT_NAME);
++
++ if (vendor &&
++ (strncmp(vendor, "GIGABYTE", 8) == 0 && name &&
++ (strncmp(name, "R120", 4) == 0 ||
++ strncmp(name, "R270", 4) == 0))) {
++ pr_warn("Gigabyte %s detected, force iommu passthrough mode", name);
++ iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY;
++ }
++
++ return 0;
++}
++arch_initcall(iommu_quirks);
++#endif
+--
+2.26.2
+
diff --git a/0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch b/0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch
new file mode 100644
index 000000000..aad7ef066
--- /dev/null
+++ b/0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch
@@ -0,0 +1,123 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Laura Abbott <labbott@redhat.com>
+Date: Sun, 10 Feb 2019 01:27:54 +0000
+Subject: [PATCH] ipmi: do not configure ipmi for HPE m400
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1670017
+Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=20147017
+
+Commit 913a89f009d9 ("ipmi: Don't initialize anything in the core until
+something uses it") added new locking which broke context.
+
+ Message-id: <20180713142210.15700-1-tcamuso@redhat.com>
+ Patchwork-id: 224899
+ O-Subject: [RHEL8 BZ 1583537 1/1] ipmi: do not configure ipmi for HPE m400
+ Bugzilla: 1583537
+ RH-Acked-by: Dean Nelson <dnelson@redhat.com>
+ RH-Acked-by: Al Stone <ahs3@redhat.com>
+ RH-Acked-by: Mark Salter <msalter@redhat.com>
+
+ bugzilla:https://bugzilla.redhat.com/show_bug.cgi?id=1583537
+ brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=17150528
+
+ RHEL-only
+
+ The ARM-based HPE m400 reports host-side ipmi as residing in intel
+ port-io space, which does not exist in ARM processors. Therefore, when
+ running on an m400, host-side ipmi configuration code must simply return
+ zero without trying to configure the host-side ipmi.
+
+ This patch prevents panic on boot by averting attempts to configure
+ host-side ipmi on this platform.
+
+ Though HPE m400 is not certified with RHEL, and HPE has relegated it to
+ EOL status, the platform is still used extensively in ARM development
+ and test for RHEL.
+
+ Testing:
+ Boot without blacklisting ipmi and check to see that no ipmi modules
+ are loaded.
+
+ Signed-off-by: Tony Camuso <tcamuso@redhat.com>
+
+ cc: Prarit Bhargava <prarit@redhat.com>
+ cc: Brendan Conoboy <blc@redhat.com>
+ cc: Jeff Bastian <jbastian@redhat.com>
+ cc: Scott Herold <sherold@redhat.com>
+ Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+
+Upstream Status: RHEL only
+Signed-off-by: Laura Abbott <labbott@redhat.com>
+Acked-by: Tony Camuso <tcamuso@redhat.com>
+Acked-by: Dean Nelson <dnelson@redhat.com>
+Acked-by: Jarod Wilson <jarod@redhat.com>
+Acked-by: Mark Salter <msalter@redhat.com>
+---
+ drivers/char/ipmi/ipmi_dmi.c | 15 +++++++++++++++
+ drivers/char/ipmi/ipmi_msghandler.c | 16 +++++++++++++++-
+ 2 files changed, 30 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/char/ipmi/ipmi_dmi.c b/drivers/char/ipmi/ipmi_dmi.c
+index bbf7029e224b..cf7faa970dd6 100644
+--- a/drivers/char/ipmi/ipmi_dmi.c
++++ b/drivers/char/ipmi/ipmi_dmi.c
+@@ -215,6 +215,21 @@ static int __init scan_for_dmi_ipmi(void)
+ {
+ const struct dmi_device *dev = NULL;
+
++#ifdef CONFIG_ARM64
++ /* RHEL-only
++ * If this is ARM-based HPE m400, return now, because that platform
++ * reports the host-side ipmi address as intel port-io space, which
++ * does not exist in the ARM architecture.
++ */
++ const char *dmistr = dmi_get_system_info(DMI_PRODUCT_NAME);
++
++ if (dmistr && (strcmp("ProLiant m400 Server", dmistr) == 0)) {
++ pr_debug("%s does not support host ipmi\n", dmistr);
++ return 0;
++ }
++ /* END RHEL-only */
++#endif
++
+ while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev)))
+ 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
+--- a/drivers/char/ipmi/ipmi_msghandler.c
++++ b/drivers/char/ipmi/ipmi_msghandler.c
+@@ -33,6 +33,7 @@
+ #include <linux/uuid.h>
+ #include <linux/nospec.h>
+ #include <linux/vmalloc.h>
++#include <linux/dmi.h>
+
+ #define IPMI_DRIVER_VERSION "39.2"
+
+@@ -5154,8 +5155,21 @@ static int __init ipmi_init_msghandler_mod(void)
+ {
+ int rv;
+
+- pr_info("version " IPMI_DRIVER_VERSION "\n");
++#ifdef CONFIG_ARM64
++ /* RHEL-only
++ * If this is ARM-based HPE m400, return now, because that platform
++ * reports the host-side ipmi address as intel port-io space, which
++ * does not exist in the ARM architecture.
++ */
++ const char *dmistr = dmi_get_system_info(DMI_PRODUCT_NAME);
+
++ if (dmistr && (strcmp("ProLiant m400 Server", dmistr) == 0)) {
++ pr_debug("%s does not support host ipmi\n", dmistr);
++ return -ENOSYS;
++ }
++ /* END RHEL-only */
++#endif
++ pr_info("version " IPMI_DRIVER_VERSION "\n");
+ mutex_lock(&ipmi_interfaces_mutex);
+ rv = ipmi_register_driver();
+ mutex_unlock(&ipmi_interfaces_mutex);
+--
+2.26.2
+
diff --git a/0001-kdump-add-support-for-crashkernel-auto.patch b/0001-kdump-add-support-for-crashkernel-auto.patch
new file mode 100644
index 000000000..83eb38e6d
--- /dev/null
+++ b/0001-kdump-add-support-for-crashkernel-auto.patch
@@ -0,0 +1,189 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jeremy Cline <jcline@redhat.com>
+Date: Tue, 23 Jul 2019 15:24:30 +0000
+Subject: [PATCH] kdump: add support for crashkernel=auto
+
+Rebased for v5.3-rc1 because the documentation has moved.
+
+ Message-id: <20180604013831.574215750@redhat.com>
+ Patchwork-id: 8166
+ O-Subject: [kernel team] [PATCH RHEL8.0 V2 2/2] kdump: add support for crashkernel=auto
+ Bugzilla: 1507353
+ RH-Acked-by: Don Zickus <dzickus@redhat.com>
+ RH-Acked-by: Baoquan He <bhe@redhat.com>
+ RH-Acked-by: Pingfan Liu <piliu@redhat.com>
+
+ Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1507353
+ Build: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16534135
+ Tested: ppc64le, x86_64 with several memory sizes.
+ kdump qe tested 160M on various x86 machines in lab.
+
+ We continue to provide crashkernel=auto like we did in RHEL6
+ and RHEL7, this will simplify the kdump deployment for common
+ use cases that kdump just works with the auto reserved values.
+ But this is still a best effort estimation, we can not know the
+ exact memory requirement because it depends on a lot of different
+ factors.
+
+ The implementation of crashkernel=auto is simplified as a wrapper
+ to use below kernel cmdline:
+ x86_64: crashkernel=1G-64G:160M,64G-1T:256M,1T-:512M
+ s390x: crashkernel=4G-64G:160M,64G-1T:256M,1T-:512M
+ arm64: crashkernel=2G-:512M
+ ppc64: crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G
+
+ The difference between this way and the old implementation in
+ RHEL6/7 is we do not scale the crash reserved memory size according
+ to system memory size anymore.
+
+ Latest effort to move upstream is below thread:
+ https://lkml.org/lkml/2018/5/20/262
+ But unfortunately it is still unlikely to be accepted, thus we
+ will still use a RHEL only patch in RHEL8.
+
+ Copied old patch description about the history reason see below:
+ '''
+ Non-upstream explanations:
+ Besides "crashkenrel=X@Y" format, upstream also has advanced
+ "crashkernel=range1:size1[,range2:size2,...][@offset]", and
+ "crashkernel=X,high{low}" formats, but they need more careful
+ manual configuration, and have different values for different
+ architectures.
+
+ Most of the distributions use the standard "crashkernel=X@Y"
+ upstream format, and use crashkernel range format for advanced
+ scenarios, heavily relying on the user's involvement.
+
+ While "crashkernel=auto" is redhat's special feature, it exists
+ and has been used as the default boot cmdline since 2008 rhel6.
+ It does not require users to figure out how many crash memory
+ size for their systems, also has been proved to be able to work
+ pretty well for common scenarios.
+
+ "crashkernel=auto" was tested/based on rhel-related products, as
+ we have stable kernel configurations which means more or less
+ stable memory consumption. In 2014 we tried to post them again to
+ upstream but NACKed by people because they think it's not general
+ and unnecessary, users can specify their own values or do that by
+ scripts. However our customers insist on having it added to rhel.
+
+ Also see one previous discussion related to this backport to Pegas:
+ On 10/17/2016 at 10:15 PM, Don Zickus wrote:
+ > On Fri, Oct 14, 2016 at 10:57:41AM +0800, Dave Young wrote:
+ >> Don, agree with you we should evaluate them instead of just inherit
+ >> them blindly. Below is what I think about kdump auto memory:
+ >> There are two issues for crashkernel=auto in upstream:
+ >> 1) It will be seen as a policy which should not go to kernel
+ >> 2) It is hard to get a good number for the crash reserved size,
+ >> considering various different kernel config options one can setups.
+ >> In RHEL we are easier because our supported Kconfig is limited.
+ >> I digged the upstream mail archive, but I'm not sure I got all the
+ >> information, at least Michael Ellerman was objecting the series for
+ >> 1).
+ > Yes, I know. Vivek and I have argued about this for years. :-)
+ >
+ > I had hoped all the changes internally to the makedumpfile would allow
+ > the memory configuration to stabilize at a number like 192M or 128M and
+ > only in the rare cases extend beyond that.
+ >
+ > So I always treated that as a temporary hack until things were better.
+ > With the hope of every new RHEL release we get smarter and better. :-)
+ > Ideally it would be great if we could get the number down to 64M for most
+ > cases and just turn it on in Fedora. Maybe someday.... ;-)
+ >
+ > We can have this conversation when the patch gets reposted/refreshed
+ > for upstream on rhkl?
+ >
+ > Cheers,
+ > Don
+
+ We had proposed to drop the historic crashkernel=auto code and move
+ to use crashkernel=range:size format and pass them in anaconda.
+
+ The initial reason is crashkernel=range:size works just fine because
+ we do not need complex algorithm to scale crashkernel reserved size
+ any more. The old linear scaling is mainly for old makedumpfile
+ requirements, now it is not necessary.
+
+ But With the new approach, backward compatibility is potentially at risk.
+ For e.g. let's consider the following cases:
+ 1) When we upgrade from an older distribution like rhel-alt-7.4(which
+ uses crashkernel=auto) to rhel-alt-7.5 (which uses the crashkernel=xY
+ format)
+ In this case we can use anaconda scripts for checking
+ 'crashkernel=auto' in kernel spec and update to the new
+ 'crashkernel=range:size' format.
+ 2) When we upgrade from rhel-alt-7.5(which uses crashkernel=xY format)
+ to rhel-alt-7.6(which uses crashkernel=xY format), but the x and/or Y
+ values are changed in rhel-alt-7.6.
+ For example from crashkernel=2G-:160M to crashkernel=2G-:192M, then we have
+ no way to determine if the X and/or Y values were distribution
+ provided or user specified ones.
+ Since it is recommended to give precedence to user-specified values,
+ so we cannot do an upgrade in such a case."
+
+ Thus turn back to resolve it in kernel, and add a simpler version
+ which just hacks to use the range:size style in code, and make
+ rhel-only code easily to maintain.
+ '''
+
+ Signed-off-by: Dave Young <dyoung@redhat.com>
+ Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+
+Upstream Status: RHEL only
+Signed-off-by: Jeremy Cline <jcline@redhat.com>
+---
+ Documentation/admin-guide/kdump/kdump.rst | 11 +++++++++++
+ kernel/crash_core.c | 14 ++++++++++++++
+ 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
+--- a/Documentation/admin-guide/kdump/kdump.rst
++++ b/Documentation/admin-guide/kdump/kdump.rst
+@@ -285,6 +285,17 @@ This would mean:
+ 2) if the RAM size is between 512M and 2G (exclusive), then reserve 64M
+ 3) if the RAM size is larger than 2G, then reserve 128M
+
++Or you can use crashkernel=auto if you have enough memory. The threshold
++is 2G on x86_64, arm64, ppc64 and ppc64le. The threshold is 4G for s390x.
++If your system memory is less than the threshold crashkernel=auto will not
++reserve memory.
++
++The automatically reserved memory size varies based on architecture.
++The size changes according to system memory size like below:
++ x86_64: 1G-64G:160M,64G-1T:256M,1T-:512M
++ s390x: 4G-64G:160M,64G-1T:256M,1T-:512M
++ arm64: 2G-:512M
++ ppc64: 2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G
+
+
+ Boot into System Kernel
+diff --git a/kernel/crash_core.c b/kernel/crash_core.c
+index d631d22089ba..c252221b2f4b 100644
+--- a/kernel/crash_core.c
++++ b/kernel/crash_core.c
+@@ -258,6 +258,20 @@ static int __init __parse_crashkernel(char *cmdline,
+ if (suffix)
+ return parse_crashkernel_suffix(ck_cmdline, crash_size,
+ suffix);
++
++ if (strncmp(ck_cmdline, "auto", 4) == 0) {
++#ifdef CONFIG_X86_64
++ ck_cmdline = "1G-64G:160M,64G-1T:256M,1T-:512M";
++#elif defined(CONFIG_S390)
++ ck_cmdline = "4G-64G:160M,64G-1T:256M,1T-:512M";
++#elif defined(CONFIG_ARM64)
++ ck_cmdline = "2G-:512M";
++#elif defined(CONFIG_PPC64)
++ ck_cmdline = "2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G";
++#endif
++ pr_info("Using crashkernel=auto, the size choosed is a best effort estimation.\n");
++ }
++
+ /*
+ * if the commandline contains a ':', then that's the extended
+ * syntax -- if not, it must be the classic syntax
+--
+2.26.2
+
diff --git a/0001-kdump-fix-a-grammar-issue-in-a-kernel-message.patch b/0001-kdump-fix-a-grammar-issue-in-a-kernel-message.patch
new file mode 100644
index 000000000..5444af2e6
--- /dev/null
+++ b/0001-kdump-fix-a-grammar-issue-in-a-kernel-message.patch
@@ -0,0 +1,43 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung@redhat.com>
+Date: Tue, 12 Jun 2018 00:54:22 -0400
+Subject: [PATCH] kdump: fix a grammar issue in a kernel message
+
+Message-id: <20180612005422.GA2568@dhcp-128-65.nay.redhat.com>
+Patchwork-id: 8201
+O-Subject: [kernel team] [RHEL8.0 PATCH V2] kdump: fix a grammar issue in a kernel message
+Bugzilla: 1507353
+RH-Acked-by: Myron Stowe <mstowe@redhat.com>
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+RH-Acked-by: Jiri Benc <jbenc@redhat.com>
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1507353
+Upstream Status: RHEL-only as crashkernel=auto is not accepted in upstream
+Build: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16661950
+Test: verified on a kvm guest
+
+s/choosed/chosen
+
+Upstream Status: RHEL only
+Signed-off-by: Dave Young <dyoung@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+---
+ kernel/crash_core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kernel/crash_core.c b/kernel/crash_core.c
+index c252221b2f4b..df551fc9034c 100644
+--- a/kernel/crash_core.c
++++ b/kernel/crash_core.c
+@@ -269,7 +269,7 @@ static int __init __parse_crashkernel(char *cmdline,
+ #elif defined(CONFIG_PPC64)
+ ck_cmdline = "2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G";
+ #endif
+- pr_info("Using crashkernel=auto, the size choosed is a best effort estimation.\n");
++ pr_info("Using crashkernel=auto, the size chosen is a best effort estimation.\n");
+ }
+
+ /*
+--
+2.26.2
+
diff --git a/0001-kdump-round-up-the-total-memory-size-to-128M-for-cra.patch b/0001-kdump-round-up-the-total-memory-size-to-128M-for-cra.patch
new file mode 100644
index 000000000..26576a04e
--- /dev/null
+++ b/0001-kdump-round-up-the-total-memory-size-to-128M-for-cra.patch
@@ -0,0 +1,93 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung@redhat.com>
+Date: Mon, 4 Jun 2018 01:38:25 -0400
+Subject: [PATCH] kdump: round up the total memory size to 128M for crashkernel
+ reservation
+
+Message-id: <20180604013831.523644967@redhat.com>
+Patchwork-id: 8165
+O-Subject: [kernel team] [PATCH RHEL8.0 V2 1/2] kdump: round up the total memory size to 128M for crashkernel reservation
+Bugzilla: 1507353
+RH-Acked-by: Don Zickus <dzickus@redhat.com>
+RH-Acked-by: Baoquan He <bhe@redhat.com>
+RH-Acked-by: Pingfan Liu <piliu@redhat.com>
+
+Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1507353
+Build: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16534135
+Tested: ppc64le, x86_64 with several memory sizes.
+
+The total memory size we get in kernel is usually slightly less than 2G with
+2G memory module machine. The main reason is bios/firmware reserve some area
+it will not export all memory as usable to Linux.
+
+2G memory X86 kvm guest test result of the total_mem value:
+UEFI boot with ovmf: 0x7ef10000
+Legacy boot kvm guest: 0x7ff7cc00
+This is also a problem on arm64 UEFI booted system according to my test.
+
+Thus for example crashkernel=1G-2G:128M, if we have a 1G memory
+machine, we get total size 1023M from firmware then it will not fall
+into 1G-2G thus no memory reserved. User will never know that, it is
+hard to let user to know the exact total value we get in kernel
+
+An option is to use dmi/smbios to get physical memory size, but it's not
+reliable as well. According to Prarit hardware vendors sometimes screw this up.
+Thus round up total size to 128M to workaround this problem.
+
+Posted below patch in upstream, but no response yet:
+http://lists.infradead.org/pipermail/kexec/2018-April/020568.html
+
+Upstream Status: RHEL only
+Signed-off-by: Dave Young <dyoung@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+---
+ kernel/crash_core.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/kernel/crash_core.c b/kernel/crash_core.c
+index 9f1557b98468..d631d22089ba 100644
+--- a/kernel/crash_core.c
++++ b/kernel/crash_core.c
+@@ -7,6 +7,7 @@
+ #include <linux/crash_core.h>
+ #include <linux/utsname.h>
+ #include <linux/vmalloc.h>
++#include <linux/sizes.h>
+
+ #include <asm/page.h>
+ #include <asm/sections.h>
+@@ -39,6 +40,15 @@ static int __init parse_crashkernel_mem(char *cmdline,
+ unsigned long long *crash_base)
+ {
+ char *cur = cmdline, *tmp;
++ unsigned long long total_mem = system_ram;
++
++ /*
++ * Firmware sometimes reserves some memory regions for it's own use.
++ * so we get less than actual system memory size.
++ * Workaround this by round up the total size to 128M which is
++ * enough for most test cases.
++ */
++ total_mem = roundup(total_mem, SZ_128M);
+
+ /* for each entry of the comma-separated list */
+ do {
+@@ -83,13 +93,13 @@ static int __init parse_crashkernel_mem(char *cmdline,
+ return -EINVAL;
+ }
+ cur = tmp;
+- if (size >= system_ram) {
++ if (size >= total_mem) {
+ pr_warn("crashkernel: invalid size\n");
+ return -EINVAL;
+ }
+
+ /* match ? */
+- if (system_ram >= start && system_ram < end) {
++ if (total_mem >= start && total_mem < end) {
+ *crash_size = size;
+ break;
+ }
+--
+2.26.2
+
diff --git a/0001-kms-gv100-Add-support-for-interlaced-modes.patch b/0001-kms-gv100-Add-support-for-interlaced-modes.patch
new file mode 100644
index 000000000..c50c826b8
--- /dev/null
+++ b/0001-kms-gv100-Add-support-for-interlaced-modes.patch
@@ -0,0 +1,64 @@
+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
new file mode 100644
index 000000000..b590bb06c
--- /dev/null
+++ b/0001-kms-nv50-Initialize-core-channel-in-nouveau_display_.patch
@@ -0,0 +1,47 @@
+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
new file mode 100644
index 000000000..0a6a4cfa8
--- /dev/null
+++ b/0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch
@@ -0,0 +1,65 @@
+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
new file mode 100644
index 000000000..e74501bef
--- /dev/null
+++ b/0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch
@@ -0,0 +1,439 @@
+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
new file mode 100644
index 000000000..c14aed7ea
--- /dev/null
+++ b/0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch
@@ -0,0 +1,209 @@
+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-mm-kmemleak-skip-late_init-if-not-skip-disable.patch b/0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
index e87612358..2e055125c 100644
--- a/0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
+++ b/0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
@@ -1,4 +1,4 @@
-From 14d329da03ea1145efce866b127b10ea6390b5e1 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Murphy Zhou <jencce.kernel@gmail.com>
Date: Sun, 29 Sep 2019 17:56:59 +0800
Subject: [PATCH] mm/kmemleak: skip late_init if not skip disable
@@ -51,10 +51,10 @@ Signed-off-by: Murphy Zhou <jencce.kernel@gmail.com>
1 file changed, 5 insertions(+)
diff --git a/mm/kmemleak.c b/mm/kmemleak.c
-index 03a8d84badad..b9baf617fe35 100644
+index e362dc3d2028..0c3dfb8eef67 100644
--- a/mm/kmemleak.c
+++ b/mm/kmemleak.c
-@@ -1946,6 +1946,11 @@ void __init kmemleak_init(void)
+@@ -1958,6 +1958,11 @@ void __init kmemleak_init(void)
*/
static int __init kmemleak_late_init(void)
{
@@ -64,8 +64,8 @@ index 03a8d84badad..b9baf617fe35 100644
+ }
+
kmemleak_initialized = 1;
-
+
debugfs_create_file("kmemleak", 0644, NULL, NULL, &kmemleak_fops);
--
-2.21.0
+2.26.2
diff --git a/0001-mmu-Remove-unneeded-semicolon.patch b/0001-mmu-Remove-unneeded-semicolon.patch
new file mode 100644
index 000000000..3931ff586
--- /dev/null
+++ b/0001-mmu-Remove-unneeded-semicolon.patch
@@ -0,0 +1,47 @@
+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-perf-cs-etm-Move-defined-of-traceid_list.patch b/0001-perf-cs-etm-Move-defined-of-traceid_list.patch
new file mode 100644
index 000000000..63cbefa93
--- /dev/null
+++ b/0001-perf-cs-etm-Move-defined-of-traceid_list.patch
@@ -0,0 +1,58 @@
+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-pwm-lpss-Fix-get_state-runtime-pm-reference-handling.patch b/0001-pwm-lpss-Fix-get_state-runtime-pm-reference-handling.patch
deleted file mode 100644
index f5232e408..000000000
--- a/0001-pwm-lpss-Fix-get_state-runtime-pm-reference-handling.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 3666fb55d53fb40f75ec4d665416fed1a714ef09 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 12 May 2020 00:39:24 +0200
-Subject: [PATCH] pwm: lpss: Fix get_state runtime-pm reference handling
-
-Before commit cfc4c189bc70 ("pwm: Read initial hardware state at request
-time"), a driver's get_state callback would get called once per PWM from
-pwmchip_add().
-
-pwm-lpss' runtime-pm code was relying on this, getting a runtime-pm ref for
-PWMs which are enabled at probe time from within its get_state callback,
-before enabling runtime-pm.
-
-The change to calling get_state at request time causes a number of
-problems:
-
-1. PWMs enabled at probe time may get runtime suspended before they are
-requested, causing e.g. a LCD backlight controlled by the PWM to turn off.
-
-2. When the request happens when the PWM has been runtime suspended, the
-ctrl register will read all 1 / 0xffffffff, causing get_state to store
-bogus values in the pwm_state.
-
-3. get_state was using an async pm_runtime_get() call, because it assumed
-that runtime-pm has not been enabled yet. If shortly after the request an
-apply call is made, then the pwm_lpss_is_updating() check may trigger
-because the resume triggered by the pm_runtime_get() call is not complete
-yet, so the ctrl register still reads all 1 / 0xffffffff.
-
-This commit fixes these issues by moving the initial pm_runtime_get() call
-for PWMs which are enabled at probe time to the pwm_lpss_probe() function;
-and by making get_state take a runtime-pm ref before reading the ctrl reg.
-
-BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1828927
-Fixes: cfc4c189bc70 ("pwm: Read initial hardware state at request time")
-Cc: stable@vger.kernel.org
-Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Upstream Status: https://lore.kernel.org/linux-acpi/5f15f6bc-8650-d86e-893f-0d41557c57c7@redhat.com/
----
- drivers/pwm/pwm-lpss.c | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/pwm/pwm-lpss.c b/drivers/pwm/pwm-lpss.c
-index 75bbfe5f3bc2..9d965ffe66d1 100644
---- a/drivers/pwm/pwm-lpss.c
-+++ b/drivers/pwm/pwm-lpss.c
-@@ -158,7 +158,6 @@ static int pwm_lpss_apply(struct pwm_chip *chip, struct pwm_device *pwm,
- return 0;
- }
-
--/* This function gets called once from pwmchip_add to get the initial state */
- static void pwm_lpss_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
- struct pwm_state *state)
- {
-@@ -167,6 +166,8 @@ static void pwm_lpss_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
- unsigned long long base_unit, freq, on_time_div;
- u32 ctrl;
-
-+ pm_runtime_get_sync(chip->dev);
-+
- base_unit_range = BIT(lpwm->info->base_unit_bits);
-
- ctrl = pwm_lpss_read(pwm);
-@@ -187,8 +188,7 @@ static void pwm_lpss_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
- state->polarity = PWM_POLARITY_NORMAL;
- state->enabled = !!(ctrl & PWM_ENABLE);
-
-- if (state->enabled)
-- pm_runtime_get(chip->dev);
-+ pm_runtime_put(chip->dev);
- }
-
- static const struct pwm_ops pwm_lpss_ops = {
-@@ -202,7 +202,8 @@ struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
- {
- struct pwm_lpss_chip *lpwm;
- unsigned long c;
-- int ret;
-+ int i, ret;
-+ u32 ctrl;
-
- if (WARN_ON(info->npwm > MAX_PWMS))
- return ERR_PTR(-ENODEV);
-@@ -232,6 +233,12 @@ struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r,
- return ERR_PTR(ret);
- }
-
-+ for (i = 0; i < lpwm->info->npwm; i++) {
-+ ctrl = pwm_lpss_read(&lpwm->chip.pwms[i]);
-+ if (ctrl & PWM_ENABLE)
-+ pm_runtime_get(dev);
-+ }
-+
- return lpwm;
- }
- EXPORT_SYMBOL_GPL(pwm_lpss_probe);
---
-2.26.2
-
diff --git a/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 70e3f76a8..4332472bb 100644
--- a/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
@@ -1,11 +1,12 @@
-From eaa12998810bd9db85dec71f0da55fd5aae73d0f Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jeremy Cline <jcline@redhat.com>
Date: Wed, 30 Oct 2019 14:37:49 +0000
Subject: [PATCH] s390: Lock down the kernel when the IPL secure flag is set
-Automatically lock down the kernel to LOCKDOWN_INTEGRITY_MAX if
+Automatically lock down the kernel to LOCKDOWN_CONFIDENTIALITY_MAX if
the IPL secure flag is set.
+Upstream Status: RHEL only
Suggested-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Jeremy Cline <jcline@redhat.com>
---
@@ -15,7 +16,7 @@ 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 084e71b7272a..1d1b5ec7357b 100644
+index b63bd66404b8..3482d9602e68 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,
@@ -23,16 +24,16 @@ index 084e71b7272a..1d1b5ec7357b 100644
int ipl_report_add_certificate(struct ipl_report *report, void *key,
unsigned long addr, unsigned long len);
+bool ipl_get_secureboot(void);
-
+
/*
* DIAG 308 support
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
-index 6837affc19e8..2d3f3d00e05c 100644
+index 4a71061974fd..9baf0b570c3d 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
-@@ -1842,3 +1842,8 @@ int ipl_report_free(struct ipl_report *report)
+@@ -1901,3 +1901,8 @@ int ipl_report_free(struct ipl_report *report)
}
-
+
#endif
+
+bool ipl_get_secureboot(void)
@@ -40,7 +41,7 @@ index 6837affc19e8..2d3f3d00e05c 100644
+ return !!ipl_secure_flag;
+}
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
-index 9cbf490fd162..0510ecdfc3f6 100644
+index 36445dd40fdb..b338a050c5aa 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -49,6 +49,7 @@
@@ -48,13 +49,13 @@ index 9cbf490fd162..0510ecdfc3f6 100644
#include <linux/compat.h>
#include <linux/start_kernel.h>
+#include <linux/security.h>
-
+
#include <asm/boot_data.h>
#include <asm/ipl.h>
-@@ -1096,6 +1097,9 @@ void __init setup_arch(char **cmdline_p)
-
+@@ -1093,6 +1094,9 @@ void __init setup_arch(char **cmdline_p)
+
log_component_list();
-
+
+ if (ipl_get_secureboot())
+ security_lock_kernel_down("Secure IPL mode", LOCKDOWN_INTEGRITY_MAX);
+
@@ -62,5 +63,5 @@ index 9cbf490fd162..0510ecdfc3f6 100644
/* boot_command_line has been already set up in early.c */
*cmdline_p = boot_command_line;
--
-2.24.1
+2.26.2
diff --git a/0001-scsi-smartpqi-add-inspur-advantech-ids.patch b/0001-scsi-smartpqi-add-inspur-advantech-ids.patch
new file mode 100644
index 000000000..4e2bbb794
--- /dev/null
+++ b/0001-scsi-smartpqi-add-inspur-advantech-ids.patch
@@ -0,0 +1,70 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Don Brace <dbrace@redhat.com>
+Date: Mon, 16 Jul 2018 19:20:41 -0400
+Subject: [PATCH] scsi: smartpqi: add inspur advantech ids
+
+Message-id: <1531768843-2544-4-git-send-email-dbrace@redhat.com>
+Patchwork-id: 224988
+O-Subject: [RHEL 8.0 e-stor V2 PATCH 3/5] scsi: smartpqi: add inspur advantech ids
+Bugzilla: 1503736
+RH-Acked-by: Ewan Milne <emilne@redhat.com>
+RH-Acked-by: Tomas Henzl <thenzl@redhat.com>
+
+From: Kevin Barnett <kevin.barnett@microsemi.com>
+
+Add support for these new device IDs:
+
+ Advantech MIC-8312BridgeB
+ INSPUR PM8204-2GB
+ INSPUR PM8204-4GB
+ INSPUR PM8222-SHBA
+
+Upstream Status: RHEL only
+Reviewed-by: Scott Benesh <scott.benesh@microsemi.com>
+Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com>
+Signed-off-by: Don Brace <don.brace@microsemi.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+(cherry picked from commit 9f8d05fa98442de78d1ab30235b0cc656ed7aff0)
+Signed-off-by: Don Brace <dbrace@redhat.com>
+Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
+---
+ drivers/scsi/smartpqi/smartpqi_init.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
+index cd157f11eb22..c5dc6cf57a71 100644
+--- a/drivers/scsi/smartpqi/smartpqi_init.c
++++ b/drivers/scsi/smartpqi/smartpqi_init.c
+@@ -8247,6 +8247,18 @@ static const struct pci_device_id pqi_pci_id_table[] = {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ 0x19e5, 0xd22c)
+ },
++ {
++ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
++ 0x1bd4, 0x004a)
++ },
++ {
++ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
++ 0x1bd4, 0x004b)
++ },
++ {
++ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
++ 0x1bd4, 0x004c)
++ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ PCI_VENDOR_ID_ADAPTEC2, 0x0110)
+@@ -8383,6 +8395,10 @@ static const struct pci_device_id pqi_pci_id_table[] = {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ PCI_VENDOR_ID_ADVANTECH, 0x8312)
+ },
++ {
++ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
++ PCI_VENDOR_ID_ADVANTECH, 0x8312)
++ },
+ {
+ PCI_DEVICE_SUB(PCI_VENDOR_ID_ADAPTEC2, 0x028f,
+ PCI_VENDOR_ID_DELL, 0x1fe0)
+--
+2.26.2
+
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
new file mode 100644
index 000000000..fc6b78ad0
--- /dev/null
+++ b/0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch
@@ -0,0 +1,103 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jeremy Cline <jcline@redhat.com>
+Date: Mon, 30 Sep 2019 21:22:47 +0000
+Subject: [PATCH] security: lockdown: expose a hook to lock the kernel down
+
+In order to automatically lock down kernels running on UEFI machines
+booted in Secure Boot mode, expose the lock_kernel_down() hook.
+
+Upstream Status: RHEL only
+Signed-off-by: Jeremy Cline <jcline@redhat.com>
+---
+ include/linux/lsm_hook_defs.h | 2 ++
+ include/linux/lsm_hooks.h | 6 ++++++
+ include/linux/security.h | 5 +++++
+ security/lockdown/lockdown.c | 1 +
+ security/security.c | 6 ++++++
+ 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
+--- 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)
+ #endif /* CONFIG_BPF_SYSCALL */
+
+ LSM_HOOK(int, 0, locked_down, enum lockdown_reason what)
++LSM_HOOK(int, 0, lock_kernel_down, const char *where, enum lockdown_reason level)
++
+
+ #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
+--- a/include/linux/lsm_hooks.h
++++ b/include/linux/lsm_hooks.h
+@@ -1476,6 +1476,12 @@
+ *
+ * @what: kernel feature being accessed
+ *
++ * @lock_kernel_down
++ * Put the kernel into lock-down mode.
++ *
++ * @where: Where the lock-down is originating from (e.g. command line option)
++ * @level: The lock-down level (can only increase)
++ *
+ * Security hooks for perf events
+ *
+ * @perf_event_open:
+diff --git a/include/linux/security.h b/include/linux/security.h
+index a8d9310472df..381305889d89 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);
+ 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);
++int security_lock_kernel_down(const char *where, enum lockdown_reason level);
+ #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)
+ {
+ return 0;
+ }
++static inline int security_lock_kernel_down(const char *where, enum lockdown_reason level)
++{
++ return 0;
++}
+ #endif /* CONFIG_SECURITY */
+
+ #ifdef CONFIG_SECURITY_NETWORK
+diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c
+index 5a952617a0eb..61cc3cdc4d25 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)
+
+ static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = {
+ LSM_HOOK_INIT(locked_down, lockdown_is_locked_down),
++ LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down),
+ };
+
+ static int __init lockdown_lsm_init(void)
+diff --git a/security/security.c b/security/security.c
+index 51de970fbb1e..48d05f8067f2 100644
+--- a/security/security.c
++++ b/security/security.c
+@@ -2468,6 +2468,12 @@ int security_locked_down(enum lockdown_reason what)
+ }
+ EXPORT_SYMBOL(security_locked_down);
+
++int security_lock_kernel_down(const char *where, enum lockdown_reason level)
++{
++ return call_int_hook(lock_kernel_down, 0, where, level);
++}
++EXPORT_SYMBOL(security_lock_kernel_down);
++
+ #ifdef CONFIG_PERF_EVENTS
+ int security_perf_event_open(struct perf_event_attr *attr, int type)
+ {
+--
+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
new file mode 100644
index 000000000..3dd66b141
--- /dev/null
+++ b/0001-soc-bcm2835-Sync-xHCI-reset-firmware-property-with-d.patch
@@ -0,0 +1,32 @@
+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/usb-fusb302-Convert-to-use-GPIO-descriptors.patch b/0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch
index 8ba00ea69..40732340c 100644
--- a/usb-fusb302-Convert-to-use-GPIO-descriptors.patch
+++ b/0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch
@@ -1,6 +1,6 @@
-From 619bb30cc0fe1754f8dfa0fa4ea94fd937857fbd Mon Sep 17 00:00:00 2001
+From 2c36867719d93db8d7f365310587578ab980762c Mon Sep 17 00:00:00 2001
From: Linus Walleij <linus.walleij@linaro.org>
-Date: Mon, 20 Apr 2020 09:55:38 +0100
+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.
@@ -38,14 +38,21 @@ 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 ccc449df3792..20c2c428168e 100644
+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,
@@ -84,7 +91,7 @@ index ccc449df3792..20c2c428168e 100644
return desc;
diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb302.c
-index b498960ff72b..b28facece43c 100644
+index b498960ff72b5..b28facece43c4 100644
--- a/drivers/usb/typec/tcpm/fusb302.c
+++ b/drivers/usb/typec/tcpm/fusb302.c
@@ -9,14 +9,13 @@
@@ -151,5 +158,5 @@ index b498960ff72b..b28facece43c 100644
return ret;
}
--
-2.26.1
+2.26.2
diff --git a/0001-virt-vbox-Add-a-few-new-vmmdev-request-types-to-the-.patch b/0001-virt-vbox-Add-a-few-new-vmmdev-request-types-to-the-.patch
new file mode 100644
index 000000000..92c93e835
--- /dev/null
+++ b/0001-virt-vbox-Add-a-few-new-vmmdev-request-types-to-the-.patch
@@ -0,0 +1,58 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Tue, 19 May 2020 11:05:40 +0200
+Subject: [PATCH] virt: vbox: Add a few new vmmdev request types to the
+ userspace whitelist
+
+Upstream VirtualBox has defined and is using a few new request types for
+vmmdev requests passed through /dev/vboxguest to the hypervisor.
+
+Add the defines for these to vbox_vmmdev_types.h and add add them to the
+whitelists of vmmdev requests which userspace is allowed to make.
+
+BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1789545
+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 ++
+ include/uapi/linux/vbox_vmmdev_types.h | 3 +++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
+index 4f1addaa3f6f..ffd76b949276 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.c
++++ b/drivers/virt/vboxguest/vboxguest_core.c
+@@ -1299,7 +1299,9 @@ static int vbg_req_allowed(struct vbg_dev *gdev, struct vbg_session *session,
+ case VMMDEVREQ_VIDEO_ACCEL_ENABLE:
+ case VMMDEVREQ_VIDEO_ACCEL_FLUSH:
+ case VMMDEVREQ_VIDEO_SET_VISIBLE_REGION:
++ case VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS:
+ case VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX:
++ case VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI:
+ case VMMDEVREQ_GET_SEAMLESS_CHANGE_REQ:
+ case VMMDEVREQ_GET_VRDPCHANGE_REQ:
+ case VMMDEVREQ_LOG_STRING:
+diff --git a/include/uapi/linux/vbox_vmmdev_types.h b/include/uapi/linux/vbox_vmmdev_types.h
+index c27289fd619a..f8a8d6b3c521 100644
+--- a/include/uapi/linux/vbox_vmmdev_types.h
++++ b/include/uapi/linux/vbox_vmmdev_types.h
+@@ -63,6 +63,7 @@ enum vmmdev_request_type {
+ VMMDEVREQ_SET_GUEST_CAPABILITIES = 56,
+ VMMDEVREQ_VIDEMODE_SUPPORTED2 = 57, /* since version 3.2.0 */
+ VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX = 80, /* since version 4.2.4 */
++ VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI = 81,
+ VMMDEVREQ_HGCM_CONNECT = 60,
+ VMMDEVREQ_HGCM_DISCONNECT = 61,
+ VMMDEVREQ_HGCM_CALL32 = 62,
+@@ -92,6 +93,8 @@ enum vmmdev_request_type {
+ VMMDEVREQ_WRITE_COREDUMP = 218,
+ VMMDEVREQ_GUEST_HEARTBEAT = 219,
+ VMMDEVREQ_HEARTBEAT_CONFIGURE = 220,
++ VMMDEVREQ_NT_BUG_CHECK = 221,
++ VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS = 222,
+ /* Ensure the enum is a 32 bit data-type */
+ VMMDEVREQ_SIZEHACK = 0x7fffffff
+ };
+--
+2.26.2
+
diff --git a/0001-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch b/0001-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
new file mode 100644
index 000000000..c001fe5d4
--- /dev/null
+++ b/0001-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
@@ -0,0 +1,320 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Tue, 19 May 2020 18:04:30 +0200
+Subject: [PATCH] virt: vbox: Add support for the new
+ VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl
+
+Add support for the new VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl, this
+is necessary for automatic resizing of the guest resolution to match the
+VM-window size to work with the new VMSVGA virtual GPU which is now the
+new default in VirtualBox.
+
+BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1789545
+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 | 163 +++++++++++++++++++++++-
+ drivers/virt/vboxguest/vboxguest_core.h | 14 ++
+ include/uapi/linux/vboxguest.h | 24 ++++
+ 3 files changed, 200 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
+index 15b3cb618c6e..4f1addaa3f6f 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.c
++++ b/drivers/virt/vboxguest/vboxguest_core.c
+@@ -679,7 +679,7 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev,
+
+ WARN_ON(!mutex_is_locked(&gdev->session_mutex));
+
+- caps = gdev->set_guest_caps_tracker.mask;
++ caps = gdev->acquired_guest_caps | gdev->set_guest_caps_tracker.mask;
+
+ if (gdev->guest_caps_host == caps)
+ return 0;
+@@ -703,6 +703,113 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev,
+ return vbg_status_code_to_errno(rc);
+ }
+
++/**
++ * Acquire (get exclusive access) guest capabilities for a session.
++ * Takes the session mutex.
++ * Return: 0 or negative errno value.
++ * @gdev: The Guest extension device.
++ * @session: The session.
++ * @flags: Flags (VBGL_IOC_AGC_FLAGS_XXX).
++ * @or_mask: The capabilities to add.
++ * @not_mask: The capabilities to remove.
++ * @session_termination: Set if we're called by the session cleanup code.
++ * This tweaks the error handling so we perform
++ * proper session cleanup even if the host
++ * misbehaves.
++ */
++static int vbg_acquire_session_capabilities(struct vbg_dev *gdev,
++ struct vbg_session *session,
++ u32 or_mask, u32 not_mask,
++ u32 flags, bool session_termination)
++{
++ unsigned long irqflags;
++ bool wakeup = false;
++ int ret = 0;
++
++ mutex_lock(&gdev->session_mutex);
++
++ if (gdev->set_guest_caps_tracker.mask & or_mask) {
++ vbg_err("%s error: cannot acquire caps which are currently set\n",
++ __func__);
++ ret = -EINVAL;
++ goto out;
++ }
++
++ /*
++ * Mark any caps in the or_mask as now being in acquire-mode. Note
++ * once caps are in acquire_mode they always stay in this mode.
++ * This impacts event handling, so we take the event-lock.
++ */
++ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
++ gdev->acquire_mode_guest_caps |= or_mask;
++ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
++
++ /* If we only have to switch the caps to acquire mode, we're done. */
++ if (flags & VBGL_IOC_AGC_FLAGS_CONFIG_ACQUIRE_MODE)
++ goto out;
++
++ not_mask &= ~or_mask; /* or_mask takes priority over not_mask */
++ not_mask &= session->acquired_guest_caps;
++ or_mask &= ~session->acquired_guest_caps;
++
++ if (or_mask == 0 && not_mask == 0)
++ goto out;
++
++ if (gdev->acquired_guest_caps & or_mask) {
++ ret = -EBUSY;
++ goto out;
++ }
++
++ gdev->acquired_guest_caps |= or_mask;
++ gdev->acquired_guest_caps &= ~not_mask;
++ /* session->acquired_guest_caps impacts event handling, take the lock */
++ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
++ session->acquired_guest_caps |= or_mask;
++ session->acquired_guest_caps &= ~not_mask;
++ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
++
++ ret = vbg_set_host_capabilities(gdev, session, session_termination);
++ /* Roll back on failure, unless it's session termination time. */
++ if (ret < 0 && !session_termination) {
++ gdev->acquired_guest_caps &= ~or_mask;
++ gdev->acquired_guest_caps |= not_mask;
++ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
++ session->acquired_guest_caps &= ~or_mask;
++ session->acquired_guest_caps |= not_mask;
++ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
++ }
++
++ /*
++ * If we added a capability, check if that means some other thread in
++ * our session should be unblocked because there are events pending
++ * (the result of vbg_get_allowed_event_mask_for_session() may change).
++ *
++ * HACK ALERT! When the seamless support capability is added we generate
++ * a seamless change event so that the ring-3 client can sync with
++ * the seamless state.
++ */
++ if (ret == 0 && or_mask != 0) {
++ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
++
++ if (or_mask & VMMDEV_GUEST_SUPPORTS_SEAMLESS)
++ gdev->pending_events |=
++ VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST;
++
++ if (gdev->pending_events)
++ wakeup = true;
++
++ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
++
++ if (wakeup)
++ wake_up(&gdev->event_wq);
++ }
++
++out:
++ mutex_unlock(&gdev->session_mutex);
++
++ return ret;
++}
++
+ /**
+ * Sets the guest capabilities for a session. Takes the session spinlock.
+ * Return: 0 or negative errno value.
+@@ -725,6 +832,13 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
+
+ mutex_lock(&gdev->session_mutex);
+
++ if (gdev->acquire_mode_guest_caps & or_mask) {
++ vbg_err("%s error: cannot set caps which are in acquire_mode\n",
++ __func__);
++ ret = -EBUSY;
++ goto out;
++ }
++
+ /* Apply the changes to the session mask. */
+ previous = session->set_guest_caps;
+ session->set_guest_caps |= or_mask;
+@@ -962,6 +1076,7 @@ void vbg_core_close_session(struct vbg_session *session)
+ struct vbg_dev *gdev = session->gdev;
+ int i, rc;
+
++ vbg_acquire_session_capabilities(gdev, session, 0, U32_MAX, 0, true);
+ vbg_set_session_capabilities(gdev, session, 0, U32_MAX, true);
+ vbg_set_session_event_filter(gdev, session, 0, U32_MAX, true);
+
+@@ -1019,6 +1134,25 @@ static int vbg_ioctl_driver_version_info(
+ return 0;
+ }
+
++/* Must be called with the event_lock held */
++static u32 vbg_get_allowed_event_mask_for_session(struct vbg_dev *gdev,
++ struct vbg_session *session)
++{
++ u32 acquire_mode_caps = gdev->acquire_mode_guest_caps;
++ u32 session_acquired_caps = session->acquired_guest_caps;
++ u32 allowed_events = VMMDEV_EVENT_VALID_EVENT_MASK;
++
++ if ((acquire_mode_caps & VMMDEV_GUEST_SUPPORTS_GRAPHICS) &&
++ !(session_acquired_caps & VMMDEV_GUEST_SUPPORTS_GRAPHICS))
++ allowed_events &= ~VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST;
++
++ if ((acquire_mode_caps & VMMDEV_GUEST_SUPPORTS_SEAMLESS) &&
++ !(session_acquired_caps & VMMDEV_GUEST_SUPPORTS_SEAMLESS))
++ allowed_events &= ~VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST;
++
++ return allowed_events;
++}
++
+ static bool vbg_wait_event_cond(struct vbg_dev *gdev,
+ struct vbg_session *session,
+ u32 event_mask)
+@@ -1030,6 +1164,7 @@ static bool vbg_wait_event_cond(struct vbg_dev *gdev,
+ spin_lock_irqsave(&gdev->event_spinlock, flags);
+
+ events = gdev->pending_events & event_mask;
++ events &= vbg_get_allowed_event_mask_for_session(gdev, session);
+ wakeup = events || session->cancel_waiters;
+
+ spin_unlock_irqrestore(&gdev->event_spinlock, flags);
+@@ -1044,6 +1179,7 @@ static u32 vbg_consume_events_locked(struct vbg_dev *gdev,
+ {
+ u32 events = gdev->pending_events & event_mask;
+
++ events &= vbg_get_allowed_event_mask_for_session(gdev, session);
+ gdev->pending_events &= ~events;
+ return events;
+ }
+@@ -1445,6 +1581,29 @@ static int vbg_ioctl_change_filter_mask(struct vbg_dev *gdev,
+ false);
+ }
+
++static int vbg_ioctl_acquire_guest_capabilities(struct vbg_dev *gdev,
++ struct vbg_session *session,
++ struct vbg_ioctl_acquire_guest_caps *caps)
++{
++ u32 flags, or_mask, not_mask;
++
++ if (vbg_ioctl_chk(&caps->hdr, sizeof(caps->u.in), 0))
++ return -EINVAL;
++
++ flags = caps->u.in.flags;
++ or_mask = caps->u.in.or_mask;
++ not_mask = caps->u.in.not_mask;
++
++ if (flags & ~VBGL_IOC_AGC_FLAGS_VALID_MASK)
++ return -EINVAL;
++
++ if ((or_mask | not_mask) & ~VMMDEV_GUEST_CAPABILITIES_MASK)
++ return -EINVAL;
++
++ return vbg_acquire_session_capabilities(gdev, session, or_mask,
++ not_mask, flags, false);
++}
++
+ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
+ struct vbg_session *session, struct vbg_ioctl_set_guest_caps *caps)
+ {
+@@ -1554,6 +1713,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
+ return vbg_ioctl_interrupt_all_wait_events(gdev, session, data);
+ case VBG_IOCTL_CHANGE_FILTER_MASK:
+ return vbg_ioctl_change_filter_mask(gdev, session, data);
++ case VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES:
++ return vbg_ioctl_acquire_guest_capabilities(gdev, session, data);
+ case VBG_IOCTL_CHANGE_GUEST_CAPABILITIES:
+ return vbg_ioctl_change_guest_capabilities(gdev, session, data);
+ case VBG_IOCTL_CHECK_BALLOON:
+diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
+index dc745a033164..ab4bf64e2cec 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.h
++++ b/drivers/virt/vboxguest/vboxguest_core.h
+@@ -117,6 +117,15 @@ struct vbg_dev {
+ */
+ u32 event_filter_host;
+
++ /**
++ * Guest capabilities which have been switched to acquire_mode.
++ */
++ u32 acquire_mode_guest_caps;
++ /**
++ * Guest capabilities acquired by vbg_acquire_session_capabilities().
++ * Only one session can acquire a capability at a time.
++ */
++ u32 acquired_guest_caps;
+ /**
+ * Usage counters for guest capabilities requested through
+ * vbg_set_session_capabilities(). Indexed by capability bit
+@@ -164,6 +173,11 @@ struct vbg_session {
+ * host filter. Protected by vbg_gdev.session_mutex.
+ */
+ u32 event_filter;
++ /**
++ * Guest capabilities acquired by vbg_acquire_session_capabilities().
++ * Only one session can acquire a capability at a time.
++ */
++ u32 acquired_guest_caps;
+ /**
+ * Guest capabilities set through vbg_set_session_capabilities().
+ * A capability claimed by any guest session will be reported to the
+diff --git a/include/uapi/linux/vboxguest.h b/include/uapi/linux/vboxguest.h
+index f79d7abe27db..15125f6ec60d 100644
+--- a/include/uapi/linux/vboxguest.h
++++ b/include/uapi/linux/vboxguest.h
+@@ -257,6 +257,30 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_change_filter, 24 + 8);
+ _IOWR('V', 12, struct vbg_ioctl_change_filter)
+
+
++/** VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES data structure. */
++struct vbg_ioctl_acquire_guest_caps {
++ /** The header. */
++ struct vbg_ioctl_hdr hdr;
++ union {
++ struct {
++ /** Flags (VBGL_IOC_AGC_FLAGS_XXX). */
++ __u32 flags;
++ /** Capabilities to set (VMMDEV_GUEST_SUPPORTS_XXX). */
++ __u32 or_mask;
++ /** Capabilities to drop (VMMDEV_GUEST_SUPPORTS_XXX). */
++ __u32 not_mask;
++ } in;
++ } u;
++};
++VMMDEV_ASSERT_SIZE(vbg_ioctl_acquire_guest_caps, 24 + 12);
++
++#define VBGL_IOC_AGC_FLAGS_CONFIG_ACQUIRE_MODE 0x00000001
++#define VBGL_IOC_AGC_FLAGS_VALID_MASK 0x00000001
++
++#define VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES \
++ _IOWR('V', 13, struct vbg_ioctl_acquire_guest_caps)
++
++
+ /** VBG_IOCTL_CHANGE_GUEST_CAPABILITIES data structure. */
+ struct vbg_ioctl_set_guest_caps {
+ /** The header. */
+--
+2.26.2
+
diff --git a/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch b/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
new file mode 100644
index 000000000..3362eaddf
--- /dev/null
+++ b/0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
@@ -0,0 +1,130 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Tue, 19 May 2020 15:30:29 +0200
+Subject: [PATCH] virt: vbox: Add vbg_set_host_capabilities() helper function
+
+Add vbg_set_host_capabilities() helper function, this is a preparation
+patch for adding support for the VBGL_IOCTL_GUEST_CAPS_ACQUIRE ioctl.
+
+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 | 79 ++++++++++++++-----------
+ 1 file changed, 46 insertions(+), 33 deletions(-)
+
+diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
+index aee5eff229f2..15b3cb618c6e 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.c
++++ b/drivers/virt/vboxguest/vboxguest_core.c
+@@ -661,6 +661,48 @@ static int vbg_reset_host_capabilities(struct vbg_dev *gdev)
+ return vbg_status_code_to_errno(rc);
+ }
+
++/**
++ * Set guest capabilities on the host.
++ * Must be called with gdev->session_mutex hold.
++ * Return: 0 or negative errno value.
++ * @gdev: The Guest extension device.
++ * @session: The session.
++ * @session_termination: Set if we're called by the session cleanup code.
++ */
++static int vbg_set_host_capabilities(struct vbg_dev *gdev,
++ struct vbg_session *session,
++ bool session_termination)
++{
++ struct vmmdev_mask *req;
++ u32 caps;
++ int rc;
++
++ WARN_ON(!mutex_is_locked(&gdev->session_mutex));
++
++ caps = gdev->set_guest_caps_tracker.mask;
++
++ if (gdev->guest_caps_host == caps)
++ return 0;
++
++ /* On termination the requestor is the kernel, as we're cleaning up. */
++ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES,
++ session_termination ? VBG_KERNEL_REQUEST :
++ session->requestor);
++ if (!req) {
++ gdev->guest_caps_host = U32_MAX;
++ return -ENOMEM;
++ }
++
++ req->or_mask = caps;
++ req->not_mask = ~caps;
++ rc = vbg_req_perform(gdev, req);
++ vbg_req_free(req, sizeof(*req));
++
++ gdev->guest_caps_host = (rc >= 0) ? caps : U32_MAX;
++
++ return vbg_status_code_to_errno(rc);
++}
++
+ /**
+ * Sets the guest capabilities for a session. Takes the session spinlock.
+ * Return: 0 or negative errno value.
+@@ -678,23 +720,8 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
+ u32 or_mask, u32 not_mask,
+ bool session_termination)
+ {
+- struct vmmdev_mask *req;
+ u32 changed, previous;
+- int rc, ret = 0;
+-
+- /*
+- * Allocate a request buffer before taking the spinlock, when
+- * the session is being terminated the requestor is the kernel,
+- * as we're cleaning up.
+- */
+- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES,
+- session_termination ? VBG_KERNEL_REQUEST :
+- session->requestor);
+- if (!req) {
+- if (!session_termination)
+- return -ENOMEM;
+- /* Ignore allocation failure, we must do session cleanup. */
+- }
++ int ret = 0;
+
+ mutex_lock(&gdev->session_mutex);
+
+@@ -709,23 +736,10 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
+ goto out;
+
+ vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous);
+- or_mask = gdev->set_guest_caps_tracker.mask;
+-
+- if (gdev->guest_caps_host == or_mask || !req)
+- goto out;
+-
+- gdev->guest_caps_host = or_mask;
+- req->or_mask = or_mask;
+- req->not_mask = ~or_mask;
+- rc = vbg_req_perform(gdev, req);
+- if (rc < 0) {
+- ret = vbg_status_code_to_errno(rc);
+-
+- /* Failed, roll back (unless it's session termination time). */
+- gdev->guest_caps_host = U32_MAX;
+- if (session_termination)
+- goto out;
+
++ ret = vbg_set_host_capabilities(gdev, session, session_termination);
++ /* Roll back on failure, unless it's session termination time. */
++ if (ret < 0 && !session_termination) {
+ vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed,
+ session->set_guest_caps);
+ session->set_guest_caps = previous;
+@@ -733,7 +747,6 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
+
+ out:
+ mutex_unlock(&gdev->session_mutex);
+- vbg_req_free(req, sizeof(*req));
+
+ 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
new file mode 100644
index 000000000..daf372ec2
--- /dev/null
+++ b/0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch
@@ -0,0 +1,123 @@
+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
new file mode 100644
index 000000000..77dbde8f5
--- /dev/null
+++ b/0001-virt-vbox-Fix-guest-capabilities-mask-check.patch
@@ -0,0 +1,47 @@
+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/0001-virt-vbox-Log-unknown-ioctl-requests-as-error.patch b/0001-virt-vbox-Log-unknown-ioctl-requests-as-error.patch
new file mode 100644
index 000000000..b9a90c4cd
--- /dev/null
+++ b/0001-virt-vbox-Log-unknown-ioctl-requests-as-error.patch
@@ -0,0 +1,30 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Tue, 19 May 2020 11:24:43 +0200
+Subject: [PATCH] virt: vbox: Log unknown ioctl requests as error
+
+Every now and then upstream adds new ioctls without notifying us,
+log unknown ioctl requests as an error to catch these.
+
+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 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
+index ffd76b949276..e0e343d0ba93 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.c
++++ b/drivers/virt/vboxguest/vboxguest_core.c
+@@ -1739,7 +1739,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
+ return vbg_ioctl_log(data);
+ }
+
+- vbg_debug("VGDrvCommonIoCtl: Unknown req %#08x\n", req);
++ vbg_err("Userspace made an unknown ioctl req %#08x\n", req);
+ return -ENOTTY;
+ }
+
+--
+2.26.2
+
diff --git a/0001-virt-vbox-Rename-guest_caps-struct-members-to-set_gu.patch b/0001-virt-vbox-Rename-guest_caps-struct-members-to-set_gu.patch
new file mode 100644
index 000000000..e92eac034
--- /dev/null
+++ b/0001-virt-vbox-Rename-guest_caps-struct-members-to-set_gu.patch
@@ -0,0 +1,103 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Tue, 19 May 2020 14:33:13 +0200
+Subject: [PATCH] virt: vbox: Rename guest_caps struct members to
+ set_guest_caps
+
+Rename guest_caps[_tracker] struct members to set_guest_caps[_tracker]
+this is a preparation patch for adding support for the
+VBGL_IOCTL_GUEST_CAPS_ACQUIRE ioctl.
+
+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 | 20 ++++++++++----------
+ drivers/virt/vboxguest/vboxguest_core.h | 9 +++++----
+ 2 files changed, 15 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
+index 18ebd7a6af98..aee5eff229f2 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.c
++++ b/drivers/virt/vboxguest/vboxguest_core.c
+@@ -699,17 +699,17 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
+ mutex_lock(&gdev->session_mutex);
+
+ /* Apply the changes to the session mask. */
+- previous = session->guest_caps;
+- session->guest_caps |= or_mask;
+- session->guest_caps &= ~not_mask;
++ previous = session->set_guest_caps;
++ session->set_guest_caps |= or_mask;
++ session->set_guest_caps &= ~not_mask;
+
+ /* If anything actually changed, update the global usage counters. */
+- changed = previous ^ session->guest_caps;
++ changed = previous ^ session->set_guest_caps;
+ if (!changed)
+ goto out;
+
+- vbg_track_bit_usage(&gdev->guest_caps_tracker, changed, previous);
+- or_mask = gdev->guest_caps_tracker.mask;
++ vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous);
++ or_mask = gdev->set_guest_caps_tracker.mask;
+
+ if (gdev->guest_caps_host == or_mask || !req)
+ goto out;
+@@ -726,9 +726,9 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
+ if (session_termination)
+ goto out;
+
+- vbg_track_bit_usage(&gdev->guest_caps_tracker, changed,
+- session->guest_caps);
+- session->guest_caps = previous;
++ vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed,
++ session->set_guest_caps);
++ session->set_guest_caps = previous;
+ }
+
+ out:
+@@ -1452,7 +1452,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
+ if (ret)
+ return ret;
+
+- caps->u.out.session_caps = session->guest_caps;
++ caps->u.out.session_caps = session->set_guest_caps;
+ caps->u.out.global_caps = gdev->guest_caps_host;
+
+ return 0;
+diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
+index 77c3a9c8255d..dc745a033164 100644
+--- a/drivers/virt/vboxguest/vboxguest_core.h
++++ b/drivers/virt/vboxguest/vboxguest_core.h
+@@ -118,11 +118,12 @@ struct vbg_dev {
+ u32 event_filter_host;
+
+ /**
+- * Usage counters for guest capabilities. Indexed by capability bit
++ * Usage counters for guest capabilities requested through
++ * vbg_set_session_capabilities(). Indexed by capability bit
+ * number, one count per session using a capability.
+ * Protected by session_mutex.
+ */
+- struct vbg_bit_usage_tracker guest_caps_tracker;
++ struct vbg_bit_usage_tracker set_guest_caps_tracker;
+ /**
+ * The guest capabilities last reported to the host (or UINT32_MAX).
+ * Protected by session_mutex.
+@@ -164,11 +165,11 @@ struct vbg_session {
+ */
+ u32 event_filter;
+ /**
+- * Guest capabilities for this session.
++ * Guest capabilities set through vbg_set_session_capabilities().
+ * A capability claimed by any guest session will be reported to the
+ * host. Protected by vbg_gdev.session_mutex.
+ */
+- u32 guest_caps;
++ u32 set_guest_caps;
+ /** VMMDEV_REQUESTOR_* flags */
+ u32 requestor;
+ /** Set on CANCEL_ALL_WAITEVENTS, protected by vbg_devevent_spinlock. */
+--
+2.26.2
+
diff --git a/0001-xfs-add-agf-freeblocks-verify-in-xfs_agf_verify.patch b/0001-xfs-add-agf-freeblocks-verify-in-xfs_agf_verify.patch
deleted file mode 100644
index 8409a1f30..000000000
--- a/0001-xfs-add-agf-freeblocks-verify-in-xfs_agf_verify.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From d0c7feaf87678371c2c09b3709400be416b2dc62 Mon Sep 17 00:00:00 2001
-From: Zheng Bin <zhengbin13@huawei.com>
-Date: Fri, 21 Feb 2020 07:38:20 -0800
-Subject: [PATCH] xfs: add agf freeblocks verify in xfs_agf_verify
-
-We recently used fuzz(hydra) to test XFS and automatically generate
-tmp.img(XFS v5 format, but some metadata is wrong)
-
-xfs_repair information(just one AG):
-agf_freeblks 0, counted 3224 in ag 0
-agf_longest 536874136, counted 3224 in ag 0
-sb_fdblocks 613, counted 3228
-
-Test as follows:
-mount tmp.img tmpdir
-cp file1M tmpdir
-sync
-
-In 4.19-stable, sync will stuck, the reason is:
-xfs_mountfs
- xfs_check_summary_counts
- if ((!xfs_sb_version_haslazysbcount(&mp->m_sb) ||
- XFS_LAST_UNMOUNT_WAS_CLEAN(mp)) &&
- !xfs_fs_has_sickness(mp, XFS_SICK_FS_COUNTERS))
- return 0; -->just return, incore sb_fdblocks still be 613
- xfs_initialize_perag_data
-
-cp file1M tmpdir -->ok(write file to pagecache)
-sync -->stuck(write pagecache to disk)
-xfs_map_blocks
- xfs_iomap_write_allocate
- while (count_fsb != 0) {
- nimaps = 0;
- while (nimaps == 0) { --> endless loop
- nimaps = 1;
- xfs_bmapi_write(..., &nimaps) --> nimaps becomes 0 again
-xfs_bmapi_write
- xfs_bmap_alloc
- xfs_bmap_btalloc
- xfs_alloc_vextent
- xfs_alloc_fix_freelist
- xfs_alloc_space_available -->fail(agf_freeblks is 0)
-
-In linux-next, sync not stuck, cause commit c2b3164320b5 ("xfs:
-use the latest extent at writeback delalloc conversion time") remove
-the above while, dmesg is as follows:
-[ 55.250114] XFS (loop0): page discard on page ffffea0008bc7380, inode 0x1b0c, offset 0.
-
-Users do not know why this page is discard, the better soultion is:
-1. Like xfs_repair, make sure sb_fdblocks is equal to counted
-(xfs_initialize_perag_data did this, who is not called at this mount)
-2. Add agf verify, if fail, will tell users to repair
-
-This patch use the second soultion.
-
-Signed-off-by: Zheng Bin <zhengbin13@huawei.com>
-Signed-off-by: Ren Xudong <renxudong1@huawei.com>
-Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
-Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
----
- fs/xfs/libxfs/xfs_alloc.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/fs/xfs/libxfs/xfs_alloc.c b/fs/xfs/libxfs/xfs_alloc.c
-index d8053bc96c4d..183dc2587092 100644
---- a/fs/xfs/libxfs/xfs_alloc.c
-+++ b/fs/xfs/libxfs/xfs_alloc.c
-@@ -2858,6 +2858,13 @@ xfs_agf_verify(
- be32_to_cpu(agf->agf_flcount) <= xfs_agfl_size(mp)))
- return __this_address;
-
-+ if (be32_to_cpu(agf->agf_length) > mp->m_sb.sb_dblocks)
-+ return __this_address;
-+
-+ if (be32_to_cpu(agf->agf_freeblks) < be32_to_cpu(agf->agf_longest) ||
-+ be32_to_cpu(agf->agf_freeblks) > be32_to_cpu(agf->agf_length))
-+ return __this_address;
-+
- if (be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]) < 1 ||
- be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNT]) < 1 ||
- be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNO]) > XFS_BTREE_MAXLEVELS ||
-@@ -2869,6 +2876,10 @@ xfs_agf_verify(
- be32_to_cpu(agf->agf_levels[XFS_BTNUM_RMAP]) > XFS_BTREE_MAXLEVELS))
- return __this_address;
-
-+ if (xfs_sb_version_hasrmapbt(&mp->m_sb) &&
-+ be32_to_cpu(agf->agf_rmap_blocks) > be32_to_cpu(agf->agf_length))
-+ return __this_address;
-+
- /*
- * during growfs operations, the perag is not fully initialised,
- * so we can't use it for any useful checking. growfs ensures we can't
-@@ -2882,6 +2893,11 @@ xfs_agf_verify(
- be32_to_cpu(agf->agf_btreeblks) > be32_to_cpu(agf->agf_length))
- return __this_address;
-
-+ if (xfs_sb_version_hasreflink(&mp->m_sb) &&
-+ be32_to_cpu(agf->agf_refcount_blocks) >
-+ be32_to_cpu(agf->agf_length))
-+ return __this_address;
-+
- if (xfs_sb_version_hasreflink(&mp->m_sb) &&
- (be32_to_cpu(agf->agf_refcount_level) < 1 ||
- be32_to_cpu(agf->agf_refcount_level) > XFS_BTREE_MAXLEVELS))
---
-2.26.2
-
diff --git a/0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch b/0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch
new file mode 100644
index 000000000..0d05e02e0
--- /dev/null
+++ b/0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch
@@ -0,0 +1,120 @@
+From 789d3f52a1cf675ba68c3578fe2b259bc44caba2 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
+
+Convert Rocktech MIPI DSI panel driver from txt to yaml bindings.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ .../display/panel/rocktech,jh057n00900.txt | 23 -------
+ .../display/panel/rocktech,jh057n00900.yaml | 66 +++++++++++++++++++
+ 2 files changed, 66 insertions(+), 23 deletions(-)
+ delete mode 100644 Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.txt
+ create mode 100644 Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
+
+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
+--- a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.txt
++++ /dev/null
+@@ -1,23 +0,0 @@
+-Rocktech jh057n00900 5.5" 720x1440 TFT LCD panel
+-
+-Required properties:
+-- compatible: should be "rocktech,jh057n00900"
+-- reg: DSI virtual channel of the peripheral
+-- reset-gpios: panel reset gpio
+-- backlight: phandle of the backlight device attached to the panel
+-- vcc-supply: phandle of the regulator that provides the vcc supply voltage.
+-- iovcc-supply: phandle of the regulator that provides the iovcc supply
+- voltage.
+-
+-Example:
+-
+- &mipi_dsi {
+- panel@0 {
+- compatible = "rocktech,jh057n00900";
+- reg = <0>;
+- backlight = <&backlight>;
+- reset-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
+- vcc-supply = <&reg_2v8_p>;
+- iovcc-supply = <&reg_1v8_p>;
+- };
+- };
+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
+--- /dev/null
++++ b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
+@@ -0,0 +1,66 @@
++# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/display/panel/rocktech,jh057n00900.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel
++
++maintainers:
++ - Ondrej Jirman <megi@xff.cz>
++
++description: |
++ Rocktech JH057N00900 is a 720x1440 TFT LCD panel
++ connected using a MIPI-DSI video interface.
++
++allOf:
++ - $ref: panel-common.yaml#
++
++properties:
++ compatible:
++ const: rocktech,jh057n00900
++
++ reg:
++ maxItems: 1
++ description: DSI virtual channel
++
++ vcc-supply:
++ description: Panel power supply
++
++ vccio-supply:
++ description: I/O voltage supply
++
++ reset-gpios:
++ description: GPIO used for the reset pin
++ maxItems: 1
++
++ backlight:
++ description: Backlight used by the panel
++ $ref: "/schemas/types.yaml#/definitions/phandle"
++
++required:
++ - compatible
++ - reg
++ - vcc-supply
++ - vccio-supply
++ - reset-gpios
++
++additionalProperties: false
++
++examples:
++ - |
++ #include <dt-bindings/gpio/gpio.h>
++
++ dsi {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ panel@0 {
++ compatible = "rocktech,jh057n00900";
++ reg = <0>;
++ vcc-supply = <&reg_2v8_p>;
++ iovcc-supply = <&reg_1v8_p>;
++ reset-gpios = <&gpio3 13 GPIO_ACTIVE_LOW>;
++ backlight = <&backlight>;
++ };
++ };
++...
+--
+2.26.2
+
diff --git a/0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch b/0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch
new file mode 100644
index 000000000..a7099de05
--- /dev/null
+++ b/0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch
@@ -0,0 +1,37 @@
+From 12146093602e0dedb7ee431224fc4a58d40697f8 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
+
+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
+used in PinePhone.
+
+Add a compatible for it.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ .../bindings/display/panel/rocktech,jh057n00900.yaml | 6 +++++-
+ 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
+--- 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
++ enum:
++ # Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel
++ - rocktech,jh057n00900
++ # Xingbangda XBD599 5.99" 720x1440 TFT LCD panel
++ - xingbangda,xbd599
+
+ reg:
+ maxItems: 1
+--
+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
new file mode 100644
index 000000000..c4c947641
--- /dev/null
+++ b/0004-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch
@@ -0,0 +1,91 @@
+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/0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch b/0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch
new file mode 100644
index 000000000..5432e1bba
--- /dev/null
+++ b/0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch
@@ -0,0 +1,265 @@
+From 6fad8493b27ade51f37d88acc7ce6fd7dbc9da69 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
+
+This is done so that code that's not specific to a particular
+jh057n panel is named after the controller. Functions specific
+to the panel are kept named after the panel.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ drivers/gpu/drm/panel/panel-sitronix-st7703.c | 90 ++++++++++---------
+ 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
+--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
++++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+@@ -1,6 +1,8 @@
+ // SPDX-License-Identifier: GPL-2.0
+ /*
+- * Rockteck jh057n00900 5.5" MIPI-DSI panel driver
++ * Driver for panels based on Sitronix ST7703 controller, souch as:
++ *
++ * - Rocktech jh057n00900 5.5" MIPI-DSI panel
+ *
+ * Copyright (C) Purism SPC 2019
+ */
+@@ -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;
+ struct drm_panel panel;
+ struct gpio_desc *reset_gpio;
+@@ -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)
+ {
+ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
+ struct device *dev = ctx->dev;
+@@ -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)
+ {
+- 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,
+- .prepare = jh057n_prepare,
+- .enable = jh057n_enable,
+- .get_modes = jh057n_get_modes,
++static const struct drm_panel_funcs st7703_drm_funcs = {
++ .disable = st7703_disable,
++ .unprepare = st7703_unprepare,
++ .prepare = st7703_prepare,
++ .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)
+ {
+ struct device *dev = &dsi->dev;
+- 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" },
+ { /* sentinel */ }
+ };
+-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,
+- .shutdown = jh057n_shutdown,
++static struct mipi_dsi_driver st7703_driver = {
++ .probe = st7703_probe,
++ .remove = st7703_remove,
++ .shutdown = st7703_shutdown,
+ .driver = {
+ .name = DRV_NAME,
+- .of_match_table = jh057n_of_match,
++ .of_match_table = st7703_of_match,
+ },
+ };
+-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");
+ MODULE_LICENSE("GPL v2");
+--
+2.26.2
+
diff --git a/0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch b/0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch
new file mode 100644
index 000000000..8436ea3cb
--- /dev/null
+++ b/0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch
@@ -0,0 +1,129 @@
+From 19802e031428f7cf967259fdf8794a971164a44a 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
+
+Parametrize the driver so that it can support more panels based
+on st7703 controller.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ drivers/gpu/drm/panel/panel-sitronix-st7703.c | 43 +++++++++++++------
+ 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
+--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
++++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+@@ -13,6 +13,7 @@
+ #include <linux/media-bus-format.h>
+ #include <linux/mod_devicetable.h>
+ #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;
++};
++
++struct st7703_panel_desc {
++ const struct drm_display_mode *mode;
++ unsigned int lanes;
++ unsigned long mode_flags;
++ 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) {
+ DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n",
+ ret);
+@@ -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,
+ .hsync_start = 720 + 90,
+ .hsync_end = 720 + 90 + 20,
+@@ -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,
++ .mode_flags = MIPI_DSI_MODE_VIDEO |
++ MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE,
++ .format = MIPI_DSI_FMT_RGB888,
++ .init_sequence = jh057n_init_sequence,
++};
++
+ static int st7703_get_modes(struct drm_panel *panel,
+ struct drm_connector *connector)
+ {
+ 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) {
+ DRM_DEV_ERROR(ctx->dev, "Failed to add mode %ux%u@%u\n",
+- default_mode.hdisplay, default_mode.vdisplay,
+- default_mode.vrefresh);
++ ctx->desc->mode->hdisplay, ctx->desc->mode->vdisplay,
++ 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 |
+- MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE;
++ 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 },
+ { /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(of, st7703_of_match);
+--
+2.26.2
+
diff --git a/0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch b/0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch
new file mode 100644
index 000000000..fcdf0482d
--- /dev/null
+++ b/0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch
@@ -0,0 +1,84 @@
+From b93e129534a0556a03a343f95e622ae9c3893854 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
+ together
+
+It's better than having it spread around the driver.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ drivers/gpu/drm/panel/panel-sitronix-st7703.c | 50 +++++++++----------
+ 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
+--- 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,
++ .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,
++};
++
++struct st7703_panel_desc jh057n00900_panel_desc = {
++ .mode = &jh057n00900_mode,
++ .lanes = 4,
++ .mode_flags = MIPI_DSI_MODE_VIDEO |
++ MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE,
++ .format = MIPI_DSI_FMT_RGB888,
++ .init_sequence = jh057n_init_sequence,
++};
++
+ static int st7703_enable(struct drm_panel *panel)
+ {
+ struct st7703 *ctx = panel_to_st7703(panel);
+@@ -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,
+- .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,
+-};
+-
+-struct st7703_panel_desc jh057n00900_panel_desc = {
+- .mode = &jh057n00900_mode,
+- .lanes = 4,
+- .mode_flags = MIPI_DSI_MODE_VIDEO |
+- MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE,
+- .format = MIPI_DSI_FMT_RGB888,
+- .init_sequence = jh057n_init_sequence,
+-};
+-
+ static int st7703_get_modes(struct drm_panel *panel,
+ struct drm_connector *connector)
+ {
+--
+2.26.2
+
diff --git a/0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch b/0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch
new file mode 100644
index 000000000..bae442451
--- /dev/null
+++ b/0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch
@@ -0,0 +1,84 @@
+From 5e9a6f49f8056963a4b8d2408f0c0f211cdab799 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
+
+Calling sleep out and display on is a controller specific part
+of the initialization process. Move it out of the panel specific
+initialization function to the enable callback.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ drivers/gpu/drm/panel/panel-sitronix-st7703.c | 33 ++++++++++---------
+ 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
+--- 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)
+ static int jh057n_init_sequence(struct st7703 *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
+@@ -136,20 +134,7 @@ static int jh057n_init_sequence(struct st7703 *ctx)
+ 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;
+ }
+
+@@ -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);
++ if (ret < 0) {
++ DRM_DEV_ERROR(ctx->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(ctx->dev, "Panel init sequence done\n");
++
+ return 0;
+ }
+
+--
+2.26.2
+
diff --git a/0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch b/0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch
new file mode 100644
index 000000000..5ac4e6ee8
--- /dev/null
+++ b/0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch
@@ -0,0 +1,251 @@
+From d2fb5b980f071d542ca912dac5a0e27c49de7e2d 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
+
+Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI LCD panel used in
+PinePhone. Add support for it.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ drivers/gpu/drm/panel/panel-sitronix-st7703.c | 199 +++++++++++++++++-
+ 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
+--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
++++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+@@ -39,10 +39,11 @@
+ #define ST7703_CMD_SETEXTC 0xB9
+ #define ST7703_CMD_SETMIPI 0xBA
+ #define ST7703_CMD_SETVDC 0xBC
+-#define ST7703_CMD_UNKNOWN0 0xBF
++#define ST7703_CMD_UNKNOWN_BF 0xBF
+ #define ST7703_CMD_SETSCR 0xC0
+ #define ST7703_CMD_SETPOWER 0xC1
+ #define ST7703_CMD_SETPANEL 0xCC
++#define ST7703_CMD_UNKNOWN_C6 0xC6
+ #define ST7703_CMD_SETGAMMA 0xE0
+ #define ST7703_CMD_SETEQ 0xE3
+ #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);
+ dsi_generic_write_seq(dsi, ST7703_CMD_SETGIP1,
+ 0x82, 0x10, 0x06, 0x05, 0x9E, 0x0A, 0xA5, 0x12,
+ 0x31, 0x23, 0x37, 0x83, 0x04, 0xBC, 0x27, 0x38,
+@@ -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; \
++ ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \
++ if (ret < 0) \
++ return ret; \
++ } while (0)
++
++
++static int xbd599_init_sequence(struct st7703 *ctx)
++{
++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
++
++ /*
++ * Init sequence was supplied by the panel vendor.
++ */
++
++ /* Magic sequence to unlock user commands below. */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xF1, 0x12, 0x83);
++
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI,
++ 0x33, /* VC_main = 0, Lane_Number = 3 (4 lanes) */
++ 0x81, /* DSI_LDO_SEL = 1.7V, RTERM = 90 Ohm */
++ 0x05, /* IHSRX = x6 (Low High Speed driving ability) */
++ 0xF9, /* TX_CLK_SEL = fDSICLK/16 */
++ 0x0E, /* HFP_OSC (min. HFP number in DSI mode) */
++ 0x0E, /* HBP_OSC (min. HBP number in DSI mode) */
++ /* The rest is undocumented in ST7703 datasheet */
++ 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, /* PCCS = 2, ECP_DC_DIV = 1/4 HSYNC */
++ 0x22, /* DT = 15ms XDK_ECP = x2 */
++ 0x20, /* PFM_DC_DIV = /1 */
++ 0x03 /* ECP_SYNC_EN = 1, VGX_SYNC_EN = 1 */);
++
++ /* RGB I/F porch timing */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF,
++ 0x10, /* VBP_RGB_GEN */
++ 0x10, /* VFP_RGB_GEN */
++ 0x05, /* DE_BP_RGB_GEN */
++ 0x05, /* DE_FP_RGB_GEN */
++ /* The rest is undocumented in ST7703 datasheet */
++ 0x03, 0xFF,
++ 0x00, 0x00,
++ 0x00, 0x00);
++
++ /* Source driving settings. */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR,
++ 0x73, /* N_POPON */
++ 0x73, /* N_NOPON */
++ 0x50, /* I_POPON */
++ 0x50, /* I_NOPON */
++ 0x00, /* SCR[31,24] */
++ 0xC0, /* SCR[23,16] */
++ 0x08, /* SCR[15,8] */
++ 0x70, /* SCR[7,0] */
++ 0x00 /* Undocumented */);
++
++ /* NVDDD_SEL = -1.8V, VDDD_SEL = out of range (possibly 1.9V?) */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E);
++
++ /*
++ * SS_PANEL = 1 (reverse scan), GS_PANEL = 0 (normal scan)
++ * REV_PANEL = 1 (normally black panel), BGR_PANEL = 1 (BGR)
++ */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B);
++
++ /* Zig-Zag Type C column inversion. */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
++
++ /* Set display resolution. */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP,
++ 0xF0, /* NL = 240 */
++ 0x12, /* RES_V_LSB = 0, BLK_CON = VSSD,
++ * RESO_SEL = 720RGB
++ */
++ 0xF0 /* WHITE_GND_EN = 1 (GND),
++ * WHITE_FRAME_SEL = 7 frames,
++ * ISC = 0 frames
++ */);
++
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ,
++ 0x00, /* PNOEQ */
++ 0x00, /* NNOEQ */
++ 0x0B, /* PEQGND */
++ 0x0B, /* NEQGND */
++ 0x10, /* PEQVCI */
++ 0x10, /* NEQVCI */
++ 0x00, /* PEQVCI1 */
++ 0x00, /* NEQVCI1 */
++ 0x00, /* reserved */
++ 0x00, /* reserved */
++ 0xFF, /* reserved */
++ 0x00, /* reserved */
++ 0xC0, /* ESD_DET_DATA_WHITE = 1, ESD_WHITE_EN = 1 */
++ 0x10 /* SLPIN_OPTION = 1 (no need vsync after sleep-in)
++ * VEDIO_NO_CHECK_EN = 0
++ * ESD_WHITE_GND_EN = 0
++ * ESD_DET_TIME_SEL = 0 frames
++ */);
++
++ /* Undocumented command. */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_C6, 0x01, 0x00, 0xFF, 0xFF, 0x00);
++
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER,
++ 0x74, /* VBTHS, VBTLS: VGH = 17V, VBL = -11V */
++ 0x00, /* FBOFF_VGH = 0, FBOFF_VGL = 0 */
++ 0x32, /* VRP */
++ 0x32, /* VRN */
++ 0x77, /* reserved */
++ 0xF1, /* APS = 1 (small),
++ * VGL_DET_EN = 1, VGH_DET_EN = 1,
++ * VGL_TURBO = 1, VGH_TURBO = 1
++ */
++ 0xFF, /* VGH1_L_DIV, VGL1_L_DIV (1.5MHz) */
++ 0xFF, /* VGH1_R_DIV, VGL1_R_DIV (1.5MHz) */
++ 0xCC, /* VGH2_L_DIV, VGL2_L_DIV (2.6MHz) */
++ 0xCC, /* VGH2_R_DIV, VGL2_R_DIV (2.6MHz) */
++ 0x77, /* VGH3_L_DIV, VGL3_L_DIV (4.5MHz) */
++ 0x77 /* VGH3_R_DIV, VGL3_R_DIV (4.5MHz) */);
++
++ /* Reference voltage. */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP,
++ 0x07, /* VREF_SEL = 4.2V */
++ 0x07 /* NVREF_SEL = 4.2V */);
++
++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM,
++ 0x2C, /* VCOMDC_F = -0.67V */
++ 0x2C /* VCOMDC_B = -0.67V */);
++
++ /* Undocumented command. */
++ dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
++
++ /* This command is to set forward GIP timing. */
++ 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);
++
++ /* This command is to set backward GIP timing. */
++ 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);
++
++ /* Adjust the gamma characteristics of the panel. */
++ 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);
++
++ return 0;
++}
++
++static const struct drm_display_mode xbd599_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,
++};
++
++static const struct st7703_panel_desc xbd599_desc = {
++ .mode = &xbd599_mode,
++ .lanes = 4,
++ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE,
++ .format = MIPI_DSI_FMT_RGB888,
++ .init_sequence = xbd599_init_sequence,
++};
++
+ static int st7703_enable(struct drm_panel *panel)
+ {
+ 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 },
+ { /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(of, st7703_of_match);
+--
+2.26.2
+
diff --git a/0010-drm-panel-st7703-Enter-sleep-after-display-off.patch b/0010-drm-panel-st7703-Enter-sleep-after-display-off.patch
new file mode 100644
index 000000000..867962865
--- /dev/null
+++ b/0010-drm-panel-st7703-Enter-sleep-after-display-off.patch
@@ -0,0 +1,41 @@
+From 7c9c58114d277e570f667ac670ef28725e51814e 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
+
+The datasheet suggests to issue sleep in after display off
+as a part of the panel's shutdown sequence.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ drivers/gpu/drm/panel/panel-sitronix-st7703.c | 13 ++++++++++++-
+ 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
+--- 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)
+ {
+ struct st7703 *ctx = panel_to_st7703(panel);
+ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
++ int ret;
++
++ ret = mipi_dsi_dcs_set_display_off(dsi);
++ 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)
++ DRM_DEV_ERROR(ctx->dev,
++ "Failed to enter sleep mode: %d\n", ret);
++
++ return 0;
+ }
+
+ static int st7703_unprepare(struct drm_panel *panel)
+--
+2.26.2
+
diff --git a/0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch b/0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch
new file mode 100644
index 000000000..f5871906c
--- /dev/null
+++ b/0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch
@@ -0,0 +1,29 @@
+From f290f11b42df0d9d42679b93bb6a488f9e12e00d 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
+
+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.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ drivers/gpu/drm/panel/panel-sitronix-st7703.c | 1 +
+ 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
+--- 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);
+ ctx->prepared = false;
+--
+2.26.2
+
diff --git a/0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch b/0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch
new file mode 100644
index 000000000..0c8ca994e
--- /dev/null
+++ b/0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch
@@ -0,0 +1,112 @@
+From 3ac5eb0c8bc2da9e81e04fc6106a79b476ec9219 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
+ PinePhone
+
+PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for
+display.
+
+Backlight levels curve was optimized by Martijn Braam using a
+lux meter.
+
+Add its device nodes.
+
+Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
+Signed-off-by: Martijn Braam <martijn@brixit.nl>
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ .../allwinner/sun50i-a64-pinephone-1.1.dts | 19 ++++++++++
+ .../dts/allwinner/sun50i-a64-pinephone.dtsi | 35 +++++++++++++++++++
+ 2 files changed, 54 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
+index 06a775c41664b..3e99a87e9ce52 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
+@@ -9,3 +9,22 @@ / {
+ model = "Pine64 PinePhone Braveheart (1.1)";
+ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
+ };
++
++&backlight {
++ power-supply = <&reg_ldo_io0>;
++ /*
++ * PWM backlight circuit on this PinePhone revision was changed since
++ * 1.0, and the lowest PWM duty cycle that doesn't lead to backlight
++ * being off is around 20%. Duty cycle for the lowest brightness level
++ * also varries quite a bit between individual boards, so the lowest
++ * value here was chosen as a safe default.
++ */
++ brightness-levels = <
++ 774 793 814 842
++ 882 935 1003 1088
++ 1192 1316 1462 1633
++ 1830 2054 2309 2596
++ 2916 3271 3664 4096>;
++ num-interpolated-steps = <50>;
++ default-brightness-level = <400>;
++};
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+index cefda145c3c9d..85a7aa5efd326 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+@@ -16,6 +16,13 @@ aliases {
+ serial0 = &uart0;
+ };
+
++ backlight: backlight {
++ compatible = "pwm-backlight";
++ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>;
++ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
++ /* Backlight configuration differs per PinePhone revision. */
++ };
++
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+@@ -84,6 +91,30 @@ &dai {
+ status = "okay";
+ };
+
++&de {
++ status = "okay";
++};
++
++&dphy {
++ status = "okay";
++};
++
++&dsi {
++ vcc-dsi-supply = <&reg_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 = <&reg_dldo2>;
++ vcc-supply = <&reg_ldo_io0>;
++ backlight = <&backlight>;
++ };
++};
++
+ &ehci0 {
+ status = "okay";
+ };
+@@ -188,6 +219,10 @@ &r_pio {
+ */
+ };
+
++&r_pwm {
++ status = "okay";
++};
++
+ &r_rsb {
+ status = "okay";
+
+--
+2.26.2
+
diff --git a/0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch b/0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch
new file mode 100644
index 000000000..211eb2797
--- /dev/null
+++ b/0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch
@@ -0,0 +1,47 @@
+From 786358ed986e4788b992d98e1d3b198a4e01a9d5 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
+
+Pinephone has a Goodix GT917S capacitive touchscreen controller on
+I2C0 bus. Add support for it.
+
+Signed-off-by: Ondrej Jirman <megous@megous.com>
+---
+ .../dts/allwinner/sun50i-a64-pinephone.dtsi | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+index 85a7aa5efd326..2d5694446d176 100644
+--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+@@ -123,6 +123,25 @@ &ehci1 {
+ status = "okay";
+ };
+
++&i2c0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&i2c0_pins>;
++ status = "okay";
++
++ touchscreen@5d {
++ compatible = "goodix,gt917s", "goodix,gt911";
++ reg = <0x5d>;
++ interrupt-parent = <&pio>;
++ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */
++ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
++ reset-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
++ AVDD28-supply = <&reg_ldo_io0>;
++ VDDIO-supply = <&reg_ldo_io0>;
++ touchscreen-size-x = <720>;
++ touchscreen-size-y = <1440>;
++ };
++};
++
+ &i2c1 {
+ status = "okay";
+
+--
+2.26.2
+
diff --git a/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch b/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
deleted file mode 100644
index dd0087104..000000000
--- a/ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From patchwork Wed Mar 4 13:24:37 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11420129
-Return-Path:
- <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C6D01139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 8EA4C20848
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 4 Mar 2020 13:24:52 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="rVot4hOX"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EA4C20848
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
- :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
- Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
- List-Owner; bh=8vOVvuwuEiZ/+aeWTFI6G54jitKev/MSiGHvL/NuYpM=; b=rVot4hOXzlJULi
- AIV0tWo7xq5srSJPr0aW3ccsKyfTNsVGmB0Y4G8A2Wqd+29xOVNJGk9jIAaRqBaAEGozzfFQj8JuQ
- YRKsDyKXSMgpM5EHFtlq7TSvY21pe6uHhTkMCYnhLdZu7BrX9V2BLfnG7b7kx+wVgh2SDk5Tu8iJI
- 3vNkR22Qd4bIZAMQVwr97BN6IasYg2C9Q1hACZKKYVTxOvCw1MDDfedhRK9IxgZXV8eacZco5TlC+
- 3FlBQSP6dxBhpgAZ2VSD8k94TZe8Vnj1HMmja4MShu5hUOaBMzV/cvTA0y9OFseFvzL3YES1oyPzk
- vPYT4iiUYIWQEEsfDJoA==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j9U10-0004Kq-KB; Wed, 04 Mar 2020 13:24:46 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j9U0x-0004KG-Lg; Wed, 04 Mar 2020 13:24:45 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 28610AAC7;
- Wed, 4 Mar 2020 13:24:42 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: Rob Herring <robh+dt@kernel.org>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v2] ARM: dts: bcm2711: Move emmc2 into its own bus
-Date: Wed, 4 Mar 2020 14:24:37 +0100
-Message-Id: <20200304132437.20164-1-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.25.1
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200304_052443_860022_0913505C
-X-CRM114-Status: GOOD ( 14.37 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, f.fainelli@gmail.com, phil@raspberrypi.org,
- linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-Depending on bcm2711's revision its emmc2 controller might have
-different DMA constraints. Raspberry Pi 4's firmware will take care of
-updating those, but only if a certain alias is found in the device tree.
-So, move emmc2 into its own bus, so as not to pollute other devices with
-dma-ranges changes and create the emmc2bus alias.
-
-Based in Phil ELwell's downstream implementation.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
-
-Changes since v1:
- - Add comment in dt
- - Fix commit title
-
- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 +
- arch/arm/boot/dts/bcm2711.dtsi | 25 ++++++++++++++++++++-----
- 2 files changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-index 1d4b589fe233..e26ea9006378 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-@@ -20,6 +20,7 @@ memory@0 {
- };
-
- aliases {
-+ emmc2bus = &emmc2bus;
- ethernet0 = &genet;
- pcie0 = &pcie0;
- };
-diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
-index d1e684d0acfd..a91cf68e3c4c 100644
---- a/arch/arm/boot/dts/bcm2711.dtsi
-+++ b/arch/arm/boot/dts/bcm2711.dtsi
-@@ -241,17 +241,32 @@ pwm1: pwm@7e20c800 {
- status = "disabled";
- };
-
-+ hvs@7e400000 {
-+ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
-+ };
-+ };
-+
-+ /*
-+ * emmc2 has different DMA constraints based on SoC revisions. It was
-+ * moved into its own bus, so as for RPi4's firmware to update them.
-+ * The firmware will find whether the emmc2bus alias is defined, and if
-+ * so, it'll edit the dma-ranges property below accordingly.
-+ */
-+ emmc2bus: emmc2bus {
-+ compatible = "simple-bus";
-+ #address-cells = <2>;
-+ #size-cells = <1>;
-+
-+ ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>;
-+ dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>;
-+
- emmc2: emmc2@7e340000 {
- compatible = "brcm,bcm2711-emmc2";
-- reg = <0x7e340000 0x100>;
-+ reg = <0x0 0x7e340000 0x100>;
- interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&clocks BCM2711_CLOCK_EMMC2>;
- status = "disabled";
- };
--
-- hvs@7e400000 {
-- interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
-- };
- };
-
- arm-pmu {
diff --git a/ARM64-Tegra-fixes.patch b/ARM64-Tegra-fixes.patch
deleted file mode 100644
index 6ddfc2322..000000000
--- a/ARM64-Tegra-fixes.patch
+++ /dev/null
@@ -1,477 +0,0 @@
-From patchwork Mon Feb 24 14:34:33 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
-X-Patchwork-Id: 1243145
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=duOxTEf6;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 48R4Mz3K4gz9sRR
- for <incoming@patchwork.ozlabs.org>;
- Tue, 25 Feb 2020 01:34:55 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727815AbgBXOew (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Mon, 24 Feb 2020 09:34:52 -0500
-Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6094 "EHLO
- hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727498AbgBXOew (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>);
- Mon, 24 Feb 2020 09:34:52 -0500
-Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e53debf0001>; Mon, 24 Feb 2020 06:33:35 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate101.nvidia.com (PGP Universal service);
- Mon, 24 Feb 2020 06:34:51 -0800
-X-PGP-Universal: processed;
- by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:51 -0800
-Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL101.nvidia.com
- (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Mon, 24 Feb 2020 14:34:50 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
- (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Mon, 24 Feb 2020 14:34:50 +0000
-Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e53df090001>; Mon, 24 Feb 2020 06:34:50 -0800
-From: Jon Hunter <jonathanh@nvidia.com>
-To: Thierry Reding <thierry.reding@gmail.com>
-CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
- Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
-Subject: [PATCH 1/4] ARM64: Tegra: Enable I2C controller for EEPROM
-Date: Mon, 24 Feb 2020 14:34:33 +0000
-Message-ID: <20200224143436.5438-1-jonathanh@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1582554815; bh=SKhUz0YkoB6pD4YoE/4KFxZbYw2qmSp519cZdmcBM3o=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- X-NVConfidentiality:MIME-Version:Content-Type;
- b=duOxTEf6wTpBnmdA4GzgtJ0CYXr5t34ZZNN48pc9hExmRqaCcppGHAY2wcXqnjNmL
- YwvDy0gfFikGS9gPJKICW2X6f4iOcgfnVhYOWdgnzSFD1bhtOoN+bEcXPC+LRDY89m
- uAwuuKQR4MMohz9C8MW8xyatlc13ZEU0jeW1+S3PYfX2GhwRUooeFCGnmLUso5s2DZ
- 65p26CoCGdQNBARsw2TNevBzLshNSXvHBdlFiKSs4S0hB7yJJrCwZx2JsjOm+aRtb3
- dgVHvAZAd8GLLKC8NvPCAhbIRhDt0vkyWmqHnB5suduti7g4QA1Eb8HLAXB5ptvzeK
- jor+qP+NC8CVQ==
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-Commit a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1
-module") populated the EEPROM on the Jetson TX1 module, but did not
-enable the corresponding I2C controller. Enable the I2C controller so
-that this EEPROM can be accessed.
-
-Fixes: a5b6b67364cb ("arm64: tegra: Add ID EEPROM for Jetson TX1 module")
-
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
----
- arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
-index cb58f79deb48..95b1a6e76e6e 100644
---- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
-@@ -265,6 +265,8 @@
- };
-
- i2c@7000c500 {
-+ status = "okay";
-+
- /* module ID EEPROM */
- eeprom@50 {
- compatible = "atmel,24c02";
-
-From patchwork Mon Feb 24 14:34:34 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
-X-Patchwork-Id: 1243146
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=YrupJt5o;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 48R4N1059Pz9sRR
- for <incoming@patchwork.ozlabs.org>;
- Tue, 25 Feb 2020 01:34:57 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727498AbgBXOe4 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Mon, 24 Feb 2020 09:34:56 -0500
-Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8365 "EHLO
- hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727803AbgBXOe4 (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>);
- Mon, 24 Feb 2020 09:34:56 -0500
-Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e53deec0000>; Mon, 24 Feb 2020 06:34:20 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate101.nvidia.com (PGP Universal service);
- Mon, 24 Feb 2020 06:34:55 -0800
-X-PGP-Universal: processed;
- by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:34:55 -0800
-Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
- (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Mon, 24 Feb 2020 14:34:55 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
- (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Mon, 24 Feb 2020 14:34:55 +0000
-Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e53df0d0000>; Mon, 24 Feb 2020 06:34:54 -0800
-From: Jon Hunter <jonathanh@nvidia.com>
-To: Thierry Reding <thierry.reding@gmail.com>
-CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
- Jon Hunter <jonathanh@nvidia.com>
-Subject: [PATCH 2/4] ARM64: tegra: Add EEPROM supplies
-Date: Mon, 24 Feb 2020 14:34:34 +0000
-Message-ID: <20200224143436.5438-2-jonathanh@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
-References: <20200224143436.5438-1-jonathanh@nvidia.com>
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1582554860; bh=XQRed+hM+dOmUn7lEyFBRTITiHe/kmVf6bYnTKyb4yU=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- In-Reply-To:References:X-NVConfidentiality:MIME-Version:
- Content-Type;
- b=YrupJt5osNrArZbD3/6N+E76P788S2kgwb7HnwldZ99/x70lrAIXTKHOx35uqz7o0
- bsYj1jAiz+BrmkHt678TBaesev2pBBcp8G+zkGDX+M6MWEvTixhn0bBERoHpnmuhQl
- 1fWBcDKGg9r4KT46RFxrjCcRek8FB1gb1nM00FneNHFyguKuZEzRuMvoPfZEPr0Pm3
- HaB3AybSYgm2KABS5aZo/a2/9sIP0Bx2St673Bx+9vz89pPr8lWjHZO9QjIUdJn2Qw
- 5rEeeEdOKkbx0RMyKaPAPIdhmrnVzrcyrnZYmf0KnxXJCWitqt2cyAu6uDjPI8kiL+
- JhWqRAza5osKg==
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-The following warning is observed on Jetson TX1, Jetson Nano and Jetson
-TX2 platforms because the supply regulators are not specified for the
-EEPROMs.
-
- WARNING KERN at24 0-0050: 0-0050 supply vcc not found, using dummy regulator
- WARNING KERN at24 0-0057: 0-0057 supply vcc not found, using dummy regulator
-
-For both of these platforms the EEPROM is powered by the main 1.8V
-supply rail and so populate the supply for these devices to fix these
-warnings.
-
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
----
- arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 1 +
- arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi | 1 +
- arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 1 +
- arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
- arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts | 2 ++
- 5 files changed, 6 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-index d7628f5afb85..961b1be0c56b 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-@@ -226,6 +226,7 @@
- compatible = "atmel,24c02";
- reg = <0x57>;
-
-+ vcc-supply = <&vdd_1v8>;
- address-bits = <8>;
- page-size = <8>;
- size = <256>;
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
-index 947744d0f04c..da96de04d003 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
-@@ -171,6 +171,7 @@
- compatible = "atmel,24c02";
- reg = <0x50>;
-
-+ vcc-supply = <&vdd_1v8>;
- address-bits = <8>;
- page-size = <8>;
- size = <256>;
-diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
-index 95b1a6e76e6e..f87d2437d11c 100644
---- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
-@@ -272,6 +272,7 @@
- compatible = "atmel,24c02";
- reg = <0x50>;
-
-+ vcc-supply = <&vdd_1v8>;
- address-bits = <8>;
- page-size = <8>;
- size = <256>;
-diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-index a3cafe39ba4c..c70a610f8e3a 100644
---- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-@@ -85,6 +85,7 @@
- compatible = "atmel,24c02";
- reg = <0x57>;
-
-+ vcc-supply = <&vdd_1v8>;
- address-bits = <8>;
- page-size = <8>;
- size = <256>;
-diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
-index 848afd855da6..21ed1756b889 100644
---- a/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
-@@ -114,6 +114,7 @@
- compatible = "atmel,24c02";
- reg = <0x50>;
-
-+ vcc-supply = <&vdd_1v8>;
- address-bits = <8>;
- page-size = <8>;
- size = <256>;
-@@ -124,6 +125,7 @@
- compatible = "atmel,24c02";
- reg = <0x57>;
-
-+ vcc-supply = <&vdd_1v8>;
- address-bits = <8>;
- page-size = <8>;
- size = <256>;
-
-From patchwork Mon Feb 24 14:34:35 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
-X-Patchwork-Id: 1243147
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=cDDn02CY;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 48R4N43Xmtz9sRQ
- for <incoming@patchwork.ozlabs.org>;
- Tue, 25 Feb 2020 01:35:00 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727825AbgBXOfA (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Mon, 24 Feb 2020 09:35:00 -0500
-Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:8373 "EHLO
- hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727803AbgBXOfA (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>);
- Mon, 24 Feb 2020 09:35:00 -0500
-Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e53def00000>; Mon, 24 Feb 2020 06:34:24 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate102.nvidia.com (PGP Universal service);
- Mon, 24 Feb 2020 06:34:59 -0800
-X-PGP-Universal: processed;
- by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:34:59 -0800
-Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
- (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Mon, 24 Feb 2020 14:34:59 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
- (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Mon, 24 Feb 2020 14:34:58 +0000
-Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e53df110000>; Mon, 24 Feb 2020 06:34:58 -0800
-From: Jon Hunter <jonathanh@nvidia.com>
-To: Thierry Reding <thierry.reding@gmail.com>
-CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
- Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
-Subject: [PATCH 3/4] ARM64: tegra: Fix Tegra186 SOR supply
-Date: Mon, 24 Feb 2020 14:34:35 +0000
-Message-ID: <20200224143436.5438-3-jonathanh@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
-References: <20200224143436.5438-1-jonathanh@nvidia.com>
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1582554864; bh=lUBb2WrI059cKuJQ/lQ6zAeA/dUVGu1GIMzWYnFLzuA=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- In-Reply-To:References:X-NVConfidentiality:MIME-Version:
- Content-Type;
- b=cDDn02CYOMd1x5bK/t7LoZ9fYn59xu8HcaGTMnsTAUfJYYkF5vUqcWjve/5PtksEv
- +bYF/ELx+KLrbyXQ4LtKHW1V8F2iDHhNR1Rrs+/MUuPuxuOXwTsaYJgLd2A/FWO54O
- men6fW7E5dJS7lmfJ050sgzZs+TABrFO/dyzOfrekczCVpqlnJEsPvdpFlBbzg125A
- ZW3sMSe1pW+54pvkCWL7YF/RFnb9zefc0feJmu0Ky+kMH2QOFPSvufzsFBxOr1bUaJ
- wqzLNTYwY6tWNy7axusq4KLKuCViERaAqSs/UlzzsrOQHJeecBOlH2GkFi8z7JASz2
- ucv0C5PUNzlTg==
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-The following warning is observed on the Jetson TX2 platform ...
-
- WARNING KERN tegra-sor 15540000.sor: 15540000.sor supply \
- vdd-hdmi-dp-pll not found, using dummy regulator
-
-The problem is caused because the regulator for the SOR device is
-missing the '-supply' suffix in Device-Tree. Therefore, add the
-'-supply' suffix to fix this warning.
-
-Fixes: 3fdfaf8718fa arm64: tegra: Enable DP support on Jetson TX2
-
-Cc: <stable@vger.kernel.org>
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
----
- arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-index 961b1be0c56b..1af7f9ffb7b6 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-@@ -278,7 +278,7 @@
- status = "okay";
-
- avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>;
-- vdd-hdmi-dp-pll = <&vdd_1v8_ap>;
-+ vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>;
-
- nvidia,dpaux = <&dpaux>;
- };
-
-From patchwork Mon Feb 24 14:34:36 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
-X-Patchwork-Id: 1243148
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=K9z8jYfd;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 48R4N71cwzz9sRQ
- for <incoming@patchwork.ozlabs.org>;
- Tue, 25 Feb 2020 01:35:03 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727830AbgBXOfC (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Mon, 24 Feb 2020 09:35:02 -0500
-Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:6117 "EHLO
- hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727803AbgBXOfC (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>);
- Mon, 24 Feb 2020 09:35:02 -0500
-Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e53deca0000>; Mon, 24 Feb 2020 06:33:46 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate102.nvidia.com (PGP Universal service);
- Mon, 24 Feb 2020 06:35:01 -0800
-X-PGP-Universal: processed;
- by hqpgpgate102.nvidia.com on Mon, 24 Feb 2020 06:35:01 -0800
-Received: from HQMAIL111.nvidia.com (172.20.187.18) by HQMAIL111.nvidia.com
- (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Mon, 24 Feb 2020 14:35:01 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL111.nvidia.com
- (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Mon, 24 Feb 2020 14:35:01 +0000
-Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e53df140006>; Mon, 24 Feb 2020 06:35:01 -0800
-From: Jon Hunter <jonathanh@nvidia.com>
-To: Thierry Reding <thierry.reding@gmail.com>
-CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
- Jon Hunter <jonathanh@nvidia.com>
-Subject: [PATCH 4/4] ARM64: tegra: Populate LP8557 backlight regulator
-Date: Mon, 24 Feb 2020 14:34:36 +0000
-Message-ID: <20200224143436.5438-4-jonathanh@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-In-Reply-To: <20200224143436.5438-1-jonathanh@nvidia.com>
-References: <20200224143436.5438-1-jonathanh@nvidia.com>
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1582554826; bh=8MBs7jrK7WrFNE7o6bG0zu41Sicfxu97bK94j6RYNJs=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- In-Reply-To:References:X-NVConfidentiality:MIME-Version:
- Content-Type;
- b=K9z8jYfdaYDh/XGz5S/vyzBWYN4ZPYT6jkue5E5YiUVIyQgLCoZqfSIh3h9luB+/C
- DhYTYMkUQRLasUE0VX9dr4Bn0Hxeaw8DjYS7BUq4LqfNwWjsCSsNEhk26FGBEUvhRH
- i2nMUMk5Ivw78ouR6qNZhI6freANsproJ+yQkA0cC9WXj5mQw4xcKRmL48dccxrX47
- aQi0BDk3SCzZBAa+4G3yynAGiRNiFuLVWkg/vFMcq1JDp6a2mVs/CS3Qj0/heE9gPn
- Qr2Wy0Oa6tg3jhxR9hk7qyy5FlkfDAtJOlUt6sPloPS4bhqqDJtbnXZL7lzHDP+sw+
- RZcjavnvJtCIQ==
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-The following warning is observed on Jetson TX1 platform because the
-supply regulator is not specified for the backlight.
-
- WARNING KERN lp855x 0-002c: 0-002c supply power not found, using dummy regulator
-
-The backlight supply is provided by the 3.3V SYS rail and so add this
-as the supply for the backlight.
-
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
----
- arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-index c70a610f8e3a..ea0e1efa6973 100644
---- a/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
-@@ -56,6 +56,7 @@
- backlight: backlight@2c {
- compatible = "ti,lp8557";
- reg = <0x2c>;
-+ power-supply = <&vdd_3v3_sys>;
-
- dev-ctrl = /bits/ 8 <0x80>;
- init-brt = /bits/ 8 <0xff>;
diff --git a/Add-LCD-support-for-Pine64-Pinebook-1080p.patch b/Add-LCD-support-for-Pine64-Pinebook-1080p.patch
deleted file mode 100644
index 632601e4c..000000000
--- a/Add-LCD-support-for-Pine64-Pinebook-1080p.patch
+++ /dev/null
@@ -1,1033 +0,0 @@
-From patchwork Wed Feb 26 08:10:07 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
-X-Patchwork-Id: 11405511
-Return-Path:
- <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C17F138D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:10:50 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 285BF20714
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:10:50 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="cdeyR8r0";
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="Q0cii6N4"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 285BF20714
-Authentication-Results: mail.kernel.org;
- dmarc=fail (p=none dis=none) header.from=gmail.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=Peo+SfFmr062rl3tgDW98UrixycGQzBn/gdB0fqrEec=; b=cdeyR8r0WrrQXL
- fhHLecv9WUzj5mN4Jb7+S8U3VVCIJu7TkDD13MiIv2xqHbC9HXLBkGdb2Vrq2Rcfkl/jwWjXcgwST
- vrUCWMU4jaNlxmeTiAXDyI1I6SEZ/9haXD8IUv7hU1BNoVyeH2GeaVHvTAwIA7TKEWzJHb3/naGAz
- Yir51L7gXJoATQ86WVBgdnZ/6rUUmZe1Gs9aHwEjMZ5Rz/9WNydTH/VLWBCVDA9zdZiq8+jhja7y6
- Dh8VhWGpCuvJ/6W0c7viQtFIuJAYI2cYQmI+ebHLMeiv0g7cZnaTxi/PPSICIl3iA9MSUbfVcYSoC
- Ro1yQC9H+yqHToXqdWTg==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rmK-0000to-Bs; Wed, 26 Feb 2020 08:10:48 +0000
-Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rmH-0000rv-7o
- for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:46 +0000
-Received: by mail-pl1-x644.google.com with SMTP id a6so990257plm.3
- for <linux-arm-kernel@lists.infradead.org>;
- Wed, 26 Feb 2020 00:10:44 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id:in-reply-to:references
- :mime-version:content-transfer-encoding;
- bh=bV3ZvEYwFOIunmpWLGzAgCdGTlK6S+EV6uVEHB+FGxY=;
- b=Q0cii6N45xFi8jvZk47bAoc1Nxu6hFKn2R/6gr1ZfjKbVoDJZ64PKB8Z3UWgfpC96z
- m858biDFlV7/4mo1LjVTUmbbBHm1yKrJnJ3uLVZBlEdyOFSDznZRxrzu6B/mSXoBfdGU
- mlGpBVLSLPU/z8ykPcedU1XFyCgTRivYgIcpSqG+QITc7/eIRdzyugFFz9Yzl27ql70w
- 8AlOefrAt/HgAlO+4L6JoXtZp+YN7BobPP6qXr0OfqH/1PLZecbnI0vC7uItRmmZkPfN
- j7AsPd8mIOV8s5KgCaaK+xwtreytUn7QQZvq+Frfrl0pLWndKlgav8D5uWnV85pooXdR
- SCgg==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
- :references:mime-version:content-transfer-encoding;
- bh=bV3ZvEYwFOIunmpWLGzAgCdGTlK6S+EV6uVEHB+FGxY=;
- b=ECNexu4zW9OhYucRWaQRPAtEEWE7WmtUxDePEa2BlUp2b5Kd9R3BagblFLB6VAHhjR
- wSrCiVTMvlAgNAiXJuKq/J5YnOKBFR7YdGYc9odgo3waiK/XQw5lNOjmNA3hJepAn0wb
- MXB9jYsbW2B5kyNLwCFFG6d6jTJEY6Q87mzTx3wqL6nBq6sjdHN5JvBkaERdHCCqKUVH
- /jOwV7W2QFG0Kb+DYvfelZbfBCUOMf68VHiwQICiY52q5geL/Oa8/ZO56kEfCx3geUXF
- qCuCL4PKAO3hL6jqm5peuzVj69VP64wtkL/eTdM7KKlJDTczayTs3A6DMsI9lRzmA7Ro
- w63A==
-X-Gm-Message-State: APjAAAWTEdsoaCfLa1vBLhPyuzgRQw35FJ8aGRWduCgpvWjMqcy6TWNi
- T7YrobqhUcuRzq8O/y3mjZo=
-X-Google-Smtp-Source:
- APXvYqwzmN2dNDKDPwprqjYoy3wHRxeIo1QTGdy8Nrs8WKG2CT6K8e2fuBfcpdmu4anfHjvkmdpjJQ==
-X-Received: by 2002:a17:902:6184:: with SMTP id
- u4mr2301682plj.216.1582704644297;
- Wed, 26 Feb 2020 00:10:44 -0800 (PST)
-Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
- [216.71.213.236])
- by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.43
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 26 Feb 2020 00:10:43 -0800 (PST)
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
- Andrzej Hajda <a.hajda@samsung.com>,
- Neil Armstrong <narmstrong@baylibre.com>,
- Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
- Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
- Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
- Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
- Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
- Stephen Rothwell <sfr@canb.auug.org.au>,
- Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
- devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org
-Subject: [PATCH v2 2/6] drm/bridge: anx6345: don't print error message if
- regulator is not ready
-Date: Wed, 26 Feb 2020 00:10:07 -0800
-Message-Id: <20200226081011.1347245-3-anarsoul@gmail.com>
-X-Mailer: git-send-email 2.25.0
-In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
-References: <20200226081011.1347245-1-anarsoul@gmail.com>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200226_001045_305939_7F59723B
-X-CRM114-Status: GOOD ( 13.16 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2607:f8b0:4864:20:0:0:0:644 listed in]
- [list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider [anarsoul[at]gmail.com]
- -0.0 SPF_PASS SPF: sender matches SPF record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-We don't want to print scary message if devm_regulator_get() returns
--EPROBE_DEFER
-
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
----
- drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
-index 0d8d083b0207..0bf81b9b5faa 100644
---- a/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
-+++ b/drivers/gpu/drm/bridge/analogix/analogix-anx6345.c
-@@ -714,14 +714,18 @@ static int anx6345_i2c_probe(struct i2c_client *client,
- /* 1.2V digital core power regulator */
- anx6345->dvdd12 = devm_regulator_get(dev, "dvdd12");
- if (IS_ERR(anx6345->dvdd12)) {
-- DRM_ERROR("dvdd12-supply not found\n");
-+ if (PTR_ERR(anx6345->dvdd12) != -EPROBE_DEFER)
-+ DRM_ERROR("Failed to get dvdd12 supply (%ld)\n",
-+ PTR_ERR(anx6345->dvdd12));
- return PTR_ERR(anx6345->dvdd12);
- }
-
- /* 2.5V digital core power regulator */
- anx6345->dvdd25 = devm_regulator_get(dev, "dvdd25");
- if (IS_ERR(anx6345->dvdd25)) {
-- DRM_ERROR("dvdd25-supply not found\n");
-+ if (PTR_ERR(anx6345->dvdd25) != -EPROBE_DEFER)
-+ DRM_ERROR("Failed to get dvdd25 supply (%ld)\n",
-+ PTR_ERR(anx6345->dvdd25));
- return PTR_ERR(anx6345->dvdd25);
- }
-
-
-From patchwork Wed Feb 26 08:10:08 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
-X-Patchwork-Id: 11405525
-Return-Path:
- <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BA056930
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:11:35 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 9013820714
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:11:35 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="LGhb4fkQ";
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="ZqFr2Xde"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9013820714
-Authentication-Results: mail.kernel.org;
- dmarc=fail (p=none dis=none) header.from=gmail.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=8ADp0ZCf/RXeiG8WcqeiUa/p9bRVFg9MWHrmkEvydR4=; b=LGhb4fkQPVOahi
- BJtXEN4XzL/JpAolHzThXXSCz6Ga6a4XRsdusD5lW+G9d20OKblS1Li2yUXQBF3gD69zww/f2uZ89
- SCjOIeF8YUi4eRd//H2ki/ugHNFjjr7D5+6X8lBg3oTpatQ2D+Snv83BF6PgDCBec7lxy6SgUaP77
- ouDw0lLlP00NBYXZp31b5lBknpI4oolPTNfq/3hCcsnQGKORXv4xPzuVGOj8m4Aj9K9Uc1D9o+S9t
- kYan/5JdjUcE2XmXgKkvQ4mK60O74eH9QZ1nqDxgtvQHnX7+JWnWoTTiYsV+8A/TxWEOTIeLpKZQJ
- f5BizujU0K80o5bM8ckg==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rn4-0001aC-Nf; Wed, 26 Feb 2020 08:11:34 +0000
-Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rmI-0000se-31
- for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:47 +0000
-Received: by mail-pj1-x1044.google.com with SMTP id fa20so941191pjb.1
- for <linux-arm-kernel@lists.infradead.org>;
- Wed, 26 Feb 2020 00:10:45 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id:in-reply-to:references
- :mime-version:content-transfer-encoding;
- bh=vEnVySXBYfW3b1su9MemqgqPSinDbCdHAw5n+ZVHXKA=;
- b=ZqFr2XdedoNMMzSdc2eWipJbPoWCSoIWOaxz1zsBu+w5FRw0nlJVp7B9aMcVR/ECrM
- fWpYYrpUhtSvO1rGsvHH3i7x8JxpD2QgM4DK0weubmj2twGyNSOa9Gvtg6KWDj0oARIV
- ossJG+QlPSs1QhoRE2faVAv1lrRd7/LwUBqX6m+LwRkGl9SmUJ5qeccTbXxGKO/jke+J
- hejsi+GJu4wBCG1LLI2Rb9i3hLwtSZ88dY/P2BygJXrOuCX1Xh6+4AO3P044cgvoby3X
- oVgYppEgNor2/7HskWoAIOtOe2teNJqCPhYgfnRcBTVY+U0Ce7WQEZmjOKtWi3whIYeH
- uQBQ==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
- :references:mime-version:content-transfer-encoding;
- bh=vEnVySXBYfW3b1su9MemqgqPSinDbCdHAw5n+ZVHXKA=;
- b=j3wqnMuutM7fm6+CgtpzUtqOybHnpB5v7GqNm5NrPLnZppqmIhQfo+XB29LZIR96Qs
- Jy7BnRxwn82nTsr0gsi1J1SPyTVkFBfD/FPq2K+ScOhP7bMVMYU+T7gh7VCDvj1OqGCr
- lwQ1+LNbccyZRW86D//6ySKwTfecrJ56FsWmrvWHvXykcnH8BIPijoOUTk7JgDMifSKZ
- KGWkKaKZsVGgzycQMDy2UnKCcgvfJ8NNCHS0aJEy7YIhVHyHct2MLeU2jOQsBNJAoB8p
- khuqKa1HHg9kFHvXcBokIyToppXiELRtmWg5Aixj6554KNk33a1wSglXIpxPHxncZ8sX
- wMUw==
-X-Gm-Message-State: APjAAAVIaRZ6h9Ll6HvsBP2/ITar71fuZ8QWSrR6RUAlo4+/JyCCMCmC
- nfYQIUTeyMaWhjT3gpH48Ag=
-X-Google-Smtp-Source:
- APXvYqySsTMpSDO1lKEob5Z3qPaMibUnculbDtGi+2b/LHKNJPcUDEb49L+OdYHplPurgC0YCZJGNA==
-X-Received: by 2002:a17:90a:32e4:: with SMTP id
- l91mr3675046pjb.23.1582704645464;
- Wed, 26 Feb 2020 00:10:45 -0800 (PST)
-Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
- [216.71.213.236])
- by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.44
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 26 Feb 2020 00:10:44 -0800 (PST)
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
- Andrzej Hajda <a.hajda@samsung.com>,
- Neil Armstrong <narmstrong@baylibre.com>,
- Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
- Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
- Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
- Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
- Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
- Stephen Rothwell <sfr@canb.auug.org.au>,
- Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
- devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org
-Subject: [PATCH v2 3/6] dt-bindings: Add Guangdong Neweast Optoelectronics CO.
- LTD vendor prefix
-Date: Wed, 26 Feb 2020 00:10:08 -0800
-Message-Id: <20200226081011.1347245-4-anarsoul@gmail.com>
-X-Mailer: git-send-email 2.25.0
-In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
-References: <20200226081011.1347245-1-anarsoul@gmail.com>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200226_001046_126436_F508C228
-X-CRM114-Status: GOOD ( 10.72 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider [anarsoul[at]gmail.com]
- -0.0 SPF_PASS SPF: sender matches SPF record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-Add vendor prefix for Guangdong Neweast Optoelectronics CO. LTD
-
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
-Acked-by: Rob Herring <robh@kernel.org>
----
- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
-index 6456a6dfd83d..5dfbad67aa81 100644
---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
-+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
-@@ -661,6 +661,8 @@ patternProperties:
- description: Netron DY
- "^netxeon,.*":
- description: Shenzhen Netxeon Technology CO., LTD
-+ "^neweast,.*":
-+ description: Guangdong Neweast Optoelectronics CO., LTD
- "^nexbox,.*":
- description: Nexbox
- "^nextthing,.*":
-
-From patchwork Wed Feb 26 08:10:09 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
-X-Patchwork-Id: 11405527
-Return-Path:
- <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2CC5A930
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:11:45 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id D99A220714
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:11:44 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="NUXv3B19";
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="TBrP0h2w"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D99A220714
-Authentication-Results: mail.kernel.org;
- dmarc=fail (p=none dis=none) header.from=gmail.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=anQFpGzSkI8IBbKtjkscYMGuTNi8IBx1f7ryKOpbIQ4=; b=NUXv3B191+285a
- VyP0wvrXMEDMQsqqwv88YNzVR2CeJlhZYqbOVNDVdMHvHr7VbKohas0brz70I9kD9oQKr8t4lNbcq
- p27kG4qmaeRzFa9TSIHJ6PLhfmuWhOctg7DrOaYPazvpEuklClpuIdh1nARq7aHgGVbwUQ2d9UAeL
- DNq8Ux3oAlmn2fRtjEYbI2QEFz9SsD8mL0pK+qeYhw864dbHZoD4qv2z3wiRIOFxP5kjt9+cGXF32
- U1GcKdog5IoElC7tP0e4kSeB6uhotxHuDO0FXghwnV/ScLxd+6TtAaNNox4x40LRQl7k4Cj5QGKgC
- VUXOowbwTnzHE53PQGUQ==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rnE-0001ln-0r; Wed, 26 Feb 2020 08:11:44 +0000
-Received: from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rmJ-0000tK-MR
- for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:48 +0000
-Received: by mail-pf1-x42d.google.com with SMTP id i19so1066942pfa.2
- for <linux-arm-kernel@lists.infradead.org>;
- Wed, 26 Feb 2020 00:10:47 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id:in-reply-to:references
- :mime-version:content-transfer-encoding;
- bh=UNDrMK3Cuph8hAawynxP4ClnMYdwocSlmGrvdp+XI7U=;
- b=TBrP0h2wisco9iwCPRUPdbzfKPQaem8N0CCbkufM0ubNMvNGPVi7J4OrKi6XaCKbH6
- hh3Y+bgMR/KAzZy3SJxpHSn/W55kTsTGse062SF7bXdc1s6lOwPqxkWqbnhYBTrOOQRL
- P5UEoGPV5IsF76w8fyduRaTE03AV7RIeG3tdyzE6dWtIWMgpvpx224lpnK6HQOTLFKGx
- 8NN0VzAznR0u0zIR0NAXJZCtJ32GmXNwAp/DudApysZdxoB5XwxmgmLNpboYi0ogxMJL
- H4NuemzoK00dffBEXYJVCaGEH3TCcpoSWqSDpn+UxmqlsA7Meikom5RyLGooaap33bAj
- PsSg==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
- :references:mime-version:content-transfer-encoding;
- bh=UNDrMK3Cuph8hAawynxP4ClnMYdwocSlmGrvdp+XI7U=;
- b=tNIHOh5/U2zSCDF9YxBv2gBrXaOp1Ic3Ed0/DF9W1SwZlsOm8NdJnPoG/Qzz4Zzq9f
- XO2KlEwTsZL/p5cUoBsgJp31//jbQwtydKN7A6Bc8syqlzNqTKkbH0lWw27byIqRQNVb
- LZPrt8szaFd6cOQMgYuhMuft7xy3AEwAflpXSPhYxAZ/7/+17p9vRxIYfeQL25gxolY5
- wcpVsTQNM58hJqeMjh5zlpTHzNVNi6eK1DfN4jgGyciaKSD2NkiJ8h94ilf+WPFSg2EC
- tfX9NpVWx/fPa+99QUAGGBQZ6Rda+Iwf3iK2ypaJcz83ttVMLmZuoHn2gUauHWp5uwPX
- nOQg==
-X-Gm-Message-State: APjAAAXSV09JyCccUw4DNzettQ7Qf47judkIMcKg29H1A33F/f9wiexa
- clMeRPA3ejNUAeXoRpvNjIE=
-X-Google-Smtp-Source:
- APXvYqx16ATSH0Ri7QydUSr5etiFpP7VXGwv2ajzCwfEDuf3Fsc6V5gruuHjTDm3C4cjgRnxu80rnQ==
-X-Received: by 2002:a63:42c2:: with SMTP id
- p185mr2844380pga.268.1582704646751;
- Wed, 26 Feb 2020 00:10:46 -0800 (PST)
-Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
- [216.71.213.236])
- by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.45
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 26 Feb 2020 00:10:46 -0800 (PST)
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
- Andrzej Hajda <a.hajda@samsung.com>,
- Neil Armstrong <narmstrong@baylibre.com>,
- Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
- Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
- Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
- Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
- Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
- Stephen Rothwell <sfr@canb.auug.org.au>,
- Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
- devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org
-Subject: [PATCH v2 4/6] dt-bindings: display: simple: Add NewEast
- Optoelectronics WJFH116008A compatible
-Date: Wed, 26 Feb 2020 00:10:09 -0800
-Message-Id: <20200226081011.1347245-5-anarsoul@gmail.com>
-X-Mailer: git-send-email 2.25.0
-In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
-References: <20200226081011.1347245-1-anarsoul@gmail.com>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200226_001047_734455_8E1B858A
-X-CRM114-Status: GOOD ( 10.74 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2607:f8b0:4864:20:0:0:0:42d listed in]
- [list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider [anarsoul[at]gmail.com]
- -0.0 SPF_PASS SPF: sender matches SPF record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This commit adds compatible for NewEast Optoelectronics WJFH116008A panel
-to panel-simple binding
-
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
----
- .../devicetree/bindings/display/panel/panel-simple.yaml | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
-index 8fe60ee2531c..0e5d01ac32e1 100644
---- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
-+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
-@@ -39,6 +39,8 @@ properties:
- - boe,nv140fhmn49
- # GiantPlus GPM940B0 3.0" QVGA TFT LCD panel
- - giantplus,gpm940b0
-+ # NewEast Optoelectronics CO., LTD WJFH116008A eDP TFT LCD panel
-+ - neweast,wjfh116008a
- # Satoz SAT050AT40H12R2 5.0" WVGA TFT LCD panel
- - satoz,sat050at40h12r2
- # Sharp LS020B1DD01D 2.0" HQVGA TFT LCD panel
-
-From patchwork Wed Feb 26 08:10:10 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
-X-Patchwork-Id: 11405529
-Return-Path:
- <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 98009138D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:12:06 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 706E22084E
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:12:06 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="RFmzpGxa";
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="l/TW+lXA"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 706E22084E
-Authentication-Results: mail.kernel.org;
- dmarc=fail (p=none dis=none) header.from=gmail.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=Pjezg2eBVUZyXclyd85ezSxR08wks+q8A4EL9XqNFV8=; b=RFmzpGxaCKDN3Z
- TKB9iB1O5CpLIOo6BJ5GeTFZUYua2bsR/5wdIkFR8fHe0NtrBQBgr9UFC3bn7vAR4ElOOPsqyiY/U
- sSFoABabi3ubYjB5EsEFderIxHy3jM1GCiATMOVuVlQUCp+RBUOrZ0BRaeCfZHQwQ+TC1XczMZi7K
- 3XAWciGmtAuQ0Fc+gjavhcSmThyAtlQ6dsXPA4Hs4tprQ4d1n4JaaPj/aoigY2QgcBGm3ZoTjSf67
- lYjS0cBqOBMPxzeebuHILvAdrgyxP4euSXXQdM7ufztwwR60nibOMdsv9qjDABojmkq8B5MTZqdOH
- 0ZaZ5qKKNoBg4Cc0s4tw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rnW-00022y-I8; Wed, 26 Feb 2020 08:12:02 +0000
-Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rmK-0000tn-HT
- for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:49 +0000
-Received: by mail-pf1-x444.google.com with SMTP id x185so1062134pfc.5
- for <linux-arm-kernel@lists.infradead.org>;
- Wed, 26 Feb 2020 00:10:48 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id:in-reply-to:references
- :mime-version:content-transfer-encoding;
- bh=2c6a2wUIf1607PZkN1rZk+L4ET6oyW/A+dmD8ze92gI=;
- b=l/TW+lXATIXM17aGIZ9zrNTKWKrYbTiLzzjCckt2sYGCNOgBJIAM/09gAYIyO8Ix1n
- UHbe88pAp1n0plvmre5V5bbjfK092LKIqAYUkzsgoJS7/2xUSMZgE5o2q6j40HA9jjre
- FF8uZvB+fx7B6YmX6nxlrWe2JsyENeFsB23HdsKTAR2dEJOG0eVZaT0pJNwkmq0+XMJC
- c9jFO1zsFW7hO9kM7570YJrU/mpImzvlnR4RWJMtjUx3BXAFto3xHr0udkFVc1dm8Tg0
- Ip4cwJcKanfhov2dNsyjvshdovNKgTGIdSWpGBGikwWBexhz01R0zL94DTwVMPuTLhGV
- /+nw==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
- :references:mime-version:content-transfer-encoding;
- bh=2c6a2wUIf1607PZkN1rZk+L4ET6oyW/A+dmD8ze92gI=;
- b=AFqJOlne6XiqyfXbe7Qg6mrk2SdVqJ7iExvkHRxNVYmdxUbR/6yRhvzOZQSVBtKC5i
- TmW2u4Q8eZPHYreKvOIUWITey052Zg4u9hGHB3rMw7Av/4qxpWNPtkFqzZfU7XRxu98o
- CGp2OcESKg6Ut1utUOOlHQrkxQCAKOG9z7/J5db2Ia8pCEzog0sZXpgIY4VSkT8+trYy
- WcqYWGslvZVqZM/Vdc/26b2UTKBa6wqGA8lwIZ8hdr/UmSELSpEf6BVvU08zKfxoF/1B
- 75us7suZtGwlG5X7xkj/8QUNiraZ4UQF4XTR7cywE+zar2l5vCrFG2751fJZrx9xW5+1
- w3oQ==
-X-Gm-Message-State: APjAAAUZZE/KK0NMOoMfAeeMMg5NlS/caB+zFkrqz5jH670/oibneZxJ
- h4YLd4JzSbuB9egyQmmLO68=
-X-Google-Smtp-Source:
- APXvYqy00/8d+Wer4Z0MFSOy0sPlhrq7zbo/TdsWVeXFTKfHPPar8rV+DBjhxAWH91y4lWNMO4S3Pw==
-X-Received: by 2002:a63:ec0c:: with SMTP id j12mr2609426pgh.78.1582704647920;
- Wed, 26 Feb 2020 00:10:47 -0800 (PST)
-Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
- [216.71.213.236])
- by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.46
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 26 Feb 2020 00:10:47 -0800 (PST)
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
- Andrzej Hajda <a.hajda@samsung.com>,
- Neil Armstrong <narmstrong@baylibre.com>,
- Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
- Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
- Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
- Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
- Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
- Stephen Rothwell <sfr@canb.auug.org.au>,
- Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
- devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org
-Subject: [PATCH v2 5/6] drm/panel: simple: Add NewEast Optoelectronics CO.,
- LTD WJFH116008A panel support
-Date: Wed, 26 Feb 2020 00:10:10 -0800
-Message-Id: <20200226081011.1347245-6-anarsoul@gmail.com>
-X-Mailer: git-send-email 2.25.0
-In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
-References: <20200226081011.1347245-1-anarsoul@gmail.com>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200226_001048_596182_84BBBB6A
-X-CRM114-Status: GOOD ( 13.16 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2607:f8b0:4864:20:0:0:0:444 listed in]
- [list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider [anarsoul[at]gmail.com]
- -0.0 SPF_PASS SPF: sender matches SPF record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This commit adds support for the NewEast Optoelectronics CO., LTD
-WJFH116008A 11.6" 1920x1080 TFT LCD panel.
-
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
----
- drivers/gpu/drm/panel/panel-simple.c | 48 ++++++++++++++++++++++++++++
- 1 file changed, 48 insertions(+)
-
-diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
-index e14c14ac62b5..4292e3e3a461 100644
---- a/drivers/gpu/drm/panel/panel-simple.c
-+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -2224,6 +2224,51 @@ static const struct panel_desc netron_dy_e231732 = {
- .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
- };
-
-+static const struct drm_display_mode neweast_wjfh116008a_modes[] = {
-+ {
-+ .clock = 138500,
-+ .hdisplay = 1920,
-+ .hsync_start = 1920 + 48,
-+ .hsync_end = 1920 + 48 + 32,
-+ .htotal = 1920 + 48 + 32 + 80,
-+ .vdisplay = 1080,
-+ .vsync_start = 1080 + 3,
-+ .vsync_end = 1080 + 3 + 5,
-+ .vtotal = 1080 + 3 + 5 + 23,
-+ .vrefresh = 60,
-+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
-+ }, {
-+ .clock = 110920,
-+ .hdisplay = 1920,
-+ .hsync_start = 1920 + 48,
-+ .hsync_end = 1920 + 48 + 32,
-+ .htotal = 1920 + 48 + 32 + 80,
-+ .vdisplay = 1080,
-+ .vsync_start = 1080 + 3,
-+ .vsync_end = 1080 + 3 + 5,
-+ .vtotal = 1080 + 3 + 5 + 23,
-+ .vrefresh = 48,
-+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
-+ }
-+};
-+
-+static const struct panel_desc neweast_wjfh116008a = {
-+ .modes = neweast_wjfh116008a_modes,
-+ .num_modes = 2,
-+ .bpc = 6,
-+ .size = {
-+ .width = 260,
-+ .height = 150,
-+ },
-+ .delay = {
-+ .prepare = 110,
-+ .enable = 20,
-+ .unprepare = 500,
-+ },
-+ .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
-+ .connector_type = DRM_MODE_CONNECTOR_eDP,
-+};
-+
- static const struct drm_display_mode newhaven_nhd_43_480272ef_atxl_mode = {
- .clock = 9000,
- .hdisplay = 480,
-@@ -3399,6 +3444,9 @@ static const struct of_device_id platform_of_match[] = {
- }, {
- .compatible = "netron-dy,e231732",
- .data = &netron_dy_e231732,
-+ }, {
-+ .compatible = "neweast,wjfh116008a",
-+ .data = &neweast_wjfh116008a,
- }, {
- .compatible = "newhaven,nhd-4.3-480272ef-atxl",
- .data = &newhaven_nhd_43_480272ef_atxl,
-
-From patchwork Wed Feb 26 08:10:11 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Vasily Khoruzhick <anarsoul@gmail.com>
-X-Patchwork-Id: 11405531
-Return-Path:
- <SRS0=yLUK=4O=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 77856930
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:12:17 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 51B0C24670
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 26 Feb 2020 08:12:17 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="Ttb9cpIi";
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="Uj9USULV"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 51B0C24670
-Authentication-Results: mail.kernel.org;
- dmarc=fail (p=none dis=none) header.from=gmail.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=LnkqG8iA0ymdTA2w7CdGVHSCIBdn7y28YqcNDvsJWNU=; b=Ttb9cpIiR16OSX
- C+0UQyaaAqkD801MCZ65bwRsQy+0yRPSFzRfv8Tc2s5Gm5L6TR05fd2w3uM9MocpU2FRV80A2XmKG
- rVRDRn0q7jNpoxIYIc+2RWUuL1Jr7YvueQgU57O5c69nl3SgTzbc1r1xUS/q3mQkrGHbpmY2PlayQ
- RPA4BQ3hNGi6naA71o8hf+uG9U8PousU2XUFhROHgAx7hePPf25ESKTbZVfKke7QuDJBw4JFxYJym
- MH/qF08Y4EMH0jZYh/oeBwEf8X3Kb0CWHSTjMi9ppWH/SimAViI2NWVuusqvOdmXWorBM0vPTx8dG
- 0xJZ511Bv5LYDdz46Zgw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rnk-0002Fx-FU; Wed, 26 Feb 2020 08:12:16 +0000
-Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j6rmL-0000vN-TN
- for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2020 08:10:51 +0000
-Received: by mail-pf1-x441.google.com with SMTP id s1so1047374pfh.10
- for <linux-arm-kernel@lists.infradead.org>;
- Wed, 26 Feb 2020 00:10:49 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id:in-reply-to:references
- :mime-version:content-transfer-encoding;
- bh=1/9ulr35We1VvK4OKOtO+SeDdjZAIuN626KlRGL51e8=;
- b=Uj9USULV1YhIjRQTGet+GBQYuuhLAkRgQq5aOXkZU55ZeXZOwYCvjYC0XTbkwI02vn
- nMqNb637FbLBsLL+0OixEVNpFP/WYWrCLF5zLIEBTSZkXEK2J8hPyn24masq/KXBnUXK
- 1WpXqTxgjbgl1eq/uxSXJMuc6aResWHy1sQuEaEYBEWdEyvPqtQts5z5Su639wYEgo9n
- wE96FuZQY46tDJyTJqt+ZJrzDYNCNenLNiqWFwxe/zxWzBuM58iQ9ur+6Ym5ldZxRpj8
- JJ2JlN+8/BPq8Wk9S0SAMAUumaOifHahGje65ULSbNA6Krngc4WuiBgliS4rekKjbPPq
- Xcow==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
- :references:mime-version:content-transfer-encoding;
- bh=1/9ulr35We1VvK4OKOtO+SeDdjZAIuN626KlRGL51e8=;
- b=NlA7PKzSo4EOEYlOtdfcH6TkSjbixH6f2CBb9+YjK0Qva2JOIWHVkd/xLF8DiM7+a5
- WsI9c+6xtz/2NumAXPb3HJFRydr5L7HJjDvivJsN7nfSEG7DEhH69XXTIvEZenriDrMi
- Y/e4D3KpvoqbzqXxLHj8aeWp4qLjT8qZkPhI2+wLfkiFn3RhC0Z7dPFHKp5axa/eBHDl
- /P2wVZuhjA35KPAjAYlfuV8D1o3WnCOLw0ZUU3WlqU13p/3JBnZcqIzYgbspdp0VpGuF
- FgeJtSaGyjIGdX5dS4zCvctLEovV3BWeFzMmx5oz2ugpokl4iACnNbBecKLEvWf5onEA
- Iiow==
-X-Gm-Message-State: APjAAAW9K1sMiX2Ac7+xWeNX1IDTamXxZ1XKYfBb0FZh75fpIBHjo5qr
- ZkS5JBqo+VG0fyrC0fmOg4c=
-X-Google-Smtp-Source:
- APXvYqwdqfkaKNsVj/z20Fl00qUooa5Fc8g4w6gy6KhAC3QgiEMz+qOhI4aMxTYoHDNd7Lx/skz8fQ==
-X-Received: by 2002:a62:1883:: with SMTP id 125mr3012096pfy.166.1582704649041;
- Wed, 26 Feb 2020 00:10:49 -0800 (PST)
-Received: from anarsoul-thinkpad.lan (216-71-213-236.dyn.novuscom.net.
- [216.71.213.236])
- by smtp.gmail.com with ESMTPSA id v7sm1679230pfn.61.2020.02.26.00.10.48
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 26 Feb 2020 00:10:48 -0800 (PST)
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
- Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Maxime Ripard <maxime@cerno.tech>, Chen-Yu Tsai <wens@csie.org>,
- Andrzej Hajda <a.hajda@samsung.com>,
- Neil Armstrong <narmstrong@baylibre.com>,
- Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
- Jonas Karlman <jonas@kwiboo.se>, Jernej Skrabec <jernej.skrabec@siol.net>,
- Torsten Duwe <duwe@suse.de>, Icenowy Zheng <icenowy@aosc.io>,
- Heiko Stuebner <heiko.stuebner@theobroma-systems.com>,
- Stephan Gerhold <stephan@gerhold.net>, Mark Brown <broonie@kernel.org>,
- Stephen Rothwell <sfr@canb.auug.org.au>,
- Samuel Holland <samuel@sholland.org>, dri-devel@lists.freedesktop.org,
- devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org
-Subject: [PATCH v2 6/6] arm64: allwinner: a64: enable LCD-related hardware for
- Pinebook
-Date: Wed, 26 Feb 2020 00:10:11 -0800
-Message-Id: <20200226081011.1347245-7-anarsoul@gmail.com>
-X-Mailer: git-send-email 2.25.0
-In-Reply-To: <20200226081011.1347245-1-anarsoul@gmail.com>
-References: <20200226081011.1347245-1-anarsoul@gmail.com>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200226_001050_010315_52B91C3C
-X-CRM114-Status: GOOD ( 14.29 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2607:f8b0:4864:20:0:0:0:441 listed in]
- [list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider [anarsoul[at]gmail.com]
- -0.0 SPF_PASS SPF: sender matches SPF record
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-From: Icenowy Zheng <icenowy@aosc.io>
-
-Pinebook has an ANX6345 bridge connected to the RGB666 LCD output and
-eDP panel input. The bridge is controlled via I2C that's connected to
-R_I2C bus.
-
-Enable all this hardware in device tree.
-
-Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
----
- .../dts/allwinner/sun50i-a64-pinebook.dts | 61 ++++++++++++++++++-
- 1 file changed, 60 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index c06c540e6c08..0033f6a43d98 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -48,6 +48,18 @@ lid_switch {
- };
- };
-
-+ panel_edp: panel-edp {
-+ compatible = "neweast,wjfh116008a";
-+ backlight = <&backlight>;
-+ power-supply = <&reg_dc1sw>;
-+
-+ port {
-+ panel_edp_in: endpoint {
-+ remote-endpoint = <&anx6345_out_edp>;
-+ };
-+ };
-+ };
-+
- reg_vbklt: vbklt {
- compatible = "regulator-fixed";
- regulator-name = "vbklt";
-@@ -109,6 +121,10 @@ &dai {
- status = "okay";
- };
-
-+&de {
-+ status = "okay";
-+};
-+
- &ehci0 {
- phys = <&usbphy 0>;
- phy-names = "usb";
-@@ -119,6 +135,10 @@ &ehci1 {
- status = "okay";
- };
-
-+&mixer0 {
-+ status = "okay";
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
-@@ -177,12 +197,38 @@ &pwm {
- status = "okay";
- };
-
--/* The ANX6345 eDP-bridge is on r_i2c */
- &r_i2c {
- clock-frequency = <100000>;
- pinctrl-names = "default";
- pinctrl-0 = <&r_i2c_pl89_pins>;
- status = "okay";
-+
-+ anx6345: anx6345@38 {
-+ compatible = "analogix,anx6345";
-+ reg = <0x38>;
-+ reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
-+ dvdd25-supply = <&reg_dldo2>;
-+ dvdd12-supply = <&reg_fldo1>;
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ anx6345_in: port@0 {
-+ reg = <0>;
-+ anx6345_in_tcon0: endpoint {
-+ remote-endpoint = <&tcon0_out_anx6345>;
-+ };
-+ };
-+
-+ anx6345_out: port@1 {
-+ reg = <1>;
-+ anx6345_out_edp: endpoint {
-+ remote-endpoint = <&panel_edp_in>;
-+ };
-+ };
-+ };
-+ };
- };
-
- &r_pio {
-@@ -357,6 +403,19 @@ &sound {
- "MIC2", "Internal Microphone Right";
- };
-
-+&tcon0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&lcd_rgb666_pins>;
-+
-+ status = "okay";
-+};
-+
-+&tcon0_out {
-+ tcon0_out_anx6345: endpoint {
-+ remote-endpoint = <&anx6345_in_tcon0>;
-+ };
-+};
-+
- &uart0 {
- pinctrl-names = "default";
- pinctrl-0 = <&uart0_pb_pins>;
diff --git a/Add-support-for-PinePhone-LCD-panel.patch b/Add-support-for-PinePhone-LCD-panel.patch
deleted file mode 100644
index a8cfd239a..000000000
--- a/Add-support-for-PinePhone-LCD-panel.patch
+++ /dev/null
@@ -1,1121 +0,0 @@
-From patchwork Mon Mar 16 13:35:00 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
-X-Patchwork-Id: 11440381
-Return-Path:
- <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 11A10913
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:37:33 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id D823220658
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:37:32 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="tONvF8xL";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=aosc.io header.i=@aosc.io header.b="OUlaYo/F"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D823220658
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=aosc.io
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=jopI4a0lnvKcPoWIQDtsU3+Ud4Almv/gYxD7C8b74AM=; b=tONvF8xLa0JOdp
- lOlDz1mTuocTtleB1tz2mVLFhSSnvPuEVHfe/+tTd0RxGBi7RgesJwyproaLem7CQJC9XdeBHMAZi
- GNHPDPwS11F/9Q5j0RGa9hqzmBn4auXeKB00LRPKKoNjIlbcXQzzU8tkGtvEHi7rHOS+k1TFWgSaM
- UlnBfqD6z8rSAHHbAEPb9+dE9/gMuw6M8wi+4UwFZY8i8yxkjP00OfL3P1GUjX5Z8m3OTawi2jupS
- yVUtKm/2fMPvyfC2x1YWUbTWiJoY1bznqv51lHwfOL60HJobKpisG/QRBWTmCdk3khQTjVBhrf7vG
- syf/hIWeb2vFaaPjGf+g==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpvt-0007Bn-Dl; Mon, 16 Mar 2020 13:37:29 +0000
-Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpvq-0007Ax-Dr
- for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:28 +0000
-X-Spam: yes
-X-Spam-Score: 6.6 / 99999
-X-Spam-Symbols: FROM_HAS_DN, RCPT_COUNT_TWELVE, FREEMAIL_TO, FROM_EQ_ENVFROM,
- SUSPICIOUS_RECIPS, ARC_NA, RCVD_VIA_SMTP_AUTH, TAGGED_RCPT,
- RCVD_COUNT_TWO, BROKEN_CONTENT_TYPE, TO_MATCH_ENVRCPT_SOME,
- MIME_TRACE, ASN, TO_DN_SOME, FREEMAIL_ENVRCPT,
- RCVD_NO_TLS_LAST, R_MISSING_CHARSET, MID_CONTAINS_FROM
-Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 040dde7f
- (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
- Mon, 16 Mar 2020 06:37:23 -0700 (PDT)
-Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
- icenowy@aosc.io)
- by hermes.aosc.io (Postfix) with ESMTPSA id 4124F4C196;
- Mon, 16 Mar 2020 13:37:10 +0000 (UTC)
-From: Icenowy Zheng <icenowy@aosc.io>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
- Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
-Subject: [PATCH v2 2/5] dt-bindings: panel: add binding for Xingbangda XBD599
- panel
-Date: Mon, 16 Mar 2020 21:35:00 +0800
-Message-Id: <20200316133503.144650-3-icenowy@aosc.io>
-In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
-References: <20200316133503.144650-1-icenowy@aosc.io>
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
- t=1584365841;
- h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
- bh=k5dZsJ/q6rrXyDSO2nmOTWqvPhDI4C+8rut25MFD+Sk=;
- b=OUlaYo/FyQ18QC+9N7l4EKPc9OYtnaEJ6rHTTmw5vWDG6bE4z3Dc0JryPNmmzGXHubXOqg
- vnAixztTiQggjBI+b2WQ1uKGq0JCKJczHDkbgeZsFMqH3T47xzNMNhu6qv5Xdi+haGzyNU
- I+cG4IhCqhUW5fahJroACP3Tm5imnHs=
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200316_063726_515303_1C969948
-X-CRM114-Status: GOOD ( 12.18 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
- [list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
- linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI LCD panel.
-
-Add its device tree binding.
-
-Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
----
-Changes in v2:
-- Example fix.
-- Format fix.
-
- .../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 = <&reg_dldo2>;
-+ vcc-supply = <&reg_ldo_io0>;
-+ };
-+ };
-+
-+...
-
-From patchwork Mon Mar 16 13:35:01 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
-X-Patchwork-Id: 11440383
-Return-Path:
- <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 04CA013B1
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:37:50 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id D4F1120658
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:37:49 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="Jauls22L";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=aosc.io header.i=@aosc.io header.b="OnKcz19D"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D4F1120658
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=aosc.io
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=TxGU4PiXBW274B0/qrcSGwYW6OdGxEdBGH504PoyIqM=; b=Jauls22LYE5NsX
- fIslO/JUfhiN/XQQPdC2Q86jHiYF+bbm4r85Xyq09Ea+0sSxxchTeTfcHA7HMyk4GRem3FQJXH2yK
- Rzs6OLQ/fL1rBVeMyXfJbyfR5Pq5ODc+lAI83DF0iPoCSFpcv40jQxkZnIkcrVvsbpilK1ord7fQ0
- 1hf6hPDvswsxcgSbirrbJMfnYSIEzsUT5rrFvv9ws9J8ukRYOqsS9lXTdrXk03uLskptzBYp5sYVw
- Jb34Fq+gtFhgoUE8jONVa6Puexcl2grtch82d6/Lwcy3v7KtztAQyeFw88UVUF+rNx/Q67yiLMNiF
- OPLOwCemY5TZ4eYEkWgA==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpwA-0007PW-5b; Mon, 16 Mar 2020 13:37:46 +0000
-Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpw4-0007Ng-T4
- for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:42 +0000
-X-Spam: yes
-X-Spam-Score: 6.6 / 99999
-X-Spam-Symbols: MID_CONTAINS_FROM, FREEMAIL_TO, RCVD_COUNT_TWO,
- FROM_EQ_ENVFROM, ASN, SUSPICIOUS_RECIPS, RCVD_VIA_SMTP_AUTH,
- TO_DN_SOME, FREEMAIL_ENVRCPT, TAGGED_RCPT, RCVD_NO_TLS_LAST,
- ARC_NA, R_MISSING_CHARSET, BROKEN_CONTENT_TYPE,
- RCPT_COUNT_TWELVE, FROM_HAS_DN, TO_MATCH_ENVRCPT_SOME,
- MIME_TRACE
-Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 2c12d690
- (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
- Mon, 16 Mar 2020 06:37:40 -0700 (PDT)
-Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
- icenowy@aosc.io)
- by hermes.aosc.io (Postfix) with ESMTPSA id E8D484C196;
- Mon, 16 Mar 2020 13:37:25 +0000 (UTC)
-From: Icenowy Zheng <icenowy@aosc.io>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
- Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
-Subject: [PATCH v2 3/5] drm: panel: add Xingbangda XBD599 panel
-Date: Mon, 16 Mar 2020 21:35:01 +0800
-Message-Id: <20200316133503.144650-4-icenowy@aosc.io>
-In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
-References: <20200316133503.144650-1-icenowy@aosc.io>
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
- t=1584365858;
- h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
- bh=r0lAtSWiBn8DOOqWzP8ERo3YcHe6/FA1xbvH5pEdRgw=;
- b=OnKcz19DT6MgLt+rgH0qVaATJ7fQDnAVAXaZvZQM3agXAI3XDxnHoi+2DeVncogjT1bp0P
- ljZ0XWs8BoeGtQ0sIdrAMvsBTCbnxBJHQqa3OWxS5inT7+90pxlCDVLERhwqIefwzeZDVJ
- liP/v36WTzYINROF0nSPe1azOWltJ/g=
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200316_063740_985291_78D98883
-X-CRM114-Status: GOOD ( 20.73 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
- [list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
- linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-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>
----
-Changes in v2:
-- Raised copyright info to 2020.
-- Sort panel operation functions.
-- Sort inclusion.
-
- 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 a1723c1b5fbf..cf0c59015a44 100644
---- a/drivers/gpu/drm/panel/Kconfig
-+++ b/drivers/gpu/drm/panel/Kconfig
-@@ -433,6 +433,15 @@ config DRM_PANEL_TRULY_NT35597_WQXGA
- Say Y here if you want to enable support for Truly NT35597 WQXGA Dual 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 96a883cd6630..c84ed5215984 100644
---- a/drivers/gpu/drm/panel/Makefile
-+++ b/drivers/gpu/drm/panel/Makefile
-@@ -46,4 +46,5 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o
- 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_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..8d56b6579111
---- /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");
-
-From patchwork Mon Mar 16 13:35:02 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
-X-Patchwork-Id: 11440385
-Return-Path:
- <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3551613B1
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:38:04 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 12F1120658
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:38:04 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="FXIsTC05";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=aosc.io header.i=@aosc.io header.b="quP9cKqY"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 12F1120658
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=aosc.io
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=Ok8n9BLE8SnVMofHytH8sKJgOZAdRVkUgENm5rZmFlM=; b=FXIsTC05LwmLW8
- JIUJYcuGPwnerCktLqhIRVMIoUACV+PBjwCaXLEWUaLpYsx/fkH/6JQM4BBzg1AyfDq3atRF/nnBb
- XD4OWFZC8nCVDiR7dqlEAxyOti5i1hsKYi1uKkOlwNdMx50Vklm+IEr5nd2rtKoWSFgNvr0LIQmYR
- jk2fY+4TpwdEjCfSfCDoDlZsCssNnoQsaN2VRgkV0bKKSaQ+OTufaRoG4E3Ktjp2f0+IE0+saR8OT
- ah8mB5WNxc5/MFTGoh8hq8aF2GlOfdhjRuNORBTjH7FRmGVFIsFY1dfMmTBQOnsDrxzz2guZVksZN
- nf60u+PrkKp4zaAGdb8A==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpwP-0007eD-4F; Mon, 16 Mar 2020 13:38:01 +0000
-Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpwL-0007bo-FZ
- for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:37:58 +0000
-X-Spam: yes
-X-Spam-Score: 6.6 / 99999
-X-Spam-Symbols: TO_DN_SOME, FREEMAIL_ENVRCPT, TO_MATCH_ENVRCPT_SOME,
- MID_CONTAINS_FROM, RCVD_NO_TLS_LAST, RCVD_COUNT_TWO,
- SUSPICIOUS_RECIPS, FROM_EQ_ENVFROM, ASN, R_MISSING_CHARSET,
- TAGGED_RCPT, RCPT_COUNT_TWELVE, FREEMAIL_TO, ARC_NA,
- RCVD_VIA_SMTP_AUTH, FROM_HAS_DN, BROKEN_CONTENT_TYPE,
- MIME_TRACE
-Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id d83d4fb8
- (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
- Mon, 16 Mar 2020 06:37:56 -0700 (PDT)
-Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
- icenowy@aosc.io)
- by hermes.aosc.io (Postfix) with ESMTPSA id 904224CA5E;
- Mon, 16 Mar 2020 13:37:47 +0000 (UTC)
-From: Icenowy Zheng <icenowy@aosc.io>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
- Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
-Subject: [PATCH v2 4/5] drm/sun4i: sun6i_mipi_dsi: fix horizontal timing
- calculation
-Date: Mon, 16 Mar 2020 21:35:02 +0800
-Message-Id: <20200316133503.144650-5-icenowy@aosc.io>
-In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
-References: <20200316133503.144650-1-icenowy@aosc.io>
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
- t=1584365875;
- h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
- bh=I9YOqCvznKIa+lsR+6QqRxbL27UJzO8C40dZ4CFdKfA=;
- b=quP9cKqYYDD232RMGPzPh7YZaHSfncJHKNCNVORZvb7EzFJyswyLBv7GzoCIM/6KvGiH5Z
- xbpDQs4fRsR5P/Cp7hTcnx+MoFGO3XV0SD6R82gTqKwejhi4j3ozUQiiIMTMC0P2NzAMb0
- tDkRk8CMwU/bfv3YHZlXvgGaYrZkMd8=
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200316_063757_563065_ED0BFB74
-X-CRM114-Status: GOOD ( 13.77 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
- [list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
- linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-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>
----
-No changes in v2.
-
- 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 059939789730..5f2313c40328 100644
---- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
-+++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
-@@ -555,7 +555,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
-@@ -564,7 +564,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)
-@@ -574,7 +574,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)
-@@ -583,8 +583,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
-
-From patchwork Mon Mar 16 13:35:03 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Icenowy Zheng <icenowy@aosc.io>
-X-Patchwork-Id: 11440387
-Return-Path:
- <SRS0=bcds=5B=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7CB09913
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:38:25 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 5A3CF20663
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 16 Mar 2020 13:38:25 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="Dprxe0zU";
- dkim=fail reason="signature verification failed" (1024-bit key)
- header.d=aosc.io header.i=@aosc.io header.b="gvv4Mt/p"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A3CF20663
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=aosc.io
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=rXiGf8B3g87rqGluDPPXHBPgLye0619C2/zq9YpC9mk=; b=Dprxe0zU40XkWN
- m+hX9Icm5bhrdxLR5kmA+FetKifUp/T2toYOeoCfxA03wi/xuH83eTC/NNNeq2exi4vAQPAiKe4kJ
- VnYn8drWuau9JdHE7b/KFeIhkULj3sy4MxJnnpxYCj63wXO+BDHm00cs1r8PoIzBtkP4DksqayKx7
- wGb6miY8D9JjeHzt6zhSeG5JXUzPatdZnw/q8zhpgoOk8Y1QDjKgVEgypDPBDp95TtiEO5wv/uPhf
- mIFdAYoKy01EX0IF5/r/kyAEQTh95K7IXUz6SJM00+3rHPB7Ut7n48eG0C2qJhljJEsSEWJ1DxbjM
- X629GHE95cSsRkq5gd9A==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpwj-0007wT-EM; Mon, 16 Mar 2020 13:38:21 +0000
-Received: from dodo.xh.is ([2001:19f0:8001:184d:5400:2ff:fe7b:e8bd])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jDpwZ-0007oi-Fv
- for linux-arm-kernel@lists.infradead.org; Mon, 16 Mar 2020 13:38:13 +0000
-X-Spam: yes
-X-Spam-Score: 6.6 / 99999
-X-Spam-Symbols: FREEMAIL_ENVRCPT, TO_MATCH_ENVRCPT_SOME, FROM_EQ_ENVFROM,
- RCVD_VIA_SMTP_AUTH, FREEMAIL_TO, RCVD_COUNT_TWO, ARC_NA,
- FROM_HAS_DN, TO_DN_SOME, RCPT_COUNT_TWELVE, RCVD_NO_TLS_LAST,
- MIME_TRACE, R_MISSING_CHARSET, TAGGED_RCPT,
- BROKEN_CONTENT_TYPE, MID_CONTAINS_FROM, ASN, SUSPICIOUS_RECIPS
-Received: by dodo.xh.is (OpenSMTPD) with ESMTPSA id 3f67ee70
- (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO);
- Mon, 16 Mar 2020 06:38:10 -0700 (PDT)
-Received: from localhost (localhost [127.0.0.1]) (Authenticated sender:
- icenowy@aosc.io)
- by hermes.aosc.io (Postfix) with ESMTPSA id 718DE4CA5E;
- Mon, 16 Mar 2020 13:38:00 +0000 (UTC)
-From: Icenowy Zheng <icenowy@aosc.io>
-To: Thierry Reding <thierry.reding@gmail.com>,
- Sam Ravnborg <sam@ravnborg.org>,
- Rob Herring <robh+dt@kernel.org>, Maxime Ripard <mripard@kernel.org>,
- Chen-Yu Tsai <wens@csie.org>, Ondrej Jirman <megous@megous.com>
-Subject: [PATCH v2 5/5] arm64: allwinner: dts: a64: add LCD-related device
- nodes for PinePhone
-Date: Mon, 16 Mar 2020 21:35:03 +0800
-Message-Id: <20200316133503.144650-6-icenowy@aosc.io>
-In-Reply-To: <20200316133503.144650-1-icenowy@aosc.io>
-References: <20200316133503.144650-1-icenowy@aosc.io>
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aosc.io; s=dkim;
- t=1584365889;
- h=from:subject:date:message-id:to:cc:mime-version:content-transfer-encoding:in-reply-to:references;
- bh=vdJB1xaYREfjx8A1fc+UP5D7fCK/5ZczA3DRbH+hq08=;
- b=gvv4Mt/ppP1U5dpUHA5n8qTEzN2afgaBkT+M0HHnD2QpiRBO0b4PVtnd5WiFOkLgnHm3Cm
- uS+WljMpibhdzup+UJWKXGt9n3IFyflFgVAqemHSAFN5h+VJ1vskMjGMiiu1teCs1nUAhP
- zGvHhAcI1EY4J2t587DsvuxH/d6lNFs=
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200316_063811_575168_FBAB174A
-X-CRM114-Status: GOOD ( 11.16 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2001:19f0:8001:184d:5400:2ff:fe7b:e8bd listed in]
- [list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
- dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com,
- linux-arm-kernel@lists.infradead.org, Icenowy Zheng <icenowy@aosc.io>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-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>
----
-No changes in v2.
-
- .../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 = <&reg_ldo_io0>;
-+ };
-+
- chosen {
- stdout-path = "serial0:115200n8";
- };
-@@ -84,6 +93,30 @@ &dai {
- status = "okay";
- };
-
-+&de {
-+ status = "okay";
-+};
-+
-+&dphy {
-+ status = "okay";
-+};
-+
-+&dsi {
-+ vcc-dsi-supply = <&reg_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 = <&reg_dldo2>;
-+ vcc-supply = <&reg_ldo_io0>;
-+ backlight = <&backlight>;
-+ };
-+};
-+
- &ehci0 {
- status = "okay";
- };
-@@ -188,6 +221,10 @@ &r_pio {
- */
- };
-
-+&r_pwm {
-+ status = "okay";
-+};
-+
- &r_rsb {
- status = "okay";
-
diff --git a/Add-support-for-the-pine64-Pinebook-Pro.patch b/Add-support-for-the-pine64-Pinebook-Pro.patch
deleted file mode 100644
index d35ee323b..000000000
--- a/Add-support-for-the-pine64-Pinebook-Pro.patch
+++ /dev/null
@@ -1,1360 +0,0 @@
-From patchwork Wed Mar 4 21:30:22 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Tobias Schramm <t.schramm@manjaro.org>
-X-Patchwork-Id: 11420805
-Return-Path:
- <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 82C16139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 4 Mar 2020 21:31:11 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 6132920828
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 4 Mar 2020 21:31:11 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="HKFX/pPT"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6132920828
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=manjaro.org
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To
- :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
- Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:
- List-Owner; bh=w5RNMezlBKSJB0tCSEk4sJPOWhOWYWdtbkVGYQNDXFI=; b=HKFX/pPTL0fcDF
- R9qC74ZcvmWsNe9+XRGoe/CFa6E5wpufnBwGVBlWAMf6TP3NxrI2eK9XCD6TAmQW18/85HychEgId
- qGCU/seUa+UV6WOVWgQ5g3Ea+6kBaMM4cYYgsYaK3h3VlUQQtM3SvPArRNF1VYcj1uZiwX1ek7PO6
- B8Btks26iWloBhYYW62B5FA9wYcw0+Bcg2DE9NyPZ1i63GA6P8esgYpDnGLkmWehpZDYy8tJK00rE
- ABbvK0xNgIIKCbbomExLAdMHg8PO14V/BNR1Bf9QBVZpnxt8xfr7GG33Znp7N1Nf19YJecmdUw5e2
- FnFUvjvPmLh4pIdxyp6Q==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j9bbh-0003te-QG; Wed, 04 Mar 2020 21:31:09 +0000
-Received: from mail.manjaro.org ([176.9.38.148])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j9bbe-0003tI-SU; Wed, 04 Mar 2020 21:31:08 +0000
-Received: from localhost (localhost [127.0.0.1])
- by mail.manjaro.org (Postfix) with ESMTP id 9C0823701125;
- Wed, 4 Mar 2020 22:31:05 +0100 (CET)
-X-Virus-Scanned: Debian amavisd-new at manjaro.org
-Received: from mail.manjaro.org ([127.0.0.1])
- by localhost (manjaro.org [127.0.0.1]) (amavisd-new, port 10024)
- with ESMTP id fkagLefmcj9V; Wed, 4 Mar 2020 22:31:03 +0100 (CET)
-From: Tobias Schramm <t.schramm@manjaro.org>
-To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Heiko Stuebner <heiko@sntech.de>, Andy Yan <andy.yan@rock-chips.com>,
- Johan Jonker <jbx6244@gmail.com>
-Subject: [PATCH v4 1/2] dt-bindings: Add doc for Pine64 Pinebook Pro
-Date: Wed, 4 Mar 2020 22:30:22 +0100
-Message-Id: <20200304213023.689983-2-t.schramm@manjaro.org>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200304_133107_065063_D9B62F20
-X-CRM114-Status: UNSURE ( 6.54 )
-X-CRM114-Notice: Please train this message.
-X-Spam-Score: 0.0 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (0.0 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [176.9.38.148 listed in list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
- Emmanuel Vadot <manu@freebsd.org>, Alexis Ballier <aballier@gentoo.org>,
- Tobias Schramm <t.schramm@manjaro.org>, Rob Herring <robh@kernel.org>,
- Katsuhiro Suzuki <katsuhiro@katsuster.net>, linux-kernel@vger.kernel.org,
- Douglas Anderson <dianders@chromium.org>,
- Kever Yang <kever.yang@rock-chips.com>,
- Markus Reichl <m.reichl@fivetechno.de>,
- linux-rockchip@lists.infradead.org, Matthias Kaehlcke <mka@chromium.org>,
- Jagan Teki <jagan@amarulasolutions.com>, Nick Xie <nick@khadas.com>,
- Vivek Unune <npcomplete13@gmail.com>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-From: Emmanuel Vadot <manu@freebsd.org>
-
-Add a compatible for Pine64 Pinebook Pro
-
-Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
-Reviewed-by: Rob Herring <robh@kernel.org>
----
- Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
-index 874b0eaa2a75..17f0ab0b8832 100644
---- a/Documentation/devicetree/bindings/arm/rockchip.yaml
-+++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
-@@ -415,6 +415,11 @@ properties:
- - const: pine64,rockpro64
- - const: rockchip,rk3399
-
-+ - description: Pine64 PinebookPro
-+ items:
-+ - const: pine64,pinebook-pro
-+ - const: rockchip,rk3399
-+
- - description: Radxa Rock
- items:
- - const: radxa,rock
-
-From patchwork Wed Mar 4 21:30:23 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Tobias Schramm <t.schramm@manjaro.org>
-X-Patchwork-Id: 11420809
-Return-Path:
- <SRS0=pU4t=4V=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F1D201395
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 4 Mar 2020 21:31:26 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id C71432084E
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 4 Mar 2020 21:31:26 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="aaCRZACh"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C71432084E
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=manjaro.org
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=T4TZmXOPB1yBA/Cy6SktfxnDKyf4qoHPOaLfabPHwCI=; b=aaCRZAChIzBlJw
- Ccci1IXygLymnzWTblUo/AuYY6tojwziDu90m20Ec1bJbXl27yBAYEeR3CEj4ELNSOiGKzqSpqE+k
- rb7uRA7jjVfvj/gJJ2IFxGtd1CKBI6e0S+1qyN/l8ET6UykVavViDDtrsFHt7iD3X2+Bgbs9R8VLi
- hB6gZwnuOsWb8JqpNLfrOPiCrkqTega/z2olbgct2T/Mb/85eH/l+SvyINCfyQCQyuOk9d2blYcA9
- 1i4TJi3MpRw7Pa68BnGPO7zK/ttk4SRxKYPi3On226GN5bGg9jNgSEpALbI+CK0wrYS0mIxGg0q7k
- Gy09LxFJP7I1IxV6BR2w==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j9bbv-00047c-LS; Wed, 04 Mar 2020 21:31:23 +0000
-Received: from mail.manjaro.org ([176.9.38.148])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j9bbk-0003vp-EA; Wed, 04 Mar 2020 21:31:15 +0000
-Received: from localhost (localhost [127.0.0.1])
- by mail.manjaro.org (Postfix) with ESMTP id 26030370112C;
- Wed, 4 Mar 2020 22:31:11 +0100 (CET)
-X-Virus-Scanned: Debian amavisd-new at manjaro.org
-Received: from mail.manjaro.org ([127.0.0.1])
- by localhost (manjaro.org [127.0.0.1]) (amavisd-new, port 10024)
- with ESMTP id OKG7wH7ZOt7o; Wed, 4 Mar 2020 22:31:07 +0100 (CET)
-From: Tobias Schramm <t.schramm@manjaro.org>
-To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Heiko Stuebner <heiko@sntech.de>, Andy Yan <andy.yan@rock-chips.com>,
- Johan Jonker <jbx6244@gmail.com>
-Subject: [PATCH v4 2/2] arm64: dts: rockchip: Add initial support for Pinebook
- Pro
-Date: Wed, 4 Mar 2020 22:30:23 +0100
-Message-Id: <20200304213023.689983-3-t.schramm@manjaro.org>
-In-Reply-To: <20200304213023.689983-2-t.schramm@manjaro.org>
-References: <20200304213023.689983-2-t.schramm@manjaro.org>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200304_133112_802914_89F85872
-X-CRM114-Status: GOOD ( 13.85 )
-X-Spam-Score: 0.0 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (0.0 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [176.9.38.148 listed in list.dnswl.org]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
- Emmanuel Vadot <manu@freebsd.org>, Alexis Ballier <aballier@gentoo.org>,
- Tobias Schramm <t.schramm@manjaro.org>,
- Katsuhiro Suzuki <katsuhiro@katsuster.net>, linux-kernel@vger.kernel.org,
- Douglas Anderson <dianders@chromium.org>,
- Kever Yang <kever.yang@rock-chips.com>,
- Markus Reichl <m.reichl@fivetechno.de>,
- linux-rockchip@lists.infradead.org, Matthias Kaehlcke <mka@chromium.org>,
- Jagan Teki <jagan@amarulasolutions.com>, Nick Xie <nick@khadas.com>,
- Vivek Unune <npcomplete13@gmail.com>
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This commit adds initial dt support for the rk3399 based Pinebook Pro.
-
-Signed-off-by: Tobias Schramm <t.schramm@manjaro.org>
----
- arch/arm64/boot/dts/rockchip/Makefile | 1 +
- .../boot/dts/rockchip/rk3399-pinebook-pro.dts | 1096 +++++++++++++++++
- 2 files changed, 1097 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-
-diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
-index 60d9437096c7..ae7621309e92 100644
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -28,6 +28,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-new file mode 100644
-index 000000000000..8f77ee4f256c
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-@@ -0,0 +1,1098 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
-+ * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
-+ * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org>
-+ */
-+
-+/dts-v1/;
-+#include <dt-bindings/input/gpio-keys.h>
-+#include <dt-bindings/input/linux-event-codes.h>
-+#include <dt-bindings/pwm/pwm.h>
-+#include <dt-bindings/usb/pd.h>
-+#include <dt-bindings/leds/common.h>
-+#include "rk3399.dtsi"
-+#include "rk3399-opp.dtsi"
-+
-+/ {
-+ model = "Pine64 Pinebook Pro";
-+ compatible = "pine64,pinebook-pro", "rockchip,rk3399";
-+
-+ chosen {
-+ stdout-path = "serial2:1500000n8";
-+ };
-+
-+ backlight: edp-backlight {
-+ compatible = "pwm-backlight";
-+ power-supply = <&vcc_12v>;
-+ pwms = <&pwm0 0 740740 0>;
-+ };
-+
-+ edp_panel: edp-panel {
-+ compatible = "boe,nv140fhmn49";
-+ backlight = <&backlight>;
-+ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&panel_en_gpio>;
-+ power-supply = <&vcc3v3_panel>;
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ port@0 {
-+ reg = <0>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ panel_in_edp: endpoint@0 {
-+ reg = <0>;
-+ remote-endpoint = <&edp_out_panel>;
-+ };
-+ };
-+ };
-+ };
-+
-+ /*
-+ * Use separate nodes for gpio-keys to allow for selective deactivation
-+ * of wakeup sources via sysfs without disabling the whole key
-+ */
-+ gpio-key-lid {
-+ compatible = "gpio-keys";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&lidbtn_gpio>;
-+
-+ lid {
-+ debounce-interval = <20>;
-+ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
-+ label = "Lid";
-+ linux,code = <SW_LID>;
-+ linux,input-type = <EV_SW>;
-+ wakeup-event-action = <EV_ACT_DEASSERTED>;
-+ wakeup-source;
-+ };
-+ };
-+
-+ gpio-key-power {
-+ compatible = "gpio-keys";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pwrbtn_gpio>;
-+
-+ power {
-+ debounce-interval = <20>;
-+ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
-+ label = "Power";
-+ linux,code = <KEY_POWER>;
-+ wakeup-source;
-+ };
-+ };
-+
-+
-+ leds {
-+ compatible = "gpio-leds";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pwrled_gpio &slpled_gpio>;
-+
-+ green-led {
-+ color = <LED_COLOR_ID_GREEN>;
-+ default-state = "on";
-+ function = LED_FUNCTION_POWER;
-+ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
-+ label = "green:power";
-+ };
-+
-+ red-led {
-+ color = <LED_COLOR_ID_RED>;
-+ default-state = "off";
-+ function = LED_FUNCTION_STANDBY;
-+ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
-+ label = "red:standby";
-+ panic-indicator;
-+ retain-state-suspended;
-+ };
-+ };
-+
-+ /* Power sequence for SDIO WiFi module */
-+ sdio_pwrseq: sdio-pwrseq {
-+ compatible = "mmc-pwrseq-simple";
-+ clocks = <&rk808 1>;
-+ clock-names = "ext_clock";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&wifi_enable_h_gpio>;
-+ post-power-on-delay-ms = <100>;
-+ power-off-delay-us = <500000>;
-+
-+ /* WL_REG_ON on module */
-+ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
-+ };
-+
-+ /* Audio components */
-+ es8316-sound {
-+ compatible = "simple-audio-card";
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&hp_det_gpio>;
-+ simple-audio-card,name = "rockchip,es8316-codec";
-+ simple-audio-card,format = "i2s";
-+ simple-audio-card,mclk-fs = <256>;
-+
-+ simple-audio-card,widgets =
-+ "Microphone", "Mic Jack",
-+ "Headphone", "Headphones",
-+ "Speaker", "Speaker";
-+ simple-audio-card,routing =
-+ "MIC1", "Mic Jack",
-+ "Headphones", "HPOL",
-+ "Headphones", "HPOR",
-+ "Speaker Amplifier INL", "HPOL",
-+ "Speaker Amplifier INR", "HPOR",
-+ "Speaker", "Speaker Amplifier OUTL",
-+ "Speaker", "Speaker Amplifier OUTR";
-+
-+ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
-+ simple-audio-card,aux-devs = <&speaker_amp>;
-+ simple-audio-card,pin-switches = "Speaker";
-+
-+ simple-audio-card,cpu {
-+ sound-dai = <&i2s1>;
-+ };
-+
-+ simple-audio-card,codec {
-+ sound-dai = <&es8316>;
-+ };
-+ };
-+
-+ speaker_amp: speaker-amplifier {
-+ compatible = "simple-audio-amplifier";
-+ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
-+ sound-name-prefix = "Speaker Amplifier";
-+ VCC-supply = <&pa_5v>;
-+ };
-+
-+ /* Power tree */
-+ /* Root power source */
-+ vcc_sysin: vcc-sysin {
-+ compatible = "regulator-fixed";
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-name = "vcc_sysin";
-+ };
-+
-+ /* Regulators supplied by vcc_sysin */
-+ /* LCD backlight supply */
-+ vcc_12v: vcc-12v {
-+ compatible = "regulator-fixed";
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <12000000>;
-+ regulator-max-microvolt = <12000000>;
-+ regulator-name = "vcc_12v";
-+ vin-supply = <&vcc_sysin>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ /* Main 3.3 V supply */
-+ vcc3v3_sys: wifi_bat: vcc3v3-sys {
-+ compatible = "regulator-fixed";
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc3v3_sys";
-+ vin-supply = <&vcc_sysin>;
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ };
-+ };
-+
-+ /* 5 V USB power supply */
-+ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator {
-+ compatible = "regulator-fixed";
-+ enable-active-high;
-+ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pwr_5v_gpio>;
-+ regulator-always-on;
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-name = "vcc5v0_usb";
-+ vin-supply = <&vcc_sysin>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ /* RK3399 logic supply */
-+ vdd_log: vdd-log {
-+ compatible = "pwm-regulator";
-+ pwms = <&pwm2 0 25000 1>;
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <800000>;
-+ regulator-max-microvolt = <1400000>;
-+ regulator-name = "vdd_log";
-+ vin-supply = <&vcc_sysin>;
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ };
-+ };
-+
-+ /* Regulators supplied by vcc3v3_sys */
-+ /* 0.9 V supply, always on */
-+ vcc_0v9: vcc-0v9 {
-+ compatible = "regulator-fixed";
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <900000>;
-+ regulator-max-microvolt = <900000>;
-+ regulator-name = "vcc_0v9";
-+ vin-supply = <&vcc3v3_sys>;
-+ };
-+
-+ /* S3 1.8 V supply, switched by vcc1v8_s3 */
-+ vcca1v8_s3: vcc1v8-s3 {
-+ compatible = "regulator-fixed";
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcca1v8_s3";
-+ vin-supply = <&vcc3v3_sys>;
-+ };
-+
-+ /* micro SD card power */
-+ vcc3v0_sd: vcc3v0-sd {
-+ compatible = "regulator-fixed";
-+ enable-active-high;
-+ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&sdmmc0_pwr_h_gpio>;
-+ regulator-always-on;
-+ regulator-min-microvolt = <3000000>;
-+ regulator-max-microvolt = <3000000>;
-+ regulator-name = "vcc3v0_sd";
-+ vin-supply = <&vcc3v3_sys>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ /* LCD panel power, called VCC3V3_S0 in schematic */
-+ vcc3v3_panel: vcc3v3-panel {
-+ compatible = "regulator-fixed";
-+ enable-active-high;
-+ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&lcdvcc_en_gpio>;
-+ regulator-always-on;
-+ regulator-enable-ramp-delay = <100000>;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc3v3_panel";
-+ vin-supply = <&vcc3v3_sys>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ /* M.2 adapter power, switched by vcc1v8_s3 */
-+ vcc3v3_ssd: vcc3v3-ssd {
-+ compatible = "regulator-fixed";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc3v3_ssd";
-+ vin-supply = <&vcc3v3_sys>;
-+ };
-+
-+ /* Regulators supplied by vcc5v0_usb */
-+ /* USB 3 port power supply regulator */
-+ vcc5v0_otg: vcc5v0-otg {
-+ compatible = "regulator-fixed";
-+ enable-active-high;
-+ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&vcc5v0_host_en_gpio>;
-+ regulator-always-on;
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-name = "vcc5v0_otg";
-+ vin-supply = <&vcc5v0_usb>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ /* Regulators supplied by vcc5v0_usb */
-+ /* Type C port power supply regulator */
-+ vbus_5vout: vbus_typec: vbus-5vout {
-+ compatible = "regulator-fixed";
-+ enable-active-high;
-+ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&vcc5v0_typec0_en_gpio>;
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-name = "vbus_5vout";
-+ vin-supply = <&vcc5v0_usb>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ /* Regulators supplied by vcc_1v8 */
-+ /* Primary 0.9 V LDO */
-+ vcca0v9_s3: vcca0v9-s3 {
-+ compatible = "regulator-fixed";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-name = "vcc0v9_s3";
-+ vin-supply = <&vcc_1v8>;
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ };
-+ };
-+
-+ mains_charger: dc-charger {
-+ compatible = "gpio-charger";
-+ charger-type = "mains";
-+ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
-+
-+ /* Also triggered by USB charger */
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&dc_det_gpio>;
-+ };
-+};
-+
-+&cdn_dp {
-+ status = "okay";
-+};
-+
-+&cpu_b0 {
-+ cpu-supply = <&vdd_cpu_b>;
-+};
-+
-+&cpu_b1 {
-+ cpu-supply = <&vdd_cpu_b>;
-+};
-+
-+&cpu_l0 {
-+ cpu-supply = <&vdd_cpu_l>;
-+};
-+
-+&cpu_l1 {
-+ cpu-supply = <&vdd_cpu_l>;
-+};
-+
-+&cpu_l2 {
-+ cpu-supply = <&vdd_cpu_l>;
-+};
-+
-+&cpu_l3 {
-+ cpu-supply = <&vdd_cpu_l>;
-+};
-+
-+&edp {
-+ force-hpd;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&edp_hpd>;
-+ status = "okay";
-+
-+ ports {
-+ edp_out: port@1 {
-+ reg = <1>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ edp_out_panel: endpoint@0 {
-+ reg = <0>;
-+ remote-endpoint = <&panel_in_edp>;
-+ };
-+ };
-+ };
-+};
-+
-+&emmc_phy {
-+ status = "okay";
-+};
-+
-+&gpu {
-+ mali-supply = <&vdd_gpu>;
-+ status = "okay";
-+};
-+
-+&hdmi_sound {
-+ status = "okay";
-+};
-+
-+&i2c0 {
-+ clock-frequency = <400000>;
-+ i2c-scl-falling-time-ns = <4>;
-+ i2c-scl-rising-time-ns = <168>;
-+ status = "okay";
-+
-+ rk808: pmic@1b {
-+ compatible = "rockchip,rk808";
-+ reg = <0x1b>;
-+ #clock-cells = <1>;
-+ clock-output-names = "xin32k", "rk808-clkout2";
-+ interrupt-parent = <&gpio3>;
-+ interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pmic_int_l_gpio>;
-+ rockchip,system-power-controller;
-+ wakeup-source;
-+
-+ vcc1-supply = <&vcc_sysin>;
-+ vcc2-supply = <&vcc_sysin>;
-+ vcc3-supply = <&vcc_sysin>;
-+ vcc4-supply = <&vcc_sysin>;
-+ vcc6-supply = <&vcc_sysin>;
-+ vcc7-supply = <&vcc_sysin>;
-+ vcc8-supply = <&vcc3v3_sys>;
-+ vcc9-supply = <&vcc_sysin>;
-+ vcc10-supply = <&vcc_sysin>;
-+ vcc11-supply = <&vcc_sysin>;
-+ vcc12-supply = <&vcc3v3_sys>;
-+ vcc13-supply = <&vcc_sysin>;
-+ vcc14-supply = <&vcc_sysin>;
-+
-+ regulators {
-+ /* rk3399 center logic supply */
-+ vdd_center: DCDC_REG1 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <750000>;
-+ regulator-max-microvolt = <1350000>;
-+ regulator-name = "vdd_center";
-+ regulator-ramp-delay = <6001>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ vdd_cpu_l: DCDC_REG2 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <750000>;
-+ regulator-max-microvolt = <1350000>;
-+ regulator-name = "vdd_cpu_l";
-+ regulator-ramp-delay = <6001>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ vcc_ddr: DCDC_REG3 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-name = "vcc_ddr";
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ };
-+ };
-+
-+ vcc_1v8: vcc_wl: DCDC_REG4 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc_1v8";
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ regulator-suspend-microvolt = <1800000>;
-+ };
-+ };
-+
-+ /* not used */
-+ LDO_REG1 {
-+ };
-+
-+ /* not used */
-+ LDO_REG2 {
-+ };
-+
-+ vcc1v8_pmupll: LDO_REG3 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc1v8_pmupll";
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ regulator-suspend-microvolt = <1800000>;
-+ };
-+ };
-+
-+ vcc_sdio: LDO_REG4 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3000000>;
-+ regulator-name = "vcc_sdio";
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ regulator-suspend-microvolt = <3000000>;
-+ };
-+ };
-+
-+ vcca3v0_codec: LDO_REG5 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <3000000>;
-+ regulator-max-microvolt = <3000000>;
-+ regulator-name = "vcca3v0_codec";
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ vcc_1v5: LDO_REG6 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <1500000>;
-+ regulator-max-microvolt = <1500000>;
-+ regulator-name = "vcc_1v5";
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ regulator-suspend-microvolt = <1500000>;
-+ };
-+ };
-+
-+ vcca1v8_codec: LDO_REG7 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcca1v8_codec";
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ vcc_3v0: LDO_REG8 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-min-microvolt = <3000000>;
-+ regulator-max-microvolt = <3000000>;
-+ regulator-name = "vcc_3v0";
-+
-+ regulator-state-mem {
-+ regulator-on-in-suspend;
-+ regulator-suspend-microvolt = <3000000>;
-+ };
-+ };
-+
-+ vcc3v3_s3: SWITCH_REG1 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-name = "vcc3v3_s3";
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ vcc3v3_s0: SWITCH_REG2 {
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-name = "vcc3v3_s0";
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+ };
-+ };
-+
-+ vdd_cpu_b: regulator@40 {
-+ compatible = "silergy,syr827";
-+ reg = <0x40>;
-+ fcs,suspend-voltage-selector = <1>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&vsel1_gpio>;
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-compatible = "fan53555-reg";
-+ regulator-min-microvolt = <712500>;
-+ regulator-max-microvolt = <1500000>;
-+ regulator-name = "vdd_cpu_b";
-+ regulator-ramp-delay = <1000>;
-+ vin-supply = <&vcc_1v8>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+
-+ vdd_gpu: regulator@41 {
-+ compatible = "silergy,syr828";
-+ reg = <0x41>;
-+ fcs,suspend-voltage-selector = <1>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&vsel2_gpio>;
-+ regulator-always-on;
-+ regulator-boot-on;
-+ regulator-compatible = "fan53555-reg";
-+ regulator-min-microvolt = <712500>;
-+ regulator-max-microvolt = <1500000>;
-+ regulator-name = "vdd_gpu";
-+ regulator-ramp-delay = <1000>;
-+ vin-supply = <&vcc_1v8>;
-+
-+ regulator-state-mem {
-+ regulator-off-in-suspend;
-+ };
-+ };
-+};
-+
-+&i2c1 {
-+ clock-frequency = <100000>;
-+ i2c-scl-falling-time-ns = <4>;
-+ i2c-scl-rising-time-ns = <168>;
-+ status = "okay";
-+
-+ es8316: es8316@11 {
-+ compatible = "everest,es8316";
-+ reg = <0x11>;
-+ clocks = <&cru SCLK_I2S_8CH_OUT>;
-+ clock-names = "mclk";
-+ #sound-dai-cells = <0>;
-+ };
-+};
-+
-+&i2c3 {
-+ i2c-scl-falling-time-ns = <15>;
-+ i2c-scl-rising-time-ns = <450>;
-+ status = "okay";
-+};
-+
-+&i2c4 {
-+ i2c-scl-falling-time-ns = <20>;
-+ i2c-scl-rising-time-ns = <600>;
-+ status = "okay";
-+
-+ fusb0: fusb30x@22 {
-+ compatible = "fcs,fusb302";
-+ reg = <0x22>;
-+ fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&fusb0_int_gpio>;
-+ vbus-supply = <&vbus_typec>;
-+
-+ connector {
-+ compatible = "usb-c-connector";
-+ data-role = "host";
-+ label = "USB-C";
-+ op-sink-microwatt = <1000000>;
-+ power-role = "dual";
-+ sink-pdos =
-+ <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
-+ source-pdos =
-+ <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
-+ try-power-role = "sink";
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ port@0 {
-+ reg = <0>;
-+
-+ usbc_hs: endpoint {
-+ remote-endpoint =
-+ <&u2phy0_typec_hs>;
-+ };
-+ };
-+
-+ port@1 {
-+ reg = <1>;
-+
-+ usbc_ss: endpoint {
-+ remote-endpoint =
-+ <&tcphy0_typec_ss>;
-+ };
-+ };
-+
-+ port@2 {
-+ reg = <2>;
-+
-+ usbc_dp: endpoint {
-+ remote-endpoint =
-+ <&tcphy0_typec_dp>;
-+ };
-+ };
-+ };
-+ };
-+ };
-+};
-+
-+&i2s1 {
-+ #sound-dai-cells = <0>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>;
-+ rockchip,capture-channels = <8>;
-+ rockchip,playback-channels = <8>;
-+ status = "okay";
-+};
-+
-+&io_domains {
-+ audio-supply = <&vcc_3v0>;
-+ gpio1830-supply = <&vcc_3v0>;
-+ sdmmc-supply = <&vcc_sdio>;
-+ status = "okay";
-+};
-+
-+&pcie_phy {
-+ status = "okay";
-+};
-+
-+&pcie0 {
-+ bus-scan-delay-ms = <1000>;
-+ ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
-+ max-link-speed = <2>;
-+ num-lanes = <4>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pcie_clkreqn_cpm>;
-+ vpcie0v9-supply = <&vcca0v9_s3>;
-+ vpcie1v8-supply = <&vcca1v8_s3>;
-+ vpcie3v3-supply = <&vcc3v3_ssd>;
-+ status = "okay";
-+};
-+
-+&pinctrl {
-+ buttons {
-+ pwrbtn_gpio: pwrbtn-gpio {
-+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
-+ };
-+
-+ lidbtn_gpio: lidbtn-gpio {
-+ rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
-+ };
-+ };
-+
-+ dc-charger {
-+ dc_det_gpio: dc-det-gpio {
-+ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+
-+ es8316 {
-+ hp_det_gpio: hp-det-gpio {
-+ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
-+ };
-+ };
-+
-+ fusb302x {
-+ fusb0_int_gpio: fusb0-int-gpio {
-+ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
-+ };
-+ };
-+
-+ i2s1 {
-+ i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio {
-+ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
-+ };
-+ };
-+
-+ lcd-panel {
-+ lcdvcc_en_gpio: lcdvcc-en-gpio {
-+ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+
-+ panel_en_gpio: panel-en-gpio {
-+ rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+
-+ lcd_panel_reset_gpio: lcd-panel-reset-gpio {
-+ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
-+ };
-+ };
-+
-+ leds {
-+ pwrled_gpio: pwrled_gpio {
-+ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+
-+ slpled_gpio: slpled_gpio {
-+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+
-+ pmic {
-+ pmic_int_l_gpio: pmic-int-l-gpio {
-+ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
-+ };
-+
-+ vsel1_gpio: vsel1-gpio {
-+ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
-+ };
-+
-+ vsel2_gpio: vsel2-gpio {
-+ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
-+ };
-+ };
-+
-+ sdcard {
-+ sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio {
-+ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+
-+ };
-+
-+ sdio-pwrseq {
-+ wifi_enable_h_gpio: wifi-enable-h-gpio {
-+ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+
-+ usb-typec {
-+ vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio {
-+ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
-+ };
-+ };
-+
-+ usb2 {
-+ pwr_5v_gpio: pwr-5v-gpio {
-+ rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+
-+ vcc5v0_host_en_gpio: vcc5v0-host-en-gpio {
-+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+
-+ wireless-bluetooth {
-+ bt_wake_gpio: bt-wake-gpio {
-+ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+
-+ bt_host_wake_gpio: bt-host-wake-gpio {
-+ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+
-+ bt_reset_gpio: bt-reset-gpio {
-+ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
-+ };
-+ };
-+};
-+
-+&pmu_io_domains {
-+ pmu1830-supply = <&vcc_3v0>;
-+ status = "okay";
-+};
-+
-+&pwm0 {
-+ status = "okay";
-+};
-+
-+&pwm2 {
-+ status = "okay";
-+};
-+
-+&saradc {
-+ vref-supply = <&vcca1v8_s3>;
-+ status = "okay";
-+};
-+
-+&sdmmc {
-+ bus-width = <4>;
-+ cap-mmc-highspeed;
-+ cap-sd-highspeed;
-+ cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
-+ disable-wp;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
-+ sd-uhs-sdr104;
-+ vmmc-supply = <&vcc3v0_sd>;
-+ vqmmc-supply = <&vcc_sdio>;
-+ status = "okay";
-+};
-+
-+&sdio0 {
-+ bus-width = <4>;
-+ cap-sd-highspeed;
-+ cap-sdio-irq;
-+ keep-power-in-suspend;
-+ mmc-pwrseq = <&sdio_pwrseq>;
-+ non-removable;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
-+ sd-uhs-sdr104;
-+ status = "okay";
-+};
-+
-+&sdhci {
-+ bus-width = <8>;
-+ mmc-hs200-1_8v;
-+ non-removable;
-+ status = "okay";
-+};
-+
-+&spi1 {
-+ max-freq = <10000000>;
-+ status = "okay";
-+
-+ spiflash: flash@0 {
-+ compatible = "jedec,spi-nor";
-+ reg = <0>;
-+ m25p,fast-read;
-+ spi-max-frequency = <10000000>;
-+ };
-+};
-+
-+&tcphy0 {
-+ status = "okay";
-+};
-+
-+&tcphy0_dp {
-+ port {
-+ tcphy0_typec_dp: endpoint {
-+ remote-endpoint = <&usbc_dp>;
-+ };
-+ };
-+};
-+
-+&tcphy0_usb3 {
-+ port {
-+ tcphy0_typec_ss: endpoint {
-+ remote-endpoint = <&usbc_ss>;
-+ };
-+ };
-+};
-+
-+&tcphy1 {
-+ status = "okay";
-+};
-+
-+&tsadc {
-+ /* tshut mode 0:CRU 1:GPIO */
-+ rockchip,hw-tshut-mode = <1>;
-+ /* tshut polarity 0:LOW 1:HIGH */
-+ rockchip,hw-tshut-polarity = <1>;
-+ status = "okay";
-+};
-+
-+&u2phy0 {
-+ status = "okay";
-+
-+ u2phy0_otg: otg-port {
-+ status = "okay";
-+ };
-+
-+ u2phy0_host: host-port {
-+ phy-supply = <&vcc5v0_otg>;
-+ status = "okay";
-+ };
-+
-+ port {
-+ u2phy0_typec_hs: endpoint {
-+ remote-endpoint = <&usbc_hs>;
-+ };
-+ };
-+};
-+
-+&u2phy1 {
-+ status = "okay";
-+
-+ u2phy1_otg: otg-port {
-+ status = "okay";
-+ };
-+
-+ u2phy1_host: host-port {
-+ phy-supply = <&vcc5v0_otg>;
-+ status = "okay";
-+ };
-+};
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
-+ uart-has-rtscts;
-+ status = "okay";
-+
-+ bluetooth {
-+ compatible = "brcm,bcm4345c5";
-+ clocks = <&rk808 1>;
-+ clock-names = "lpo";
-+ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
-+ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
-+ max-speed = <1500000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>;
-+ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
-+ vbat-supply = <&wifi_bat>;
-+ vddio-supply = <&vcc_wl>;
-+ };
-+};
-+
-+&uart2 {
-+ status = "okay";
-+};
-+
-+&usb_host0_ehci {
-+ status = "okay";
-+};
-+
-+&usb_host0_ohci {
-+ status = "okay";
-+};
-+
-+&usb_host1_ehci {
-+ status = "okay";
-+};
-+
-+&usb_host1_ohci {
-+ status = "okay";
-+};
-+
-+&usbdrd3_0 {
-+ status = "okay";
-+};
-+
-+&usbdrd_dwc3_0 {
-+ dr_mode = "host";
-+ status = "okay";
-+};
-+
-+&usbdrd3_1 {
-+ status = "okay";
-+};
-+
-+&usbdrd_dwc3_1 {
-+ dr_mode = "host";
-+ status = "okay";
-+};
-+
-+&vopb {
-+ status = "okay";
-+};
-+
-+&vopb_mmu {
-+ status = "okay";
-+};
-+
-+&vopl {
-+ status = "okay";
-+};
-+
-+&vopl_mmu {
-+ status = "okay";
-+};
diff --git a/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch b/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
deleted file mode 100644
index 1d859bb57..000000000
--- a/PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
+++ /dev/null
@@ -1,481 +0,0 @@
-From patchwork Fri Jan 10 19:14:59 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
-X-Patchwork-Id: 1221384
-Return-Path: <linux-pci-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-pci-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=gf35ja2k;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 47vXkJ2PJMz9sPJ
- for <incoming@patchwork.ozlabs.org>;
- Sat, 11 Jan 2020 06:15:20 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1728167AbgAJTPQ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Fri, 10 Jan 2020 14:15:16 -0500
-Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:1668 "EHLO
- hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727612AbgAJTPQ (ORCPT
- <rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:16 -0500
-Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e18cd310000>; Fri, 10 Jan 2020 11:14:57 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate101.nvidia.com (PGP Universal service);
- Fri, 10 Jan 2020 11:15:15 -0800
-X-PGP-Universal: processed;
- by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:15 -0800
-Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL101.nvidia.com
- (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Fri, 10 Jan 2020 19:15:15 +0000
-Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com
- (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Fri, 10 Jan 2020 19:15:14 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
- (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Fri, 10 Jan 2020 19:15:14 +0000
-Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e18cd3e0001>; Fri, 10 Jan 2020 11:15:14 -0800
-From: Vidya Sagar <vidyas@nvidia.com>
-To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
- <rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
- <treding@nvidia.com>, <jonathanh@nvidia.com>
-CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
- <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
- <kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
- <sagar.tv@gmail.com>
-Subject: [PATCH V3 1/2] arm64: tegra: Re-order PCIe aperture mappings to
- support ACPI boot
-Date: Sat, 11 Jan 2020 00:44:59 +0530
-Message-ID: <20200110191500.9538-2-vidyas@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
-References: <20200106082709.14370-1-vidyas@nvidia.com>
- <20200110191500.9538-1-vidyas@nvidia.com>
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1578683697; bh=A9295dTyR+j2yr8EqSviqtTgED4nGyVgvOv0oWR2ueU=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- In-Reply-To:References:X-NVConfidentiality:MIME-Version:
- Content-Type;
- b=gf35ja2k7JnAqX+jyF1OxPVsYL5Fk4U+zYrMvTudBnjv0lLjB+7vnkXuO5FnSX28a
- o2Mvk9yks+a7NYLZkVfmKCXKbeDNoGPlPSy+g8CAyeAd5u7leSGONsy5awV83vmud7
- /KuuExw/Ko4JihAJdQ57/4EaaohgPWUNbodkmI5Wo0e7qyfgf5PvkAkwe1PdtgEKls
- t9tsBwoqjGJn5WWPiQMaUZ8OHdSvPrUDuyKEFPjjr9IpczNvMzJE8SyHDZci42N+s+
- f0iCjfLLhugetglYqrGi5j8eknYwfvMIV+vnkZj0dSmiS70Y1G31dVfgR/s3ueHnRy
- jBNjNRTUtey9w==
-Sender: linux-pci-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-pci.vger.kernel.org>
-X-Mailing-List: linux-pci@vger.kernel.org
-
-Re-order Tegra194's PCIe aperture mappings to have IO window moved to
-64-bit aperture and have the entire 32-bit aperture used for accessing
-the configuration space. This makes it to use the entire 32MB of the 32-bit
-aperture for ECAM purpose while booting through ACPI.
-
-Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
----
-V3:
-* New change in this series
-
- arch/arm64/boot/dts/nvidia/tegra194.dtsi | 36 ++++++++++++------------
- 1 file changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
-index ccac43be12ac..5d790ec5bdef 100644
---- a/arch/arm64/boot/dts/nvidia/tegra194.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
-@@ -1247,9 +1247,9 @@
- nvidia,aspm-l0s-entrance-latency-us = <3>;
-
- bus-range = <0x0 0xff>;
-- ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */
-- 0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
-- 0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
-+ ranges = <0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
-+ 0x82000000 0x00 0x40000000 0x12 0x30000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
-+ 0x81000000 0x00 0x00000000 0x12 0x3fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
- };
-
- pcie@14120000 {
-@@ -1292,9 +1292,9 @@
- nvidia,aspm-l0s-entrance-latency-us = <3>;
-
- bus-range = <0x0 0xff>;
-- ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */
-- 0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
-- 0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
-+ ranges = <0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
-+ 0x82000000 0x00 0x40000000 0x12 0x70000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
-+ 0x81000000 0x00 0x00000000 0x12 0x7fff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
- };
-
- pcie@14140000 {
-@@ -1337,9 +1337,9 @@
- nvidia,aspm-l0s-entrance-latency-us = <3>;
-
- bus-range = <0x0 0xff>;
-- ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */
-- 0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
-- 0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
-+ ranges = <0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
-+ 0x82000000 0x00 0x40000000 0x12 0xb0000000 0x0 0x0fff0000 /* non-prefetchable memory (256MB - 64KB) */
-+ 0x81000000 0x00 0x00000000 0x12 0xbfff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
- };
-
- pcie@14160000 {
-@@ -1382,9 +1382,9 @@
- nvidia,aspm-l0s-entrance-latency-us = <3>;
-
- bus-range = <0x0 0xff>;
-- ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */
-- 0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
-- 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
-+ ranges = <0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
-+ 0x82000000 0x00 0x40000000 0x17 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
-+ 0x81000000 0x00 0x00000000 0x17 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
- };
-
- pcie@14180000 {
-@@ -1427,9 +1427,9 @@
- nvidia,aspm-l0s-entrance-latency-us = <3>;
-
- bus-range = <0x0 0xff>;
-- ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */
-- 0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
-- 0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
-+ ranges = <0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
-+ 0x82000000 0x00 0x40000000 0x1b 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
-+ 0x81000000 0x00 0x00000000 0x1b 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
- };
-
- pcie@141a0000 {
-@@ -1476,9 +1476,9 @@
- nvidia,aspm-l0s-entrance-latency-us = <3>;
-
- bus-range = <0x0 0xff>;
-- ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */
-- 0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
-- 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
-+ ranges = <0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
-+ 0x82000000 0x00 0x40000000 0x1f 0x40000000 0x0 0xbfff0000 /* non-prefetchable memory (3GB - 64KB) */
-+ 0x81000000 0x00 0x00000000 0x1f 0xffff0000 0x0 0x00010000>; /* downstream I/O (64KB) */
- };
-
- pcie_ep@14160000 {
-
-From patchwork Fri Jan 10 19:15:00 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Vidya Sagar <vidyas@nvidia.com>
-X-Patchwork-Id: 1221385
-Return-Path: <linux-pci-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-pci-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=KDh6KAfT;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 47vXkS04dtz9sR0
- for <incoming@patchwork.ozlabs.org>;
- Sat, 11 Jan 2020 06:15:28 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1728451AbgAJTPX (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Fri, 10 Jan 2020 14:15:23 -0500
-Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:9177 "EHLO
- hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727612AbgAJTPX (ORCPT
- <rfc822; linux-pci@vger.kernel.org>); Fri, 10 Jan 2020 14:15:23 -0500
-Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e18cd160001>; Fri, 10 Jan 2020 11:14:30 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate101.nvidia.com (PGP Universal service);
- Fri, 10 Jan 2020 11:15:21 -0800
-X-PGP-Universal: processed;
- by hqpgpgate101.nvidia.com on Fri, 10 Jan 2020 11:15:21 -0800
-Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com
- (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Fri, 10 Jan 2020 19:15:21 +0000
-Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com
- (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Fri, 10 Jan 2020 19:15:21 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL109.nvidia.com
- (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Fri, 10 Jan 2020 19:15:20 +0000
-Received: from vidyas-desktop.nvidia.com (Not Verified[10.24.37.48]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e18cd440002>; Fri, 10 Jan 2020 11:15:20 -0800
-From: Vidya Sagar <vidyas@nvidia.com>
-To: <bhelgaas@google.com>, <lorenzo.pieralisi@arm.com>,
- <rjw@rjwysocki.net>, <lenb@kernel.org>, <andrew.murray@arm.com>,
- <treding@nvidia.com>, <jonathanh@nvidia.com>
-CC: <linux-tegra@vger.kernel.org>, <linux-pci@vger.kernel.org>,
- <linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
- <kthota@nvidia.com>, <mmaddireddy@nvidia.com>, <vidyas@nvidia.com>,
- <sagar.tv@gmail.com>
-Subject: [PATCH V3 2/2] PCI: Add MCFG quirks for Tegra194 host controllers
-Date: Sat, 11 Jan 2020 00:45:00 +0530
-Message-ID: <20200110191500.9538-3-vidyas@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-In-Reply-To: <20200110191500.9538-1-vidyas@nvidia.com>
-References: <20200106082709.14370-1-vidyas@nvidia.com>
- <20200110191500.9538-1-vidyas@nvidia.com>
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1578683671; bh=6wJT/II+S2upRtJe41MS3kcnFzRRB57EIPkoU3txnnc=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- In-Reply-To:References:X-NVConfidentiality:MIME-Version:
- Content-Type;
- b=KDh6KAfT+xBJE0n0yRibTvav8qocX0wdxtjjCMNH+VNrt1Gvwgt8htMQvTCpi08Hz
- OLS6piubtsXb2Fk+J0rDcwmB2QM0YMKe6eA3DQkuJTPhl6PRxtvXdAYPfl/Z2pvG38
- dq6SIor6Yw4e76ncsvt69w6UXoLZHF7AywICq0jGnmPjWoKDnjID3qKSj5/u7tE+/L
- 6hJUZ2QQebXRI17dRdfleyir+rRCS0wMl9tVNiAHplY3Wlxw895LJqvmVRZDVA+kg5
- 8DPKJY2JbazS6P4QcywESwuhDfejJGaJUz+1/6oSiHBMCI5OhfhFZ/lyTf0iZycdTQ
- gnZUMkPu2QZOg==
-Sender: linux-pci-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-pci.vger.kernel.org>
-X-Mailing-List: linux-pci@vger.kernel.org
-
-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>
-Acked-by: Thierry Reding <treding@nvidia.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/Kconfig | 3 +-
- drivers/pci/controller/dwc/Makefile | 2 +-
- drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++++++
- include/linux/pci-ecam.h | 1 +
- 5 files changed, 113 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c
-index 6b347d9920cc..707181408173 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/Kconfig b/drivers/pci/controller/dwc/Kconfig
-index 0830dfcfa43a..f5b9e75aceed 100644
---- a/drivers/pci/controller/dwc/Kconfig
-+++ b/drivers/pci/controller/dwc/Kconfig
-@@ -255,7 +255,8 @@ config PCIE_TEGRA194
- select PHY_TEGRA194_P2U
- help
- Say Y here if you want support for DesignWare core based PCIe host
-- controller found in NVIDIA Tegra194 SoC.
-+ controller found in NVIDIA Tegra194 SoC. ACPI platforms with Tegra194
-+ don't need to enable this.
-
- config PCIE_UNIPHIER
- bool "Socionext UniPhier PCIe controllers"
-diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile
-index 8a637cfcf6e9..76a6c52b8500 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 cbe95f0ea0ca..660f55caa8be 100644
---- a/drivers/pci/controller/dwc/pcie-tegra194.c
-+++ b/drivers/pci/controller/dwc/pcie-tegra194.c
-@@ -21,6 +21,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>
-@@ -285,6 +287,103 @@ struct tegra_pcie_dw {
- struct dentry *debugfs;
- };
-
-+#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);
-@@ -1728,3 +1827,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 a73164c85e78..6156140dcbb6 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
diff --git a/RFC-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch b/RFC-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch
deleted file mode 100644
index 3142df6dc..000000000
--- a/RFC-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From patchwork Mon Apr 20 16:43:04 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Chauvet <kwizart@gmail.com>
-X-Patchwork-Id: 1273561
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org;
- spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org
- (client-ip=23.128.96.18; helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org; receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=gmail.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256
- header.s=20161025 header.b=TzeKBoiR; dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
- by ozlabs.org (Postfix) with ESMTP id 495XZC49yWz9sP7
- for <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2020 02:43:15 +1000 (AEST)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1726731AbgDTQnK (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Mon, 20 Apr 2020 12:43:10 -0400
-Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42314 "EHLO
- lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL)
- by vger.kernel.org with ESMTP id S1726693AbgDTQnI (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>);
- Mon, 20 Apr 2020 12:43:08 -0400
-Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com
- [IPv6:2a00:1450:4864:20::342])
- by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6ED4CC061A0C;
- Mon, 20 Apr 2020 09:43:08 -0700 (PDT)
-Received: by mail-wm1-x342.google.com with SMTP id x25so280061wmc.0;
- Mon, 20 Apr 2020 09:43:08 -0700 (PDT)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id:mime-version
- :content-transfer-encoding;
- bh=IHuj1FiuJPknu8Z7Uq/JeXw8aSg2xFkcoVYT3QRT6dA=;
- b=TzeKBoiR2hu1L+OGuVzAMrvuOnCDM+J1nsGD1QbB9tkwdgx5rUc3jCkTzkFKQpJZ+g
- jx96zAcsJH7FSzAMjcpWTgiixmPWJj0xuWXML6IW4oVt5Npm6F2D8UyjZyfgnUKcGU/k
- Ye+bmwRUMi6cBC1Jpn93V5znfun/KPJFuOi1qLjh4g9rRAQWp4o4mZYTnxBkkMhi63gU
- V7L+RQlj4buS+IXOZ/xi5chAd/gFJkADDOm8HVDAcIG6pEUCkXciuRiNL3f81ss3nwjq
- uQQg7uRc8wXqOP1IqZ+W8kYP25Bty+uiykVyhv6XfOg0vWk4GK+wnM0wcP7boPe8Y8sS
- dTLg==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
- :content-transfer-encoding;
- bh=IHuj1FiuJPknu8Z7Uq/JeXw8aSg2xFkcoVYT3QRT6dA=;
- b=YcZCjbicKhCKe1SzKhwIcD9gZI/8J/QS/LQk4lcoLCwcSjlg9p0O/m5t80TGXT4lcn
- wFh0VyY+SsMR6uXCPrN8QXYbEY6fFVxEY2+btKzt+ft0v4jQUljopKGOV6n85FRs89U4
- DrjNPXoL7izbuheb/tW9ZBrrMTLQ1btIJ/MiAZ2gKtlrachezXQjW1Gtn66/hEpIQybL
- 9ctDGvygIAju/Yd9fx+cakfzPUGzKTc/yOhjKjbMfxF6YxTbdqPc08+0a3cOYoSoRKLE
- i/drXsQpQhJHOhzZWXinld37vEHc/1pa/HYv3QR+UAproGfZq4eGqBh6cIYY87fW7nHk
- lsmg==
-X-Gm-Message-State: AGi0PuYqEn+eRXnjHmfYwoSYQUy0ZK+SX7Vpbgu/XErfwPhXok1ZAmWe
- N87IAyxXhJOQCMJxw6TgfSo=
-X-Google-Smtp-Source: APiQypLsj3XpHj4CyxtmOjlqdZs3DB8oJEEo2ghhT6QywH/SywA9LShfe1OCbQ3t6MmEGWRd+WIiVw==
-X-Received: by 2002:a1c:41d7:: with SMTP id o206mr194590wma.89.1587400987185;
- Mon, 20 Apr 2020 09:43:07 -0700 (PDT)
-Received: from arrakis.kwizart.net (lfbn-nic-1-185-211.w2-15.abo.wanadoo.fr.
- [2.15.34.211])
- by smtp.gmail.com with ESMTPSA id l4sm47922wrv.60.2020.04.20.09.43.05
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Mon, 20 Apr 2020 09:43:06 -0700 (PDT)
-From: Nicolas Chauvet <kwizart@gmail.com>
-To: Manikanta Maddireddy <mmaddireddy@nvidia.com>,
- Thierry Reding <thierry.reding@gmail.com>,
- Jonathan Hunter <jonathanh@nvidia.com>
-Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
- linux-tegra@vger.kernel.org, linux-pci@vger.kernel.org,
- Nicolas Chauvet <kwizart@gmail.com>
-Subject: [RFC] PCI: tegra: Revert raw_violation_fixup for tegra124
-Date: Mon, 20 Apr 2020 18:43:04 +0200
-Message-Id: <20200420164304.28810-1-kwizart@gmail.com>
-X-Mailer: git-send-email 2.25.2
-MIME-Version: 1.0
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-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 3e64ba6a36a8..4027e074094a 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,
diff --git a/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
deleted file mode 100644
index b1f4e7942..000000000
--- a/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
+++ /dev/null
@@ -1,714 +0,0 @@
-From patchwork Tue May 5 16:13:14 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529601
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1BF82139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:13:46 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id ED4E0206A4
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:13:45 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="u/J7plS1"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED4E0206A4
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=bGQLzaoeWIDpTINYetpnA2L/vb7OmdXvhp2NJuW0F3A=; b=u/J7plS1Bwu25p
- 31YlPyAxNHzkNz73OdF7ft5uhn9vS8dF3TEBhhmSu83IWYwAhsjyqTB+Hn8104w1KT17o0ihuNG++
- UIf6ftYyM8/v9W57OPJcwcWqPpKyFVB7fs9hgR9IE1/Qm8Ur/aUjmD1HK272ZJYsgrFqyFO4PP7DD
- 1LwVH20tWs3UvX317QDIn5VIq8EAX5ImabSfeYHw1LlyhQUYF10UPX5zw4I2TlLRd2hFvfyUy7s8b
- 1uMZFqLeqfTHrauQ43p5IBZs/wNGKGJbQlZvuENJxPcbBharqHBVDZrFvtV2MLnvrDOnv6A2QSfpt
- vv++WCa+crrbmyL2v/pw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CU-00035T-KT; Tue, 05 May 2020 16:13:42 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CF-0002rM-7U; Tue, 05 May 2020 16:13:28 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 0992CAF4F;
- Tue, 5 May 2020 16:13:28 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
- bcm-kernel-feedback-list@broadcom.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v8 1/4] soc: bcm2835: Add notify xHCI reset property
-Date: Tue, 5 May 2020 18:13:14 +0200
-Message-Id: <20200505161318.26200-2-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091327_410061_22E5BD39
-X-CRM114-Status: GOOD ( 13.67 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: linux-pci@vger.kernel.org, tim.gover@raspberrypi.org,
- linux-usb@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-The property is needed in order to trigger VL805's firmware load. Note
-that gap between the property introduced and the previous one is due to
-the properties not being defined.
-
-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,
-
-From patchwork Tue May 5 16:13:15 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529609
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 337F6139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:02 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 062432084D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:02 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="SDl3WXtu"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 062432084D
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=Zr8RX4pUFuT9LYq/WsMx8aWZosDB52n4Q59lcyexfbE=; b=SDl3WXtuTc/nTE
- liOc14IJBVmzylTRvqtl7RNlIur09j/+2VWz/L9i6UGqjG6N3L8XsQ0hQjdunHpod9jj3p3Az+4sq
- FgwzoSdghy8rfnfxhcqJSbvMvX34yzGnoQBS46jClcjky9iNoijO+nBo3SE9wC8vSKKIafCzmVqHw
- P7p44IgFrwgnBKbAgdUWCjUVQqolk2pLJr7jw/TG8pvfv0R6XJGmz3Lbl8gP14FyWfkkqsKqC+0g1
- Jq6JPtdl+W0AfEWVrFr6/74LhLTpnhsPqXGEPJjrLqtkbZ2c9pulOQ3f85qAed9slCbkVxe5fHetC
- bwaYOp++AlOj7kNN25Qw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0Ch-0003KV-Mk; Tue, 05 May 2020 16:13:55 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CG-0002rw-Mm; Tue, 05 May 2020 16:13:30 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 4B6EDAF5D;
- Tue, 5 May 2020 16:13:29 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
- bcm-kernel-feedback-list@broadcom.com
-Subject: [PATCH v8 2/4] firmware: raspberrypi: Introduce vl805 init routine
-Date: Tue, 5 May 2020 18:13:15 +0200
-Message-Id: <20200505161318.26200-3-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091329_063893_301DE39B
-X-CRM114-Status: GOOD ( 18.76 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: linux-pci@vger.kernel.org, tim.gover@raspberrypi.org,
- linux-usb@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-The Raspberry Pi 4 gets its USB functionality from VL805, a PCIe chip
-that implements xHCI. After a PCI reset, VL805's firmware may either be
-loaded directly from an EEPROM or, if not present, by the SoC's
-co-processor, VideoCore. RPi4's VideoCore OS contains both the non public
-firmware load logic and the VL805 firmware blob. The function this patch
-introduces triggers the aforementioned process.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
-
-Change since v7:
-- Use usleep_delay()
-- Add comment about PCI errors
-- Don't wait on error
-- Typos
-
-Change since v6:
-- Add test to avoid loading the firmware when not needed
-- Since we have it around, print VL805's firmware version, it'll make
-debugging easier in the future
-- Correct typos
-- Add a clearer view of HW topology in patch description
-
-Changes since v4:
-- Inline function definition when RASPBERRYPI_FIRMWARE is not defined
-
-Changes since v1:
-- Move include into .c file and add forward declaration to .h
-
- drivers/firmware/raspberrypi.c | 61 ++++++++++++++++++++++
- include/soc/bcm2835/raspberrypi-firmware.h | 7 +++
- 2 files changed, 68 insertions(+)
-
-diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c
-index da26a584dca0..a166ad0cec2c 100644
---- a/drivers/firmware/raspberrypi.c
-+++ b/drivers/firmware/raspberrypi.c
-@@ -12,6 +12,8 @@
- #include <linux/of_platform.h>
- #include <linux/platform_device.h>
- #include <linux/slab.h>
-+#include <linux/pci.h>
-+#include <linux/delay.h>
- #include <soc/bcm2835/raspberrypi-firmware.h>
-
- #define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf))
-@@ -19,6 +21,8 @@
- #define MBOX_DATA28(msg) ((msg) & ~0xf)
- #define MBOX_CHAN_PROPERTY 8
-
-+#define VL805_PCI_CONFIG_VERSION_OFFSET 0x50
-+
- static struct platform_device *rpi_hwmon;
- static struct platform_device *rpi_clk;
-
-@@ -286,6 +290,63 @@ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
- }
- EXPORT_SYMBOL_GPL(rpi_firmware_get);
-
-+/*
-+ * The Raspberry Pi 4 gets its USB functionality from VL805, a PCIe chip that
-+ * implements xHCI. After a PCI reset, VL805's firmware may either be loaded
-+ * directly from an EEPROM or, if not present, by the SoC's co-processor,
-+ * VideoCore. RPi4's VideoCore OS contains both the non public firmware load
-+ * logic and the VL805 firmware blob. This function triggers the aforementioned
-+ * process.
-+ */
-+int rpi_firmware_init_vl805(struct pci_dev *pdev)
-+{
-+ struct device_node *fw_np;
-+ struct rpi_firmware *fw;
-+ u32 dev_addr, version;
-+ 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 -ENODEV;
-+
-+ /*
-+ * Make sure we don't trigger a firmware load unnecessarily.
-+ *
-+ * If something went wrong with PCI, this whole exercise would be
-+ * futile as VideoCore expects from us a configured PCI bus. Just take
-+ * the faulty version (likely ~0) and let xHCI's registration fail
-+ * further down the line.
-+ */
-+ pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET, &version);
-+ if (version)
-+ goto exit;
-+
-+ 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;
-+
-+ /* Wait for vl805 to startup */
-+ usleep_range(200, 1000);
-+
-+ pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET,
-+ &version);
-+exit:
-+ pci_info(pdev, "VL805 firmware version %08x\n", version);
-+
-+ 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__ */
-
-From patchwork Tue May 5 16:13:16 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529613
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 09B41139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:12 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id D0DF22078D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:11 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="SAMPLJUW"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D0DF22078D
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=KaAXr2YFGUN9aHABYMGoI6lDCplKLkueaLach3EcLIQ=; b=SAMPLJUWqAiuYn
- Ols6qNQTSsb2o1pxY1yuF4MaX8dUzqsSCkylXQf5SkLRki0hXDsY/eVzwcypdH60m5jdk31wU1MJD
- O88oZLgP0rvsSmG//a4xMHn/EpxntBmXZvNxlvZ9RuDATHjuA2w1+GKUOEvREG9jBi1M4+r5QZXrY
- nRQqxUi1CldsZHzGt3IJi1mXzlNIhZq+fi48xOWUdgCSXYfpJO4qsr3b3QhwJklPSO0c4jMAHKYTQ
- z3kKMMszvYgug/JraC4fZD2qDKGic3IxeOSxP2c8dLYBfxMxfBz7gya5rpBpjvFelYZMN2qXaQInv
- gND7kQ/fU/heR7N6g6Dg==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0Cv-0003b2-3s; Tue, 05 May 2020 16:14:09 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CI-0002tA-MY; Tue, 05 May 2020 16:13:32 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 3372DAF7A;
- Tue, 5 May 2020 16:13:31 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
- Rob Herring <robh@kernel.org>, bcm-kernel-feedback-list@broadcom.com
-Subject: [PATCH v8 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when
- present
-Date: Tue, 5 May 2020 18:13:16 +0200
-Message-Id: <20200505161318.26200-4-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091330_993258_A3A56727
-X-CRM114-Status: GOOD ( 11.90 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: tim.gover@raspberrypi.org, linux-pci@vger.kernel.org,
- linux-usb@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-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>
----
-
-Changes since v6:
-- Add more complete comment
-
- drivers/pci/controller/pcie-brcmstb.c | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
-index 6d79d14527a6..0b97b94c4a9a 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,26 @@ 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 Raspberry Pi's firmware interface to be up as a
-+ * PCI fixup, rpi_firmware_init_vl805(), depends on it. This driver's
-+ * probe can race with the firmware interface's (see
-+ * drivers/firmware/raspberrypi.c) and potentially break the PCI fixup.
-+ */
-+ 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;
-
-From patchwork Tue May 5 16:13:17 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529615
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9C85E1392
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:26 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 75AD8206FA
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:26 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="pXZpPhrT"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 75AD8206FA
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=/GYWkYF77JxYJ9PRLu3wczjjHT+GnXqD2IyzZ0uR8KY=; b=pXZpPhrTtgd1O0
- sy/khBh4MMWq9sIqFwH9HgDbPFDzQ5eCkfiS/YZoDGJPFFwsUcitnTfFX9VGMnYzLf7eCCLfm1hta
- f3X7UNpk1SvaeJKc59x7OvHTLVAwByuEPTqm4bmcqw+aRWdaYShUiv+105SG6JShQF5gjuBpEn3w0
- vzQNYGEl4BeHnlREFZU+Wi1qQ8sa1BwpU6Rx/NmGk8qLv1GOO4+UNf/ABycGTH6jZU101ck7/nvKL
- Da7jehxCo1CCUiqM69fvoKabrfI76uVP4OdJcCihqzOWzmkiVwhQAWB0qFa9LR2h4CObuPthIqmW7
- oaRbCgJg+N26f/dtw1mg==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0D6-0003ov-Og; Tue, 05 May 2020 16:14:20 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CJ-0002ui-S6; Tue, 05 May 2020 16:13:33 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 80D21AF4F;
- Tue, 5 May 2020 16:13:32 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Mathias Nyman <mathias.nyman@intel.com>
-Subject: [PATCH v8 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk
-Date: Tue, 5 May 2020 18:13:17 +0200
-Message-Id: <20200505161318.26200-5-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091332_068613_1A981780
-X-CRM114-Status: GOOD ( 16.37 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: tim.gover@raspberrypi.org, linux-pci@vger.kernel.org,
- linux-usb@vger.kernel.org, Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-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
-VideoCore. Inform VideoCore that VL805 was just reset.
-
-Also, as this creates a dependency between USB_PCI and VideoCore's
-firmware interface, and since USB_PCI can't be set as a module neither
-this can. Reflect that on the firmware interface Kconfg.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
-
-Changes since v5:
- - Fix Kconfig issue with allmodconfig
-
-Changes since v4:
- - Do not split up error message
-
-Changes since v3:
- - Add more complete error message
-
-Changes since v1:
- - Make RASPBERRYPI_FIRMWARE dependent on this quirk to make sure it
- gets compiled when needed.
-
- drivers/firmware/Kconfig | 3 ++-
- drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++
- 2 files changed, 18 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
-index 8007d4aa76dc..b42140cff8ac 100644
---- a/drivers/firmware/Kconfig
-+++ b/drivers/firmware/Kconfig
-@@ -178,8 +178,9 @@ config ISCSI_IBFT
- Otherwise, say N.
-
- config RASPBERRYPI_FIRMWARE
-- tristate "Raspberry Pi Firmware Driver"
-+ bool "Raspberry Pi Firmware Driver"
- depends on BCM2835_MBOX
-+ default USB_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 92150ecdb036..0b949acfa258 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 &&
diff --git a/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch b/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
deleted file mode 100644
index 8c7a43185..000000000
--- a/arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
+++ /dev/null
@@ -1,374 +0,0 @@
-From 6c92ae1e452ff3f4648b1450c9a3233a2ca53feb Mon Sep 17 00:00:00 2001
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Date: Fri, 6 Mar 2020 18:44:03 +0100
-Subject: mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage()
-
-Some controllers diverge from the standard way of setting power and need
-their bus voltage register to be configured regardless of the whether
-they use regulators. As this is a common pattern across sdhci hosts,
-create a helper function.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Link: https://lore.kernel.org/r/20200306174413.20634-2-nsaenzjulienne@suse.de
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
----
- drivers/mmc/host/sdhci.c | 19 +++++++++++++++++++
- drivers/mmc/host/sdhci.h | 3 +++
- 2 files changed, 22 insertions(+)
-
-diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
-index c59566363a42..525e0c971c6a 100644
---- a/drivers/mmc/host/sdhci.c
-+++ b/drivers/mmc/host/sdhci.c
-@@ -2010,6 +2010,25 @@ void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
- }
- EXPORT_SYMBOL_GPL(sdhci_set_power);
-
-+/*
-+ * Some controllers need to configure a valid bus voltage on their power
-+ * register regardless of whether an external regulator is taking care of power
-+ * supply. This helper function takes care of it if set as the controller's
-+ * sdhci_ops.set_power callback.
-+ */
-+void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
-+ unsigned char mode,
-+ unsigned short vdd)
-+{
-+ if (!IS_ERR(host->mmc->supply.vmmc)) {
-+ struct mmc_host *mmc = host->mmc;
-+
-+ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
-+ }
-+ sdhci_set_power_noreg(host, mode, vdd);
-+}
-+EXPORT_SYMBOL_GPL(sdhci_set_power_and_bus_voltage);
-+
- /*****************************************************************************\
- * *
- * MMC callbacks *
-diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
-index 249635692112..851b81565f46 100644
---- a/drivers/mmc/host/sdhci.h
-+++ b/drivers/mmc/host/sdhci.h
-@@ -772,6 +772,9 @@ void sdhci_set_clock(struct sdhci_host *host, unsigned int clock);
- void sdhci_enable_clk(struct sdhci_host *host, u16 clk);
- void sdhci_set_power(struct sdhci_host *host, unsigned char mode,
- unsigned short vdd);
-+void sdhci_set_power_and_bus_voltage(struct sdhci_host *host,
-+ unsigned char mode,
-+ unsigned short vdd);
- void sdhci_set_power_noreg(struct sdhci_host *host, unsigned char mode,
- unsigned short vdd);
- void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq);
---
-cgit 1.2-0.3.lf.el7
-From f87391eec2c5f54269e64d655da19f2c32515e4c Mon Sep 17 00:00:00 2001
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Date: Fri, 6 Mar 2020 18:44:11 +0100
-Subject: mmc: sdhci: iproc: Add custom set_power() callback for bcm2711
-
-The controller needs a valid bus voltage in its power register
-regardless of whether an external regulator is taking care of the power
-supply.
-
-The sdhci core already provides a helper function for this,
-sdhci_set_power_and_bus_voltage(), so create a bcm2711 specific 'struct
-sdhci_ops' which makes use of it.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Acked-by: Adrian Hunter <adrian.hunter@intel.com>
-Link: https://lore.kernel.org/r/20200306174413.20634-10-nsaenzjulienne@suse.de
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
----
- drivers/mmc/host/sdhci-iproc.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
-index f4f5f0a70cda..225603148d7d 100644
---- a/drivers/mmc/host/sdhci-iproc.c
-+++ b/drivers/mmc/host/sdhci-iproc.c
-@@ -261,9 +261,24 @@ static const struct sdhci_iproc_data bcm2835_data = {
- .mmc_caps = 0x00000000,
- };
-
-+static const struct sdhci_ops sdhci_iproc_bcm2711_ops = {
-+ .read_l = sdhci_iproc_readl,
-+ .read_w = sdhci_iproc_readw,
-+ .read_b = sdhci_iproc_readb,
-+ .write_l = sdhci_iproc_writel,
-+ .write_w = sdhci_iproc_writew,
-+ .write_b = sdhci_iproc_writeb,
-+ .set_clock = sdhci_set_clock,
-+ .set_power = sdhci_set_power_and_bus_voltage,
-+ .get_max_clock = sdhci_iproc_get_max_clock,
-+ .set_bus_width = sdhci_set_bus_width,
-+ .reset = sdhci_reset,
-+ .set_uhs_signaling = sdhci_set_uhs_signaling,
-+};
-+
- static const struct sdhci_pltfm_data sdhci_bcm2711_pltfm_data = {
- .quirks = SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
-- .ops = &sdhci_iproc_32only_ops,
-+ .ops = &sdhci_iproc_bcm2711_ops,
- };
-
- static const struct sdhci_iproc_data bcm2711_data = {
---
-cgit 1.2-0.3.lf.el7
-From patchwork Fri Mar 6 17:44:12 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11424593
-Return-Path:
- <SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9D86014E3
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 7BFCB2072A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Fri, 6 Mar 2020 17:46:55 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="YjdlKV21"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7BFCB2072A
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=uwmoUBe7WYtSPXJudhI4GM1SShwysP2rkzh9oA/iygA=; b=YjdlKV21P2YnYd
- uFZk/zUDicQRMv6kHWHSeOubxKYNNZjuVUmkI6PWtCuEt37bz+3qPjaDWjY6QO0qR9wHKzxaPikjZ
- upSKvBHf9jcYSON0gQhjCxZEGnfO3zrdObtnjdQFTTE9rJPiUXe+bIsvhqlNCO/5Xq4pXjSVR81Fw
- IVfXtxtw0tmDjrN7VDqH+dhvUPrvLDRnXOHnolvQfQyuvyvSZ9I7Wn/c4fFJsZemBA7mjvORI7cTd
- lVRuIqACikY2bT4Zh+ZtglOCFxtlNjCe60Dj94AnA/j51dvC8MHQOOD+HGKjGzKBwk5FONXjvKeUZ
- kR8WGaZiQsG3hj3hzxyw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jAH3k-0003wN-91; Fri, 06 Mar 2020 17:46:52 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jAH1V-00085X-Ut; Fri, 06 Mar 2020 17:44:35 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 8906AACC2;
- Fri, 6 Mar 2020 17:44:32 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
- Rob Herring <robh+dt@kernel.org>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v2 10/11] ARM: dts: bcm2711: Update expgpio's GPIO labels
-Date: Fri, 6 Mar 2020 18:44:12 +0100
-Message-Id: <20200306174413.20634-11-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.25.1
-In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
-References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200306_094434_171925_0978A2DC
-X-CRM114-Status: GOOD ( 11.64 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
- linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-The 6th line of the GPIO expander is used to power the board's SD card.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-index 1d4b589fe233..b0ea8233b636 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-@@ -68,7 +68,7 @@ expgpio: gpio {
- "GLOBAL_RESET",
- "VDD_SD_IO_SEL",
- "CAM_GPIO",
-- "",
-+ "SD_PWR_ON",
- "";
- status = "okay";
- };
-From patchwork Fri Mar 6 17:44:13 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11424599
-Return-Path:
- <SRS0=iJpk=4X=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A9E8E14BC
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 86F7120656
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Fri, 6 Mar 2020 17:47:49 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="nK9IFX75"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 86F7120656
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=yrr+wQNcWoBzz3a/8/AcMlS2enrwpsgYIWUpL8bLv8o=; b=nK9IFX75hVaG6g
- t8PhPIHJnIGtQxqZ65valF8dAq8JXeUle2mgnW5xdfa/YWcgzajD9/LaS1qMXKW7wDU/rQ0GbSW9t
- +8F8v8NQzCf34sfHmFBEl30S1pJN/dQVJKJk0kmx6/P9N+ig3vAyMVsPsXq1Xij+OU0aU8SU1V+mE
- nZnwLti9oSRWY6sNhg1MoHB2DNBt/FBNtROGqiXh13ngQTg8C/HgYapnJnXb+GjrutVM2DzH+i/tG
- OtgGRm0XoLRz5QjavZZHPmlHUm8pMxfgllYbUvrESNgDT06vBiPj4idCN7X1XXxxoqPsP3/k8kido
- Py713+dNVA1gqQEWqG1g==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jAH4a-0004vA-Os; Fri, 06 Mar 2020 17:47:44 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jAH1W-00086J-W9; Fri, 06 Mar 2020 17:44:36 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 8D8E5AEC5;
- Fri, 6 Mar 2020 17:44:33 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: adrian.hunter@intel.com, linux-kernel@vger.kernel.org,
- Rob Herring <robh+dt@kernel.org>,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v2 11/11] ARM: dts: bcm2711: Add vmmc regulator in emmc2
-Date: Fri, 6 Mar 2020 18:44:13 +0100
-Message-Id: <20200306174413.20634-12-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.25.1
-In-Reply-To: <20200306174413.20634-1-nsaenzjulienne@suse.de>
-References: <20200306174413.20634-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200306_094435_205829_20FE02CB
-X-CRM114-Status: GOOD ( 10.34 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: stefan.wahren@i2se.com, devicetree@vger.kernel.org, f.fainelli@gmail.com,
- linux-mmc@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, phil@raspberrypi.com,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-The SD card power can be controlled trough a pin routed into the board's
-external GPIO expander. Turn that into a regulator and provide it to
-emmc2.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-index b0ea8233b636..a2da058396fe 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-@@ -55,6 +55,16 @@ sd_io_1v8_reg: sd_io_1v8_reg {
- 3300000 0x0>;
- status = "okay";
- };
-+
-+ sd_vcc_reg: sd_vcc_reg {
-+ compatible = "regulator-fixed";
-+ regulator-name = "vcc-sd";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-boot-on;
-+ enable-active-high;
-+ gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
-+ };
- };
-
- &firmware {
-@@ -173,6 +183,7 @@ brcmf: wifi@1 {
- /* EMMC2 is used to drive the SD card */
- &emmc2 {
- vqmmc-supply = <&sd_io_1v8_reg>;
-+ vmmc-supply = <&sd_vcc_reg>;
- broken-cd;
- status = "okay";
- };
diff --git a/arm-bcm2835-serial-8250_early-support-aux-uart.patch b/arm-bcm2835-serial-8250_early-support-aux-uart.patch
deleted file mode 100644
index 5ab954996..000000000
--- a/arm-bcm2835-serial-8250_early-support-aux-uart.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 57b76faf1d7860f070a1ee2d0b7eccd9f37ecc55 Mon Sep 17 00:00:00 2001
-From: Matthias Brugger <mbrugger@suse.com>
-Date: Sun, 26 Jan 2020 13:33:14 +0100
-Subject: serial: 8250_early: Add earlycon for BCM2835 aux uart
-
-Define the OF early console for BCM2835 aux UART, which can be enabled
-by passing "earlycon" on the boot command line. This UART is found on
-BCM283x and BCM27xx SoCs, a.k.a. Raspberry Pi in its variants.
-
-Signed-off-by: Matthias Brugger <mbrugger@suse.com>
-Link: https://lore.kernel.org/r/20200126123314.3558-1-matthias.bgg@kernel.org
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/tty/serial/8250/8250_bcm2835aux.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c
-index e70e3cc30050..5cc03bf24f85 100644
---- a/drivers/tty/serial/8250/8250_bcm2835aux.c
-+++ b/drivers/tty/serial/8250/8250_bcm2835aux.c
-@@ -137,6 +137,24 @@ static struct platform_driver bcm2835aux_serial_driver = {
- };
- module_platform_driver(bcm2835aux_serial_driver);
-
-+#ifdef CONFIG_SERIAL_8250_CONSOLE
-+
-+static int __init early_bcm2835aux_setup(struct earlycon_device *device,
-+ const char *options)
-+{
-+ if (!device->port.membase)
-+ return -ENODEV;
-+
-+ device->port.iotype = UPIO_MEM32;
-+ device->port.regshift = 2;
-+
-+ return early_serial8250_setup(device, NULL);
-+}
-+
-+OF_EARLYCON_DECLARE(bcm2835aux, "brcm,bcm2835-aux-uart",
-+ early_bcm2835aux_setup);
-+#endif
-+
- MODULE_DESCRIPTION("BCM2835 auxiliar UART driver");
- MODULE_AUTHOR("Martin Sperl <kernel@martin.sperl.org>");
- MODULE_LICENSE("GPL v2");
---
-cgit 1.2-0.3.lf.el7
diff --git a/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch b/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
deleted file mode 100644
index 7bfd204b5..000000000
--- a/arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From c45fbddb2cd7ce6198e33ebe6dc4c1301d7875d4 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sun, 19 Apr 2020 20:50:08 +0100
-Subject: [PATCH] Fix some GPIO setup on Pinebook Pro
-
-This patchset contains two small fixes for the dts of the Pinebook Pro.
-The first fixes inverted logic on the headphone detect GPIO.
-The second patch fixes unreliable DC charger detection.
-
-Tobias Schramm (2):
- arm64: dts: rockchip: fix inverted headphone detection
- arm64: dts: rockchip: enable DC charger detection pullup
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-index 5ea281b55fe2..294d21bf45f5 100644
---- a/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
-@@ -147,7 +147,7 @@ es8316-sound {
- "Speaker", "Speaker Amplifier OUTL",
- "Speaker", "Speaker Amplifier OUTR";
-
-- simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
-+ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
- simple-audio-card,aux-devs = <&speaker_amp>;
- simple-audio-card,pin-switches = "Speaker";
-
-@@ -788,13 +788,13 @@ lidbtn_gpio: lidbtn-gpio {
-
- dc-charger {
- dc_det_gpio: dc-det-gpio {
-- rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
-+ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
- };
- };
-
- es8316 {
- hp_det_gpio: hp-det-gpio {
-- rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
-+ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
- };
- };
-
---
-2.26.1
-
diff --git a/arm64-a64-mbus.patch b/arm64-a64-mbus.patch
deleted file mode 100644
index 46efa29cf..000000000
--- a/arm64-a64-mbus.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From daae9f66b29a04a94708b1b5a9b61e3ee14df031 Mon Sep 17 00:00:00 2001
-From: Jernej Skrabec <jernej.skrabec@siol.net>
-Date: Mon, 10 Feb 2020 18:06:52 +0100
-Subject: [PATCH 1/2] dt-bindings: interconnect: sunxi: Add A64 MBUS compatible
-
-A64 contains MBUS controller. Add a compatible for it.
-
-Acked-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- .../devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
-index 9370e64992dd..aa0738b4d534 100644
---- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
-+++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
-@@ -30,6 +30,7 @@ properties:
- enum:
- - allwinner,sun5i-a13-mbus
- - allwinner,sun8i-h3-mbus
-+ - allwinner,sun50i-a64-mbus
-
- reg:
- maxItems: 1
---
-2.24.1
-
-From 410bb2be7e1f1d329c238e2d6d06b6c25dcee404 Mon Sep 17 00:00:00 2001
-From: Jernej Skrabec <jernej.skrabec@siol.net>
-Date: Mon, 10 Feb 2020 18:06:54 +0100
-Subject: [PATCH 2/2] arm64: dts: allwinner: a64: Add MBUS controller node
-
-A64 contains MBUS, which is the bus used by DMA devices to access
-system memory.
-
-MBUS controller is responsible for arbitration between channels based
-on set priority and can do some other things as well, like report
-bandwidth used. It also maps RAM region to different address than CPU.
-
-Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-index 862b47dc9dc9..251c91724de1 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-@@ -1061,6 +1061,14 @@ pwm: pwm@1c21400 {
- status = "disabled";
- };
-
-+ mbus: dram-controller@1c62000 {
-+ compatible = "allwinner,sun50i-a64-mbus";
-+ reg = <0x01c62000 0x1000>;
-+ clocks = <&ccu 112>;
-+ dma-ranges = <0x00000000 0x40000000 0xc0000000>;
-+ #interconnect-cells = <1>;
-+ };
-+
- csi: csi@1cb0000 {
- compatible = "allwinner,sun50i-a64-csi";
- reg = <0x01cb0000 0x1000>;
---
-2.24.1
-
diff --git a/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch b/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
deleted file mode 100644
index efa8393c3..000000000
--- a/arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From patchwork Tue Feb 11 13:48:28 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Alifer Moraes <alifer.wsdm@gmail.com>
-X-Patchwork-Id: 11375533
-Return-Path:
- <SRS0=9UBk=37=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7DAC92A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id C5EA020714
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 11 Feb 2020 13:49:12 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="balGUEE3";
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="d3FXu4Dc"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C5EA020714
-Authentication-Results: mail.kernel.org;
- dmarc=fail (p=none dis=none) header.from=gmail.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:
- Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:
- Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:
- References:List-Owner; bh=Q9Eedrpm+ZQezEHXcjojgCHrYwg1NSmbBzGRJC6OAEs=; b=bal
- GUEE3cweBEy/Vkjzf2O1dBoqXUeIQqctHowPUTw4Z2UghEKFuNfNsw8XoV+k/9uxO4M/XaDCgWyyp
- qf26Y3SZo9+k2pqbjJt+qdqndF06tTHiH7QPQGbaWEBxURzOD+G1VW8Iyjvfi0f9vrXbv8d9b9+DI
- LPpFdD/7IwXQZEYsPmaSEitj7mQXBlWZnRZrvrQfYtxXb3yABUQIUrBtZSoARs4A+Txn4vOFlT6B4
- HOAidlwfT8hESddkvjjmeCAuPLXUyIBvDoSaYgAumOSh1xoUZsswM2ALud+R1XKVlGlAd1BE6uHt2
- bWDUHrcXdge45JTn/egO1ibajqTlB/g==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j1VuW-0004DJ-JR; Tue, 11 Feb 2020 13:49:08 +0000
-Received: from mail-qt1-x841.google.com ([2607:f8b0:4864:20::841])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j1VuM-0003zu-98
- for linux-arm-kernel@lists.infradead.org; Tue, 11 Feb 2020 13:48:59 +0000
-Received: by mail-qt1-x841.google.com with SMTP id t13so7964724qto.3
- for <linux-arm-kernel@lists.infradead.org>;
- Tue, 11 Feb 2020 05:48:53 -0800 (PST)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id;
- bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
- b=d3FXu4DcpsHeeo7NBsq1Ec3f7OKhc4SsvQnIJenSnOtjREel9IF+kdR8ma1SWkO5OR
- Ou4s2dnBv7WOxC4OPWNV6d8KIVpBRVtM/ukAKzN6d3zx7MvBtQz1N27NoDx/a7ujHsmS
- jvZYtEEc8DToM7semtrIS3CUfnR8Jxni2Z/6WUP8wvMdDT8C1m2PB78zzz+BFas4vec2
- VRg0vXB9eGeEdlGGMFCs2IJ9nbGhw7o3VA3WFY8plHWMmjNInC6fLgpMiA40FBmv4BzV
- G9slDIDonCBacDdi6tPT8KEVnytqC8eiltqCoEj+hq8mYECNDQpWUjWhJQ4KRRh1aoXi
- oAuA==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id;
- bh=JIZHRdZLqtLorXZfrYCSPItmC1Dc+HGHwOIzP/XDImY=;
- b=VDw2Y7qVf/KFTneIHUcwsg23yYrIU2SHbDXAyjC6m5rgjl9cM292uJO9J1u+Op1Cu/
- dOhT15wf440CJpqMBTLTJJSuUVpomGxEXFT4qDa6Q84BqkWbFYl/d9HRJkcM1376rLVZ
- 7nbzvWqSlLIu3wFgOabFryD13Mw65RJpKUn2vW0b7kInWJ/phJhDJ5+FwjVWJTXEIlsT
- LFN5gpS5hajAUubLcUmK8avcuJGka+vT8NkK608MO8NndwUp56g4BRs7Pk4S6wvttmy3
- F8ouwAvWF2idbxWjx9MGcaM/PVLhQpDmcif8AjlEhGnbBza4u5356N4S+SKZSkd43Grw
- 8ZWA==
-X-Gm-Message-State: APjAAAUJWGlEecdg9M/V5ba1zVNwrP9LNv4AsXidTI7JEnOQd/PE0sMm
- I4AUmnPqcCuUaNiG7XoZiUw=
-X-Google-Smtp-Source:
- APXvYqybhzOEAAvHZbhKNes/s71zGxqa2omF1pXH9nVpHWlE7KVvcXMkRtBbOlD4T9UG/KxmmcCT+w==
-X-Received: by 2002:ac8:7caf:: with SMTP id z15mr14892626qtv.68.1581428933199;
- Tue, 11 Feb 2020 05:48:53 -0800 (PST)
-Received: from NXL86673.nxp.com ([177.221.114.206])
- by smtp.googlemail.com with ESMTPSA id h6sm2158936qtr.33.2020.02.11.05.48.50
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Tue, 11 Feb 2020 05:48:52 -0800 (PST)
-From: Alifer Moraes <alifer.wsdm@gmail.com>
-To: robh+dt@kernel.org
-Subject: [PATCH] arm64: dts: imx8mq-phanbell: Add support for ethernet
-Date: Tue, 11 Feb 2020 10:48:28 -0300
-Message-Id: <20200211134828.138-1-alifer.wsdm@gmail.com>
-X-Mailer: git-send-email 2.17.1
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200211_054858_316312_8FE28FDF
-X-CRM114-Status: GOOD ( 10.43 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.2 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [2607:f8b0:4864:20:0:0:0:841 listed in]
- [list.dnswl.org]
- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider [alifer.wsdm[at]gmail.com]
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.1 DKIM_SIGNED Message has a DKIM or DK signature,
- not necessarily
- valid
- -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from
- envelope-from domain
- -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
- -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
- author's domain
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: mark.rutland@arm.com, devicetree@vger.kernel.org, festevam@gmail.com,
- s.hauer@pengutronix.de, linux-kernel@vger.kernel.org,
- Alifer Moraes <alifer.wsdm@gmail.com>, marco.franchi@nxp.com,
- shawnguo@kernel.org, linux-arm-kernel@lists.infradead.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-Add support for ethernet on Google's i.MX 8MQ Phanbell
-
-Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
----
- .../boot/dts/freescale/imx8mq-phanbell.dts | 41 +++++++++++++++++++
- 1 file changed, 41 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
-index 3f2a489a4ad8..16ed13c44a47 100644
---- a/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
-+++ b/arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
-@@ -201,6 +201,27 @@
- };
- };
-
-+&fec1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_fec1>;
-+ phy-mode = "rgmii-id";
-+ phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
-+ phy-reset-duration = <10>;
-+ phy-reset-post-delay = <30>;
-+ phy-handle = <&ethphy0>;
-+ fsl,magic-packet;
-+ status = "okay";
-+
-+ mdio {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ ethphy0: ethernet-phy@0 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <0>;
-+ };
-+ };
-+};
-+
- &uart1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart1>;
-@@ -254,6 +275,26 @@
- };
-
- &iomuxc {
-+ pinctrl_fec1: fec1grp {
-+ fsl,pins = <
-+ MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3
-+ MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23
-+ MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
-+ MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
-+ MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
-+ MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
-+ MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
-+ MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
-+ MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
-+ MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
-+ MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
-+ MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
-+ MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
-+ MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
-+ MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
-+ >;
-+ };
-+
- pinctrl_i2c1: i2c1grp {
- fsl,pins = <
- MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f
diff --git a/arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch b/arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
deleted file mode 100644
index 87ef3d967..000000000
--- a/arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
+++ /dev/null
@@ -1,868 +0,0 @@
-From patchwork Mon Jan 27 18:15:05 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 11353081
-Return-Path:
- <SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E75D71398
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:15:48 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id C51652087F
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:15:48 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="boj1KSY/"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C51652087F
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=i2se.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=vI+2qhhQ/ad2gqCbe5hUTYTYVj8IfAamleiL75V5TSM=; b=boj1KSY/v7nluMqljONFMsrQpY
- TIwo7rcohwHGuN2fwWIQvlOtuoNfi2Fq0p3Scukv0Q2ADP7S7q291VcafNnFU5KN1MrzMbRGe4GnM
- P3V6kUvf56szm1T1NS1MkTH0UxtSeASAdrde8x8OVZKQoaCTk7UON0PPOY27cnqVlh3c0YEdnjw7O
- mqUMZ1W2xfP/jLVZPipZOqiUkCPtyOl7fcUXPVJInCLU8Ap12h/ucwxm6p7sL/miLW+RLo0gKtso8
- vE/Ub+gXij8pNQBcHeQOS3T5w7YYAKX0ckGovHYTGCE5G9DP0PYvWHj2aUr39vu4U7SF87h2rVwQ8
- lsj/6XEg==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8vL-0007qT-4l; Mon, 27 Jan 2020 18:15:47 +0000
-Received: from mout.kundenserver.de ([212.227.126.130])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8vI-0007pK-OI
- for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:46 +0000
-Received: from localhost.localdomain ([37.4.249.152]) by
- mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
- id 1MRmwM-1j2Dig1rly-00TAt5; Mon, 27 Jan 2020 19:15:40 +0100
-From: Stefan Wahren <stefan.wahren@i2se.com>
-To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
- Scott Branden <sbranden@broadcom.com>
-Subject: [RFC PATCH 1/4] pinctrl: bcm2835: Drop unused define
-Date: Mon, 27 Jan 2020 19:15:05 +0100
-Message-Id: <1580148908-4863-2-git-send-email-stefan.wahren@i2se.com>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-X-Provags-ID: V03:K1:lGg05mfNcExFSuIdqSja3VB+cOAOOVkxA1mUl+WjJLfuDEYN48s
- KCpfgqk9HemEgzwKhTMkYEgexHNzZfeVG5k5xAbv9CDheeQx24pa/Pz7dPaHD9i2zVtcPEX
- ugday3kFGFOvKGH3QCW8oxkE91P2/fJaGsnynRzDkoSe3RjqXABLPjZW+febQ6xUrd9aF8p
- OvDdu6E+cBesU1loyk22g==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:FBYTcl5hsyU=:/uJXPKY5G3RK2HKm3g2afF
- CA5JAlk5ZwkebJLV4bbQfKqE89ChkfNCYzAIhT9SgQhi22RYSBr1LmN//FwU0R3diFEvflVI4
- OPkci48gv0sh+mZnsk9a5fiLs2oAnSh5hggie4G8ZelqhAZ6n4CYEWIp+lz1bo5KPywuZxqek
- T8GpkbU4eb/oEicxOhC8lN0DwOFD5W3GliKQ1IpWDarfz8Y9a4d+EgeY0+iBjelJHlfR3e1Q4
- 5TOF82NxXDkBp/4GoxSxM5JDUgoTnPvWCJ7ZFIchyrHbjc5NauAb/4e//OnNTPB8e7bKoOaH2
- HQ6XUp0Da/6crl8QtfuGEbHRAtkNZFJTRdT07zQtpcH89Cqto3IYQ9ND/7ijWcWxu5wb7Ve34
- RPM8gzArJAvou4fFeqPnnHkVmPuq3p5Xua81P7sTqXQN3m5U5RqmH8Lzr8w92FQrloZ2SMe9z
- XjYOrjAoxuxpe2x+H3tUoY4PwEgZjz7swAA8BeyYnRzumaAVvQgvNKrW2Qj9V73nKPwgtehvz
- hZDfvJgFBHEyfHVj4Fcz+N3r4xFIWS5o2UW5P2M2L2v7bQsckL4EkHWUHSjK5sJhQVDongIHo
- /+aJJViGcVBiAGrzvEW2ksFVnPP5X7R2pBxPckyIx3WhJaGzC1OGqA3Wg/a2k08Ewtt7m2DXz
- yYvnBfgEsV57VS3aLe8dsbJ2HqKMcqeahm6FQesAnangl4BtG6RH1BMKAaaaMeuJm2DQO+UUA
- PELxUMq3dBDAOEuSMNSdvN15BCqDxAajjVLnv+b/+pnKsJ/31p3YVryA78eJ6/kZm1a/DobHg
- vNu1QLjbpYkq/WH/K/LaUxt+YpwMi8egvQPLH32zMRACRbsqlMQ7nAGsZtdEkU8zYbp38yV
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200127_101545_079150_4EC20A38
-X-CRM114-Status: GOOD ( 11.11 )
-X-Spam-Score: 0.0 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (0.0 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.126.130 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
- devicetree@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-There is no usage for this define, so drop it.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-index 0de1a3a..3fc2638 100644
---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -40,9 +40,6 @@
- #define BCM2835_NUM_BANKS 2
- #define BCM2835_NUM_IRQS 3
-
--#define BCM2835_PIN_BITMAP_SZ \
-- DIV_ROUND_UP(BCM2835_NUM_GPIOS, sizeof(unsigned long) * 8)
--
- /* GPIO register offsets */
- #define GPFSEL0 0x0 /* Function Select */
- #define GPSET0 0x1c /* Pin Output Set */
-
-From patchwork Mon Jan 27 18:15:06 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 11353087
-Return-Path:
- <SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D0A70159A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:16:30 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id A832D214AF
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:16:30 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="BBcc5MYW"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A832D214AF
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=i2se.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=zl633DOCOOf5sEmBHgEEmRs3zIL6xCyAbRmQHF/5twU=; b=BBcc5MYWdf7TBI7GF8KvMnZTXP
- vwSri+G4Xg+SfQ0x1b4jtd8AwTGL1tYuyopmjQCdIt42APOehPRUttV2YvvQ9suKeJoNobnLxLcBr
- zvQYgSNAwt21baLbOyQi0HJWd2BzeIpRw419olVPp37cUGLwE4hpNIv0peCB/6uhTDXyN4YPrXKmW
- P7fz/gK+8yj6qz6VZeILYNYiE5DjbkwPSIoD8X/NZhppDvPNCkO3tmD4Z1UQDhMoZNooqIWcGRKIh
- umTkq58tIYGNOTccLaKvcW8Elm9ZHK7ssai4uhpgfmL0tId3saEqMuJzSccyqF6ENztpgOra2qWKS
- cVX67vMA==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8vz-0008UK-VC; Mon, 27 Jan 2020 18:16:27 +0000
-Received: from mout.kundenserver.de ([212.227.126.135])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8vJ-0007pN-PH
- for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:48 +0000
-Received: from localhost.localdomain ([37.4.249.152]) by
- mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
- id 1MdvVu-1jTpmM3Tfy-00b6tv; Mon, 27 Jan 2020 19:15:40 +0100
-From: Stefan Wahren <stefan.wahren@i2se.com>
-To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
- Scott Branden <sbranden@broadcom.com>
-Subject: [RFC PATCH 2/4] pinctrl: bcm2835: Refactor platform data
-Date: Mon, 27 Jan 2020 19:15:06 +0100
-Message-Id: <1580148908-4863-3-git-send-email-stefan.wahren@i2se.com>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-X-Provags-ID: V03:K1:VruPCfmk9mM3xiAf4DG/6aoXzCy4UDEsxr5SC+GDP4iRdgXZX29
- MFCNoD27qBqcSq1LjDl1+NGtNJ3+c1twK3aKoFUdWC05HKxzJPuizB6xDkWYoCIsLzUx75H
- HiA0SBUlw/LN+bHlzoczcUQzu+qFL0N3XAwKX9HxzpPzSFwl1lRDgLB6suBZjq4VTFrw6QP
- xptjL6VDFkgqBb05XjOfA==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:f2Tec5CMQUc=:niiLUGM7C+e//7RIjf+wMq
- wLFHtqjv1ynGaEgrTEwtjnWYqI/r72m4A6fdxd06jGD2Uyp8tpT//zGZgAMatxGP2tJCKPrs8
- H50QvZYrkhyeWT1e/b/43xnEBFcJ26c6kKbSdwNEaPpeQ2pSXrJ+fWFg4rgyr2kyb0a6fODwi
- glMJlRcbMvRam6bDw57BliG4DhkYgMl0WB+vE3ztB/xJo+NhTzPKfEpK10WVhz1N+MdOE8gPM
- Ed3HaUcq1KYSZvZRKVS8rOnqLfx2aLsXvrn+YKEvs5xzV1w8QpRWEIYZcLOwKvY23kJzQG9eq
- MIIG4Or4qhijuBXiW2q6mwUPh2z1lLVKOHwzEHdCAb+4bDlzo8dAxIoc40B0H6ZxVg4/5LHFJ
- La0bD0qwfKTemPRPvdCrUGRjVY38hB0RBGSXLrWBfL0PkTsuaEeRZvCVEY80YYfxmOaIKNCZI
- KTZTGrVvZWUrz2smObUJlIIzYVznL4L5rWMZjNaLpWxwyNpAg0eDTqVYFmDT+qIxNN4PgQhRy
- tSUqMKFEgm7xT/YoZD4jdOe5rJJ0dEmy9DgnlvjmjzCBjXAGdPFrFO9kKivLmdSPaubJ7DdcC
- tcrGiqydtDkturFJvTsQYH+PmTQvbe4oBqgNIRZo8f1X5RgRS0fFLp3LA8/+FKUufNNqrLMao
- +41TZ2JeFAJBnB9x8z5VMa7EVYvu5Vv7a6UPbF0i7yUPlzFy4OB0vDTMzjH7rW414iarBNvIy
- QDypz6a5PwveJ4Fe9ATD7LILVISmcIjM7r29JF4LAmFeYo0lVn6a4kM0PnIwd/wQsax1Rp9/Y
- J1/TI8TQICVBl0N9CsxgAPc+X49YqHbFXpoqbsqqK9BIb3Bj+cJJ6Owe9HtjZLb6ifZLnyA
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200127_101546_108760_0514F0F4
-X-CRM114-Status: GOOD ( 14.77 )
-X-Spam-Score: 0.0 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (0.0 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.126.135 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
- devicetree@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This prepares the platform data to be easier to extend for more GPIOs.
-Except of this there is no functional change.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 57 +++++++++++++++++++++++++++--------
- 1 file changed, 44 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-index 3fc2638..ffd069a 100644
---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -82,6 +82,7 @@ struct bcm2835_pinctrl {
-
- struct pinctrl_dev *pctl_dev;
- struct gpio_chip gpio_chip;
-+ struct pinctrl_desc pctl_desc;
- struct pinctrl_gpio_range gpio_range;
-
- raw_spinlock_t irq_lock[BCM2835_NUM_BANKS];
-@@ -1051,7 +1052,7 @@ static const struct pinconf_ops bcm2711_pinconf_ops = {
- .pin_config_set = bcm2711_pinconf_set,
- };
-
--static struct pinctrl_desc bcm2835_pinctrl_desc = {
-+static const struct pinctrl_desc bcm2835_pinctrl_desc = {
- .name = MODULE_NAME,
- .pins = bcm2835_gpio_pins,
- .npins = ARRAY_SIZE(bcm2835_gpio_pins),
-@@ -1061,19 +1062,47 @@ static struct pinctrl_desc bcm2835_pinctrl_desc = {
- .owner = THIS_MODULE,
- };
-
--static struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range = {
-+static const struct pinctrl_desc bcm2711_pinctrl_desc = {
-+ .name = MODULE_NAME,
-+ .pins = bcm2835_gpio_pins,
-+ .npins = ARRAY_SIZE(bcm2835_gpio_pins),
-+ .pctlops = &bcm2835_pctl_ops,
-+ .pmxops = &bcm2835_pmx_ops,
-+ .confops = &bcm2711_pinconf_ops,
-+ .owner = THIS_MODULE,
-+};
-+
-+static const struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range = {
- .name = MODULE_NAME,
- .npins = BCM2835_NUM_GPIOS,
- };
-
-+struct bcm_plat_data {
-+ const struct gpio_chip *gpio_chip;
-+ const struct pinctrl_desc *pctl_desc;
-+ const struct pinctrl_gpio_range *gpio_range;
-+};
-+
-+static const struct bcm_plat_data bcm2835_plat_data = {
-+ .gpio_chip = &bcm2835_gpio_chip,
-+ .pctl_desc = &bcm2835_pinctrl_desc,
-+ .gpio_range = &bcm2835_pinctrl_gpio_range,
-+};
-+
-+static const struct bcm_plat_data bcm2711_plat_data = {
-+ .gpio_chip = &bcm2835_gpio_chip,
-+ .pctl_desc = &bcm2711_pinctrl_desc,
-+ .gpio_range = &bcm2835_pinctrl_gpio_range,
-+};
-+
- static const struct of_device_id bcm2835_pinctrl_match[] = {
- {
- .compatible = "brcm,bcm2835-gpio",
-- .data = &bcm2835_pinconf_ops,
-+ .data = &bcm2835_plat_data,
- },
- {
- .compatible = "brcm,bcm2711-gpio",
-- .data = &bcm2711_pinconf_ops,
-+ .data = &bcm2711_plat_data,
- },
- {}
- };
-@@ -1083,6 +1112,7 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
- struct device *dev = &pdev->dev;
- struct device_node *np = dev->of_node;
- struct bcm2835_pinctrl *pc;
-+ struct bcm_plat_data *pdata;
- struct gpio_irq_chip *girq;
- struct resource iomem;
- int err, i;
-@@ -1108,7 +1138,13 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
- if (IS_ERR(pc->base))
- return PTR_ERR(pc->base);
-
-- pc->gpio_chip = bcm2835_gpio_chip;
-+ match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node);
-+ if (!match)
-+ return -EINVAL;
-+
-+ pdata = (struct bcm_plat_data *)match->data;
-+
-+ memcpy(&pc->gpio_chip, pdata->gpio_chip, sizeof(pc->gpio_chip));
- pc->gpio_chip.parent = dev;
- pc->gpio_chip.of_node = np;
-
-@@ -1159,19 +1195,14 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
- return err;
- }
-
-- match = of_match_node(bcm2835_pinctrl_match, pdev->dev.of_node);
-- if (match) {
-- bcm2835_pinctrl_desc.confops =
-- (const struct pinconf_ops *)match->data;
-- }
--
-- pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
-+ memcpy(&pc->pctl_desc, pdata->pctl_desc, sizeof(pc->pctl_desc));
-+ pc->pctl_dev = devm_pinctrl_register(dev, &pc->pctl_desc, pc);
- if (IS_ERR(pc->pctl_dev)) {
- gpiochip_remove(&pc->gpio_chip);
- return PTR_ERR(pc->pctl_dev);
- }
-
-- pc->gpio_range = bcm2835_pinctrl_gpio_range;
-+ memcpy(&pc->gpio_range, pdata->gpio_range, sizeof(pc->gpio_range));
- pc->gpio_range.base = pc->gpio_chip.base;
- pc->gpio_range.gc = &pc->gpio_chip;
- pinctrl_add_gpio_range(pc->pctl_dev, &pc->gpio_range);
-
-From patchwork Mon Jan 27 18:15:07 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 11353089
-Return-Path:
- <SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 01D8B159A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:16:42 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id A3164214AF
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:16:41 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="OgchXKpW"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A3164214AF
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=i2se.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=XmwwFukBgBjwO0LJL+fK3hmGj90hC5ef7Vri1vGrDvw=; b=OgchXKpWUifGHBapyBCQRZf4Oe
- Leu+Cl9F+oT35HizJxpDIqWCQOPGA84tYHVdL8DHnOR2sS8sgHpZTWMKe0QSgr3SUuLaQ2diawm04
- B9CSuvfP5yx9MActAPcuhQbMJldRfdt0X+pqyeQf6kaHPaj2JnqRwXWOofaMYeLQwl9zbqEB1B5Ss
- FGQnyl0V9sMSPydz6oe5UALnFguup+uWjm3ybTj1yEDhm5vypOqzhTm3vwrvY0CtmPhS3f3vx5F/7
- qNeG7wpGbnUw9b2Ta44QWFyROWbi81UIHkON1Rn1lw/J5gf470beknQM/5fyv2iHMWMVIopDs2Qpo
- Jxtt2SIA==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8wC-0000I4-7V; Mon, 27 Jan 2020 18:16:40 +0000
-Received: from mout.kundenserver.de ([212.227.126.135])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8vJ-0007pO-PH
- for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:48 +0000
-Received: from localhost.localdomain ([37.4.249.152]) by
- mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
- id 1MIxFi-1jB3PL0sMU-00KPSh; Mon, 27 Jan 2020 19:15:41 +0100
-From: Stefan Wahren <stefan.wahren@i2se.com>
-To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
- Scott Branden <sbranden@broadcom.com>
-Subject: [RFC PATCH 3/4] pinctrl: bcm2835: Add support for all GPIOs on
- BCM2711
-Date: Mon, 27 Jan 2020 19:15:07 +0100
-Message-Id: <1580148908-4863-4-git-send-email-stefan.wahren@i2se.com>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-X-Provags-ID: V03:K1:X6IS1XjHy4cJfxjoudVoDX/cZvMR/vfdQSMdLzkgWq1irgCvB38
- RaAG8s5bLq+gwxv7sq4OOzzzIjMwUf3oUytVqdip8Emtgr3GiNEl2vBd272/sh3B1OJanK8
- goehy07Y9M/B0RMRS8QYkknz5PIlSimkZBJKjNE686UdoJg1We/vhXibKmf8z5kreTjrWe3
- q1JcyYfqP1itQAVjziUtQ==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:LyL94am3zLA=:BmnKGYucrjNaj35BCZWbP5
- JzGddQvqDkhH/CCngNEO2dMwjvlnPKHh/PEbdrGp6m9QHAmq4UkqMbHYKp4XqoYGKvPoozwfP
- FP1S21DqEh5BYA0hhWgk2maxuudk085Kg/UXpitwP437bovAei4bfR+gXu53083PnNenJAm4p
- xAhXuwmTwnWKv+qAem9IrQUBQtWZqTLIoviS/rBI58lKIF9owSsmboh1lagz+7EGkpnXhcae1
- 0MbckaZUNlfNjiRnq4V+VHRLEiPKWNxiGYMIefuH9JuPr6WXJPFk7fJo8OZ45VvNntUoYSSpc
- j0n6iO9I7UbYvyi7+SAmts7a4bZF+1qLxOl9S9cCBKPRGH2Z3kUCuTwNYlPjcUQyn6uqO0Mlx
- c+13a6OSMjdDPVRDOntBqI0l4rsK062Ig/ZwiteVVX/T7ZtOdNR2v9sRVAnh/w8iyF4VHZ0GC
- ULTnZeoeqfXKRaXEz7sGaOev/A5I1h35g02J5m9TlwjHQiNzKPNc45U2Rab8osp5QUPpRpD1N
- 4TUS9baKQp8dfAHyEkc1gBlk0cb1zDcQJMX7bQVUSSxSFx0otQCiojOcWf2PP2Hf1NREQw+82
- UV3Z09N/3ny3u6Qu0dI11Kin/x4ZubPCk2Z9H663jrHUxQP4afxI/ZCeRjqTIpU8chYef1IHT
- v3ZX4UpNi6S2kossS/nmFNqzdzxsOnNFseX4lA9Pp5DREJwDVh4t9UFpY49YOKaWkmqBFAAh4
- O7NlyceEWWYXkJh8pRPkdftSVQVKKjtoc+mmNdZ6A/MFCjlN4hQ4NzpeCvIGk1Jp/tUXAyMDV
- jBtNPE8cgg54eLvhAbGLfFWVNbu8UAkmntw7HjfU+o9g9ylEQ02IihlbByt5l+e7GdgBJm5
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200127_101546_105798_68395F22
-X-CRM114-Status: GOOD ( 17.25 )
-X-Spam-Score: 0.0 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (0.0 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.126.135 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
- devicetree@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-The BCM2711 supports 58 GPIOs. So extend pinctrl and GPIOs accordingly.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 54 +++++++++++++++++++++++++++--------
- 1 file changed, 42 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-index ffd069a..41e7bf9 100644
---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -37,6 +37,7 @@
-
- #define MODULE_NAME "pinctrl-bcm2835"
- #define BCM2835_NUM_GPIOS 54
-+#define BCM2711_NUM_GPIOS 58
- #define BCM2835_NUM_BANKS 2
- #define BCM2835_NUM_IRQS 3
-
-@@ -78,7 +79,7 @@ struct bcm2835_pinctrl {
-
- /* note: locking assumes each bank will have its own unsigned long */
- unsigned long enabled_irq_map[BCM2835_NUM_BANKS];
-- unsigned int irq_type[BCM2835_NUM_GPIOS];
-+ unsigned int irq_type[BCM2711_NUM_GPIOS];
-
- struct pinctrl_dev *pctl_dev;
- struct gpio_chip gpio_chip;
-@@ -145,6 +146,10 @@ static struct pinctrl_pin_desc bcm2835_gpio_pins[] = {
- BCM2835_GPIO_PIN(51),
- BCM2835_GPIO_PIN(52),
- BCM2835_GPIO_PIN(53),
-+ BCM2835_GPIO_PIN(54),
-+ BCM2835_GPIO_PIN(55),
-+ BCM2835_GPIO_PIN(56),
-+ BCM2835_GPIO_PIN(57),
- };
-
- /* one pin per group */
-@@ -203,6 +208,10 @@ static const char * const bcm2835_gpio_groups[] = {
- "gpio51",
- "gpio52",
- "gpio53",
-+ "gpio54",
-+ "gpio55",
-+ "gpio56",
-+ "gpio57",
- };
-
- enum bcm2835_fsel {
-@@ -353,6 +362,22 @@ static const struct gpio_chip bcm2835_gpio_chip = {
- .can_sleep = false,
- };
-
-+static const struct gpio_chip bcm2711_gpio_chip = {
-+ .label = "pinctrl-bcm2711",
-+ .owner = THIS_MODULE,
-+ .request = gpiochip_generic_request,
-+ .free = gpiochip_generic_free,
-+ .direction_input = bcm2835_gpio_direction_input,
-+ .direction_output = bcm2835_gpio_direction_output,
-+ .get_direction = bcm2835_gpio_get_direction,
-+ .get = bcm2835_gpio_get,
-+ .set = bcm2835_gpio_set,
-+ .set_config = gpiochip_generic_config,
-+ .base = -1,
-+ .ngpio = BCM2711_NUM_GPIOS,
-+ .can_sleep = false,
-+};
-+
- static void bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc,
- unsigned int bank, u32 mask)
- {
-@@ -399,7 +424,7 @@ static void bcm2835_gpio_irq_handler(struct irq_desc *desc)
- bcm2835_gpio_irq_handle_bank(pc, 0, 0xf0000000);
- bcm2835_gpio_irq_handle_bank(pc, 1, 0x00003fff);
- break;
-- case 2: /* IRQ2 covers GPIOs 46-53 */
-+ case 2: /* IRQ2 covers GPIOs 46-57 */
- bcm2835_gpio_irq_handle_bank(pc, 1, 0x003fc000);
- break;
- }
-@@ -618,7 +643,7 @@ static struct irq_chip bcm2835_gpio_irq_chip = {
-
- static int bcm2835_pctl_get_groups_count(struct pinctrl_dev *pctldev)
- {
-- return ARRAY_SIZE(bcm2835_gpio_groups);
-+ return BCM2835_NUM_GPIOS;
- }
-
- static const char *bcm2835_pctl_get_group_name(struct pinctrl_dev *pctldev,
-@@ -776,7 +801,7 @@ static int bcm2835_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
- err = of_property_read_u32_index(np, "brcm,pins", i, &pin);
- if (err)
- goto out;
-- if (pin >= ARRAY_SIZE(bcm2835_gpio_pins)) {
-+ if (pin >= pc->pctl_desc.npins) {
- dev_err(pc->dev, "%pOF: invalid brcm,pins value %d\n",
- np, pin);
- err = -EINVAL;
-@@ -852,7 +877,7 @@ static int bcm2835_pmx_get_function_groups(struct pinctrl_dev *pctldev,
- {
- /* every pin can do every function */
- *groups = bcm2835_gpio_groups;
-- *num_groups = ARRAY_SIZE(bcm2835_gpio_groups);
-+ *num_groups = BCM2835_NUM_GPIOS;
-
- return 0;
- }
-@@ -1055,7 +1080,7 @@ static const struct pinconf_ops bcm2711_pinconf_ops = {
- static const struct pinctrl_desc bcm2835_pinctrl_desc = {
- .name = MODULE_NAME,
- .pins = bcm2835_gpio_pins,
-- .npins = ARRAY_SIZE(bcm2835_gpio_pins),
-+ .npins = BCM2835_NUM_GPIOS,
- .pctlops = &bcm2835_pctl_ops,
- .pmxops = &bcm2835_pmx_ops,
- .confops = &bcm2835_pinconf_ops,
-@@ -1063,9 +1088,9 @@ static const struct pinctrl_desc bcm2835_pinctrl_desc = {
- };
-
- static const struct pinctrl_desc bcm2711_pinctrl_desc = {
-- .name = MODULE_NAME,
-+ .name = "pinctrl-bcm2711",
- .pins = bcm2835_gpio_pins,
-- .npins = ARRAY_SIZE(bcm2835_gpio_pins),
-+ .npins = BCM2711_NUM_GPIOS,
- .pctlops = &bcm2835_pctl_ops,
- .pmxops = &bcm2835_pmx_ops,
- .confops = &bcm2711_pinconf_ops,
-@@ -1077,6 +1102,11 @@ static const struct pinctrl_gpio_range bcm2835_pinctrl_gpio_range = {
- .npins = BCM2835_NUM_GPIOS,
- };
-
-+static const struct pinctrl_gpio_range bcm2711_pinctrl_gpio_range = {
-+ .name = "pinctrl-bcm2711",
-+ .npins = BCM2711_NUM_GPIOS,
-+};
-+
- struct bcm_plat_data {
- const struct gpio_chip *gpio_chip;
- const struct pinctrl_desc *pctl_desc;
-@@ -1090,9 +1120,9 @@ static const struct bcm_plat_data bcm2835_plat_data = {
- };
-
- static const struct bcm_plat_data bcm2711_plat_data = {
-- .gpio_chip = &bcm2835_gpio_chip,
-+ .gpio_chip = &bcm2711_gpio_chip,
- .pctl_desc = &bcm2711_pinctrl_desc,
-- .gpio_range = &bcm2835_pinctrl_gpio_range,
-+ .gpio_range = &bcm2711_pinctrl_gpio_range,
- };
-
- static const struct of_device_id bcm2835_pinctrl_match[] = {
-@@ -1118,8 +1148,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
- int err, i;
- const struct of_device_id *match;
-
-- BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2835_NUM_GPIOS);
-- BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2835_NUM_GPIOS);
-+ BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_pins) != BCM2711_NUM_GPIOS);
-+ BUILD_BUG_ON(ARRAY_SIZE(bcm2835_gpio_groups) != BCM2711_NUM_GPIOS);
-
- pc = devm_kzalloc(dev, sizeof(*pc), GFP_KERNEL);
- if (!pc)
-
-From patchwork Mon Jan 27 18:15:08 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 11353085
-Return-Path:
- <SRS0=MBPz=3Q=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BDFA01398
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:16:18 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 9B66F214AF
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 27 Jan 2020 18:16:18 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="ezMQm6le"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9B66F214AF
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=i2se.com
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References:
- In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=DPuQWycqdw9CxoKuQR42+vWv5iNmyUIYkTHQf1KLxgY=; b=ezMQm6leJB6R6ZsKnfpCgXjitb
- W3Nw1Je9MEi8SZ9v+eC3CeiTFqVt/5x1h0N8bH5ZGdptzjP+SrRIS6oD0h4pJFGg6ugBUnLmcef06
- eNSulzVLTX6qsyPkqj4pRr4fXRyP4R9Om3GidBwWl8vRQ0LLc8ssJkt/K9nW7BslGHjMmEwd+QSiF
- t7aYAjYBf45g9TP/aPeAlsgEUzpwNrdiQB0+jY4cWlMTSrz+61Fp9Ay+NopbRoQ+ZY6VHVCHoXwma
- eg91Z/Mc359cQ4CBaUn20N4gS5IUc0CMh77YTOYq3QHaJUuO5FR7ARenQTie073XFTCQtrkfCIXeJ
- h8y1Bvlw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8vl-0008F1-HZ; Mon, 27 Jan 2020 18:16:13 +0000
-Received: from mout.kundenserver.de ([212.227.126.134])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1iw8vL-0007pp-4e
- for linux-arm-kernel@lists.infradead.org; Mon, 27 Jan 2020 18:15:48 +0000
-Received: from localhost.localdomain ([37.4.249.152]) by
- mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis)
- id 1MIdS1-1iqMAq2lZF-00EeIy; Mon, 27 Jan 2020 19:15:41 +0100
-From: Stefan Wahren <stefan.wahren@i2se.com>
-To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Florian Fainelli <f.fainelli@gmail.com>,
- Linus Walleij <linus.walleij@linaro.org>, Ray Jui <rjui@broadcom.com>,
- Scott Branden <sbranden@broadcom.com>
-Subject: [RFC PATCH 4/4] ARM: dts: bcm2711-rpi-4-b: Add SoC GPIO labels
-Date: Mon, 27 Jan 2020 19:15:08 +0100
-Message-Id: <1580148908-4863-5-git-send-email-stefan.wahren@i2se.com>
-X-Mailer: git-send-email 2.7.4
-In-Reply-To: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-References: <1580148908-4863-1-git-send-email-stefan.wahren@i2se.com>
-X-Provags-ID: V03:K1:Gxba3mqtzEfAZsLaIh9BPR5KGgNDsOM8n/SyTdefyB0S+Ix6nQ6
- 3ZLcgMmQ0ZYCLRjSx9LHkgciD9ISLplz152G/qC58KgorZhlZLhVE974IeKAkTW7W6RIHig
- h04Lium+H3BT4cdz+bIAKz1RoTVdqSRp3Bov22Fv5E4IbNQGvAgEx4Sh7aDH+pVGti//bPm
- sxDDXE5ZOXGV0qV3mvozA==
-X-Spam-Flag: NO
-X-UI-Out-Filterresults: notjunk:1;V03:K0:cCaO9H+V7fw=:e54AxDo4xa1RNP7BrlXkUw
- hcxiAvXNAIgIOvr2ULYOCL0TL9NzkdUBAFNQCWXg+9tQt4S1g6hU8gHkciuR6wa+2Cp8Xx5tX
- +llHcigXOC2W2A3/H9CyAonFLfN2LtqKP65pY2L50CbaZwjnsBqXhx204sIbiRowV9mxvafPo
- t2qbrWIi7u6FIMFVrCPP6wE54WKajQz0y/dLzyYY97zKFvnWCVnVi+wqat0odNyoSPsqVn0bZ
- IosK/ArAU/cdn47p/tTAICkZ4LT3Hej8lWbLgs37gDw8DDTbDojBGQNroAepDuL3/RNn+lzON
- kdG+mueLFX0OBuSSfviiSheetOwE1yiesBRvOGGH8SPAdosy99GUDu9JWlb+5Nu0T59IQTm7O
- Fjvqcu1fiL9L6Qw24XdH9osD6cr2kE4395AH6pP7KLf3KbZClN203u6SfTB9Xw5mAK1mLTOJO
- 8C2OC1qX/NFSNffy6qM68jxJ+dRjhB2kyFtiquL5w85hQ9A+0UHh47pQP+vii1XlpE/xYDuRX
- VqTiy7fJn8xtcDs0VAoOVnelun1+ppzMdObQpGWaheuA29O4gvaKjA55oKwCw1zzpVOzHmLAg
- FhqvMZv3NiqUlLpj85vqbQT9r4U6POpxLorzLyvoarWOy7nvAyVdepSLB7BhbJWwrIbzeiFNd
- 2mNR6PTfFZbsMkXdj67sk75MnEgUMjxerASnkhv0xHqQXo/rbdc2HX7fC/1Ft04B1HJextbil
- GrPQ6dSPe5SCpjQP6yd9yhLNoaLeNEHpY5Ds0M1hULtqYkJiubORBMvp9H1mmjV7o5UCHqlOW
- S9QPe97AN6cfCJGvjb5uYcfneUnc1K0Bj8mmXat9B6fHaxA7pDEsAS1Cy0OgtFjH/t37B1P
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200127_101547_491226_F9BAEAA0
-X-CRM114-Status: GOOD ( 13.91 )
-X-Spam-Score: 0.0 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (0.0 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
- no trust [212.227.126.134 listed in list.dnswl.org]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, linux-gpio@vger.kernel.org,
- bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org,
- devicetree@vger.kernel.org
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-This adds the labels for all the SoC GPIOs on the Raspberry Pi 4.
-
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
----
- arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 74 +++++++++++++++++++++++++++++++++++
- 1 file changed, 74 insertions(+)
-
-diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-index 1b5a835..6607e2e 100644
---- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
-@@ -71,6 +71,80 @@
- };
- };
-
-+&gpio {
-+ /*
-+ * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and
-+ * the official GPU firmware DT blob.
-+ *
-+ * Legend:
-+ * "NC" = not connected (no rail from the SoC)
-+ * "FOO" = GPIO line named "FOO" on the schematic
-+ * "FOO_N" = GPIO line named "FOO" on schematic, active low
-+ */
-+ gpio-line-names = "ID_SDA",
-+ "ID_SCL",
-+ "SDA1",
-+ "SCL1",
-+ "GPIO_GCLK",
-+ "GPIO5",
-+ "GPIO6",
-+ "SPI_CE1_N",
-+ "SPI_CE0_N",
-+ "SPI_MISO",
-+ "SPI_MOSI",
-+ "SPI_SCLK",
-+ "GPIO12",
-+ "GPIO13",
-+ /* Serial port */
-+ "TXD1",
-+ "RXD1",
-+ "GPIO16",
-+ "GPIO17",
-+ "GPIO18",
-+ "GPIO19",
-+ "GPIO20",
-+ "GPIO21",
-+ "GPIO22",
-+ "GPIO23",
-+ "GPIO24",
-+ "GPIO25",
-+ "GPIO26",
-+ "GPIO27",
-+ "RGMII_MDIO",
-+ "RGMIO_MDC",
-+ /* Used by BT module */
-+ "CTS0",
-+ "RTS0",
-+ "TXD0",
-+ "RXD0",
-+ /* Used by Wifi */
-+ "SD1_CLK",
-+ "SD1_CMD",
-+ "SD1_DATA0",
-+ "SD1_DATA1",
-+ "SD1_DATA2",
-+ "SD1_DATA3",
-+ /* Shared with SPI flash */
-+ "PWM0_MISO",
-+ "PWM1_MOSI",
-+ "STATUS_LED_G_CLK",
-+ "SPIFLASH_CE_N",
-+ "SDA0",
-+ "SCL0",
-+ "RGMII_RXCLK",
-+ "RGMII_RXCTL",
-+ "RGMII_RXD0",
-+ "RGMII_RXD1",
-+ "RGMII_RXD2",
-+ "RGMII_RXD3",
-+ "RGMII_TXCLK",
-+ "RGMII_TXCTL",
-+ "RGMII_TXD0",
-+ "RGMII_TXD1",
-+ "RGMII_TXD2",
-+ "RGMII_TXD3";
-+};
-+
- &pwm1 {
- pinctrl-names = "default";
- pinctrl-0 = <&pwm1_0_gpio40 &pwm1_1_gpio41>;
diff --git a/arm64-pine64-pinephone.patch b/arm64-pine64-pinephone.patch
deleted file mode 100644
index 640d53e33..000000000
--- a/arm64-pine64-pinephone.patch
+++ /dev/null
@@ -1,568 +0,0 @@
-From 836821a0addbd8589e949801aaa7be244703c7f8 Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megous@megous.com>
-Date: Thu, 27 Feb 2020 02:26:48 +0100
-Subject: [PATCH 1/3] arm64: dts: sun50i-a64: Add i2c2 pins
-
-PinePhone needs I2C2 pins description. Add it, and make it default
-for i2c2, since it's the only possiblilty.
-
-Signed-off-by: Ondrej Jirman <megous@megous.com>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-index 862b47dc9dc9..107a48f9c5b3 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
-@@ -671,6 +671,11 @@ i2c1_pins: i2c1-pins {
- function = "i2c1";
- };
-
-+ i2c2_pins: i2c2-pins {
-+ pins = "PE14", "PE15";
-+ function = "i2c2";
-+ };
-+
- /omit-if-no-ref/
- lcd_rgb666_pins: lcd-rgb666-pins {
- pins = "PD0", "PD1", "PD2", "PD3", "PD4",
-@@ -958,12 +963,13 @@ i2c2: i2c@1c2b400 {
- interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&ccu CLK_BUS_I2C2>;
- resets = <&ccu RST_BUS_I2C2>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&i2c2_pins>;
- status = "disabled";
- #address-cells = <1>;
- #size-cells = <0>;
- };
-
--
- spi0: spi@1c68000 {
- compatible = "allwinner,sun8i-h3-spi";
- reg = <0x01c68000 0x1000>;
---
-2.24.1
-
-From 5c4e2cd9e8b600cc622c10543f69fcd897557eee Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megous@megous.com>
-Date: Thu, 27 Feb 2020 02:26:49 +0100
-Subject: [PATCH 2/3] dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1
- bindings
-
-Document board compatible names for Pine64 PinePhone:
-
-- 1.0 - Developer variant
-- 1.1 - Braveheart variant
-
-Signed-off-by: Ondrej Jirman <megous@megous.com>
-Reviewed-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- Documentation/devicetree/bindings/arm/sunxi.yaml | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
-index 159060b65c5d..c632252be48b 100644
---- a/Documentation/devicetree/bindings/arm/sunxi.yaml
-+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
-@@ -636,6 +636,16 @@ properties:
- - const: pine64,pinebook
- - const: allwinner,sun50i-a64
-
-+ - description: Pine64 PinePhone Developer Batch (1.0)
-+ items:
-+ - const: pine64,pinephone-1.0
-+ - const: allwinner,sun50i-a64
-+
-+ - description: Pine64 PinePhone Braveheart (1.1)
-+ items:
-+ - const: pine64,pinephone-1.1
-+ - const: allwinner,sun50i-a64
-+
- - description: Pine64 PineTab
- items:
- - const: pine64,pinetab
---
-2.24.1
-
-From 697f60799172569e8d502a44ad98994f2c48778c Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megous@megous.com>
-Date: Thu, 27 Feb 2020 02:26:50 +0100
-Subject: [PATCH 3/3] arm64: dts: allwinner: Add initial support for Pine64
- PinePhone
-
-At the moment PinePhone comes in two slightly incompatible variants:
-
-- 1.0: Early Developer Batch
-- 1.1: Braveheart Batch
-
-There will be at least one more incompatible variant in the very near
-future, so let's start by sharing the dtsi among multiple variants,
-right away, even though the HW description doesn't yet include the
-different bits.
-
-The differences between 1.0 and 1.1 are: change in pins that control
-the flash LED, differences in modem power status signal routing, and
-maybe some other subtler things, that have not been determined yet.
-
-This is a basic DT that includes only features that are already
-supported by mainline drivers.
-
-Co-developed-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Co-developed-by: Martijn Braam <martijn@brixit.nl>
-Signed-off-by: Martijn Braam <martijn@brixit.nl>
-Co-developed-by: Luca Weiss <luca@z3ntu.xyz>
-Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
-Signed-off-by: Bhushan Shah <bshah@kde.org>
-Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
-Signed-off-by: Ondrej Jirman <megous@megous.com>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/Makefile | 2 +
- .../allwinner/sun50i-a64-pinephone-1.0.dts | 11 +
- .../allwinner/sun50i-a64-pinephone-1.1.dts | 11 +
- .../dts/allwinner/sun50i-a64-pinephone.dtsi | 379 ++++++++++++++++++
- 4 files changed, 403 insertions(+)
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
-
-diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
-index 6dad63881cd3..e4d3cd0ac5bb 100644
---- a/arch/arm64/boot/dts/allwinner/Makefile
-+++ b/arch/arm64/boot/dts/allwinner/Makefile
-@@ -9,6 +9,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
-+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb
-+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
-new file mode 100644
-index 000000000000..0c42272106af
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
-@@ -0,0 +1,11 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
-+
-+/dts-v1/;
-+
-+#include "sun50i-a64-pinephone.dtsi"
-+
-+/ {
-+ model = "Pine64 PinePhone Developer Batch (1.0)";
-+ compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64";
-+};
-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
-new file mode 100644
-index 000000000000..06a775c41664
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
-@@ -0,0 +1,11 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
-+
-+/dts-v1/;
-+
-+#include "sun50i-a64-pinephone.dtsi"
-+
-+/ {
-+ model = "Pine64 PinePhone Braveheart (1.1)";
-+ compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64";
-+};
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
-new file mode 100644
-index 000000000000..cefda145c3c9
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
-@@ -0,0 +1,379 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+// Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
-+// Copyright (C) 2020 Martijn Braam <martijn@brixit.nl>
-+// Copyright (C) 2020 Ondrej Jirman <megous@megous.com>
-+
-+#include "sun50i-a64.dtsi"
-+#include "sun50i-a64-cpu-opp.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/leds/common.h>
-+#include <dt-bindings/pwm/pwm.h>
-+
-+/ {
-+ aliases {
-+ serial0 = &uart0;
-+ };
-+
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
-+ leds {
-+ compatible = "gpio-leds";
-+
-+ blue {
-+ function = LED_FUNCTION_INDICATOR;
-+ color = <LED_COLOR_ID_BLUE>;
-+ gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */
-+ };
-+
-+ green {
-+ function = LED_FUNCTION_INDICATOR;
-+ color = <LED_COLOR_ID_GREEN>;
-+ gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */
-+ };
-+
-+ red {
-+ function = LED_FUNCTION_INDICATOR;
-+ color = <LED_COLOR_ID_RED>;
-+ gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */
-+ };
-+ };
-+
-+ speaker_amp: audio-amplifier {
-+ compatible = "simple-audio-amplifier";
-+ enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
-+ sound-name-prefix = "Speaker Amp";
-+ };
-+
-+ vibrator {
-+ compatible = "gpio-vibrator";
-+ enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */
-+ vcc-supply = <&reg_dcdc1>;
-+ };
-+};
-+
-+&codec {
-+ status = "okay";
-+};
-+
-+&codec_analog {
-+ cpvdd-supply = <&reg_eldo1>;
-+ status = "okay";
-+};
-+
-+&cpu0 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu1 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu2 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu3 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&dai {
-+ status = "okay";
-+};
-+
-+&ehci0 {
-+ status = "okay";
-+};
-+
-+&ehci1 {
-+ status = "okay";
-+};
-+
-+&i2c1 {
-+ status = "okay";
-+
-+ /* Magnetometer */
-+ lis3mdl@1e {
-+ compatible = "st,lis3mdl-magn";
-+ reg = <0x1e>;
-+ vdd-supply = <&reg_dldo1>;
-+ vddio-supply = <&reg_dldo1>;
-+ };
-+
-+ /* Accelerometer/gyroscope */
-+ mpu6050@68 {
-+ compatible = "invensense,mpu6050";
-+ reg = <0x68>;
-+ interrupt-parent = <&pio>;
-+ interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
-+ vdd-supply = <&reg_dldo1>;
-+ vddio-supply = <&reg_dldo1>;
-+ };
-+};
-+
-+/* Connected to pogo pins (external spring based pinheader for user addons) */
-+&i2c2 {
-+ status = "okay";
-+};
-+
-+&lradc {
-+ vref-supply = <&reg_aldo3>;
-+ status = "okay";
-+
-+ button-200 {
-+ label = "Volume Up";
-+ linux,code = <KEY_VOLUMEUP>;
-+ channel = <0>;
-+ voltage = <200000>;
-+ };
-+
-+ button-400 {
-+ label = "Volume Down";
-+ linux,code = <KEY_VOLUMEDOWN>;
-+ channel = <0>;
-+ voltage = <400000>;
-+ };
-+};
-+
-+&mmc0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc0_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ vqmmc-supply = <&reg_dcdc1>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
-+ disable-wp;
-+ bus-width = <4>;
-+ status = "okay";
-+};
-+
-+&mmc2 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc2_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ vqmmc-supply = <&reg_dcdc1>;
-+ bus-width = <8>;
-+ non-removable;
-+ cap-mmc-hw-reset;
-+ status = "okay";
-+};
-+
-+&ohci0 {
-+ status = "okay";
-+};
-+
-+&ohci1 {
-+ status = "okay";
-+};
-+
-+&pio {
-+ vcc-pb-supply = <&reg_dcdc1>;
-+ vcc-pc-supply = <&reg_dcdc1>;
-+ vcc-pd-supply = <&reg_dcdc1>;
-+ vcc-pe-supply = <&reg_aldo1>;
-+ vcc-pf-supply = <&reg_dcdc1>;
-+ vcc-pg-supply = <&reg_dldo4>;
-+ vcc-ph-supply = <&reg_dcdc1>;
-+};
-+
-+&r_pio {
-+ /*
-+ * FIXME: We can't add that supply for now since it would
-+ * create a circular dependency between pinctrl, the regulator
-+ * and the RSB Bus.
-+ *
-+ * vcc-pl-supply = <&reg_aldo2>;
-+ */
-+};
-+
-+&r_rsb {
-+ status = "okay";
-+
-+ axp803: pmic@3a3 {
-+ compatible = "x-powers,axp803";
-+ reg = <0x3a3>;
-+ interrupt-parent = <&r_intc>;
-+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-+ };
-+};
-+
-+#include "axp803.dtsi"
-+
-+&ac_power_supply {
-+ status = "okay";
-+};
-+
-+&battery_power_supply {
-+ status = "okay";
-+};
-+
-+&reg_aldo1 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "dovdd-csi";
-+};
-+
-+&reg_aldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-pl";
-+};
-+
-+&reg_aldo3 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <2700000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-pll-avcc";
-+};
-+
-+&reg_dcdc1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-3v3";
-+};
-+
-+&reg_dcdc2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1000000>;
-+ regulator-max-microvolt = <1300000>;
-+ regulator-name = "vdd-cpux";
-+};
-+
-+/* DCDC3 is polyphased with DCDC2 */
-+
-+&reg_dcdc5 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-dram";
-+};
-+
-+&reg_dcdc6 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-sys";
-+};
-+
-+&reg_dldo1 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-dsi-sensor";
-+};
-+
-+&reg_dldo2 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-mipi-io";
-+};
-+
-+&reg_dldo3 {
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
-+ regulator-name = "avdd-csi";
-+};
-+
-+&reg_dldo4 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-wifi-io";
-+};
-+
-+&reg_eldo1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-lpddr";
-+};
-+
-+&reg_eldo3 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "dvdd-1v8-csi";
-+};
-+
-+&reg_fldo1 {
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-1v2-hsic";
-+};
-+
-+&reg_fldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-cpus";
-+};
-+
-+&reg_ldo_io0 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-lcd-ctp-stk";
-+ status = "okay";
-+};
-+
-+&reg_ldo_io1 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcc-1v8-typec";
-+ status = "okay";
-+};
-+
-+&reg_rtc_ldo {
-+ regulator-name = "vcc-rtc";
-+};
-+
-+&sound {
-+ status = "okay";
-+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
-+ simple-audio-card,widgets = "Microphone", "Headset Microphone",
-+ "Microphone", "Internal Microphone",
-+ "Headphone", "Headphone Jack",
-+ "Speaker", "Internal Earpiece",
-+ "Speaker", "Internal Speaker";
-+ simple-audio-card,routing =
-+ "Headphone Jack", "HP",
-+ "Internal Earpiece", "EARPIECE",
-+ "Internal Speaker", "Speaker Amp OUTL",
-+ "Internal Speaker", "Speaker Amp OUTR",
-+ "Speaker Amp INL", "LINEOUT",
-+ "Speaker Amp INR", "LINEOUT",
-+ "Left DAC", "AIF1 Slot 0 Left",
-+ "Right DAC", "AIF1 Slot 0 Right",
-+ "AIF1 Slot 0 Left ADC", "Left ADC",
-+ "AIF1 Slot 0 Right ADC", "Right ADC",
-+ "Internal Microphone", "MBIAS",
-+ "MIC1", "Internal Microphone",
-+ "Headset Microphone", "HBIAS",
-+ "MIC2", "Headset Microphone";
-+};
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pb_pins>;
-+ status = "okay";
-+};
-+
-+/* Connected to the modem (hardware flow control can't be used) */
-+&uart3 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart3_pins>;
-+ status = "okay";
-+};
-+
-+&usb_otg {
-+ dr_mode = "peripheral";
-+ status = "okay";
-+};
-+
-+&usb_power_supply {
-+ status = "okay";
-+};
-+
-+&usbphy {
-+ status = "okay";
-+};
---
-2.24.1
-
diff --git a/arm64-pine64-pinetab.patch b/arm64-pine64-pinetab.patch
deleted file mode 100644
index cafbc71bd..000000000
--- a/arm64-pine64-pinetab.patch
+++ /dev/null
@@ -1,583 +0,0 @@
-From e15d9c7cb74033f668c19a65abfd77ed7331f91e Mon Sep 17 00:00:00 2001
-From: Icenowy Zheng <icenowy@aosc.io>
-Date: Thu, 16 Jan 2020 11:36:35 +0800
-Subject: [PATCH 1/2] dt-bindings: arm: sunxi: add binding for PineTab tablet
-
-Add the device tree binding for Pine64's PineTab tablet, which uses
-Allwinner A64 SoC.
-
-Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
-Reviewed-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
-index 327ce6730823..159060b65c5d 100644
---- a/Documentation/devicetree/bindings/arm/sunxi.yaml
-+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
-@@ -636,6 +636,11 @@ properties:
- - const: pine64,pinebook
- - const: allwinner,sun50i-a64
-
-+ - description: Pine64 PineTab
-+ items:
-+ - const: pine64,pinetab
-+ - const: allwinner,sun50i-a64
-+
- - description: Pine64 SoPine Baseboard
- items:
- - const: pine64,sopine-baseboard
---
-2.24.1
-
-From d7b56d337bb980f0b996958ec6808253c4f50771 Mon Sep 17 00:00:00 2001
-From: Icenowy Zheng <icenowy@aosc.io>
-Date: Thu, 16 Jan 2020 11:36:36 +0800
-Subject: [PATCH 2/2] arm64: dts: allwinner: a64: add support for PineTab
-
-PineTab is a 10.1" tablet by Pine64 with Allwinner A64 inside.
-
-It includes the following peripherals:
-
-USB:
-- A microUSB Type-B port connected to the OTG-capable USB PHY of
-Allwinner A64. The ID pin is connected to a GPIO of the A64 SoC, and the
-Vbus is connected to the Vbus of AXP803 PMIC. These enables OTG
-functionality on this port.
-- A USB Type-A port is connected to the internal hub attached to the
-non-OTG USB PHY of Allwinner A64.
-- There are reserved pins for an external keyboard connected to the
-internal hub.
-
-Power:
-- The microUSB port has its Vbus connected to AXP803, mentioned above.
-- A DC jack (of a strange size, 2.5mm outer diameter) is connected to
-the ACIN of AXP803.
-- A Li-Polymer battery is connected to the battery pins of AXP803.
-
-Storage:
-- An tradition Pine64 eMMC slot is on the board, mounted with an eMMC
-module by factory.
-- An external microSD slot is hidden under a protect case.
-
-Display:
-- A MIPI-DSI LCD panel (800x1280) is connected to the DSI port of A64 SoC.
-- A mini HDMI port.
-
-Input:
-- A touch panel attached to a Goodix GT9271 touch controller.
-- Volume keys connected to the LRADC of the A64 SoC.
-
-Camera:
-- An OV5640 CMOS camera is at rear, connected to the CSI bus of A64 SoC.
-- A GC2145 CMOS camera is at front, shares the same CSI bus with OV5640.
-
-Audio:
-- A headphone jack is conencted to the SoC's internal codec.
-- A speaker connected is to the Line Out port of SoC's internal codec, via
-an amplifier.
-
-Misc:
-- Debug UART is muxed with the headphone jack, with the switch next to
-the microSD slot.
-- A bosch BMA223 accelerometer is connected to the I2C bus of A64 SoC.
-- Wi-Fi and Bluetooth are available via a RTL8723CS chip, similar to the
-one in Pinebook.
-
-This commit adds a basically usable device tree for it, implementing
-most of the features mentioned above. HDMI is not supported now because
-bad LCD-HDMI coexistence situation of mainline A64 display driver, the
-front camera currently lacks a driver and a facility to share the bus
-with the rear one, and the accelerometer currently lacks a DT binding.
-
-Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/Makefile | 1 +
- .../boot/dts/allwinner/sun50i-a64-pinetab.dts | 460 ++++++++++++++++++
- 2 files changed, 461 insertions(+)
- create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
-
-diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
-index cf4f78617c3f..6dad63881cd3 100644
---- a/arch/arm64/boot/dts/allwinner/Makefile
-+++ b/arch/arm64/boot/dts/allwinner/Makefile
-@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb
-+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
- dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
-new file mode 100644
-index 000000000000..316e8a443913
---- /dev/null
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
-@@ -0,0 +1,460 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz>
-+ *
-+ */
-+
-+/dts-v1/;
-+
-+#include "sun50i-a64.dtsi"
-+#include "sun50i-a64-cpu-opp.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/pwm/pwm.h>
-+
-+/ {
-+ model = "PineTab";
-+ compatible = "pine64,pinetab", "allwinner,sun50i-a64";
-+
-+ aliases {
-+ serial0 = &uart0;
-+ ethernet0 = &rtl8723cs;
-+ };
-+
-+ backlight: backlight {
-+ compatible = "pwm-backlight";
-+ pwms = <&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 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
-+ power-supply = <&vdd_bl>;
-+ };
-+
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+ };
-+
-+ i2c-csi {
-+ compatible = "i2c-gpio";
-+ sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */
-+ scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */
-+ i2c-gpio,delay-us = <5>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ /* Rear camera */
-+ ov5640: camera@3c {
-+ compatible = "ovti,ov5640";
-+ reg = <0x3c>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&csi_mclk_pin>;
-+ clocks = <&ccu CLK_CSI_MCLK>;
-+ clock-names = "xclk";
-+
-+ AVDD-supply = <&reg_dldo3>;
-+ DOVDD-supply = <&reg_aldo1>;
-+ DVDD-supply = <&reg_eldo3>;
-+ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */
-+ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */
-+
-+ port {
-+ ov5640_ep: endpoint {
-+ remote-endpoint = <&csi_ep>;
-+ bus-width = <8>;
-+ hsync-active = <1>; /* Active high */
-+ vsync-active = <0>; /* Active low */
-+ data-active = <1>; /* Active high */
-+ pclk-sample = <1>; /* Rising */
-+ };
-+ };
-+ };
-+ };
-+
-+ speaker_amp: audio-amplifier {
-+ compatible = "simple-audio-amplifier";
-+ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
-+ sound-name-prefix = "Speaker Amp";
-+ };
-+
-+ vdd_bl: regulator@0 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "bl-3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
-+ enable-active-high;
-+ };
-+
-+ wifi_pwrseq: wifi_pwrseq {
-+ compatible = "mmc-pwrseq-simple";
-+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
-+ post-power-on-delay-ms = <200>;
-+ };
-+};
-+
-+&codec {
-+ status = "okay";
-+};
-+
-+&codec_analog {
-+ hpvcc-supply = <&reg_eldo1>;
-+ status = "okay";
-+};
-+
-+&cpu0 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu1 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu2 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&cpu3 {
-+ cpu-supply = <&reg_dcdc2>;
-+};
-+
-+&csi {
-+ status = "okay";
-+
-+ port {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ csi_ep: endpoint {
-+ remote-endpoint = <&ov5640_ep>;
-+ bus-width = <8>;
-+ hsync-active = <1>; /* Active high */
-+ vsync-active = <0>; /* Active low */
-+ data-active = <1>; /* Active high */
-+ pclk-sample = <1>; /* Rising */
-+ };
-+ };
-+};
-+
-+&dai {
-+ status = "okay";
-+};
-+
-+&de {
-+ status = "okay";
-+};
-+
-+&dphy {
-+ status = "okay";
-+};
-+
-+&dsi {
-+ vcc-dsi-supply = <&reg_dldo1>;
-+ status = "okay";
-+
-+ panel@0 {
-+ compatible = "feixin,k101-im2ba02";
-+ reg = <0>;
-+ avdd-supply = <&reg_dc1sw>;
-+ dvdd-supply = <&reg_dc1sw>;
-+ cvdd-supply = <&reg_ldo_io1>;
-+ reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
-+ backlight = <&backlight>;
-+ };
-+};
-+
-+&ehci0 {
-+ status = "okay";
-+};
-+
-+&ehci1 {
-+ status = "okay";
-+};
-+
-+&i2c0 {
-+ status = "okay";
-+
-+ touchscreen@5d {
-+ compatible = "goodix,gt9271";
-+ reg = <0x5d>;
-+ interrupt-parent = <&pio>;
-+ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */
-+ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
-+ reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
-+ AVDD28-supply = <&reg_ldo_io1>;
-+ };
-+};
-+
-+&i2c0_pins {
-+ bias-pull-up;
-+};
-+
-+&i2c1 {
-+ status = "okay";
-+
-+ /* TODO: add Bochs BMA223 accelerometer here */
-+};
-+
-+&lradc {
-+ vref-supply = <&reg_aldo3>;
-+ status = "okay";
-+
-+ button-200 {
-+ label = "Volume Up";
-+ linux,code = <KEY_VOLUMEUP>;
-+ channel = <0>;
-+ voltage = <200000>;
-+ };
-+
-+ button-400 {
-+ label = "Volume Down";
-+ linux,code = <KEY_VOLUMEDOWN>;
-+ channel = <0>;
-+ voltage = <400000>;
-+ };
-+};
-+
-+&mixer1 {
-+ status = "okay";
-+};
-+
-+&mmc0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc0_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
-+ disable-wp;
-+ bus-width = <4>;
-+ status = "okay";
-+};
-+
-+&mmc1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc1_pins>;
-+ vmmc-supply = <&reg_dldo4>;
-+ vqmmc-supply = <&reg_eldo1>;
-+ mmc-pwrseq = <&wifi_pwrseq>;
-+ bus-width = <4>;
-+ non-removable;
-+ status = "okay";
-+
-+ rtl8723cs: wifi@1 {
-+ reg = <1>;
-+ };
-+};
-+
-+&mmc2 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc2_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ vqmmc-supply = <&reg_dcdc1>;
-+ bus-width = <8>;
-+ non-removable;
-+ cap-mmc-hw-reset;
-+ status = "okay";
-+};
-+
-+&ohci0 {
-+ status = "okay";
-+};
-+
-+&pwm {
-+ status = "okay";
-+};
-+
-+&r_rsb {
-+ status = "okay";
-+
-+ axp803: pmic@3a3 {
-+ compatible = "x-powers,axp803";
-+ reg = <0x3a3>;
-+ interrupt-parent = <&r_intc>;
-+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-+ x-powers,drive-vbus-en;
-+ };
-+};
-+
-+#include "axp803.dtsi"
-+
-+&ac_power_supply {
-+ status = "okay";
-+};
-+
-+&battery_power_supply {
-+ status = "okay";
-+};
-+
-+&reg_aldo1 {
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
-+ regulator-name = "dovdd-csi";
-+};
-+
-+&reg_aldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-pl";
-+};
-+
-+&reg_aldo3 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <2700000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-pll-avcc";
-+};
-+
-+&reg_dc1sw {
-+ regulator-name = "vcc-lcd";
-+};
-+
-+&reg_dcdc1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-3v3";
-+};
-+
-+&reg_dcdc2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1000000>;
-+ regulator-max-microvolt = <1300000>;
-+ regulator-name = "vdd-cpux";
-+};
-+
-+/* DCDC3 is polyphased with DCDC2 */
-+
-+&reg_dcdc5 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-dram";
-+};
-+
-+&reg_dcdc6 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-sys";
-+};
-+
-+&reg_dldo1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-hdmi-dsi-sensor";
-+};
-+
-+&reg_dldo3 {
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
-+ regulator-name = "avdd-csi";
-+};
-+
-+&reg_dldo4 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-wifi";
-+};
-+
-+&reg_drivevbus {
-+ regulator-name = "usb0-vbus";
-+ status = "okay";
-+};
-+
-+&reg_eldo1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "cpvdd";
-+};
-+
-+&reg_eldo2 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vcca-1v8";
-+};
-+
-+&reg_eldo3 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "dvdd-1v8-csi";
-+};
-+
-+&reg_fldo1 {
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-1v2-hsic";
-+};
-+
-+&reg_fldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-cpus";
-+};
-+
-+&reg_ldo_io0 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-usb";
-+ status = "okay";
-+};
-+
-+&reg_ldo_io1 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-enable-ramp-delay = <3500000>;
-+ regulator-name = "vcc-touchscreen";
-+ status = "okay";
-+};
-+
-+&reg_rtc_ldo {
-+ regulator-name = "vcc-rtc";
-+};
-+
-+&sound {
-+ status = "okay";
-+ simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
-+ simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
-+ "Microphone", "Internal Microphone Right",
-+ "Headphone", "Headphone Jack",
-+ "Speaker", "Internal Speaker";
-+ simple-audio-card,routing =
-+ "Left DAC", "AIF1 Slot 0 Left",
-+ "Right DAC", "AIF1 Slot 0 Right",
-+ "Speaker Amp INL", "LINEOUT",
-+ "Speaker Amp INR", "LINEOUT",
-+ "Internal Speaker", "Speaker Amp OUTL",
-+ "Internal Speaker", "Speaker Amp OUTR",
-+ "Headphone Jack", "HP",
-+ "AIF1 Slot 0 Left ADC", "Left ADC",
-+ "AIF1 Slot 0 Right ADC", "Right ADC",
-+ "Internal Microphone Left", "MBIAS",
-+ "MIC1", "Internal Microphone Left",
-+ "Internal Microphone Right", "HBIAS",
-+ "MIC2", "Internal Microphone Right";
-+};
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pb_pins>;
-+ status = "okay";
-+};
-+
-+&usb_otg {
-+ dr_mode = "otg";
-+ status = "okay";
-+};
-+
-+&usb_power_supply {
-+ status = "okay";
-+};
-+
-+&usbphy {
-+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
-+ usb0_vbus_power-supply = <&usb_power_supply>;
-+ usb0_vbus-supply = <&reg_drivevbus>;
-+ usb1_vbus-supply = <&reg_ldo_io0>;
-+ status = "okay";
-+};
---
-2.24.1
-
diff --git a/arm64-pinebook-fixes.patch b/arm64-pinebook-fixes.patch
deleted file mode 100644
index 410487293..000000000
--- a/arm64-pinebook-fixes.patch
+++ /dev/null
@@ -1,429 +0,0 @@
-From e7a6e6b0c6506a9f070dbfb2ca948770c47a1d78 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:30:57 -0600
-Subject: [PATCH 1/8] arm64: dts: allwinner: pinebook: Remove unused vcc3v3
- regulator
-
-This fixed regulator has no consumers, GPIOs, or other connections.
-Remove it.
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index 3d894b208901..ff32ca1a495e 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -63,13 +63,6 @@ lid_switch {
- };
- };
-
-- reg_vcc3v3: vcc3v3 {
-- compatible = "regulator-fixed";
-- regulator-name = "vcc3v3";
-- regulator-min-microvolt = <3300000>;
-- regulator-max-microvolt = <3300000>;
-- };
--
- wifi_pwrseq: wifi_pwrseq {
- compatible = "mmc-pwrseq-simple";
- reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
---
-2.24.1
-
-From 5eea216437eeff908d6d2942bf893fb77ebfc111 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:30:59 -0600
-Subject: [PATCH 2/8] arm64: dts: allwinner: pinebook: Sort device tree nodes
-
-The r_i2c node should come before r_rsb, and in any case should not
-separate the axp803 node from its subnodes.
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index ff32ca1a495e..77784f7b1da7 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -172,6 +172,14 @@ &pwm {
- status = "okay";
- };
-
-+/* The ANX6345 eDP-bridge is on r_i2c */
-+&r_i2c {
-+ clock-frequency = <100000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&r_i2c_pl89_pins>;
-+ status = "okay";
-+};
-+
- &r_rsb {
- status = "okay";
-
-@@ -183,14 +191,6 @@ axp803: pmic@3a3 {
- };
- };
-
--/* The ANX6345 eDP-bridge is on r_i2c */
--&r_i2c {
-- clock-frequency = <100000>;
-- pinctrl-names = "default";
-- pinctrl-0 = <&r_i2c_pl89_pins>;
-- status = "okay";
--};
--
- #include "axp803.dtsi"
-
- &ac_power_supply {
---
-2.24.1
-
-From 4bdf53ffc64e5c6738c942dcdc422d5ca8a2070a Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:31:00 -0600
-Subject: [PATCH 3/8] arm64: dts: allwinner: pinebook: Make simplefb more
- consistent
-
-Boards generally reference the simplefb nodes from the SoC dtsi by
-label, not by full path. simplefb_hdmi is already like this in the
-Pinebook DTS. Update simplefb_lcd to match.
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- .../arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index 77784f7b1da7..224bed65d008 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -41,12 +41,6 @@ backlight: backlight {
-
- chosen {
- stdout-path = "serial0:115200n8";
--
-- framebuffer-lcd {
-- panel-supply = <&reg_dc1sw>;
-- dvdd25-supply = <&reg_dldo2>;
-- dvdd12-supply = <&reg_fldo1>;
-- };
- };
-
- gpio_keys {
-@@ -316,6 +310,12 @@ &reg_rtc_ldo {
- regulator-name = "vcc-rtc";
- };
-
-+&simplefb_lcd {
-+ panel-supply = <&reg_dc1sw>;
-+ dvdd25-supply = <&reg_dldo2>;
-+ dvdd12-supply = <&reg_fldo1>;
-+};
-+
- &simplefb_hdmi {
- vcc-hdmi-supply = <&reg_dldo1>;
- };
---
-2.24.1
-
-From c0f416de7141bbc713f080ad123b256f6320ec92 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:31:01 -0600
-Subject: [PATCH 4/8] arm64: dts: allwinner: pinebook: Document MMC0 CD pin
- name
-
-Normally GPIO pin references are followed by a comment giving the pin
-name for searchability. Add the comment here where it was missing.
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index 224bed65d008..a1e15777d524 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -119,7 +119,7 @@ &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
- vmmc-supply = <&reg_dcdc1>;
-- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
- disable-wp;
- bus-width = <4>;
- status = "okay";
---
-2.24.1
-
-From 8818d55ec31fa6e0dc14fb7a4924b3e8d3ecef7d Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:31:02 -0600
-Subject: [PATCH 5/8] arm64: dts: allwinner: pinebook: Add GPIO port regulators
-
-Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL.
-
-VCC-PC and VCC-PG are supplied by ELDO1 at 1.8v.
-VCC-PD is supplied by DCDC1 (VCC-IO) at 3.3v.
-VCC-PE is supplied by ALDO1, and is unused.
-
-VCC-PL creates a circular dependency, so it is omitted for now.
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index a1e15777d524..1ec39120323f 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -162,6 +162,13 @@ &ohci1 {
- status = "okay";
- };
-
-+&pio {
-+ vcc-pc-supply = <&reg_eldo1>;
-+ vcc-pd-supply = <&reg_dcdc1>;
-+ vcc-pe-supply = <&reg_aldo1>;
-+ vcc-pg-supply = <&reg_eldo1>;
-+};
-+
- &pwm {
- status = "okay";
- };
-@@ -174,6 +181,16 @@ &r_i2c {
- status = "okay";
- };
-
-+&r_pio {
-+ /*
-+ * FIXME: We can't add that supply for now since it would
-+ * create a circular dependency between pinctrl, the regulator
-+ * and the RSB Bus.
-+ *
-+ * vcc-pl-supply = <&reg_aldo2>;
-+ */
-+};
-+
- &r_rsb {
- status = "okay";
-
---
-2.24.1
-
-From bd863f25d41173e140850772f9a02ffb3b3e0d6b Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:31:03 -0600
-Subject: [PATCH 6/8] arm64: dts: allwinner: pinebook: Fix backlight regulator
-
-The output from the backlight regulator is labeled as "VBKLT" in the
-schematic. Using the equation and resistor values from the schematic,
-the output is approximately 18V, not 3.3V. Since the regulator in use
-(SS6640STR) is a boost regulator powered by PS (battery or AC input),
-which are both >3.3V, the output could not be 3.3V anyway.
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- .../dts/allwinner/sun50i-a64-pinebook.dts | 20 +++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index 1ec39120323f..313f4e6edc19 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -21,22 +21,13 @@ aliases {
- ethernet0 = &rtl8723cs;
- };
-
-- vdd_bl: regulator@0 {
-- compatible = "regulator-fixed";
-- regulator-name = "bl-3v3";
-- regulator-min-microvolt = <3300000>;
-- regulator-max-microvolt = <3300000>;
-- gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
-- enable-active-high;
-- };
--
- backlight: backlight {
- compatible = "pwm-backlight";
- pwms = <&pwm 0 50000 0>;
- brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
- default-brightness-level = <2>;
- enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
-- power-supply = <&vdd_bl>;
-+ power-supply = <&reg_vbklt>;
- };
-
- chosen {
-@@ -57,6 +48,15 @@ lid_switch {
- };
- };
-
-+ reg_vbklt: vbklt {
-+ compatible = "regulator-fixed";
-+ regulator-name = "vbklt";
-+ regulator-min-microvolt = <18000000>;
-+ regulator-max-microvolt = <18000000>;
-+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
-+ enable-active-high;
-+ };
-+
- wifi_pwrseq: wifi_pwrseq {
- compatible = "mmc-pwrseq-simple";
- reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
---
-2.24.1
-
-From 425472eb612873c9c64b41df70020de58448bef3 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:31:04 -0600
-Subject: [PATCH 7/8] arm64: dts: allwinner: pinebook: Fix 5v0 boost regulator
-
-Now that AXP803 GPIO support is available, we can properly model
-the hardware. Replace the use of GPIO0-LDO with a fixed regulator
-controlled by GPIO0. This boost regulator is used to power the
-(internal and external) USB ports, as well as the speakers.
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- .../dts/allwinner/sun50i-a64-pinebook.dts | 27 +++++++++----------
- 1 file changed, 12 insertions(+), 15 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index 313f4e6edc19..c06c540e6c08 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -57,6 +57,15 @@ reg_vbklt: vbklt {
- enable-active-high;
- };
-
-+ reg_vcc5v0: vcc5v0 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "vcc5v0";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
-+ enable-active-high;
-+ };
-+
- wifi_pwrseq: wifi_pwrseq {
- compatible = "mmc-pwrseq-simple";
- reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
-@@ -64,12 +73,7 @@ wifi_pwrseq: wifi_pwrseq {
-
- speaker_amp: audio-amplifier {
- compatible = "simple-audio-amplifier";
-- /*
-- * TODO This is actually a fixed regulator controlled by
-- * the GPIO line on the PMIC. This should be corrected
-- * once GPIO support is added for this PMIC.
-- */
-- VCC-supply = <&reg_ldo_io0>;
-+ VCC-supply = <&reg_vcc5v0>;
- enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
- sound-name-prefix = "Speaker Amp";
- };
-@@ -316,13 +320,6 @@ &reg_fldo2 {
- regulator-name = "vdd-cpus";
- };
-
--&reg_ldo_io0 {
-- regulator-min-microvolt = <3300000>;
-- regulator-max-microvolt = <3300000>;
-- regulator-name = "vcc-usb";
-- status = "okay";
--};
--
- &reg_rtc_ldo {
- regulator-name = "vcc-rtc";
- };
-@@ -371,7 +368,7 @@ &usb_otg {
- };
-
- &usbphy {
-- usb0_vbus-supply = <&reg_ldo_io0>;
-- usb1_vbus-supply = <&reg_ldo_io0>;
-+ usb0_vbus-supply = <&reg_vcc5v0>;
-+ usb1_vbus-supply = <&reg_vcc5v0>;
- status = "okay";
- };
---
-2.24.1
-
-From c3aea4ea2117f5dc28da3d4175fc93296653ecd5 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Sun, 19 Jan 2020 10:30:58 -0600
-Subject: [PATCH 8/8] arm64: dts: allwinner: pinebook: Remove unused AXP803
- regulators
-
-The Pinebook does not use the CSI bus on the A64. In fact it does not
-use GPIO port E for anything at all. Thus the following regulators are
-not used and do not need voltages set:
-
- - ALDO1: Connected to VCC-PE only
- - DLDO3: Not connected
- - ELDO3: Not connected
-
-Signed-off-by: Samuel Holland <samuel@sholland.org>
-Signed-off-by: Maxime Ripard <maxime@cerno.tech>
----
- .../boot/dts/allwinner/sun50i-a64-pinebook.dts | 16 +---------------
- 1 file changed, 1 insertion(+), 15 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-index c06c540e6c08..12e513ba8f50 100644
---- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
-@@ -217,9 +217,7 @@ &battery_power_supply {
- };
-
- &reg_aldo1 {
-- regulator-min-microvolt = <2800000>;
-- regulator-max-microvolt = <2800000>;
-- regulator-name = "vcc-csi";
-+ regulator-name = "vcc-pe";
- };
-
- &reg_aldo2 {
-@@ -282,12 +280,6 @@ &reg_dldo2 {
- regulator-name = "vcc-edp";
- };
-
--&reg_dldo3 {
-- regulator-min-microvolt = <3300000>;
-- regulator-max-microvolt = <3300000>;
-- regulator-name = "avdd-csi";
--};
--
- &reg_dldo4 {
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
-@@ -301,12 +293,6 @@ &reg_eldo1 {
- regulator-name = "cpvdd";
- };
-
--&reg_eldo3 {
-- regulator-min-microvolt = <1800000>;
-- regulator-max-microvolt = <1800000>;
-- regulator-name = "vdd-1v8-csi";
--};
--
- &reg_fldo1 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
---
-2.24.1
-
diff --git a/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch b/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
deleted file mode 100644
index 8f9dd4473..000000000
--- a/arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
+++ /dev/null
@@ -1,396 +0,0 @@
-From patchwork Wed Jan 29 13:28:17 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
-X-Patchwork-Id: 1230891
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=lgr6vu5h;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 48747F4JPmz9sPW
- for <incoming@patchwork.ozlabs.org>;
- Thu, 30 Jan 2020 00:28:25 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1726178AbgA2N2Y (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Wed, 29 Jan 2020 08:28:24 -0500
-Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:3674 "EHLO
- hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1726069AbgA2N2Y (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>);
- Wed, 29 Jan 2020 08:28:24 -0500
-Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e3188630000>; Wed, 29 Jan 2020 05:28:03 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate101.nvidia.com (PGP Universal service);
- Wed, 29 Jan 2020 05:28:23 -0800
-X-PGP-Universal: processed;
- by hqpgpgate101.nvidia.com on Wed, 29 Jan 2020 05:28:23 -0800
-Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL101.nvidia.com
- (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Wed, 29 Jan 2020 13:28:22 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL107.nvidia.com
- (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Wed, 29 Jan 2020 13:28:22 +0000
-Received: from localhost.localdomain (Not Verified[10.21.133.51]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e3188740004>; Wed, 29 Jan 2020 05:28:21 -0800
-From: Jon Hunter <jonathanh@nvidia.com>
-To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Jiri Slaby <jslaby@suse.com>, Thierry Reding <thierry.reding@gmail.com>
-CC: <linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
- <linux-tegra@vger.kernel.org>, Jeff Brasen <jbrasen@nvidia.com>,
- Jon Hunter <jonathanh@nvidia.com>
-Subject: [PATCH V3] serial: 8250_tegra: Create Tegra specific 8250 driver
-Date: Wed, 29 Jan 2020 13:28:17 +0000
-Message-ID: <20200129132817.26343-1-jonathanh@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1580304483; bh=HoJs+kXsFZvSMy4ts1p9lRICvn55qhYk7d+0r26WND4=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- X-NVConfidentiality:MIME-Version:Content-Type;
- b=lgr6vu5h+VXLi0/YMPdPOZmrFcPymQL2RMQS/Y94oEs9qjQBfvOy9RYiQ5bsghpNO
- 9U3OavbzFTAgW3KVZK8/mx1JJMjbFph68zpRKJEwBkblJHozmOkNlYLdz/cMpg5F3z
- XIdzGIouM94Y4Hf/z/PboeRmHIBT/2El0aEgzPdP9pt7VwjIlXvaaQs07AQ8RQFHaL
- NV3bpUNN5YnloRF8XZ4upFOBRw06fcNAkTS9bwSFXWyFX19F+pUyKwKLaMIsmytQ8Q
- 1tMqHbNUdh2yi1PLb34dnWezFZmhfrhFsKrmWnbZA/QAcB+HuvRmUMtZmIE+K4sa1B
- dhsJcFUWXmJbQ==
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-From: Jeff Brasen <jbrasen@nvidia.com>
-
-To support booting NVIDIA Tegra platforms with either Device-Tree or
-ACPI, create a Tegra specific 8250 serial driver that supports both
-firmware types. Another benefit from doing this, is that the Tegra
-specific codec in the generic Open Firmware 8250 driver can now be
-removed.
-
-Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
----
-
-Changes since V2:
-- Added missing header for devm_ioremap (reported by kbuild test robot)
-Changes since V1:
-- Added support for COMPILE_TEST
-
- drivers/tty/serial/8250/8250_of.c | 28 ----
- drivers/tty/serial/8250/8250_tegra.c | 198 +++++++++++++++++++++++++++
- drivers/tty/serial/8250/Kconfig | 9 ++
- drivers/tty/serial/8250/Makefile | 1 +
- 4 files changed, 208 insertions(+), 28 deletions(-)
- create mode 100644 drivers/tty/serial/8250/8250_tegra.c
-
-diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
-index 531ad67395e0..5e45cf8dbc6e 100644
---- a/drivers/tty/serial/8250/8250_of.c
-+++ b/drivers/tty/serial/8250/8250_of.c
-@@ -7,7 +7,6 @@
- #include <linux/console.h>
- #include <linux/module.h>
- #include <linux/slab.h>
--#include <linux/delay.h>
- #include <linux/serial_core.h>
- #include <linux/serial_reg.h>
- #include <linux/of_address.h>
-@@ -26,28 +25,6 @@ struct of_serial_info {
- int line;
- };
-
--#ifdef CONFIG_ARCH_TEGRA
--static void tegra_serial_handle_break(struct uart_port *p)
--{
-- unsigned int status, tmout = 10000;
--
-- do {
-- status = p->serial_in(p, UART_LSR);
-- if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
-- status = p->serial_in(p, UART_RX);
-- else
-- break;
-- if (--tmout == 0)
-- break;
-- udelay(1);
-- } while (1);
--}
--#else
--static inline void tegra_serial_handle_break(struct uart_port *port)
--{
--}
--#endif
--
- static int of_8250_rs485_config(struct uart_port *port,
- struct serial_rs485 *rs485)
- {
-@@ -211,10 +188,6 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
- port->rs485_config = of_8250_rs485_config;
-
- switch (type) {
-- case PORT_TEGRA:
-- port->handle_break = tegra_serial_handle_break;
-- break;
--
- case PORT_RT2880:
- port->iotype = UPIO_AU;
- break;
-@@ -359,7 +332,6 @@ static const struct of_device_id of_platform_serial_table[] = {
- { .compatible = "ns16550", .data = (void *)PORT_16550, },
- { .compatible = "ns16750", .data = (void *)PORT_16750, },
- { .compatible = "ns16850", .data = (void *)PORT_16850, },
-- { .compatible = "nvidia,tegra20-uart", .data = (void *)PORT_TEGRA, },
- { .compatible = "nxp,lpc3220-uart", .data = (void *)PORT_LPC3220, },
- { .compatible = "ralink,rt2880-uart", .data = (void *)PORT_RT2880, },
- { .compatible = "intel,xscale-uart", .data = (void *)PORT_XSCALE, },
-diff --git a/drivers/tty/serial/8250/8250_tegra.c b/drivers/tty/serial/8250/8250_tegra.c
-new file mode 100644
-index 000000000000..c0ffad1572c6
---- /dev/null
-+++ b/drivers/tty/serial/8250/8250_tegra.c
-@@ -0,0 +1,198 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Serial Port driver for Tegra devices
-+ *
-+ * Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved.
-+ */
-+
-+#include <linux/acpi.h>
-+#include <linux/clk.h>
-+#include <linux/console.h>
-+#include <linux/delay.h>
-+#include <linux/io.h>
-+#include <linux/module.h>
-+#include <linux/reset.h>
-+#include <linux/slab.h>
-+
-+#include "8250.h"
-+
-+struct tegra_uart {
-+ struct clk *clk;
-+ struct reset_control *rst;
-+ int line;
-+};
-+
-+static void tegra_uart_handle_break(struct uart_port *p)
-+{
-+ unsigned int status, tmout = 10000;
-+
-+ do {
-+ status = p->serial_in(p, UART_LSR);
-+ if (status & (UART_LSR_FIFOE | UART_LSR_BRK_ERROR_BITS))
-+ status = p->serial_in(p, UART_RX);
-+ else
-+ break;
-+ if (--tmout == 0)
-+ break;
-+ udelay(1);
-+ } while (1);
-+}
-+
-+static int tegra_uart_probe(struct platform_device *pdev)
-+{
-+ struct uart_8250_port port8250;
-+ struct tegra_uart *uart;
-+ struct uart_port *port;
-+ struct resource *res;
-+ int ret;
-+
-+ uart = devm_kzalloc(&pdev->dev, sizeof(*uart), GFP_KERNEL);
-+ if (!uart)
-+ return -ENOMEM;
-+
-+ memset(&port8250, 0, sizeof(port8250));
-+
-+ port = &port8250.port;
-+ spin_lock_init(&port->lock);
-+
-+ port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_FIXED_PORT |
-+ UPF_FIXED_TYPE;
-+ port->iotype = UPIO_MEM32;
-+ port->regshift = 2;
-+ port->type = PORT_TEGRA;
-+ port->irqflags |= IRQF_SHARED;
-+ port->dev = &pdev->dev;
-+ port->handle_break = tegra_uart_handle_break;
-+
-+ ret = of_alias_get_id(pdev->dev.of_node, "serial");
-+ if (ret >= 0)
-+ port->line = ret;
-+
-+ ret = platform_get_irq(pdev, 0);
-+ if (ret < 0)
-+ return ret;
-+
-+ port->irq = ret;
-+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ if (!res)
-+ return -ENODEV;
-+
-+ port->membase = devm_ioremap(&pdev->dev, res->start,
-+ resource_size(res));
-+ if (!port->membase)
-+ return -ENOMEM;
-+
-+ port->mapbase = res->start;
-+ port->mapsize = resource_size(res);
-+
-+ uart->rst = devm_reset_control_get_optional_shared(&pdev->dev, NULL);
-+ if (IS_ERR(uart->rst))
-+ return PTR_ERR(uart->rst);
-+
-+ if (device_property_read_u32(&pdev->dev, "clock-frequency",
-+ &port->uartclk)) {
-+ uart->clk = devm_clk_get(&pdev->dev, NULL);
-+ if (IS_ERR(uart->clk)) {
-+ dev_err(&pdev->dev, "failed to get clock!\n");
-+ return -ENODEV;
-+ }
-+
-+ ret = clk_prepare_enable(uart->clk);
-+ if (ret < 0)
-+ return ret;
-+
-+ port->uartclk = clk_get_rate(uart->clk);
-+ }
-+
-+ ret = reset_control_deassert(uart->rst);
-+ if (ret)
-+ goto err_clkdisable;
-+
-+ ret = serial8250_register_8250_port(&port8250);
-+ if (ret < 0)
-+ goto err_clkdisable;
-+
-+ platform_set_drvdata(pdev, uart);
-+ uart->line = ret;
-+
-+ return 0;
-+
-+err_clkdisable:
-+ clk_disable_unprepare(uart->clk);
-+
-+ return ret;
-+}
-+
-+static int tegra_uart_remove(struct platform_device *pdev)
-+{
-+ struct tegra_uart *uart = platform_get_drvdata(pdev);
-+
-+ serial8250_unregister_port(uart->line);
-+ reset_control_assert(uart->rst);
-+ clk_disable_unprepare(uart->clk);
-+
-+ return 0;
-+}
-+
-+#ifdef CONFIG_PM_SLEEP
-+static int tegra_uart_suspend(struct device *dev)
-+{
-+ struct tegra_uart *uart = dev_get_drvdata(dev);
-+ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
-+ struct uart_port *port = &port8250->port;
-+
-+ serial8250_suspend_port(uart->line);
-+
-+ if (!uart_console(port) || console_suspend_enabled)
-+ clk_disable_unprepare(uart->clk);
-+
-+ return 0;
-+}
-+
-+static int tegra_uart_resume(struct device *dev)
-+{
-+ struct tegra_uart *uart = dev_get_drvdata(dev);
-+ struct uart_8250_port *port8250 = serial8250_get_port(uart->line);
-+ struct uart_port *port = &port8250->port;
-+
-+ if (!uart_console(port) || console_suspend_enabled)
-+ clk_prepare_enable(uart->clk);
-+
-+ serial8250_resume_port(uart->line);
-+
-+ return 0;
-+}
-+#endif
-+
-+static SIMPLE_DEV_PM_OPS(tegra_uart_pm_ops, tegra_uart_suspend,
-+ tegra_uart_resume);
-+
-+static const struct of_device_id tegra_uart_of_match[] = {
-+ { .compatible = "nvidia,tegra20-uart", },
-+ { },
-+};
-+MODULE_DEVICE_TABLE(of, tegra_uart_of_match);
-+
-+static const struct acpi_device_id tegra_uart_acpi_match[] = {
-+ { "NVDA0100", 0 },
-+ { },
-+};
-+MODULE_DEVICE_TABLE(acpi, tegra_uart_acpi_match);
-+
-+static struct platform_driver tegra_uart_driver = {
-+ .driver = {
-+ .name = "tegra-uart",
-+ .pm = &tegra_uart_pm_ops,
-+ .of_match_table = tegra_uart_of_match,
-+ .acpi_match_table = ACPI_PTR(tegra_uart_acpi_match),
-+ },
-+ .probe = tegra_uart_probe,
-+ .remove = tegra_uart_remove,
-+};
-+
-+module_platform_driver(tegra_uart_driver);
-+
-+MODULE_AUTHOR("Jeff Brasen <jbrasen@nvidia.com>");
-+MODULE_DESCRIPTION("NVIDIA Tegra 8250 Driver");
-+MODULE_LICENSE("GPL v2");
-diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
-index f16824bbb573..af0688156dd0 100644
---- a/drivers/tty/serial/8250/Kconfig
-+++ b/drivers/tty/serial/8250/Kconfig
-@@ -500,6 +500,15 @@ config SERIAL_8250_PXA
- applicable to both devicetree and legacy boards, and early console is
- part of its support.
-
-+config SERIAL_8250_TEGRA
-+ tristate "8250 support for Tegra serial ports"
-+ default SERIAL_8250
-+ depends on SERIAL_8250
-+ depends on ARCH_TEGRA || COMPILE_TEST
-+ help
-+ Select this option if you have machine with an NVIDIA Tegra SoC and
-+ wish to enable 8250 serial driver for the Tegra serial interfaces.
-+
- config SERIAL_OF_PLATFORM
- tristate "Devicetree based probing for 8250 ports"
- depends on SERIAL_8250 && OF
-diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
-index 51a6079d3f1f..a8bfb654d490 100644
---- a/drivers/tty/serial/8250/Makefile
-+++ b/drivers/tty/serial/8250/Makefile
-@@ -37,6 +37,7 @@ obj-$(CONFIG_SERIAL_8250_INGENIC) += 8250_ingenic.o
- obj-$(CONFIG_SERIAL_8250_LPSS) += 8250_lpss.o
- obj-$(CONFIG_SERIAL_8250_MID) += 8250_mid.o
- obj-$(CONFIG_SERIAL_8250_PXA) += 8250_pxa.o
-+obj-$(CONFIG_SERIAL_8250_TEGRA) += 8250_tegra.o
- obj-$(CONFIG_SERIAL_OF_PLATFORM) += 8250_of.o
-
- CFLAGS_8250_ingenic.o += -I$(srctree)/scripts/dtc/libfdt
diff --git a/arm64-tegra-Fix-ethernet-phy-mode-for-Jetson-Xavier.patch b/arm64-tegra-Fix-ethernet-phy-mode-for-Jetson-Xavier.patch
deleted file mode 100644
index 860d64763..000000000
--- a/arm64-tegra-Fix-ethernet-phy-mode-for-Jetson-Xavier.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From patchwork Fri May 1 07:27:56 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
-X-Patchwork-Id: 1281134
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org;
- spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org
- (client-ip=23.128.96.18; helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org; receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com header.a=rsa-sha256
- header.s=n1 header.b=jaB3BsED; dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
- by ozlabs.org (Postfix) with ESMTP id 49D3l15Pl7z9sTP
- for <incoming@patchwork.ozlabs.org>; Fri, 1 May 2020 17:28:29 +1000 (AEST)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1728212AbgEAH20 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Fri, 1 May 2020 03:28:26 -0400
-Received: from hqnvemgate26.nvidia.com ([216.228.121.65]:1347 "EHLO
- hqnvemgate26.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1726452AbgEAH20 (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>); Fri, 1 May 2020 03:28:26 -0400
-Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5eabcf8d0000>; Fri, 01 May 2020 00:28:13 -0700
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate101.nvidia.com (PGP Universal service);
- Fri, 01 May 2020 00:28:25 -0700
-X-PGP-Universal: processed;
- by hqpgpgate101.nvidia.com on Fri, 01 May 2020 00:28:25 -0700
-Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL109.nvidia.com
- (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 1 May
- 2020 07:28:25 +0000
-Received: from hqnvemgw03.nvidia.com (10.124.88.68) by HQMAIL109.nvidia.com
- (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend
- Transport; Fri, 1 May 2020 07:28:25 +0000
-Received: from moonraker.nvidia.com (Not Verified[10.26.73.165]) by
- hqnvemgw03.nvidia.com with Trustwave SEG (v7,5,8,10121)
- id <B5eabcf980000>; Fri, 01 May 2020 00:28:25 -0700
-From: Jon Hunter <jonathanh@nvidia.com>
-To: Thierry Reding <thierry.reding@gmail.com>
-CC: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
- Peter Robinson <pbrobinson@redhat.com>,
- Jon Hunter <jonathanh@nvidia.com>, <stable@vger.kernel.org>
-Subject: [PATCH] arm64: tegra: Fix ethernet phy-mode for Jetson Xavier
-Date: Fri, 1 May 2020 08:27:56 +0100
-Message-ID: <20200501072756.25348-1-jonathanh@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1588318093; bh=d+dYuOUYYG3jFlbXdN72xXUr16sgw2ePdUeUPoMzbSo=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- X-NVConfidentiality:MIME-Version:Content-Type;
- b=jaB3BsEDf3Fc0WN6kwJrPRalITORiFw8jh6J6ICTotAIsVMyxupddkxZxvK2bpOpK
- dw771EHWsja2buZgJ1YGA4ZmleyqFnlXDrl/r6f/yyEoBYvTDJEBlggHz1zyZ2cCSe
- AemmvCRR7KOLMYq9AUpQSVz5u8zuQVezob0pIQjVZRZ1FxjXbiDILaI5mFrAnRzpg9
- IxzEPnPtX6nAMz/IM5oCiUpUCSRwSLtIQtyvQMeOgCbeINMsGMg3AuPYxohlF1QqkZ
- fRZWpiuhT4RclVX+ga7roOMUpumX0hmQPA61LmkPwdd373pOsGjBOPZWwZ9GCoq1mT
- EXSJdwyKZLJvQ==
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-The 'phy-mode' property is currently defined as 'rgmii' for Jetson
-Xavier. This indicates that the RGMII RX and TX delays are set by the
-MAC and the internal delays set by the PHY are not used.
-
-If the Marvell PHY driver is enabled, such that it is used and not the
-generic PHY, ethernet failures are seen (DHCP is failing to obtain an
-IP address) and this is caused because the Marvell PHY driver is
-disabling the internal RX and TX delays. For Jetson Xavier the internal
-PHY RX and TX delay should be used and so fix this by setting the
-'phy-mode' to 'rgmii-id' and not 'rgmii'.
-
-Cc: stable@vger.kernel.org
-
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
----
- arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
-index 623f7d7d216b..8e3136dfdd62 100644
---- a/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
-@@ -33,7 +33,7 @@
-
- phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 5) GPIO_ACTIVE_LOW>;
- phy-handle = <&phy>;
-- phy-mode = "rgmii";
-+ phy-mode = "rgmii-id";
-
- mdio {
- #address-cells = <1>;
diff --git a/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch b/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch
deleted file mode 100644
index 08c519629..000000000
--- a/backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From patchwork Mon Feb 24 14:07:48 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Jon Hunter <jonathanh@nvidia.com>
-X-Patchwork-Id: 1243112
-Return-Path: <linux-tegra-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=none (no SPF record)
- smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67;
- helo=vger.kernel.org;
- envelope-from=linux-tegra-owner@vger.kernel.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org;
- dmarc=pass (p=none dis=none) header.from=nvidia.com
-Authentication-Results: ozlabs.org; dkim=pass (2048-bit key;
- unprotected) header.d=nvidia.com header.i=@nvidia.com
- header.a=rsa-sha256 header.s=n1 header.b=bnwYpe6i;
- dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 48R3nG3y97z9sRQ
- for <incoming@patchwork.ozlabs.org>;
- Tue, 25 Feb 2020 01:08:18 +1100 (AEDT)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727539AbgBXOIR (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Mon, 24 Feb 2020 09:08:17 -0500
-Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:5063 "EHLO
- hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1727451AbgBXOIR (ORCPT
- <rfc822;linux-tegra@vger.kernel.org>);
- Mon, 24 Feb 2020 09:08:17 -0500
-Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by
- hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA)
- id <B5e53d8840000>; Mon, 24 Feb 2020 06:07:00 -0800
-Received: from hqmail.nvidia.com ([172.20.161.6])
- by hqpgpgate101.nvidia.com (PGP Universal service);
- Mon, 24 Feb 2020 06:08:16 -0800
-X-PGP-Universal: processed;
- by hqpgpgate101.nvidia.com on Mon, 24 Feb 2020 06:08:16 -0800
-Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL107.nvidia.com
- (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3;
- Mon, 24 Feb 2020 14:08:16 +0000
-Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL105.nvidia.com
- (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via
- Frontend Transport; Mon, 24 Feb 2020 14:08:15 +0000
-Received: from thunderball.nvidia.com (Not Verified[10.21.140.91]) by
- rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121)
- id <B5e53d8cd0006>; Mon, 24 Feb 2020 06:08:15 -0800
-From: Jon Hunter <jonathanh@nvidia.com>
-To: Milo Kim <milo.kim@ti.com>, Lee Jones <lee.jones@linaro.org>,
- Daniel Thompson <daniel.thompson@linaro.org>,
- Jingoo Han <jingoohan1@gmail.com>
-CC: <dri-devel@lists.freedesktop.org>, <linux-kernel@vger.kernel.org>,
- <linux-tegra@vger.kernel.org>, Jon Hunter <jonathanh@nvidia.com>
-Subject: [PATCH] backlight: lp855x: Ensure regulators are disabled on probe
- failure
-Date: Mon, 24 Feb 2020 14:07:48 +0000
-Message-ID: <20200224140748.2182-1-jonathanh@nvidia.com>
-X-Mailer: git-send-email 2.17.1
-X-NVConfidentiality: public
-MIME-Version: 1.0
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
- t=1582553220; bh=B1HKOxHeQwu3ZxgJLvSfafO1owYsd38lFNvB2Oh8gBc=;
- h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer:
- X-NVConfidentiality:MIME-Version:Content-Type;
- b=bnwYpe6isaqG2Bp36VGI0VAYjd8jtznqNulwkVw85vf5zOMSfv809Oou4taz+1W9g
- /eTLeJozbJBXhllQfybYW8hX4fyWIjWNON8aQugt/0HrnKAjg5r9wLT5lTgmy+8n2B
- YrCJM3gob7XIi7l0cbONUTfyGssXmyEi+0SUamN4DDOnXIFxHBentnbyQdvOQ9+11P
- Dr5X+zeRff1B/SMt2pdNwrja2cVOPDRGAM+U4epkb2bICZZUiGv1fQLKa+KgJ7xMMS
- AwmdVrZ/6l2MAKwM+FuIqdF/x7mpCYg64MWX7TFFRwOSCFwNeq1fcK5TWItV01qcCa
- mFLwbcDwN/IQA==
-Sender: linux-tegra-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-tegra.vger.kernel.org>
-X-Mailing-List: linux-tegra@vger.kernel.org
-
-If probing the LP885x backlight fails after the regulators have been
-enabled, then the following warning is seen when releasing the
-regulators ...
-
- WARNING: CPU: 1 PID: 289 at drivers/regulator/core.c:2051 _regulator_put.part.28+0x158/0x160
- Modules linked in: tegra_xudc lp855x_bl(+) host1x pwm_tegra ip_tables x_tables ipv6 nf_defrag_ipv6
- CPU: 1 PID: 289 Comm: systemd-udevd Not tainted 5.6.0-rc2-next-20200224 #1
- Hardware name: NVIDIA Jetson TX1 Developer Kit (DT)
-
- ...
-
- Call trace:
- _regulator_put.part.28+0x158/0x160
- regulator_put+0x34/0x50
- devm_regulator_release+0x10/0x18
- release_nodes+0x12c/0x230
- devres_release_all+0x34/0x50
- really_probe+0x1c0/0x370
- driver_probe_device+0x58/0x100
- device_driver_attach+0x6c/0x78
- __driver_attach+0xb0/0xf0
- bus_for_each_dev+0x68/0xc8
- driver_attach+0x20/0x28
- bus_add_driver+0x160/0x1f0
- driver_register+0x60/0x110
- i2c_register_driver+0x40/0x80
- lp855x_driver_init+0x20/0x1000 [lp855x_bl]
- do_one_initcall+0x58/0x1a0
- do_init_module+0x54/0x1d0
- load_module+0x1d80/0x21c8
- __do_sys_finit_module+0xe8/0x100
- __arm64_sys_finit_module+0x18/0x20
- el0_svc_common.constprop.3+0xb0/0x168
- do_el0_svc+0x20/0x98
- el0_sync_handler+0xf4/0x1b0
- el0_sync+0x140/0x180
-
-Fix this by ensuring that the regulators are disabled, if enabled, on
-probe failure.
-
-Finally, ensure that the vddio regulator is disabled in the driver
-remove handler.
-
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
-Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
----
- drivers/video/backlight/lp855x_bl.c | 20 ++++++++++++++++----
- 1 file changed, 16 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/video/backlight/lp855x_bl.c b/drivers/video/backlight/lp855x_bl.c
-index f68920131a4a..e94932c69f54 100644
---- a/drivers/video/backlight/lp855x_bl.c
-+++ b/drivers/video/backlight/lp855x_bl.c
-@@ -456,7 +456,7 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
- ret = regulator_enable(lp->enable);
- if (ret < 0) {
- dev_err(lp->dev, "failed to enable vddio: %d\n", ret);
-- return ret;
-+ goto disable_supply;
- }
-
- /*
-@@ -471,24 +471,34 @@ static int lp855x_probe(struct i2c_client *cl, const struct i2c_device_id *id)
- ret = lp855x_configure(lp);
- if (ret) {
- dev_err(lp->dev, "device config err: %d", ret);
-- return ret;
-+ goto disable_vddio;
- }
-
- ret = lp855x_backlight_register(lp);
- if (ret) {
- dev_err(lp->dev,
- "failed to register backlight. err: %d\n", ret);
-- return ret;
-+ goto disable_vddio;
- }
-
- ret = sysfs_create_group(&lp->dev->kobj, &lp855x_attr_group);
- if (ret) {
- dev_err(lp->dev, "failed to register sysfs. err: %d\n", ret);
-- return ret;
-+ goto disable_vddio;
- }
-
- backlight_update_status(lp->bl);
-+
- return 0;
-+
-+disable_vddio:
-+ if (lp->enable)
-+ regulator_disable(lp->enable);
-+disable_supply:
-+ if (lp->supply)
-+ regulator_disable(lp->supply);
-+
-+ return ret;
- }
-
- static int lp855x_remove(struct i2c_client *cl)
-@@ -497,6 +507,8 @@ static int lp855x_remove(struct i2c_client *cl)
-
- lp->bl->props.brightness = 0;
- backlight_update_status(lp->bl);
-+ if (lp->enable)
-+ regulator_disable(lp->enable);
- if (lp->supply)
- regulator_disable(lp->supply);
- sysfs_remove_group(&lp->dev->kobj, &lp855x_attr_group);
diff --git a/bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch b/bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
deleted file mode 100644
index 9cb8ff5d7..000000000
--- a/bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-From patchwork Mon Feb 10 09:52:20 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Lukas Wunner <lukas@wunner.de>
-X-Patchwork-Id: 11372935
-Return-Path:
- <SRS0=uiPw=36=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6E6F4109A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 10 Feb 2020 09:52:52 +0000 (UTC)
-Received: from bombadil.infradead.org (bombadil.infradead.org
- [198.137.202.133])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (No client certificate requested)
- by mail.kernel.org (Postfix) with ESMTPS id 3ABD621835
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Mon, 10 Feb 2020 09:52:52 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="sLV1I6RP"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3ABD621835
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=wunner.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
- d=lists.infradead.org; s=bombadil.20170209; h=Sender:
- Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:
- List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:To:Subject:Date:
- From:References:In-Reply-To:Message-Id:Reply-To:Content-ID:
- Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
- :Resent-Message-ID:List-Owner;
- bh=52m4zqqDQ15r/4EHqLM3tCdaghuCQFRSRI636FPzyTg=; b=sLV1I6RPSfIAq0DmE3ADnTyGjh
- NnOUSjVDCUDlMsaRe7dhAfC7D3enDiNCrnGXNT3kb6+57+bXrj31EU+9NhIevN+Rr+lrXe+8PaWKw
- Q2LbzZDJ3owcXTu2EZAYrQPHg/BScQT5NiMMHrLmISp9B3erAO45imXsyolyfBhUFbvxPY/ijVw2C
- rPXYS/w47IaC6T79wZVTZ1Iuqn0jR/qvksA7yRUBMTsnHcc3fv6yuD+cD0BFmmao7LAxKlA3uu8Ba
- MXB0/7aQIlb5yOssEfnwThbbnbrpxmnIS0CT00K1yAYIkzDAv7lS7imZ5qTy2uahyJFWjQF8T++wX
- TgZL/6mQ==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j15kG-0008ES-UU; Mon, 10 Feb 2020 09:52:48 +0000
-Received: from mailout1.hostsharing.net ([83.223.95.204])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1j15kC-0008Cu-Hl; Mon, 10 Feb 2020 09:52:46 +0000
-Received: from h08.hostsharing.net (h08.hostsharing.net
- [IPv6:2a01:37:1000::53df:5f1c:0])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
- (Client CN "*.hostsharing.net",
- Issuer "COMODO RSA Domain Validation Secure Server CA" (not verified))
- by mailout1.hostsharing.net (Postfix) with ESMTPS id 32EE510192623;
- Mon, 10 Feb 2020 10:52:31 +0100 (CET)
-Received: from localhost (unknown [87.130.102.138])
- (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
- (No client certificate requested)
- by h08.hostsharing.net (Postfix) with ESMTPSA id E85DF60AD5E1;
- Mon, 10 Feb 2020 10:52:30 +0100 (CET)
-X-Mailbox-Line: From 8be2f3e95fb29abdf80240f2b8a38621c42eb2a9 Mon Sep 17
- 00:00:00 2001
-Message-Id:
- <8be2f3e95fb29abdf80240f2b8a38621c42eb2a9.1581327911.git.lukas@wunner.de>
-In-Reply-To: <713627a200d9c8fd7cac424d69e98166@kernel.org>
-References: <713627a200d9c8fd7cac424d69e98166@kernel.org>
-From: Lukas Wunner <lukas@wunner.de>
-Date: Mon, 10 Feb 2020 10:52:20 +0100
-Subject: [PATCH v2] irqchip/bcm2835: Quiesce IRQs left enabled by bootloader
-To: Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>,
- Marc Zyngier <maz@kernel.org>,
- "Nicolas Saenz Julienne" <nsaenzjulienne@suse.de>
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200210_015244_903439_EE700514
-X-CRM114-Status: GOOD ( 18.64 )
-X-Spam-Score: -0.7 (/)
-X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary:
- Content analysis details: (-0.7 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/,
- low trust [83.223.95.204 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [83.223.95.204 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- 0.0 SPF_NONE SPF: sender does not publish an SPF Record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: Florian Fainelli <f.fainelli@gmail.com>,
- Kristina Brooks <notstina@gmail.com>, Scott Branden <sbranden@broadcom.com>,
- Ray Jui <rjui@broadcom.com>, Serge Schneider <serge@raspberrypi.org>,
- linux-kernel@vger.kernel.org, Phil Elwell <phil@raspberrypi.org>,
- Matthias Brugger <mbrugger@suse.com>, bcm-kernel-feedback-list@broadcom.com,
- linux-rpi-kernel@lists.infradead.org, Martin Sperl <kernel@martin.sperl.org>,
- linux-arm-kernel@lists.infradead.org, Stefan Wahren <wahrenst@gmx.net>
-MIME-Version: 1.0
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-Customers of our "Revolution Pi" open source PLCs (which are based on
-the Raspberry Pi) have reported random lockups as well as jittery eMMC,
-UART and SPI latency. We were able to reproduce the lockups in our lab
-and hooked up a JTAG debugger:
-
-It turns out that the USB controller's interrupt is already enabled when
-the kernel boots. All interrupts are disabled when the chip comes out
-of power-on reset, according to the spec. So apparently the bootloader
-enables the interrupt but neglects to disable it before handing over
-control to the kernel.
-
-The bootloader is a closed source blob provided by the Raspberry Pi
-Foundation. Development of an alternative open source bootloader was
-begun by Kristina Brooks but it's not fully functional yet. Usage of
-the blob is thus without alternative for the time being.
-
-The Raspberry Pi Foundation's downstream kernel has a performance-
-optimized USB driver (which we use on our Revolution Pi products).
-The driver takes advantage of the FIQ fast interrupt. Because the
-regular USB interrupt was left enabled by the bootloader, both the
-FIQ and the normal interrupt is enabled once the USB driver probes.
-
-The spec has the following to say on simultaneously enabling the FIQ
-and the normal interrupt of a peripheral:
-
-"One interrupt source can be selected to be connected to the ARM FIQ
- input. An interrupt which is selected as FIQ should have its normal
- interrupt enable bit cleared. Otherwise a normal and an FIQ interrupt
- will be fired at the same time. Not a good idea!"
- ^^^^^^^^^^^^^^^
-https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
-page 110
-
-On a multicore Raspberry Pi, the Foundation's kernel routes all normal
-interrupts to CPU 0 and the FIQ to CPU 1. Because both the FIQ and the
-normal interrupt is enabled, a USB interrupt causes CPU 0 to spin in
-bcm2836_chained_handle_irq() until the FIQ on CPU 1 has cleared it.
-Interrupts with a lower priority than USB are starved as long.
-
-That explains the jittery eMMC, UART and SPI latency: On one occasion
-I've seen CPU 0 blocked for no less than 2.9 msec. Basically,
-everything not USB takes a performance hit: Whereas eMMC throughput
-on a Compute Module 3 remains relatively constant at 23.5 MB/s with
-this commit, it irregularly dips to 23.0 MB/s without this commit.
-
-The lockups occur when CPU 0 receives a USB interrupt while holding a
-lock which CPU 1 is trying to acquire while the FIQ is temporarily
-disabled on CPU 1.
-
-I've tested old releases of the Foundation's bootloader as far back as
-1.20160202-1 and they all leave the USB interrupt enabled. Still older
-releases fail to boot a contemporary kernel on a Compute Module 1 or 3,
-which are the only Raspberry Pi variants I have at my disposal for
-testing.
-
-Fix by disabling IRQs left enabled by the bootloader. Although the
-impact is most pronounced on the Foundation's downstream kernel,
-it seems prudent to apply the fix to the upstream kernel to guard
-against such mistakes in any present and future bootloader.
-
-Signed-off-by: Lukas Wunner <lukas@wunner.de>
-Cc: Serge Schneider <serge@raspberrypi.org>
-Cc: Kristina Brooks <notstina@gmail.com>
-Cc: stable@vger.kernel.org
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
----
-Changes since v1:
-* Use "relaxed" MMIO accessors to avoid memory barriers (Marc)
-* Use u32 instead of int for register access (Marc)
-* Quiesce FIQ as well (Marc)
-* Quiesce IRQs after mapping them for better readability
-* Drop alternative approach from commit message (Marc)
-
-Link to v1:
-https://lore.kernel.org/lkml/988737dbbc4e499c2faaaa4e567ba3ed8deb9a89.1581089797.git.lukas@wunner.de/
-
- drivers/irqchip/irq-bcm2835.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
-index 418245d31921..63539c88ac3a 100644
---- a/drivers/irqchip/irq-bcm2835.c
-+++ b/drivers/irqchip/irq-bcm2835.c
-@@ -61,6 +61,7 @@
- | SHORTCUT1_MASK | SHORTCUT2_MASK)
-
- #define REG_FIQ_CONTROL 0x0c
-+#define REG_FIQ_ENABLE 0x80
-
- #define NR_BANKS 3
- #define IRQS_PER_BANK 32
-@@ -135,6 +136,7 @@ static int __init armctrl_of_init(struct device_node *node,
- {
- void __iomem *base;
- int irq, b, i;
-+ u32 reg;
-
- base = of_iomap(node, 0);
- if (!base)
-@@ -157,6 +159,19 @@ static int __init armctrl_of_init(struct device_node *node,
- handle_level_irq);
- irq_set_probe(irq);
- }
-+
-+ reg = readl_relaxed(intc.enable[b]);
-+ if (reg) {
-+ writel_relaxed(reg, intc.disable[b]);
-+ pr_err(FW_BUG "Bootloader left irq enabled: "
-+ "bank %d irq %*pbl\n", b, IRQS_PER_BANK, &reg);
-+ }
-+ }
-+
-+ reg = readl_relaxed(base + REG_FIQ_CONTROL);
-+ if (reg & REG_FIQ_ENABLE) {
-+ writel_relaxed(0, base + REG_FIQ_CONTROL);
-+ pr_err(FW_BUG "Bootloader left fiq enabled\n");
- }
-
- if (is_2836) {
diff --git a/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE b/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE
index fbfa0f399..b2524eb49 100644
--- a/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE
+++ b/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE
@@ -1 +1 @@
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
diff --git a/configs/fedora/debug/CONFIG_TEST_LOCKUP b/configs/fedora/debug/CONFIG_TEST_LOCKUP
new file mode 100644
index 000000000..4bd13f6c9
--- /dev/null
+++ b/configs/fedora/debug/CONFIG_TEST_LOCKUP
@@ -0,0 +1 @@
+CONFIG_TEST_LOCKUP=m
diff --git a/configs/fedora/debug/x86/x86_64/README b/configs/fedora/debug/x86/x86_64/README
index fa1c296db..8c6cfe13b 100644
--- a/configs/fedora/debug/x86/x86_64/README
+++ b/configs/fedora/debug/x86/x86_64/README
@@ -1,2 +1 @@
-Place config options in this directory that you want applied to x86_64
-debug kernel variant.
+Place configuration files for x86_64 debug flavor kernels in here.
diff --git a/configs/fedora/generic/CONFIG_AD5770R b/configs/fedora/generic/CONFIG_AD5770R
new file mode 100644
index 000000000..94d73a75d
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_AD5770R
@@ -0,0 +1 @@
+CONFIG_AD5770R=m
diff --git a/configs/fedora/generic/CONFIG_AL3010 b/configs/fedora/generic/CONFIG_AL3010
new file mode 100644
index 000000000..1e8f787e7
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_AL3010
@@ -0,0 +1 @@
+CONFIG_AL3010=m
diff --git a/configs/fedora/generic/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ b/configs/fedora/generic/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
new file mode 100644
index 000000000..883c61f0e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ
@@ -0,0 +1 @@
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
diff --git a/configs/fedora/generic/CONFIG_APPLE_MFI_FASTCHARGE b/configs/fedora/generic/CONFIG_APPLE_MFI_FASTCHARGE
new file mode 100644
index 000000000..54ef797ea
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_APPLE_MFI_FASTCHARGE
@@ -0,0 +1 @@
+CONFIG_APPLE_MFI_FASTCHARGE=m
diff --git a/configs/fedora/generic/CONFIG_BAREUDP b/configs/fedora/generic/CONFIG_BAREUDP
new file mode 100644
index 000000000..7621c400f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BAREUDP
@@ -0,0 +1 @@
+CONFIG_BAREUDP=m
diff --git a/configs/fedora/generic/CONFIG_BPF_LSM b/configs/fedora/generic/CONFIG_BPF_LSM
new file mode 100644
index 000000000..bf5ae0ddc
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BPF_LSM
@@ -0,0 +1 @@
+CONFIG_BPF_LSM=y
diff --git a/configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE b/configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE
new file mode 100644
index 000000000..0cf2ac889
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE
@@ -0,0 +1 @@
+CONFIG_CHELSIO_TLS_DEVICE=y
diff --git a/configs/fedora/generic/CONFIG_CLK_RASPBERRYPI b/configs/fedora/generic/CONFIG_CLK_RASPBERRYPI
new file mode 100644
index 000000000..5dec258f3
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CLK_RASPBERRYPI
@@ -0,0 +1 @@
+# CONFIG_CLK_RASPBERRYPI is not set
diff --git a/configs/fedora/generic/CONFIG_CROS_EC_TYPEC b/configs/fedora/generic/CONFIG_CROS_EC_TYPEC
new file mode 100644
index 000000000..b4b3cd383
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CROS_EC_TYPEC
@@ -0,0 +1 @@
+CONFIG_CROS_EC_TYPEC=m
diff --git a/configs/fedora/generic/CONFIG_CROS_USBPD_NOTIFY b/configs/fedora/generic/CONFIG_CROS_USBPD_NOTIFY
new file mode 100644
index 000000000..adfdbc34a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CROS_USBPD_NOTIFY
@@ -0,0 +1 @@
+CONFIG_CROS_USBPD_NOTIFY=m
diff --git a/configs/fedora/generic/CONFIG_DMABUF_MOVE_NOTIFY b/configs/fedora/generic/CONFIG_DMABUF_MOVE_NOTIFY
new file mode 100644
index 000000000..33c2fe876
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DMABUF_MOVE_NOTIFY
@@ -0,0 +1 @@
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_DISPLAY_CONNECTOR b/configs/fedora/generic/CONFIG_DRM_DISPLAY_CONNECTOR
new file mode 100644
index 000000000..032c865e2
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_DISPLAY_CONNECTOR
@@ -0,0 +1 @@
+CONFIG_DRM_DISPLAY_CONNECTOR=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 b/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_TV101WUM_NL6
new file mode 100644
index 000000000..00a9d1488
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_BOE_TV101WUM_NL6
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_ELIDA_KD35T133 b/configs/fedora/generic/CONFIG_DRM_PANEL_ELIDA_KD35T133
new file mode 100644
index 000000000..53b518923
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_ELIDA_KD35T133
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 b/configs/fedora/generic/CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02
new file mode 100644
index 000000000..d34009a8a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_NOVATEK_NT35510 b/configs/fedora/generic/CONFIG_DRM_PANEL_NOVATEK_NT35510
new file mode 100644
index 000000000..f93f2df87
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_NOVATEK_NT35510
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 b/configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900
deleted file mode 100644
index 070c7734f..000000000
--- a/configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 b/configs/fedora/generic/CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01
new file mode 100644
index 000000000..d367a8e9b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7703 b/configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7703
new file mode 100644
index 000000000..aa14cabc0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PANEL_SITRONIX_ST7703
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 b/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
deleted file mode 100644
index b3e186e66..000000000
--- a/configs/fedora/generic/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
diff --git a/configs/fedora/generic/CONFIG_DRM_PARADE_PS8640 b/configs/fedora/generic/CONFIG_DRM_PARADE_PS8640
new file mode 100644
index 000000000..e0d900588
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_PARADE_PS8640
@@ -0,0 +1 @@
+CONFIG_DRM_PARADE_PS8640=m
diff --git a/configs/fedora/generic/CONFIG_DRM_SIMPLE_BRIDGE b/configs/fedora/generic/CONFIG_DRM_SIMPLE_BRIDGE
new file mode 100644
index 000000000..7139399c9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_SIMPLE_BRIDGE
@@ -0,0 +1 @@
+CONFIG_DRM_SIMPLE_BRIDGE=m
diff --git a/configs/fedora/generic/CONFIG_DRM_TIDSS b/configs/fedora/generic/CONFIG_DRM_TIDSS
new file mode 100644
index 000000000..577c1261a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_TIDSS
@@ -0,0 +1 @@
+CONFIG_DRM_TIDSS=m
diff --git a/configs/fedora/generic/CONFIG_DRM_TI_TPD12S015 b/configs/fedora/generic/CONFIG_DRM_TI_TPD12S015
new file mode 100644
index 000000000..a70ac6746
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_TI_TPD12S015
@@ -0,0 +1 @@
+CONFIG_DRM_TI_TPD12S015=m
diff --git a/configs/fedora/generic/CONFIG_DRM_TOSHIBA_TC358768 b/configs/fedora/generic/CONFIG_DRM_TOSHIBA_TC358768
new file mode 100644
index 000000000..1bbb36bec
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_TOSHIBA_TC358768
@@ -0,0 +1 @@
+CONFIG_DRM_TOSHIBA_TC358768=m
diff --git a/configs/fedora/generic/CONFIG_EXFAT_DEFAULT_IOCHARSET b/configs/fedora/generic/CONFIG_EXFAT_DEFAULT_IOCHARSET
new file mode 100644
index 000000000..6d5b5bd4f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EXFAT_DEFAULT_IOCHARSET
@@ -0,0 +1 @@
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
diff --git a/configs/fedora/generic/CONFIG_EXFAT_FS b/configs/fedora/generic/CONFIG_EXFAT_FS
new file mode 100644
index 000000000..e55c7e414
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EXFAT_FS
@@ -0,0 +1 @@
+CONFIG_EXFAT_FS=m
diff --git a/configs/fedora/generic/CONFIG_F2FS_FS_ZSTD b/configs/fedora/generic/CONFIG_F2FS_FS_ZSTD
new file mode 100644
index 000000000..b67a24592
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_F2FS_FS_ZSTD
@@ -0,0 +1 @@
+CONFIG_F2FS_FS_ZSTD=y
diff --git a/configs/fedora/generic/CONFIG_FSL_ENETC b/configs/fedora/generic/CONFIG_FSL_ENETC
new file mode 100644
index 000000000..cbb37c22c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_FSL_ENETC
@@ -0,0 +1 @@
+# CONFIG_FSL_ENETC is not set
diff --git a/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO b/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO
new file mode 100644
index 000000000..9ae6245d1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO
@@ -0,0 +1 @@
+# CONFIG_FSL_ENETC_MDIO is not set
diff --git a/configs/fedora/generic/CONFIG_FSL_ENETC_VF b/configs/fedora/generic/CONFIG_FSL_ENETC_VF
new file mode 100644
index 000000000..3501beeab
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_FSL_ENETC_VF
@@ -0,0 +1 @@
+# CONFIG_FSL_ENETC_VF is not set
diff --git a/configs/fedora/generic/CONFIG_GP2AP002 b/configs/fedora/generic/CONFIG_GP2AP002
new file mode 100644
index 000000000..b97826f54
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_GP2AP002
@@ -0,0 +1 @@
+CONFIG_GP2AP002=m
diff --git a/configs/fedora/generic/CONFIG_HID_CREATIVE_SB0540 b/configs/fedora/generic/CONFIG_HID_CREATIVE_SB0540
index ce52dd6a4..917239adc 100644
--- a/configs/fedora/generic/CONFIG_HID_CREATIVE_SB0540
+++ b/configs/fedora/generic/CONFIG_HID_CREATIVE_SB0540
@@ -1 +1 @@
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
diff --git a/configs/fedora/generic/CONFIG_HID_GLORIOUS b/configs/fedora/generic/CONFIG_HID_GLORIOUS
new file mode 100644
index 000000000..5bf4a544b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_HID_GLORIOUS
@@ -0,0 +1 @@
+CONFIG_HID_GLORIOUS=m
diff --git a/configs/fedora/generic/CONFIG_HID_MCP2221 b/configs/fedora/generic/CONFIG_HID_MCP2221
new file mode 100644
index 000000000..a638da6e9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_HID_MCP2221
@@ -0,0 +1 @@
+CONFIG_HID_MCP2221=m
diff --git a/configs/fedora/generic/CONFIG_HMC425 b/configs/fedora/generic/CONFIG_HMC425
new file mode 100644
index 000000000..c9d90a8b9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_HMC425
@@ -0,0 +1 @@
+CONFIG_HMC425=m
diff --git a/configs/fedora/generic/CONFIG_HW_RANDOM_HISI_V2 b/configs/fedora/generic/CONFIG_HW_RANDOM_HISI_V2
new file mode 100644
index 000000000..7ca3b277f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_HW_RANDOM_HISI_V2
@@ -0,0 +1 @@
+CONFIG_HW_RANDOM_HISI_V2=y
diff --git a/configs/fedora/generic/CONFIG_ICP10100 b/configs/fedora/generic/CONFIG_ICP10100
new file mode 100644
index 000000000..6399ba2db
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ICP10100
@@ -0,0 +1 @@
+CONFIG_ICP10100=m
diff --git a/configs/fedora/generic/CONFIG_IFCVF b/configs/fedora/generic/CONFIG_IFCVF
new file mode 100644
index 000000000..b62ea9a03
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_IFCVF
@@ -0,0 +1 @@
+CONFIG_IFCVF=m
diff --git a/configs/fedora/generic/CONFIG_IPV6_RPL_LWTUNNEL b/configs/fedora/generic/CONFIG_IPV6_RPL_LWTUNNEL
new file mode 100644
index 000000000..ed569d5b1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_IPV6_RPL_LWTUNNEL
@@ -0,0 +1 @@
+CONFIG_IPV6_RPL_LWTUNNEL=y
diff --git a/configs/fedora/generic/CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE b/configs/fedora/generic/CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE
new file mode 100644
index 000000000..3b2b7e8de
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE
@@ -0,0 +1 @@
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
diff --git a/configs/fedora/generic/CONFIG_MDIO_MVUSB b/configs/fedora/generic/CONFIG_MDIO_MVUSB
new file mode 100644
index 000000000..8972ea7a1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MDIO_MVUSB
@@ -0,0 +1 @@
+CONFIG_MDIO_MVUSB=m
diff --git a/configs/fedora/generic/CONFIG_MDIO_XPCS b/configs/fedora/generic/CONFIG_MDIO_XPCS
new file mode 100644
index 000000000..f830b5946
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MDIO_XPCS
@@ -0,0 +1 @@
+CONFIG_MDIO_XPCS=m
diff --git a/configs/fedora/generic/CONFIG_MFD_IQS62X b/configs/fedora/generic/CONFIG_MFD_IQS62X
new file mode 100644
index 000000000..c1f3356ac
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MFD_IQS62X
@@ -0,0 +1 @@
+# CONFIG_MFD_IQS62X is not set
diff --git a/configs/fedora/generic/CONFIG_MHI_BUS b/configs/fedora/generic/CONFIG_MHI_BUS
new file mode 100644
index 000000000..09ff041fc
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MHI_BUS
@@ -0,0 +1 @@
+CONFIG_MHI_BUS=m
diff --git a/configs/fedora/generic/CONFIG_MLX5_TC_CT b/configs/fedora/generic/CONFIG_MLX5_TC_CT
new file mode 100644
index 000000000..0651a412e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MLX5_TC_CT
@@ -0,0 +1 @@
+CONFIG_MLX5_TC_CT=y
diff --git a/configs/fedora/generic/CONFIG_MMC_HSQ b/configs/fedora/generic/CONFIG_MMC_HSQ
new file mode 100644
index 000000000..f654960d5
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MMC_HSQ
@@ -0,0 +1 @@
+CONFIG_MMC_HSQ=m
diff --git a/configs/fedora/generic/CONFIG_PCIE_EDR b/configs/fedora/generic/CONFIG_PCIE_EDR
new file mode 100644
index 000000000..9c6ee7bc6
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PCIE_EDR
@@ -0,0 +1 @@
+CONFIG_PCIE_EDR=y
diff --git a/configs/fedora/generic/CONFIG_PHY_CADENCE_TORRENT b/configs/fedora/generic/CONFIG_PHY_CADENCE_TORRENT
new file mode 100644
index 000000000..87768734a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PHY_CADENCE_TORRENT
@@ -0,0 +1 @@
+CONFIG_PHY_CADENCE_TORRENT=m
diff --git a/configs/fedora/generic/CONFIG_PINCTRL_IPQ6018 b/configs/fedora/generic/CONFIG_PINCTRL_IPQ6018
new file mode 100644
index 000000000..2a4b31643
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PINCTRL_IPQ6018
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_IPQ6018 is not set
diff --git a/configs/fedora/generic/CONFIG_PROVE_RAW_LOCK_NESTING b/configs/fedora/generic/CONFIG_PROVE_RAW_LOCK_NESTING
new file mode 100644
index 000000000..54a0316fb
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PROVE_RAW_LOCK_NESTING
@@ -0,0 +1 @@
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
diff --git a/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDT82P33 b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDT82P33
new file mode 100644
index 000000000..86fc2044b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDT82P33
@@ -0,0 +1 @@
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
diff --git a/configs/fedora/generic/CONFIG_PWM_DEBUG b/configs/fedora/generic/CONFIG_PWM_DEBUG
new file mode 100644
index 000000000..2c6acd1d0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PWM_DEBUG
@@ -0,0 +1 @@
+# CONFIG_PWM_DEBUG is not set
diff --git a/configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT b/configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT
new file mode 100644
index 000000000..8f9c32859
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT
@@ -0,0 +1 @@
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
diff --git a/configs/fedora/generic/CONFIG_REGULATOR_MP5416 b/configs/fedora/generic/CONFIG_REGULATOR_MP5416
new file mode 100644
index 000000000..74760adb7
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_REGULATOR_MP5416
@@ -0,0 +1 @@
+CONFIG_REGULATOR_MP5416=m
diff --git a/configs/fedora/generic/CONFIG_REGULATOR_MP886X b/configs/fedora/generic/CONFIG_REGULATOR_MP886X
new file mode 100644
index 000000000..2bd390af4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_REGULATOR_MP886X
@@ -0,0 +1 @@
+CONFIG_REGULATOR_MP886X=m
diff --git a/configs/fedora/generic/CONFIG_RHEL_DIFFERENCES b/configs/fedora/generic/CONFIG_RHEL_DIFFERENCES
new file mode 100644
index 000000000..ada097df6
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_RHEL_DIFFERENCES
@@ -0,0 +1 @@
+# CONFIG_RHEL_DIFFERENCES is not set
diff --git a/configs/fedora/generic/CONFIG_RH_DISABLE_DEPRECATED b/configs/fedora/generic/CONFIG_RH_DISABLE_DEPRECATED
new file mode 100644
index 000000000..977459f7e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_RH_DISABLE_DEPRECATED
@@ -0,0 +1 @@
+# CONFIG_RH_DISABLE_DEPRECATED is not set
diff --git a/configs/fedora/generic/CONFIG_SCHED_THERMAL_PRESSURE b/configs/fedora/generic/CONFIG_SCHED_THERMAL_PRESSURE
new file mode 100644
index 000000000..cf16318c1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SCHED_THERMAL_PRESSURE
@@ -0,0 +1 @@
+CONFIG_SCHED_THERMAL_PRESSURE=y
diff --git a/configs/fedora/generic/CONFIG_SENSORS_AXI_FAN_CONTROL b/configs/fedora/generic/CONFIG_SENSORS_AXI_FAN_CONTROL
new file mode 100644
index 000000000..9302e94fb
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_AXI_FAN_CONTROL
@@ -0,0 +1 @@
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
diff --git a/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX b/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX
index 29deacf2a..0bafcc1df 100644
--- a/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX
+++ b/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX
@@ -1 +1 @@
-# CONFIG_SERIAL_SC16IS7XX is not set
+CONFIG_SERIAL_SC16IS7XX=m
diff --git a/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_I2C b/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_I2C
new file mode 100644
index 000000000..80373470c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_I2C
@@ -0,0 +1 @@
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
diff --git a/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_SPI b/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_SPI
new file mode 100644
index 000000000..5ca414012
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SERIAL_SC16IS7XX_SPI
@@ -0,0 +1 @@
+CONFIG_SERIAL_SC16IS7XX_SPI=y
diff --git a/configs/fedora/generic/CONFIG_SERIAL_SPRD b/configs/fedora/generic/CONFIG_SERIAL_SPRD
new file mode 100644
index 000000000..c1831502f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SERIAL_SPRD
@@ -0,0 +1 @@
+# CONFIG_SERIAL_SPRD is not set
diff --git a/configs/fedora/generic/CONFIG_SND_BCM63XX_I2S_WHISTLER b/configs/fedora/generic/CONFIG_SND_BCM63XX_I2S_WHISTLER
new file mode 100644
index 000000000..ed6338ee3
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_BCM63XX_I2S_WHISTLER
@@ -0,0 +1 @@
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C b/configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C
index 4482311b2..dc0ba2922 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 is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_RT5682_SDW b/configs/fedora/generic/CONFIG_SND_SOC_RT5682_SDW
new file mode 100644
index 000000000..c1639c499
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_RT5682_SDW
@@ -0,0 +1 @@
+CONFIG_SND_SOC_RT5682_SDW=m
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_SOF_DEBUG_PROBES b/configs/fedora/generic/CONFIG_SND_SOC_SOF_DEBUG_PROBES
new file mode 100644
index 000000000..91adbc3f4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_SOF_DEBUG_PROBES
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_TLV320ADCX140 b/configs/fedora/generic/CONFIG_SND_SOC_TLV320ADCX140
new file mode 100644
index 000000000..ba39dce1c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_TLV320ADCX140
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TLV320ADCX140=m
diff --git a/configs/fedora/generic/CONFIG_SPI_FSI b/configs/fedora/generic/CONFIG_SPI_FSI
new file mode 100644
index 000000000..983a5a666
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SPI_FSI
@@ -0,0 +1 @@
+CONFIG_SPI_FSI=m
diff --git a/configs/fedora/generic/CONFIG_SPI_MUX b/configs/fedora/generic/CONFIG_SPI_MUX
new file mode 100644
index 000000000..29715a133
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SPI_MUX
@@ -0,0 +1 @@
+CONFIG_SPI_MUX=m
diff --git a/configs/fedora/generic/CONFIG_TEST_LOCKUP b/configs/fedora/generic/CONFIG_TEST_LOCKUP
new file mode 100644
index 000000000..bdd84b4fb
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TEST_LOCKUP
@@ -0,0 +1 @@
+# CONFIG_TEST_LOCKUP is not set
diff --git a/configs/fedora/generic/CONFIG_TEST_MIN_HEAP b/configs/fedora/generic/CONFIG_TEST_MIN_HEAP
new file mode 100644
index 000000000..3bafbc636
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TEST_MIN_HEAP
@@ -0,0 +1 @@
+# CONFIG_TEST_MIN_HEAP is not set
diff --git a/configs/fedora/generic/CONFIG_TINYDRM_ILI9486 b/configs/fedora/generic/CONFIG_TINYDRM_ILI9486
new file mode 100644
index 000000000..3041bd921
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TINYDRM_ILI9486
@@ -0,0 +1 @@
+CONFIG_TINYDRM_ILI9486=m
diff --git a/configs/fedora/generic/CONFIG_UACCE b/configs/fedora/generic/CONFIG_UACCE
new file mode 100644
index 000000000..ec75233c9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_UACCE
@@ -0,0 +1 @@
+CONFIG_UACCE=m
diff --git a/configs/fedora/generic/CONFIG_USB_MAX3420_UDC b/configs/fedora/generic/CONFIG_USB_MAX3420_UDC
new file mode 100644
index 000000000..ac7bc5391
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_USB_MAX3420_UDC
@@ -0,0 +1 @@
+CONFIG_USB_MAX3420_UDC=m
diff --git a/configs/fedora/generic/CONFIG_USB_RAW_GADGET b/configs/fedora/generic/CONFIG_USB_RAW_GADGET
new file mode 100644
index 000000000..b759806a6
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_USB_RAW_GADGET
@@ -0,0 +1 @@
+CONFIG_USB_RAW_GADGET=m
diff --git a/configs/fedora/generic/CONFIG_VDPA b/configs/fedora/generic/CONFIG_VDPA
new file mode 100644
index 000000000..62ea1179d
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VDPA
@@ -0,0 +1,16 @@
+# CONFIG_VDPA:
+#
+# Enable this module to support vDPA device that uses a
+# datapath which complies with virtio specifications with
+# vendor specific control path.
+#
+# Symbol: VDPA [=n]
+# Type : tristate
+# Defined at drivers/vdpa/Kconfig:2
+# Prompt: vDPA drivers
+# Location:
+# -> Device Drivers
+#
+#
+#
+CONFIG_VDPA=m
diff --git a/configs/fedora/generic/CONFIG_VDPA_MENU b/configs/fedora/generic/CONFIG_VDPA_MENU
new file mode 100644
index 000000000..64492a7e0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VDPA_MENU
@@ -0,0 +1 @@
+CONFIG_VDPA_MENU=y
diff --git a/configs/fedora/generic/CONFIG_VDPA_SIM b/configs/fedora/generic/CONFIG_VDPA_SIM
new file mode 100644
index 000000000..79236659a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VDPA_SIM
@@ -0,0 +1 @@
+CONFIG_VDPA_SIM=m
diff --git a/configs/fedora/generic/CONFIG_VHOST_MENU b/configs/fedora/generic/CONFIG_VHOST_MENU
new file mode 100644
index 000000000..00536a2b0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VHOST_MENU
@@ -0,0 +1 @@
+CONFIG_VHOST_MENU=y
diff --git a/configs/fedora/generic/CONFIG_VHOST_VDPA b/configs/fedora/generic/CONFIG_VHOST_VDPA
new file mode 100644
index 000000000..703d7d511
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VHOST_VDPA
@@ -0,0 +1 @@
+CONFIG_VHOST_VDPA=m
diff --git a/configs/fedora/generic/CONFIG_VIDEO_USBVISION b/configs/fedora/generic/CONFIG_VIDEO_USBVISION
index 1a04d6b12..032981c97 100644
--- a/configs/fedora/generic/CONFIG_VIDEO_USBVISION
+++ b/configs/fedora/generic/CONFIG_VIDEO_USBVISION
@@ -1 +1 @@
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
diff --git a/configs/fedora/generic/CONFIG_VIRTIO_VDPA b/configs/fedora/generic/CONFIG_VIRTIO_VDPA
new file mode 100644
index 000000000..229dc778c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VIRTIO_VDPA
@@ -0,0 +1 @@
+CONFIG_VIRTIO_VDPA=m
diff --git a/configs/fedora/generic/CONFIG_XILINX_LL_TEMAC b/configs/fedora/generic/CONFIG_XILINX_LL_TEMAC
new file mode 100644
index 000000000..70dbd1490
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_XILINX_LL_TEMAC
@@ -0,0 +1 @@
+CONFIG_XILINX_LL_TEMAC=m
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842
new file mode 100644
index 000000000..3f2f042dc
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE
new file mode 100644
index 000000000..73b9be5b0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4
new file mode 100644
index 000000000..d15eadf94
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC
new file mode 100644
index 000000000..96763a4c4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO
new file mode 100644
index 000000000..c6af1aeb9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO
@@ -0,0 +1 @@
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD
new file mode 100644
index 000000000..adcc3b947
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_DEFAULT_ON b/configs/fedora/generic/CONFIG_ZSWAP_DEFAULT_ON
new file mode 100644
index 000000000..93a95edd6
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_DEFAULT_ON
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_DEFAULT_ON is not set
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD b/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD
new file mode 100644
index 000000000..c963eaebf
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD b/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD
new file mode 100644
index 000000000..15a8e22be
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD
@@ -0,0 +1 @@
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
diff --git a/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC b/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC
new file mode 100644
index 000000000..cb1392399
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC
@@ -0,0 +1 @@
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
diff --git a/configs/fedora/generic/arm/CONFIG_HISILICON_IRQ_MBIGEN b/configs/fedora/generic/arm/CONFIG_HISILICON_IRQ_MBIGEN
index 72ab88e11..5ca6d30d1 100644
--- a/configs/fedora/generic/arm/CONFIG_HISILICON_IRQ_MBIGEN
+++ b/configs/fedora/generic/arm/CONFIG_HISILICON_IRQ_MBIGEN
@@ -1 +1 @@
-# CONFIG_HISILICON_IRQ_MBIGEN is not set
+CONFIG_HISILICON_IRQ_MBIGEN=y
diff --git a/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP
index 98a696d76..86d2137bd 100644
--- a/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP
+++ b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_CDN_DP
@@ -1 +1 @@
-# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_CDN_DP=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599 b/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
deleted file mode 100644
index aba5e985e..000000000
--- a/configs/fedora/generic/arm/aarch64/CONFIG_DRM_PANEL_XINGBANGDA_XBD599
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER b/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
index 6d42a47fc..b730690db 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
@@ -1 +1,4 @@
+# We technically want this to be 13 for Fedora with 4K pages but that's only
+# an option with an out of tree patch. Keep this 11 for compatibility until
+# we figure out what we want here
CONFIG_FORCE_MAX_ZONEORDER=13
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_HIGHPTE b/configs/fedora/generic/arm/armv7/CONFIG_HIGHPTE
index cd440ed6d..4f5e59821 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_HIGHPTE
+++ b/configs/fedora/generic/arm/armv7/CONFIG_HIGHPTE
@@ -1 +1,2 @@
-# CONFIG_HIGHPTE is not set
+# TODO fix due to hardware errata
+CONFIG_HIGHPTE=y
diff --git a/configs/fedora/generic/powerpc/CONFIG_COMPAT b/configs/fedora/generic/powerpc/CONFIG_COMPAT
new file mode 100644
index 000000000..3e041f1b6
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_COMPAT
@@ -0,0 +1 @@
+# CONFIG_COMPAT is not set
diff --git a/configs/fedora/generic/powerpc/CONFIG_PMU_SYSFS b/configs/fedora/generic/powerpc/CONFIG_PMU_SYSFS
new file mode 100644
index 000000000..d192b509f
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_PMU_SYSFS
@@ -0,0 +1 @@
+# CONFIG_PMU_SYSFS is not set
diff --git a/configs/fedora/generic/s390x/CONFIG_64BIT b/configs/fedora/generic/s390x/CONFIG_64BIT
new file mode 100644
index 000000000..06a94e48b
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_64BIT
@@ -0,0 +1 @@
+CONFIG_64BIT=y
diff --git a/configs/fedora/generic/s390x/CONFIG_NODES_SHIFT b/configs/fedora/generic/s390x/CONFIG_NODES_SHIFT
index 747517623..7768e1477 100644
--- a/configs/fedora/generic/s390x/CONFIG_NODES_SHIFT
+++ b/configs/fedora/generic/s390x/CONFIG_NODES_SHIFT
@@ -1 +1 @@
-CONFIG_NODES_SHIFT=4
+CONFIG_NODES_SHIFT=1
diff --git a/configs/fedora/generic/s390x/CONFIG_QETH_OSN b/configs/fedora/generic/s390x/CONFIG_QETH_OSN
new file mode 100644
index 000000000..80386fea2
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_QETH_OSN
@@ -0,0 +1 @@
+CONFIG_QETH_OSN=y
diff --git a/configs/fedora/generic/s390x/CONFIG_QETH_OSX b/configs/fedora/generic/s390x/CONFIG_QETH_OSX
new file mode 100644
index 000000000..3ab5e1426
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_QETH_OSX
@@ -0,0 +1 @@
+CONFIG_QETH_OSX=y
diff --git a/configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION b/configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION
new file mode 100644
index 000000000..cf61babe7
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION
@@ -0,0 +1 @@
+CONFIG_CRC_PMIC_OPREGION=y
diff --git a/configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM b/configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM
new file mode 100644
index 000000000..dbd2333b2
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM
@@ -0,0 +1 @@
+# CONFIG_DRM_NOUVEAU_SVM is not set
diff --git a/configs/fedora/generic/x86/CONFIG_DWMAC_INTEL b/configs/fedora/generic/x86/CONFIG_DWMAC_INTEL
new file mode 100644
index 000000000..276e570ea
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_DWMAC_INTEL
@@ -0,0 +1 @@
+CONFIG_DWMAC_INTEL=m
diff --git a/configs/fedora/generic/x86/CONFIG_IMA_ARCH_POLICY b/configs/fedora/generic/x86/CONFIG_IMA_ARCH_POLICY
new file mode 100644
index 000000000..7187ae0dc
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_IMA_ARCH_POLICY
@@ -0,0 +1 @@
+# CONFIG_IMA_ARCH_POLICY is not set
diff --git a/configs/fedora/generic/x86/CONFIG_KEYBOARD_APPLESPI b/configs/fedora/generic/x86/CONFIG_KEYBOARD_APPLESPI
new file mode 100644
index 000000000..b13ce3c0b
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_KEYBOARD_APPLESPI
@@ -0,0 +1 @@
+CONFIG_KEYBOARD_APPLESPI=m
diff --git a/configs/fedora/generic/x86/CONFIG_PTP_1588_CLOCK_VMW b/configs/fedora/generic/x86/CONFIG_PTP_1588_CLOCK_VMW
new file mode 100644
index 000000000..d36fbe326
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_PTP_1588_CLOCK_VMW
@@ -0,0 +1 @@
+CONFIG_PTP_1588_CLOCK_VMW=m
diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH
new file mode 100644
index 000000000..fb43c5728
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH
@@ -0,0 +1 @@
+CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
diff --git a/configs/fedora/generic/x86/CONFIG_SURFACE_3_POWER_OPREGION b/configs/fedora/generic/x86/CONFIG_SURFACE_3_POWER_OPREGION
new file mode 100644
index 000000000..75e17ac02
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_SURFACE_3_POWER_OPREGION
@@ -0,0 +1 @@
+CONFIG_SURFACE_3_POWER_OPREGION=m
diff --git a/configs/fedora/generic/x86/CONFIG_TYPEC_MUX_INTEL_PMC b/configs/fedora/generic/x86/CONFIG_TYPEC_MUX_INTEL_PMC
new file mode 100644
index 000000000..d91ff304f
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_TYPEC_MUX_INTEL_PMC
@@ -0,0 +1 @@
+CONFIG_TYPEC_MUX_INTEL_PMC=m
diff --git a/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX b/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX
new file mode 100644
index 000000000..ed1a6daeb
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_X86_INTEL_MPX
@@ -0,0 +1 @@
+CONFIG_X86_INTEL_MPX=y
diff --git a/drm-dp-mst-error-handling-improvements.patch b/drm-dp-mst-error-handling-improvements.patch
deleted file mode 100644
index 91e396940..000000000
--- a/drm-dp-mst-error-handling-improvements.patch
+++ /dev/null
@@ -1,471 +0,0 @@
-From 52bd42038880354565bd5ca0bcc1d24b15136b0d Mon Sep 17 00:00:00 2001
-From: Benjamin Gaignard <benjamin.gaignard@st.com>
-Date: Wed, 5 Feb 2020 09:48:42 +0100
-Subject: [PATCH 1/3] drm/dp_mst: Fix W=1 warnings
-
-Fix the warnings that show up with W=1.
-They are all about unused but set variables.
-If functions returns are not used anymore make them void.
-
-Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com>
-Reviewed-by: Lyude Paul <lyude@redhat.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200205084842.5642-1-benjamin.gaignard@st.com
----
- drivers/gpu/drm/drm_dp_mst_topology.c | 114 +++++++++++++++-----------
- 1 file changed, 65 insertions(+), 49 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
-index 415bd0770eab..95e08d908dd2 100644
---- a/drivers/gpu/drm/drm_dp_mst_topology.c
-+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
-@@ -1035,7 +1035,8 @@ static bool drm_dp_sideband_parse_req(struct drm_dp_sideband_msg_rx *raw,
- }
- }
-
--static int build_dpcd_write(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 offset, u8 num_bytes, u8 *bytes)
-+static void build_dpcd_write(struct drm_dp_sideband_msg_tx *msg,
-+ u8 port_num, u32 offset, u8 num_bytes, u8 *bytes)
- {
- struct drm_dp_sideband_msg_req_body req;
-
-@@ -1045,17 +1046,14 @@ static int build_dpcd_write(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32
- req.u.dpcd_write.num_bytes = num_bytes;
- req.u.dpcd_write.bytes = bytes;
- drm_dp_encode_sideband_req(&req, msg);
--
-- return 0;
- }
-
--static int build_link_address(struct drm_dp_sideband_msg_tx *msg)
-+static void build_link_address(struct drm_dp_sideband_msg_tx *msg)
- {
- struct drm_dp_sideband_msg_req_body req;
-
- req.req_type = DP_LINK_ADDRESS;
- drm_dp_encode_sideband_req(&req, msg);
-- return 0;
- }
-
- static int build_clear_payload_id_table(struct drm_dp_sideband_msg_tx *msg)
-@@ -1067,7 +1065,8 @@ static int build_clear_payload_id_table(struct drm_dp_sideband_msg_tx *msg)
- return 0;
- }
-
--static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, int port_num)
-+static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg,
-+ int port_num)
- {
- struct drm_dp_sideband_msg_req_body req;
-
-@@ -1078,10 +1077,11 @@ static int build_enum_path_resources(struct drm_dp_sideband_msg_tx *msg, int por
- return 0;
- }
-
--static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_num,
-- u8 vcpi, uint16_t pbn,
-- u8 number_sdp_streams,
-- u8 *sdp_stream_sink)
-+static void build_allocate_payload(struct drm_dp_sideband_msg_tx *msg,
-+ int port_num,
-+ u8 vcpi, uint16_t pbn,
-+ u8 number_sdp_streams,
-+ u8 *sdp_stream_sink)
- {
- struct drm_dp_sideband_msg_req_body req;
- memset(&req, 0, sizeof(req));
-@@ -1094,11 +1094,10 @@ static int build_allocate_payload(struct drm_dp_sideband_msg_tx *msg, int port_n
- number_sdp_streams);
- drm_dp_encode_sideband_req(&req, msg);
- msg->path_msg = true;
-- return 0;
- }
-
--static int build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg,
-- int port_num, bool power_up)
-+static void build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg,
-+ int port_num, bool power_up)
- {
- struct drm_dp_sideband_msg_req_body req;
-
-@@ -1110,7 +1109,6 @@ static int build_power_updown_phy(struct drm_dp_sideband_msg_tx *msg,
- req.u.port_num.port_number = port_num;
- drm_dp_encode_sideband_req(&req, msg);
- msg->path_msg = true;
-- return 0;
- }
-
- static int drm_dp_mst_assign_payload_id(struct drm_dp_mst_topology_mgr *mgr,
-@@ -2073,29 +2071,24 @@ ssize_t drm_dp_mst_dpcd_write(struct drm_dp_aux *aux,
- offset, size, buffer);
- }
-
--static void drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid)
-+static int drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid)
- {
-- int ret;
-+ int ret = 0;
-
- memcpy(mstb->guid, guid, 16);
-
- if (!drm_dp_validate_guid(mstb->mgr, mstb->guid)) {
- if (mstb->port_parent) {
-- ret = drm_dp_send_dpcd_write(
-- mstb->mgr,
-- mstb->port_parent,
-- DP_GUID,
-- 16,
-- mstb->guid);
-+ ret = drm_dp_send_dpcd_write(mstb->mgr,
-+ mstb->port_parent,
-+ DP_GUID, 16, mstb->guid);
- } else {
--
-- ret = drm_dp_dpcd_write(
-- mstb->mgr->aux,
-- DP_GUID,
-- mstb->guid,
-- 16);
-+ ret = drm_dp_dpcd_write(mstb->mgr->aux,
-+ DP_GUID, mstb->guid, 16);
- }
- }
-+
-+ return ret;
- }
-
- static void build_mst_prop_path(const struct drm_dp_mst_branch *mstb,
-@@ -2641,7 +2634,8 @@ static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr,
- return false;
- }
-
--static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32 offset, u8 num_bytes)
-+static void build_dpcd_read(struct drm_dp_sideband_msg_tx *msg,
-+ u8 port_num, u32 offset, u8 num_bytes)
- {
- struct drm_dp_sideband_msg_req_body req;
-
-@@ -2650,8 +2644,6 @@ static int build_dpcd_read(struct drm_dp_sideband_msg_tx *msg, u8 port_num, u32
- req.u.dpcd_read.dpcd_address = offset;
- req.u.dpcd_read.num_bytes = num_bytes;
- drm_dp_encode_sideband_req(&req, msg);
--
-- return 0;
- }
-
- static int drm_dp_send_sideband_msg(struct drm_dp_mst_topology_mgr *mgr,
-@@ -2877,7 +2869,7 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
- struct drm_dp_sideband_msg_tx *txmsg;
- struct drm_dp_link_address_ack_reply *reply;
- struct drm_dp_mst_port *port, *tmp;
-- int i, len, ret, port_mask = 0;
-+ int i, ret, port_mask = 0;
- bool changed = false;
-
- txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
-@@ -2885,7 +2877,7 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
- return -ENOMEM;
-
- txmsg->dst = mstb;
-- len = build_link_address(txmsg);
-+ build_link_address(txmsg);
-
- mstb->link_address_sent = true;
- drm_dp_queue_down_tx(mgr, txmsg);
-@@ -2906,7 +2898,9 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
- DRM_DEBUG_KMS("link address reply: %d\n", reply->nports);
- drm_dp_dump_link_address(reply);
-
-- drm_dp_check_mstb_guid(mstb, reply->guid);
-+ ret = drm_dp_check_mstb_guid(mstb, reply->guid);
-+ if (ret)
-+ goto out;
-
- for (i = 0; i < reply->nports; i++) {
- port_mask |= BIT(reply->ports[i].port_number);
-@@ -2947,14 +2941,14 @@ void drm_dp_send_clear_payload_id_table(struct drm_dp_mst_topology_mgr *mgr,
- struct drm_dp_mst_branch *mstb)
- {
- struct drm_dp_sideband_msg_tx *txmsg;
-- int len, ret;
-+ int ret;
-
- txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
- if (!txmsg)
- return;
-
- txmsg->dst = mstb;
-- len = build_clear_payload_id_table(txmsg);
-+ build_clear_payload_id_table(txmsg);
-
- drm_dp_queue_down_tx(mgr, txmsg);
-
-@@ -2972,7 +2966,6 @@ drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr,
- {
- struct drm_dp_enum_path_resources_ack_reply *path_res;
- struct drm_dp_sideband_msg_tx *txmsg;
-- int len;
- int ret;
-
- txmsg = kzalloc(sizeof(*txmsg), GFP_KERNEL);
-@@ -2980,7 +2973,7 @@ drm_dp_send_enum_path_resources(struct drm_dp_mst_topology_mgr *mgr,
- return -ENOMEM;
-
- txmsg->dst = mstb;
-- len = build_enum_path_resources(txmsg, port->port_num);
-+ build_enum_path_resources(txmsg, port->port_num);
-
- drm_dp_queue_down_tx(mgr, txmsg);
-
-@@ -3073,7 +3066,7 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
- {
- struct drm_dp_sideband_msg_tx *txmsg;
- struct drm_dp_mst_branch *mstb;
-- int len, ret, port_num;
-+ int ret, port_num;
- u8 sinks[DRM_DP_MAX_SDP_STREAMS];
- int i;
-
-@@ -3098,9 +3091,9 @@ static int drm_dp_payload_send_msg(struct drm_dp_mst_topology_mgr *mgr,
- sinks[i] = i;
-
- txmsg->dst = mstb;
-- len = build_allocate_payload(txmsg, port_num,
-- id,
-- pbn, port->num_sdp_streams, sinks);
-+ build_allocate_payload(txmsg, port_num,
-+ id,
-+ pbn, port->num_sdp_streams, sinks);
-
- drm_dp_queue_down_tx(mgr, txmsg);
-
-@@ -3129,7 +3122,7 @@ int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr,
- struct drm_dp_mst_port *port, bool power_up)
- {
- struct drm_dp_sideband_msg_tx *txmsg;
-- int len, ret;
-+ int ret;
-
- port = drm_dp_mst_topology_get_port_validated(mgr, port);
- if (!port)
-@@ -3142,7 +3135,7 @@ int drm_dp_send_power_updown_phy(struct drm_dp_mst_topology_mgr *mgr,
- }
-
- txmsg->dst = port->parent;
-- len = build_power_updown_phy(txmsg, port->port_num, power_up);
-+ build_power_updown_phy(txmsg, port->port_num, power_up);
- drm_dp_queue_down_tx(mgr, txmsg);
-
- ret = drm_dp_mst_wait_tx_reply(port->parent, txmsg);
-@@ -3364,7 +3357,6 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
- struct drm_dp_mst_port *port,
- int offset, int size, u8 *bytes)
- {
-- int len;
- int ret = 0;
- struct drm_dp_sideband_msg_tx *txmsg;
- struct drm_dp_mst_branch *mstb;
-@@ -3379,7 +3371,7 @@ static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr,
- goto fail_put;
- }
-
-- len = build_dpcd_read(txmsg, port->port_num, offset, size);
-+ build_dpcd_read(txmsg, port->port_num, offset, size);
- txmsg->dst = port->parent;
-
- drm_dp_queue_down_tx(mgr, txmsg);
-@@ -3417,7 +3409,6 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
- struct drm_dp_mst_port *port,
- int offset, int size, u8 *bytes)
- {
-- int len;
- int ret;
- struct drm_dp_sideband_msg_tx *txmsg;
- struct drm_dp_mst_branch *mstb;
-@@ -3432,7 +3423,7 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
- goto fail_put;
- }
-
-- len = build_dpcd_write(txmsg, port->port_num, offset, size, bytes);
-+ build_dpcd_write(txmsg, port->port_num, offset, size, bytes);
- txmsg->dst = mstb;
-
- drm_dp_queue_down_tx(mgr, txmsg);
-@@ -3682,7 +3673,12 @@ int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr,
- DRM_DEBUG_KMS("dpcd read failed - undocked during suspend?\n");
- goto out_fail;
- }
-- drm_dp_check_mstb_guid(mgr->mst_primary, guid);
-+
-+ ret = drm_dp_check_mstb_guid(mgr->mst_primary, guid);
-+ if (ret) {
-+ DRM_DEBUG_KMS("check mstb failed - undocked during suspend?\n");
-+ goto out_fail;
-+ }
-
- /*
- * For the final step of resuming the topology, we need to bring the
-@@ -4625,15 +4621,34 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
- int ret;
-
- ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE);
-+ if (ret) {
-+ seq_printf(m, "dpcd read failed\n");
-+ goto out;
-+ }
- seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf);
-+
- ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2);
-+ if (ret) {
-+ seq_printf(m, "faux/mst read failed\n");
-+ goto out;
-+ }
- seq_printf(m, "faux/mst: %*ph\n", 2, buf);
-+
- ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1);
-+ if (ret) {
-+ seq_printf(m, "mst ctrl read failed\n");
-+ goto out;
-+ }
- seq_printf(m, "mst ctrl: %*ph\n", 1, buf);
-
- /* dump the standard OUI branch header */
- ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE);
-+ if (ret) {
-+ seq_printf(m, "branch oui read failed\n");
-+ goto out;
-+ }
- seq_printf(m, "branch oui: %*phN devid: ", 3, buf);
-+
- for (i = 0x3; i < 0x8 && buf[i]; i++)
- seq_printf(m, "%c", buf[i]);
- seq_printf(m, " revision: hw: %x.%x sw: %x.%x\n",
-@@ -4642,6 +4657,7 @@ void drm_dp_mst_dump_topology(struct seq_file *m,
- seq_printf(m, "payload table: %*ph\n", DP_PAYLOAD_TABLE_SIZE, buf);
- }
-
-+out:
- mutex_unlock(&mgr->lock);
-
- }
---
-2.25.1
-
-From 9004e704af8486da3dcbde0fb35a2a309152a5c3 Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Fri, 6 Mar 2020 18:49:21 -0500
-Subject: [PATCH 2/3] drm/dp_mst: Make drm_dp_mst_dpcd_write() consistent with
- drm_dp_dpcd_write()
-
-Noticed this while having some problems with hubs sometimes not being
-detected on the first plug. Every single dpcd read or write function
-returns the number of bytes transferred on success or a negative error
-code, except apparently for drm_dp_mst_dpcd_write() - which returns 0 on
-success.
-
-There's not really any good reason for this difference that I can tell,
-and having the two functions give differing behavior means that
-drm_dp_dpcd_write() will end up returning 0 on success for MST devices,
-but the number of bytes transferred for everything else.
-
-So, fix that and update the kernel doc.
-
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Fixes: 2f221a5efed4 ("drm/dp_mst: Add MST support to DP DPCD R/W functions")
-Cc: Hans de Goede <hdegoede@redhat.com>
-Cc: Mikita Lipski <mikita.lipski@amd.com>
-Cc: Sean Paul <sean@poorly.run>
----
- drivers/gpu/drm/drm_dp_mst_topology.c | 11 ++++-------
- 1 file changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
-index 95e08d908dd2..2dc1c0ba456b 100644
---- a/drivers/gpu/drm/drm_dp_mst_topology.c
-+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
-@@ -2059,7 +2059,7 @@ ssize_t drm_dp_mst_dpcd_read(struct drm_dp_aux *aux,
- * sideband messaging as drm_dp_dpcd_write() does for local
- * devices via actual AUX CH.
- *
-- * Return: 0 on success, negative error code on failure.
-+ * Return: number of bytes written on success, negative error code on failure.
- */
- ssize_t drm_dp_mst_dpcd_write(struct drm_dp_aux *aux,
- unsigned int offset, void *buffer, size_t size)
-@@ -3429,12 +3429,9 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
- drm_dp_queue_down_tx(mgr, txmsg);
-
- ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
-- if (ret > 0) {
-- if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
-- ret = -EIO;
-- else
-- ret = 0;
-- }
-+ if (ret > 0 && txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
-+ ret = -EIO;
-+
- kfree(txmsg);
- fail_put:
- drm_dp_mst_topology_put_mstb(mstb);
---
-2.25.1
-
-From ff18e1a7ef709cdd3dcbf7b4ae2b37e1c6695289 Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Fri, 6 Mar 2020 18:49:22 -0500
-Subject: [PATCH 3/3] drm/dp_mst: Fix drm_dp_check_mstb_guid() return code
-
-We actually expect this to return a 0 on success, or negative error code
-on failure. In order to do that, we check whether or not we managed to
-write the whole GUID and then return 0 if so, otherwise return a
-negative error code. Also, let's add an error message here so it's a
-little more obvious when this fails in the middle of a link address
-probe.
-
-This should fix issues with certain MST hubs seemingly stopping for no
-reason in the middle of the link address probe process.
-
-Fixes: cb897542c6d2 ("drm/dp_mst: Fix W=1 warnings")
-Cc: Benjamin Gaignard <benjamin.gaignard@st.com>
-Cc: Sean Paul <sean@poorly.run>
-Cc: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Lyude Paul <lyude@redhat.com>
----
- drivers/gpu/drm/drm_dp_mst_topology.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
-index 2dc1c0ba456b..d0e5993b0622 100644
---- a/drivers/gpu/drm/drm_dp_mst_topology.c
-+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
-@@ -2088,7 +2088,10 @@ static int drm_dp_check_mstb_guid(struct drm_dp_mst_branch *mstb, u8 *guid)
- }
- }
-
-- return ret;
-+ if (ret < 16 && ret > 0)
-+ return -EPROTO;
-+
-+ return ret == 16 ? 0 : ret;
- }
-
- static void build_mst_prop_path(const struct drm_dp_mst_branch *mstb,
-@@ -2899,8 +2902,14 @@ static int drm_dp_send_link_address(struct drm_dp_mst_topology_mgr *mgr,
- drm_dp_dump_link_address(reply);
-
- ret = drm_dp_check_mstb_guid(mstb, reply->guid);
-- if (ret)
-+ if (ret) {
-+ char buf[64];
-+
-+ drm_dp_mst_rad_to_str(mstb->rad, mstb->lct, buf, sizeof(buf));
-+ DRM_ERROR("GUID check on %s failed: %d\n",
-+ buf, ret);
- goto out;
-+ }
-
- for (i = 0; i < reply->nports; i++) {
- port_mask |= BIT(reply->ports[i].port_number);
---
-2.25.1
-
diff --git a/drm-dp_mst-Fix-drm_dp_send_dpcd_write-return-code.patch b/drm-dp_mst-Fix-drm_dp_send_dpcd_write-return-code.patch
deleted file mode 100644
index d5b7f003f..000000000
--- a/drm-dp_mst-Fix-drm_dp_send_dpcd_write-return-code.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From: Lyude Paul <lyude@redhat.com>
-Date: Fri, 24 Apr 2020 15:07:22 -0400
-Subject: drm/dp_mst: Fix drm_dp_send_dpcd_write() return code
-
-drm_dp_mst_wait_tx_reply() returns > 1 if time elapsed in
-wait_event_timeout() before check_txmsg_state(mgr, txmsg) evaluated to
-true. However, we make the mistake of returning this time from
-drm_dp_send_dpcd_write() on success instead of returning the number of
-bytes written - causing spontaneous failures during link probing:
-
-[drm:drm_dp_send_link_address [drm_kms_helper]] *ERROR* GUID check on
-10:01 failed: 3975
-
-Yikes! So, fix this by returning the number of bytes written on success
-instead.
-
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Fixes: cb897542c6d2 ("drm/dp_mst: Fix W=1 warnings")
-Cc: Benjamin Gaignard <benjamin.gaignard@st.com>
-Cc: Sean Paul <sean@poorly.run>
-Acked-by: Alex Deucher <alexander.deucher@amd.com>
-Reviewed-by: Sean Paul <sean@poorly.run>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200424190722.775284-1-lyude@redhat.com
----
- drivers/gpu/drm/drm_dp_mst_topology.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-
-diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
-index 03a1496f6120..21dc78cb4ba6 100644
---- a/drivers/gpu/drm/drm_dp_mst_topology.c
-+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
-@@ -3436,8 +3436,12 @@ static int drm_dp_send_dpcd_write(struct drm_dp_mst_topology_mgr *mgr,
- drm_dp_queue_down_tx(mgr, txmsg);
-
- ret = drm_dp_mst_wait_tx_reply(mstb, txmsg);
-- if (ret > 0 && txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
-- ret = -EIO;
-+ if (ret > 0) {
-+ if (txmsg->reply.reply_type == DP_SIDEBAND_REPLY_NAK)
-+ ret = -EIO;
-+ else
-+ ret = size;
-+ }
-
- kfree(txmsg);
- fail_put:
diff --git a/drm-i915-backports.patch b/drm-i915-backports.patch
deleted file mode 100644
index 6fa8d2849..000000000
--- a/drm-i915-backports.patch
+++ /dev/null
@@ -1,894 +0,0 @@
-From 0fdb20f83f9962a3501e9cbdbfcc37ed5e721ab8 Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Tue, 10 Mar 2020 14:07:31 -0400
-Subject: [PATCH 1/7] drm/i915: Fix eDP DPCD aux max backlight calculations
-
-Max backlight value for the panel was being calculated using byte
-count i.e. 0xffff if 2 bytes are supported for backlight brightness
-and 0xff if 1 byte is supported. However, EDP_PWMGEN_BIT_COUNT
-determines the number of active control bits used for the brightness
-setting. Thus, even if the panel uses 2 byte setting, it might not use
-all the control bits. Thus, max backlight should be set based on the
-value of EDP_PWMGEN_BIT_COUNT instead of assuming 65535 or 255.
-
-Additionally, EDP_PWMGEN_BIT_COUNT was being updated based on the VBT
-frequency which results in a different max backlight value. Thus,
-setting of EDP_PWMGEN_BIT_COUNT is moved to setup phase instead of
-enable so that max backlight can be calculated correctly. Only the
-frequency divider is set during the enable phase using the value of
-EDP_PWMGEN_BIT_COUNT.
-
-This is based off the original patch series from Furquan Shaikh
-<furquan@google.com>:
-
-https://patchwork.freedesktop.org/patch/317255/?series=62326&rev=3
-
-Changes since original patch:
-* Remove unused intel_dp variable in intel_dp_aux_setup_backlight()
-* Fix checkpatch issues
-* Make sure that we rewrite the pwmgen bit count whenever we bring the
- panel out of D3 mode
-
-v2 by Jani:
-* rebase
-* fix readb return value check
-
-Cc: Furquan Shaikh <furquan@google.com>
-Tested-by: AceLan Kao <acelan.kao@canonical.com>
-Tested-by: Perry Yuan <pyuan@redhat.com>
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-2-lyude@redhat.com
----
- .../drm/i915/display/intel_display_types.h | 3 +
- .../drm/i915/display/intel_dp_aux_backlight.c | 139 ++++++++++++------
- 2 files changed, 95 insertions(+), 47 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
-index 888ea8a170d1..778bd30743e5 100644
---- a/drivers/gpu/drm/i915/display/intel_display_types.h
-+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
-@@ -214,6 +214,9 @@ struct intel_panel {
- u8 controller; /* bxt+ only */
- struct pwm_device *pwm;
-
-+ /* DPCD backlight */
-+ u8 pwmgen_bit_count;
-+
- struct backlight_device *device;
-
- /* Connector and platform specific backlight functions */
-diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-index 7c653f8c307f..345eed641455 100644
---- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-@@ -111,61 +111,28 @@ static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
- {
- struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
-- int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
-- u8 pn, pn_min, pn_max;
-+ const u8 pn = connector->panel.backlight.pwmgen_bit_count;
-+ int freq, fxp, f, fxp_actual, fxp_min, fxp_max;
-
-- /* Find desired value of (F x P)
-- * Note that, if F x P is out of supported range, the maximum value or
-- * minimum value will applied automatically. So no need to check that.
-- */
- freq = dev_priv->vbt.backlight.pwm_freq_hz;
-- DRM_DEBUG_KMS("VBT defined backlight frequency %u Hz\n", freq);
- if (!freq) {
- DRM_DEBUG_KMS("Use panel default backlight frequency\n");
- return false;
- }
-
- fxp = DIV_ROUND_CLOSEST(KHz(DP_EDP_BACKLIGHT_FREQ_BASE_KHZ), freq);
-+ f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255);
-+ fxp_actual = f << pn;
-
-- /* Use highest possible value of Pn for more granularity of brightness
-- * adjustment while satifying the conditions below.
-- * - Pn is in the range of Pn_min and Pn_max
-- * - F is in the range of 1 and 255
-- * - FxP is within 25% of desired value.
-- * Note: 25% is arbitrary value and may need some tweak.
-- */
-- if (drm_dp_dpcd_readb(&intel_dp->aux,
-- DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN, &pn_min) != 1) {
-- DRM_DEBUG_KMS("Failed to read pwmgen bit count cap min\n");
-- return false;
-- }
-- if (drm_dp_dpcd_readb(&intel_dp->aux,
-- DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX, &pn_max) != 1) {
-- DRM_DEBUG_KMS("Failed to read pwmgen bit count cap max\n");
-- return false;
-- }
-- pn_min &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
-- pn_max &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
--
-+ /* Ensure frequency is within 25% of desired value */
- fxp_min = DIV_ROUND_CLOSEST(fxp * 3, 4);
- fxp_max = DIV_ROUND_CLOSEST(fxp * 5, 4);
-- if (fxp_min < (1 << pn_min) || (255 << pn_max) < fxp_max) {
-- DRM_DEBUG_KMS("VBT defined backlight frequency out of range\n");
-- return false;
-- }
-
-- for (pn = pn_max; pn >= pn_min; pn--) {
-- f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255);
-- fxp_actual = f << pn;
-- if (fxp_min <= fxp_actual && fxp_actual <= fxp_max)
-- break;
-- }
--
-- if (drm_dp_dpcd_writeb(&intel_dp->aux,
-- DP_EDP_PWMGEN_BIT_COUNT, pn) < 0) {
-- DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n");
-+ if (fxp_min > fxp_actual || fxp_actual > fxp_max) {
-+ DRM_DEBUG_KMS("Actual frequency out of range\n");
- return false;
- }
-+
- if (drm_dp_dpcd_writeb(&intel_dp->aux,
- DP_EDP_BACKLIGHT_FREQ_SET, (u8) f) < 0) {
- DRM_DEBUG_KMS("Failed to write aux backlight freq\n");
-@@ -179,6 +146,7 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
- {
- struct intel_connector *connector = to_intel_connector(conn_state->connector);
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
-+ struct intel_panel *panel = &connector->panel;
- u8 dpcd_buf, new_dpcd_buf, edp_backlight_mode;
-
- if (drm_dp_dpcd_readb(&intel_dp->aux,
-@@ -197,6 +165,12 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
- case DP_EDP_BACKLIGHT_CONTROL_MODE_PRODUCT:
- new_dpcd_buf &= ~DP_EDP_BACKLIGHT_CONTROL_MODE_MASK;
- new_dpcd_buf |= DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD;
-+
-+ if (drm_dp_dpcd_writeb(&intel_dp->aux,
-+ DP_EDP_PWMGEN_BIT_COUNT,
-+ panel->backlight.pwmgen_bit_count) < 0)
-+ DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n");
-+
- break;
-
- /* Do nothing when it is already DPCD mode */
-@@ -226,20 +200,91 @@ static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old
- false);
- }
-
-+static u32 intel_dp_aux_calc_max_backlight(struct intel_connector *connector)
-+{
-+ struct drm_i915_private *i915 = to_i915(connector->base.dev);
-+ struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
-+ struct intel_panel *panel = &connector->panel;
-+ u32 max_backlight = 0;
-+ int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
-+ u8 pn, pn_min, pn_max;
-+
-+ if (drm_dp_dpcd_readb(&intel_dp->aux, DP_EDP_PWMGEN_BIT_COUNT, &pn) == 1) {
-+ pn &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
-+ max_backlight = (1 << pn) - 1;
-+ }
-+
-+ /* Find desired value of (F x P)
-+ * Note that, if F x P is out of supported range, the maximum value or
-+ * minimum value will applied automatically. So no need to check that.
-+ */
-+ freq = i915->vbt.backlight.pwm_freq_hz;
-+ DRM_DEBUG_KMS("VBT defined backlight frequency %u Hz\n", freq);
-+ if (!freq) {
-+ DRM_DEBUG_KMS("Use panel default backlight frequency\n");
-+ return max_backlight;
-+ }
-+
-+ fxp = DIV_ROUND_CLOSEST(KHz(DP_EDP_BACKLIGHT_FREQ_BASE_KHZ), freq);
-+
-+ /* Use highest possible value of Pn for more granularity of brightness
-+ * adjustment while satifying the conditions below.
-+ * - Pn is in the range of Pn_min and Pn_max
-+ * - F is in the range of 1 and 255
-+ * - FxP is within 25% of desired value.
-+ * Note: 25% is arbitrary value and may need some tweak.
-+ */
-+ if (drm_dp_dpcd_readb(&intel_dp->aux,
-+ DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN, &pn_min) != 1) {
-+ DRM_DEBUG_KMS("Failed to read pwmgen bit count cap min\n");
-+ return max_backlight;
-+ }
-+ if (drm_dp_dpcd_readb(&intel_dp->aux,
-+ DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX, &pn_max) != 1) {
-+ DRM_DEBUG_KMS("Failed to read pwmgen bit count cap max\n");
-+ return max_backlight;
-+ }
-+ pn_min &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
-+ pn_max &= DP_EDP_PWMGEN_BIT_COUNT_MASK;
-+
-+ fxp_min = DIV_ROUND_CLOSEST(fxp * 3, 4);
-+ fxp_max = DIV_ROUND_CLOSEST(fxp * 5, 4);
-+ if (fxp_min < (1 << pn_min) || (255 << pn_max) < fxp_max) {
-+ DRM_DEBUG_KMS("VBT defined backlight frequency out of range\n");
-+ return max_backlight;
-+ }
-+
-+ for (pn = pn_max; pn >= pn_min; pn--) {
-+ f = clamp(DIV_ROUND_CLOSEST(fxp, 1 << pn), 1, 255);
-+ fxp_actual = f << pn;
-+ if (fxp_min <= fxp_actual && fxp_actual <= fxp_max)
-+ break;
-+ }
-+
-+ DRM_DEBUG_KMS("Using eDP pwmgen bit count of %d\n", pn);
-+ if (drm_dp_dpcd_writeb(&intel_dp->aux,
-+ DP_EDP_PWMGEN_BIT_COUNT, pn) < 0) {
-+ DRM_DEBUG_KMS("Failed to write aux pwmgen bit count\n");
-+ return max_backlight;
-+ }
-+ panel->backlight.pwmgen_bit_count = pn;
-+
-+ max_backlight = (1 << pn) - 1;
-+
-+ return max_backlight;
-+}
-+
- static int intel_dp_aux_setup_backlight(struct intel_connector *connector,
- enum pipe pipe)
- {
-- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
- struct intel_panel *panel = &connector->panel;
-
-- if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT)
-- panel->backlight.max = 0xFFFF;
-- else
-- panel->backlight.max = 0xFF;
-+ panel->backlight.max = intel_dp_aux_calc_max_backlight(connector);
-+ if (!panel->backlight.max)
-+ return -ENODEV;
-
- panel->backlight.min = 0;
- panel->backlight.level = intel_dp_aux_get_backlight(connector);
--
- panel->backlight.enabled = panel->backlight.level != 0;
-
- return 0;
---
-2.25.1
-
-From 7dbe3f659d364de34b210baf0598913dc8c3cabd Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Tue, 10 Mar 2020 14:07:32 -0400
-Subject: [PATCH 2/7] drm/i915: Assume 100% brightness when not in DPCD control
- mode
-
-Currently we always determine the initial panel brightness level by
-simply reading the value from DP_EDP_BACKLIGHT_BRIGHTNESS_MSB/LSB. This
-seems wrong though, because if the panel is not currently in DPCD
-control mode there's not really any reason why there would be any
-brightness value programmed in the first place.
-
-This appears to be the case on the Lenovo ThinkPad X1 Extreme 2nd
-Generation, where the default value in these registers is always 0 on
-boot despite the fact the panel runs at max brightness by default.
-Getting the initial brightness value correct here is important as well,
-since the panel on this laptop doesn't behave well if it's ever put into
-DPCD control mode while the brightness level is programmed to 0.
-
-So, let's fix this by checking what the current backlight control mode
-is before reading the brightness level. If it's in DPCD control mode, we
-return the programmed brightness level. Otherwise we assume 100%
-brightness and return the highest possible brightness level. This also
-prevents us from accidentally programming a brightness level of 0.
-
-This is one of the many fixes that gets backlight controls working on
-the ThinkPad X1 Extreme 2nd Generation with optional 4K AMOLED screen.
-
-Changes since v1:
-* s/DP_EDP_DISPLAY_CONTROL_REGISTER/DP_EDP_BACKLIGHT_MODE_SET_REGISTER/
- - Jani
-
-Tested-by: AceLan Kao <acelan.kao@canonical.com>
-Tested-by: Perry Yuan <pyuan@redhat.com>
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-3-lyude@redhat.com
----
- .../drm/i915/display/intel_dp_aux_backlight.c | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-index 345eed641455..5d4db5f8a165 100644
---- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-@@ -59,8 +59,25 @@ static u32 intel_dp_aux_get_backlight(struct intel_connector *connector)
- {
- struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
- u8 read_val[2] = { 0x0 };
-+ u8 mode_reg;
- u16 level = 0;
-
-+ if (drm_dp_dpcd_readb(&intel_dp->aux,
-+ DP_EDP_BACKLIGHT_MODE_SET_REGISTER,
-+ &mode_reg) != 1) {
-+ DRM_DEBUG_KMS("Failed to read the DPCD register 0x%x\n",
-+ DP_EDP_BACKLIGHT_MODE_SET_REGISTER);
-+ return 0;
-+ }
-+
-+ /*
-+ * If we're not in DPCD control mode yet, the programmed brightness
-+ * value is meaningless and we should assume max brightness
-+ */
-+ if ((mode_reg & DP_EDP_BACKLIGHT_CONTROL_MODE_MASK) !=
-+ DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD)
-+ return connector->panel.backlight.max;
-+
- if (drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_BACKLIGHT_BRIGHTNESS_MSB,
- &read_val, sizeof(read_val)) < 0) {
- DRM_DEBUG_KMS("Failed to read DPCD register 0x%x\n",
---
-2.25.1
-
-From b2a29a70e386c2fbd92e1b7980091e7980495211 Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Tue, 10 Mar 2020 14:07:33 -0400
-Subject: [PATCH 3/7] drm/i915: Fix DPCD register order in
- intel_dp_aux_enable_backlight()
-
-For eDP panels, it appears it's expected that so long as the panel is in
-DPCD control mode that the brightness value is never set to 0. Instead,
-if the desired effect is to set the panel's backlight to 0 we're
-expected to simply turn off the backlight through the
-DP_EDP_DISPLAY_CONTROL_REGISTER.
-
-We already do the latter correctly in intel_dp_aux_disable_backlight().
-But, we make the mistake of writing the DPCD registers in the wrong
-order when enabling the backlight in intel_dp_aux_enable_backlight()
-since we currently enable the backlight through
-DP_EDP_DISPLAY_CONTROL_REGISTER before writing the brightness level. On
-the X1 Extreme 2nd Generation, this appears to have the potential of
-confusing the panel in such a way that further attempts to set the
-brightness don't actually change the backlight as expected and leave it
-off. Presumably, this happens because the incorrect register writing
-order briefly leaves the panel with DPCD mode enabled and a 0 brightness
-level set.
-
-So, reverse the order we write the DPCD registers when enabling the
-panel backlight so that we write the brightness value first, and enable
-the backlight second. This fix appears to be the final bit needed to get
-the backlight on the ThinkPad X1 Extreme 2nd Generation's AMOLED screen
-working.
-
-Tested-by: AceLan Kao <acelan.kao@canonical.com>
-Tested-by: Perry Yuan <pyuan@redhat.com>
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-4-lyude@redhat.com
----
- drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-index 5d4db5f8a165..77a759361c5c 100644
---- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-@@ -207,8 +207,9 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
- }
- }
-
-+ intel_dp_aux_set_backlight(conn_state,
-+ connector->panel.backlight.level);
- set_aux_backlight_enable(intel_dp, true);
-- intel_dp_aux_set_backlight(conn_state, connector->panel.backlight.level);
- }
-
- static void intel_dp_aux_disable_backlight(const struct drm_connector_state *old_conn_state)
---
-2.25.1
-
-From 8b2e6f450c1f8d34632d4789369030008e874a75 Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Tue, 10 Mar 2020 14:07:34 -0400
-Subject: [PATCH 4/7] drm/i915: Auto detect DPCD backlight support by default
-
-Turns out we actually already have some companies, such as Lenovo,
-shipping machines with AMOLED screens that don't allow controlling the
-backlight through the usual PWM interface and only allow controlling it
-through the standard EDP DPCD interface. One example of one of these
-laptops is the X1 Extreme 2nd Generation.
-
-Since we've got systems that need this turned on by default now to have
-backlight controls working out of the box, let's start auto-detecting it
-for systems by default based on what the VBT tells us. We do this by
-changing the default value for the enable_dpcd_backlight module param
-from 0 to -1.
-
-Tested-by: AceLan Kao <acelan.kao@canonical.com>
-Tested-by: Perry Yuan <pyuan@redhat.com>
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200116211623.53799-6-lyude@redhat.com
----
- drivers/gpu/drm/i915/i915_params.c | 2 +-
- drivers/gpu/drm/i915/i915_params.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
-index 1dd1f3652795..31eed60c167e 100644
---- a/drivers/gpu/drm/i915/i915_params.c
-+++ b/drivers/gpu/drm/i915/i915_params.c
-@@ -172,7 +172,7 @@ i915_param_named_unsafe(inject_probe_failure, uint, 0400,
-
- i915_param_named(enable_dpcd_backlight, int, 0600,
- "Enable support for DPCD backlight control"
-- "(-1=use per-VBT LFP backlight type setting, 0=disabled [default], 1=enabled)");
-+ "(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enabled)");
-
- #if IS_ENABLED(CONFIG_DRM_I915_GVT)
- i915_param_named(enable_gvt, bool, 0400,
-diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
-index 31b88f297fbc..a79d0867f77a 100644
---- a/drivers/gpu/drm/i915/i915_params.h
-+++ b/drivers/gpu/drm/i915/i915_params.h
-@@ -64,7 +64,7 @@ struct drm_printer;
- param(int, reset, 3) \
- param(unsigned int, inject_probe_failure, 0) \
- param(int, fastboot, -1) \
-- param(int, enable_dpcd_backlight, 0) \
-+ param(int, enable_dpcd_backlight, -1) \
- param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
- param(unsigned long, fake_lmem_start, 0) \
- /* leave bools at the end to not create holes */ \
---
-2.25.1
-
-From c10b0dfaac8385f9b712a552c9a5eed9976aacf2 Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Tue, 10 Mar 2020 14:07:35 -0400
-Subject: [PATCH 5/7] drm/dp: Introduce EDID-based quirks
-
-The whole point of using OUIs is so that we can recognize certain
-devices and potentially apply quirks for them. Normally this should work
-quite well, but there appears to be quite a number of laptop panels out
-there that will fill the OUI but not the device ID. As such, for devices
-like this I can't imagine it's a very good idea to try relying on OUIs
-for applying quirks. As well, some laptop vendors have confirmed to us
-that their panels have this exact issue.
-
-So, let's introduce the ability to apply DP quirks based on EDID
-identification. We reuse the same quirk bits for OUI-based quirks, so
-that callers can simply check all possible quirks using
-drm_dp_has_quirk().
-
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Reviewed-by: Adam Jackson <ajax@redhat.com>
-Cc: Jani Nikula <jani.nikula@intel.com>
----
- drivers/gpu/drm/drm_dp_helper.c | 61 +++++++++++++++++++
- drivers/gpu/drm/drm_dp_mst_topology.c | 3 +-
- .../drm/i915/display/intel_display_types.h | 1 +
- drivers/gpu/drm/i915/display/intel_dp.c | 11 ++--
- drivers/gpu/drm/i915/display/intel_dp_mst.c | 2 +-
- drivers/gpu/drm/i915/display/intel_psr.c | 2 +-
- include/drm/drm_dp_helper.h | 11 +++-
- 7 files changed, 81 insertions(+), 10 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
-index a5364b5192b8..9b2ea2ae0204 100644
---- a/drivers/gpu/drm/drm_dp_helper.c
-+++ b/drivers/gpu/drm/drm_dp_helper.c
-@@ -1222,6 +1222,67 @@ drm_dp_get_quirks(const struct drm_dp_dpcd_ident *ident, bool is_branch)
- #undef DEVICE_ID_ANY
- #undef DEVICE_ID
-
-+struct edid_quirk {
-+ u8 mfg_id[2];
-+ u8 prod_id[2];
-+ u32 quirks;
-+};
-+
-+#define MFG(first, second) { (first), (second) }
-+#define PROD_ID(first, second) { (first), (second) }
-+
-+/*
-+ * Some devices have unreliable OUIDs where they don't set the device ID
-+ * correctly, and as a result we need to use the EDID for finding additional
-+ * DP quirks in such cases.
-+ */
-+static const struct edid_quirk edid_quirk_list[] = {
-+};
-+
-+#undef MFG
-+#undef PROD_ID
-+
-+/**
-+ * drm_dp_get_edid_quirks() - Check the EDID of a DP device to find additional
-+ * DP-specific quirks
-+ * @edid: The EDID to check
-+ *
-+ * While OUIDs are meant to be used to recognize a DisplayPort device, a lot
-+ * of manufacturers don't seem to like following standards and neglect to fill
-+ * the dev-ID in, making it impossible to only use OUIDs for determining
-+ * quirks in some cases. This function can be used to check the EDID and look
-+ * up any additional DP quirks. The bits returned by this function correspond
-+ * to the quirk bits in &drm_dp_quirk.
-+ *
-+ * Returns: a bitmask of quirks, if any. The driver can check this using
-+ * drm_dp_has_quirk().
-+ */
-+u32 drm_dp_get_edid_quirks(const struct edid *edid)
-+{
-+ const struct edid_quirk *quirk;
-+ u32 quirks = 0;
-+ int i;
-+
-+ if (!edid)
-+ return 0;
-+
-+ for (i = 0; i < ARRAY_SIZE(edid_quirk_list); i++) {
-+ quirk = &edid_quirk_list[i];
-+ if (memcmp(quirk->mfg_id, edid->mfg_id,
-+ sizeof(edid->mfg_id)) == 0 &&
-+ memcmp(quirk->prod_id, edid->prod_code,
-+ sizeof(edid->prod_code)) == 0)
-+ quirks |= quirk->quirks;
-+ }
-+
-+ DRM_DEBUG_KMS("DP sink: EDID mfg %*phD prod-ID %*phD quirks: 0x%04x\n",
-+ (int)sizeof(edid->mfg_id), edid->mfg_id,
-+ (int)sizeof(edid->prod_code), edid->prod_code, quirks);
-+
-+ return quirks;
-+}
-+EXPORT_SYMBOL(drm_dp_get_edid_quirks);
-+
- /**
- * drm_dp_read_desc - read sink/branch descriptor from DPCD
- * @aux: DisplayPort AUX channel
-diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
-index cce0b1bba591..685c35e67144 100644
---- a/drivers/gpu/drm/drm_dp_mst_topology.c
-+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
-@@ -5461,7 +5461,8 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port)
- if (drm_dp_read_desc(port->mgr->aux, &desc, true))
- return NULL;
-
-- if (drm_dp_has_quirk(&desc, DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) &&
-+ if (drm_dp_has_quirk(&desc, 0,
-+ DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) &&
- port->mgr->dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14 &&
- port->parent == port->mgr->mst_primary) {
- u8 downstreamport;
-diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
-index 778bd30743e5..8e3c5569603b 100644
---- a/drivers/gpu/drm/i915/display/intel_display_types.h
-+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
-@@ -1253,6 +1253,7 @@ struct intel_dp {
- int max_link_rate;
- /* sink or branch descriptor */
- struct drm_dp_desc desc;
-+ u32 edid_quirks;
- struct drm_dp_aux aux;
- u32 aux_busy_last_status;
- u8 train_set[4];
-diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
-index c7424e2a04a3..e20b85ff937d 100644
---- a/drivers/gpu/drm/i915/display/intel_dp.c
-+++ b/drivers/gpu/drm/i915/display/intel_dp.c
-@@ -2373,7 +2373,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
- struct intel_connector *intel_connector = intel_dp->attached_connector;
- struct intel_digital_connector_state *intel_conn_state =
- to_intel_digital_connector_state(conn_state);
-- bool constant_n = drm_dp_has_quirk(&intel_dp->desc,
-+ bool constant_n = drm_dp_has_quirk(&intel_dp->desc, 0,
- DP_DPCD_QUIRK_CONSTANT_N);
- int ret = 0, output_bpp;
-
-@@ -4466,7 +4466,8 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
- * it don't care about read it here and in intel_edp_init_dpcd().
- */
- if (!intel_dp_is_edp(intel_dp) &&
-- !drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_SINK_COUNT)) {
-+ !drm_dp_has_quirk(&intel_dp->desc, 0,
-+ DP_DPCD_QUIRK_NO_SINK_COUNT)) {
- u8 count;
- ssize_t r;
-
-@@ -5631,6 +5632,7 @@ intel_dp_set_edid(struct intel_dp *intel_dp)
-
- intel_dp->has_audio = drm_detect_monitor_audio(edid);
- drm_dp_cec_set_edid(&intel_dp->aux, edid);
-+ intel_dp->edid_quirks = drm_dp_get_edid_quirks(edid);
- }
-
- static void
-@@ -5643,6 +5645,7 @@ intel_dp_unset_edid(struct intel_dp *intel_dp)
- intel_connector->detect_edid = NULL;
-
- intel_dp->has_audio = false;
-+ intel_dp->edid_quirks = 0;
- }
-
- static int
-@@ -7356,8 +7359,8 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
- edid = drm_get_edid(connector, &intel_dp->aux.ddc);
- if (edid) {
- if (drm_add_edid_modes(connector, edid)) {
-- drm_connector_update_edid_property(connector,
-- edid);
-+ drm_connector_update_edid_property(connector, edid);
-+ intel_dp->edid_quirks = drm_dp_get_edid_quirks(edid);
- } else {
- kfree(edid);
- edid = ERR_PTR(-EINVAL);
-diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
-index cba68c5a80fa..4a1a2f868423 100644
---- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
-+++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
-@@ -50,7 +50,7 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder,
- const struct drm_display_mode *adjusted_mode =
- &crtc_state->hw.adjusted_mode;
- void *port = connector->port;
-- bool constant_n = drm_dp_has_quirk(&intel_dp->desc,
-+ bool constant_n = drm_dp_has_quirk(&intel_dp->desc, 0,
- DP_DPCD_QUIRK_CONSTANT_N);
- int bpp, slots = -EINVAL;
-
-diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
-index 83025052c965..82ba5624d14f 100644
---- a/drivers/gpu/drm/i915/display/intel_psr.c
-+++ b/drivers/gpu/drm/i915/display/intel_psr.c
-@@ -282,7 +282,7 @@ void intel_psr_init_dpcd(struct intel_dp *intel_dp)
- DRM_DEBUG_KMS("eDP panel supports PSR version %x\n",
- intel_dp->psr_dpcd[0]);
-
-- if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_PSR)) {
-+ if (drm_dp_has_quirk(&intel_dp->desc, 0, DP_DPCD_QUIRK_NO_PSR)) {
- DRM_DEBUG_KMS("PSR support not currently available for this panel\n");
- return;
- }
-diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
-index bc04467f7c3a..1fe49e202dfb 100644
---- a/include/drm/drm_dp_helper.h
-+++ b/include/drm/drm_dp_helper.h
-@@ -1493,13 +1493,16 @@ struct drm_dp_desc {
-
- int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc,
- bool is_branch);
-+u32 drm_dp_get_edid_quirks(const struct edid *edid);
-
- /**
- * enum drm_dp_quirk - Display Port sink/branch device specific quirks
- *
- * Display Port sink and branch devices in the wild have a variety of bugs, try
- * to collect them here. The quirks are shared, but it's up to the drivers to
-- * implement workarounds for them.
-+ * implement workarounds for them. Note that because some devices have
-+ * unreliable OUIDs, the EDID of sinks should also be checked for quirks using
-+ * drm_dp_get_edid_quirks().
- */
- enum drm_dp_quirk {
- /**
-@@ -1535,14 +1538,16 @@ enum drm_dp_quirk {
- /**
- * drm_dp_has_quirk() - does the DP device have a specific quirk
- * @desc: Device decriptor filled by drm_dp_read_desc()
-+ * @edid_quirks: Optional quirk bitmask filled by drm_dp_get_edid_quirks()
- * @quirk: Quirk to query for
- *
- * Return true if DP device identified by @desc has @quirk.
- */
- static inline bool
--drm_dp_has_quirk(const struct drm_dp_desc *desc, enum drm_dp_quirk quirk)
-+drm_dp_has_quirk(const struct drm_dp_desc *desc, u32 edid_quirks,
-+ enum drm_dp_quirk quirk)
- {
-- return desc->quirks & BIT(quirk);
-+ return (desc->quirks | edid_quirks) & BIT(quirk);
- }
-
- #ifdef CONFIG_DRM_DP_CEC
---
-2.25.1
-
-From a21ec8aec8452de788d6b1fc175dc8281a57d5de Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Tue, 10 Mar 2020 14:07:36 -0400
-Subject: [PATCH 6/7] drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen
- 4K AMOLED panel
-
-The X1 Extreme is one of the systems that lies about which backlight
-interface that it uses in its VBIOS as PWM backlight controls don't work
-at all on this machine. It's possible that this panel could be one of
-the infamous ones that can switch between PWM mode and DPCD backlight
-control mode, but we haven't gotten any more details on this from Lenovo
-just yet. For the time being though, making sure the backlight 'just
-works' is a bit more important.
-
-So, add a quirk to force DPCD backlight controls on for these systems
-based on EDID (since this panel doesn't appear to fill in the device ID).
-Hopefully in the future we'll figure out a better way of probing this.
-
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Reviewed-by: Adam Jackson <ajax@redhat.com>
-Cc: Jani Nikula <jani.nikula@intel.com>
-
-Changes since v2:
-* The bugzilla URL is deprecated, bug reporting happens on gitlab now.
- Update the messages we print to reflect this
-* Also, take the opportunity to move FDO_BUG_URL out of i915_utils.c and
- into i915_utils.h so that other places which print things that aren't
- traditional errors but are worth filing bugs about, can actually use
- it.
-
-Signed-off-by: Lyude Paul <lyude@redhat.com>
----
- drivers/gpu/drm/drm_dp_helper.c | 4 ++++
- .../drm/i915/display/intel_dp_aux_backlight.c | 24 +++++++++++++++----
- drivers/gpu/drm/i915/i915_utils.c | 1 -
- drivers/gpu/drm/i915/i915_utils.h | 2 ++
- include/drm/drm_dp_helper.h | 10 ++++++++
- 5 files changed, 36 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
-index 9b2ea2ae0204..026f701eac69 100644
---- a/drivers/gpu/drm/drm_dp_helper.c
-+++ b/drivers/gpu/drm/drm_dp_helper.c
-@@ -1237,6 +1237,10 @@ struct edid_quirk {
- * DP quirks in such cases.
- */
- static const struct edid_quirk edid_quirk_list[] = {
-+ /* Optional 4K AMOLED panel in the ThinkPad X1 Extreme 2nd Generation
-+ * only supports DPCD backlight controls
-+ */
-+ { MFG(0x4c, 0x83), PROD_ID(0x41, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
- };
-
- #undef MFG
-diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-index 77a759361c5c..a7c94c201b38 100644
---- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-@@ -328,15 +328,31 @@ intel_dp_aux_display_control_capable(struct intel_connector *connector)
- int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector)
- {
- struct intel_panel *panel = &intel_connector->panel;
-- struct drm_i915_private *dev_priv = to_i915(intel_connector->base.dev);
-+ struct intel_dp *intel_dp = enc_to_intel_dp(intel_connector->encoder);
-+ struct drm_device *dev = intel_connector->base.dev;
-+ struct drm_i915_private *dev_priv = to_i915(dev);
-
- if (i915_modparams.enable_dpcd_backlight == 0 ||
-- (i915_modparams.enable_dpcd_backlight == -1 &&
-- dev_priv->vbt.backlight.type != INTEL_BACKLIGHT_VESA_EDP_AUX_INTERFACE))
-+ !intel_dp_aux_display_control_capable(intel_connector))
- return -ENODEV;
-
-- if (!intel_dp_aux_display_control_capable(intel_connector))
-+ /*
-+ * There are a lot of machines that don't advertise the backlight
-+ * control interface to use properly in their VBIOS, :\
-+ */
-+ if (dev_priv->vbt.backlight.type !=
-+ INTEL_BACKLIGHT_VESA_EDP_AUX_INTERFACE &&
-+ !drm_dp_has_quirk(&intel_dp->desc, intel_dp->edid_quirks,
-+ DP_QUIRK_FORCE_DPCD_BACKLIGHT)) {
-+ DRM_DEV_INFO(dev->dev,
-+ "Panel advertises DPCD backlight support, but "
-+ "VBT disagrees. If your backlight controls "
-+ "don't work try booting with "
-+ "i915.enable_dpcd_backlight=1. If your machine "
-+ "needs this, please file a _new_ bug report on "
-+ "drm/i915, see " FDO_BUG_URL " for details.\n");
- return -ENODEV;
-+ }
-
- panel->backlight.setup = intel_dp_aux_setup_backlight;
- panel->backlight.enable = intel_dp_aux_enable_backlight;
-diff --git a/drivers/gpu/drm/i915/i915_utils.c b/drivers/gpu/drm/i915/i915_utils.c
-index 632d6953c78d..029854ae65fc 100644
---- a/drivers/gpu/drm/i915/i915_utils.c
-+++ b/drivers/gpu/drm/i915/i915_utils.c
-@@ -8,7 +8,6 @@
- #include "i915_drv.h"
- #include "i915_utils.h"
-
--#define FDO_BUG_URL "https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs"
- #define FDO_BUG_MSG "Please file a bug on drm/i915; see " FDO_BUG_URL " for details."
-
- void
-diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h
-index b0ade76bec90..cae0ae520398 100644
---- a/drivers/gpu/drm/i915/i915_utils.h
-+++ b/drivers/gpu/drm/i915/i915_utils.h
-@@ -34,6 +34,8 @@
- struct drm_i915_private;
- struct timer_list;
-
-+#define FDO_BUG_URL "https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs"
-+
- #undef WARN_ON
- /* Many gcc seem to no see through this and fall over :( */
- #if 0
-diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
-index 1fe49e202dfb..eff5a69051d6 100644
---- a/include/drm/drm_dp_helper.h
-+++ b/include/drm/drm_dp_helper.h
-@@ -1533,6 +1533,16 @@ enum drm_dp_quirk {
- * The DSC caps can be read from the physical aux instead.
- */
- DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD,
-+ /**
-+ * @DP_QUIRK_FORCE_DPCD_BACKLIGHT:
-+ *
-+ * The device is telling the truth when it says that it uses DPCD
-+ * backlight controls, even if the system's firmware disagrees. This
-+ * quirk should be checked against both the ident and panel EDID.
-+ * When present, the driver should honor the DPCD backlight
-+ * capabilities advertised.
-+ */
-+ DP_QUIRK_FORCE_DPCD_BACKLIGHT,
- };
-
- /**
---
-2.25.1
-
-From 057e7f8db05c2382b666270b1fbf986fdd172769 Mon Sep 17 00:00:00 2001
-From: Lyude Paul <lyude@redhat.com>
-Date: Tue, 10 Mar 2020 14:07:37 -0400
-Subject: [PATCH 7/7] drm/i915: Force DPCD backlight mode for some Dell CML
- 2020 panels
-
-According to Dell, trying to match their panels via OUI is not reliable
-enough and we've been told that we should check against the EDID
-instead. As well, Dell seems to have some panels that are actually
-intended to switch between using PWM for backlight controls and DPCD for
-backlight controls depending on whether or not the panel is in HDR or
-SDR mode. Yikes.
-
-Regardless, we need to add quirks for these so that DPCD backlight
-controls get enabled by default, since without additional driver support
-that's the only form of brightness control that will work. Hopefully in
-the future we can remove these quirks once we have a better way of
-probing for this.
-
-Changes since v1:
-* Add one more EDID per Dell's request
-* Remove model number (which is possibly wrong) and replace with Dell
- CML 2020 systems
-
-Signed-off-by: Lyude Paul <lyude@redhat.com>
-Reviewed-by: Adam Jackson <ajax@redhat.com>
-Cc: Jani Nikula <jani.nikula@intel.com>
----
- drivers/gpu/drm/drm_dp_helper.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
-index 026f701eac69..d3a636a925d4 100644
---- a/drivers/gpu/drm/drm_dp_helper.c
-+++ b/drivers/gpu/drm/drm_dp_helper.c
-@@ -1241,6 +1241,20 @@ static const struct edid_quirk edid_quirk_list[] = {
- * only supports DPCD backlight controls
- */
- { MFG(0x4c, 0x83), PROD_ID(0x41, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
-+ /*
-+ * Some Dell CML 2020 systems have panels support both AUX and PWM
-+ * backlight control, and some only support AUX backlight control. All
-+ * said panels start up in AUX mode by default, and we don't have any
-+ * support for disabling HDR mode on these panels which would be
-+ * required to switch to PWM backlight control mode (plus, I'm not
-+ * even sure we want PWM backlight controls over DPCD backlight
-+ * controls anyway...). Until we have a better way of detecting these,
-+ * force DPCD backlight mode on all of them.
-+ */
-+ { MFG(0x06, 0xaf), PROD_ID(0x9b, 0x32), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
-+ { MFG(0x06, 0xaf), PROD_ID(0xeb, 0x41), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
-+ { MFG(0x4d, 0x10), PROD_ID(0xc7, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
-+ { MFG(0x4d, 0x10), PROD_ID(0xe6, 0x14), BIT(DP_QUIRK_FORCE_DPCD_BACKLIGHT) },
- };
-
- #undef MFG
---
-2.25.1
-
diff --git a/e1000e-bump-up-timeout-to-wait-when-ME-un-configure-ULP-mode.patch b/e1000e-bump-up-timeout-to-wait-when-ME-un-configure-ULP-mode.patch
deleted file mode 100644
index 921228c2b..000000000
--- a/e1000e-bump-up-timeout-to-wait-when-ME-un-configure-ULP-mode.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From patchwork Mon Mar 23 19:16:39 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Aaron Ma <aaron.ma@canonical.com>
-X-Patchwork-Id: 1260523
-X-Patchwork-Delegate: jeffrey.t.kirsher@intel.com
-Return-Path: <intel-wired-lan-bounces@osuosl.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized)
- smtp.mailfrom=osuosl.org (client-ip=140.211.166.137;
- helo=fraxinus.osuosl.org;
- envelope-from=intel-wired-lan-bounces@osuosl.org;
- receiver=<UNKNOWN>)
-Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none)
- header.from=canonical.com
-Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256
- bits)) (No client certificate requested)
- by ozlabs.org (Postfix) with ESMTPS id 48ml8T0lZVz9sRf
- for <incoming@patchwork.ozlabs.org>;
- Tue, 24 Mar 2020 19:41:11 +1100 (AEDT)
-Received: from localhost (localhost [127.0.0.1])
- by fraxinus.osuosl.org (Postfix) with ESMTP id 3FD71861C9;
- Tue, 24 Mar 2020 08:41:10 +0000 (UTC)
-X-Virus-Scanned: amavisd-new at osuosl.org
-Received: from fraxinus.osuosl.org ([127.0.0.1])
- by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
- with ESMTP id Z-iCoXjZ6uPi; Tue, 24 Mar 2020 08:41:09 +0000 (UTC)
-Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34])
- by fraxinus.osuosl.org (Postfix) with ESMTP id 9184E860D1;
- Tue, 24 Mar 2020 08:41:09 +0000 (UTC)
-X-Original-To: intel-wired-lan@lists.osuosl.org
-Delivered-To: intel-wired-lan@lists.osuosl.org
-Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])
- by ash.osuosl.org (Postfix) with ESMTP id 522811BF2B6
- for <intel-wired-lan@lists.osuosl.org>;
- Mon, 23 Mar 2020 19:17:15 +0000 (UTC)
-Received: from localhost (localhost [127.0.0.1])
- by whitealder.osuosl.org (Postfix) with ESMTP id 4BD3187D15
- for <intel-wired-lan@lists.osuosl.org>;
- Mon, 23 Mar 2020 19:17:15 +0000 (UTC)
-X-Virus-Scanned: amavisd-new at osuosl.org
-Received: from whitealder.osuosl.org ([127.0.0.1])
- by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
- with ESMTP id Cyxj7lfnvPR6 for <intel-wired-lan@lists.osuosl.org>;
- Mon, 23 Mar 2020 19:17:12 +0000 (UTC)
-X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
-Received: from youngberry.canonical.com (youngberry.canonical.com
- [91.189.89.112])
- by whitealder.osuosl.org (Postfix) with ESMTP id 68B4087EBD
- for <intel-wired-lan@lists.osuosl.org>;
- Mon, 23 Mar 2020 19:17:12 +0000 (UTC)
-Received: from [222.129.50.174] (helo=localhost.localdomain)
- by youngberry.canonical.com with esmtpsa
- (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2)
- (envelope-from <aaron.ma@canonical.com>)
- id 1jGSZN-00031K-JS; Mon, 23 Mar 2020 19:17:06 +0000
-From: Aaron Ma <aaron.ma@canonical.com>
-To: jeffrey.t.kirsher@intel.com, aaron.ma@canonical.com, davem@davemloft.net,
- intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
- linux-kernel@vger.kernel.org, sasha.neftin@intel.com
-Date: Tue, 24 Mar 2020 03:16:39 +0800
-Message-Id: <20200323191639.48826-1-aaron.ma@canonical.com>
-X-Mailer: git-send-email 2.25.2
-MIME-Version: 1.0
-X-Mailman-Approved-At: Tue, 24 Mar 2020 08:41:05 +0000
-Subject: [Intel-wired-lan] [PATCH] e1000e: bump up timeout to wait when ME
- un-configure ULP mode
-X-BeenThere: intel-wired-lan@osuosl.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: Intel Wired Ethernet Linux Kernel Driver Development
- <intel-wired-lan.osuosl.org>
-List-Unsubscribe: <https://lists.osuosl.org/mailman/options/intel-wired-lan>,
- <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>
-List-Archive: <http://lists.osuosl.org/pipermail/intel-wired-lan/>
-List-Post: <mailto:intel-wired-lan@osuosl.org>
-List-Help: <mailto:intel-wired-lan-request@osuosl.org?subject=help>
-List-Subscribe: <https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,
- <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>
-Errors-To: intel-wired-lan-bounces@osuosl.org
-Sender: "Intel-wired-lan" <intel-wired-lan-bounces@osuosl.org>
-
-ME takes 2+ seconds to un-configure ULP mode done after resume
-from s2idle on some ThinkPad laptops.
-Without enough wait, reset and re-init will fail with error.
-
-Fixes: f15bb6dde738cc8fa0 ("e1000e: Add support for S0ix")
-BugLink: https://bugs.launchpad.net/bugs/1865570
-Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
----
- drivers/net/ethernet/intel/e1000e/ich8lan.c | 4 ++--
- 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 b4135c50e905..147b15a2f8b3 100644
---- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
-+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
-@@ -1240,9 +1240,9 @@ static s32 e1000_disable_ulp_lpt_lp(struct e1000_hw *hw, bool force)
- ew32(H2ME, mac_reg);
- }
-
-- /* Poll up to 300msec for ME to clear ULP_CFG_DONE. */
-+ /* Poll up to 2.5sec for ME to clear ULP_CFG_DONE. */
- while (er32(FWSM) & E1000_FWSM_ULP_CFG_DONE) {
-- if (i++ == 30) {
-+ if (i++ == 250) {
- ret_val = -E1000_ERR_PHY;
- goto out;
- }
diff --git a/efi-secureboot.patch b/efi-secureboot.patch
deleted file mode 100644
index 90ac9feca..000000000
--- a/efi-secureboot.patch
+++ /dev/null
@@ -1,337 +0,0 @@
-From 478a0cff698409224330ea9e25eb332220b55dbb Mon Sep 17 00:00:00 2001
-From: Jeremy Cline <jcline@redhat.com>
-Date: Mon, 30 Sep 2019 21:22:47 +0000
-Subject: [PATCH 1/3] security: lockdown: expose a hook to lock the kernel down
-
-In order to automatically lock down kernels running on UEFI machines
-booted in Secure Boot mode, expose the lock_kernel_down() hook.
-
-Signed-off-by: Jeremy Cline <jcline@redhat.com>
----
- include/linux/lsm_hooks.h | 8 ++++++++
- include/linux/security.h | 5 +++++
- security/lockdown/lockdown.c | 1 +
- security/security.c | 6 ++++++
- 4 files changed, 20 insertions(+)
-
-diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
-index a3763247547c..8d76d1f153ed 100644
---- a/include/linux/lsm_hooks.h
-+++ b/include/linux/lsm_hooks.h
-@@ -1454,6 +1454,12 @@
- * code execution in kernel space should be permitted.
- *
- * @what: kernel feature being accessed
-+ *
-+ * @lock_kernel_down
-+ * Put the kernel into lock-down mode.
-+ *
-+ * @where: Where the lock-down is originating from (e.g. command line option)
-+ * @level: The lock-down level (can only increase)
- */
- union security_list_options {
- int (*binder_set_context_mgr)(struct task_struct *mgr);
-@@ -1818,6 +1824,7 @@ union security_list_options {
- void (*bpf_prog_free_security)(struct bpf_prog_aux *aux);
- #endif /* CONFIG_BPF_SYSCALL */
- int (*locked_down)(enum lockdown_reason what);
-+ int (*lock_kernel_down)(const char *where, enum lockdown_reason level);
- #ifdef CONFIG_PERF_EVENTS
- int (*perf_event_open)(struct perf_event_attr *attr, int type);
- int (*perf_event_alloc)(struct perf_event *event);
-@@ -2060,6 +2067,7 @@ struct security_hook_heads {
- struct hlist_head bpf_prog_free_security;
- #endif /* CONFIG_BPF_SYSCALL */
- struct hlist_head locked_down;
-+ struct hlist_head lock_kernel_down;
- #ifdef CONFIG_PERF_EVENTS
- struct hlist_head perf_event_open;
- struct hlist_head perf_event_alloc;
-diff --git a/include/linux/security.h b/include/linux/security.h
-index a8d59d612d27..467b9ccdf993 100644
---- a/include/linux/security.h
-+++ b/include/linux/security.h
-@@ -442,6 +442,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);
-+int security_lock_kernel_down(const char *where, enum lockdown_reason level);
- #else /* CONFIG_SECURITY */
-
- static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
-@@ -1269,6 +1270,10 @@ static inline int security_locked_down(enum lockdown_reason what)
- {
- return 0;
- }
-+static inline int security_lock_kernel_down(const char *where, enum lockdown_reason level)
-+{
-+ return 0;
-+}
- #endif /* CONFIG_SECURITY */
-
- #ifdef CONFIG_SECURITY_NETWORK
-diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c
-index 8a10b43daf74..72a623075749 100644
---- a/security/lockdown/lockdown.c
-+++ b/security/lockdown/lockdown.c
-@@ -97,6 +97,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what)
-
- static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = {
- LSM_HOOK_INIT(locked_down, lockdown_is_locked_down),
-+ LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down),
- };
-
- static int __init lockdown_lsm_init(void)
-diff --git a/security/security.c b/security/security.c
-index 1bc000f834e2..1506b95427cf 100644
---- a/security/security.c
-+++ b/security/security.c
-@@ -2404,6 +2404,12 @@ int security_locked_down(enum lockdown_reason what)
- return call_int_hook(locked_down, 0, what);
- }
- EXPORT_SYMBOL(security_locked_down);
-+
-+int security_lock_kernel_down(const char *where, enum lockdown_reason level)
-+{
-+ return call_int_hook(lock_kernel_down, 0, where, level);
-+}
-+EXPORT_SYMBOL(security_lock_kernel_down);
-
- #ifdef CONFIG_PERF_EVENTS
- int security_perf_event_open(struct perf_event_attr *attr, int type)
---
-2.21.0
-
-
-From b5123d0553f4ed5e734f6457696cdd30228d1eee Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Tue, 27 Feb 2018 10:04:55 +0000
-Subject: [PATCH 2/3] 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.
-
-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 2441b64d061f..1797623b0c3a 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -1126,19 +1126,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 554d795270d9..d2e17e26ac55 100644
---- a/drivers/firmware/efi/Makefile
-+++ b/drivers/firmware/efi/Makefile
-@@ -24,6 +24,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
-
-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 5062683d4d08..6ae0e02f461e 100644
---- a/include/linux/efi.h
-+++ b/include/linux/efi.h
-@@ -1126,6 +1126,14 @@ extern int __init efi_setup_pcdp_console(char *);
- #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */
- #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_SECURE_BOOT 12 /* 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
- /*
-@@ -1137,6 +1145,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)
-@@ -1158,6 +1168,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;
-@@ -1541,12 +1553,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.24.1
-
-
-From 15368f76d4997912318d35c52bfeb9041d85098e Mon Sep 17 00:00:00 2001
-From: David Howells <dhowells@redhat.com>
-Date: Mon, 30 Sep 2019 21:28:16 +0000
-Subject: [PATCH 3/3] efi: Lock down the kernel if booted in secure boot mode
-
-UEFI Secure Boot provides a mechanism for ensuring that the firmware
-will only load signed bootloaders and kernels. Certain use cases may
-also require that all kernel modules also be signed. Add a
-configuration option that to lock down the kernel - which includes
-requiring validly signed modules - if the kernel is secure-booted.
-
-Signed-off-by: David Howells <dhowells@redhat.com>
-Signed-off-by: Jeremy Cline <jcline@redhat.com>
----
- arch/x86/kernel/setup.c | 8 ++++++++
- security/lockdown/Kconfig | 13 +++++++++++++
- 2 files changed, 21 insertions(+)
-
-diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 1797623b0c3a..fa8ac411bf6e 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -17,6 +17,7 @@
- #include <linux/root_dev.h>
- #include <linux/sfi.h>
- #include <linux/tboot.h>
-+#include <linux/security.h>
- #include <linux/usb/xhci-dbgp.h>
-
- #include <uapi/linux/mount.h>
-@@ -975,6 +976,13 @@ void __init setup_arch(char **cmdline_p)
- if (efi_enabled(EFI_BOOT))
- efi_init();
-
-+ efi_set_secure_boot(boot_params.secure_boot);
-+
-+#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT
-+ if (efi_enabled(EFI_SECURE_BOOT))
-+ security_lock_kernel_down("EFI Secure Boot mode", LOCKDOWN_INTEGRITY_MAX);
-+#endif
-+
- dmi_setup();
-
- /*
-diff --git a/security/lockdown/Kconfig b/security/lockdown/Kconfig
-index e84ddf484010..d0501353a4b9 100644
---- a/security/lockdown/Kconfig
-+++ b/security/lockdown/Kconfig
-@@ -16,6 +16,19 @@ config SECURITY_LOCKDOWN_LSM_EARLY
- subsystem is fully initialised. If enabled, lockdown will
- unconditionally be called before any other LSMs.
-
-+config LOCK_DOWN_IN_EFI_SECURE_BOOT
-+ bool "Lock down the kernel in EFI Secure Boot mode"
-+ default n
-+ depends on EFI && SECURITY_LOCKDOWN_LSM_EARLY
-+ help
-+ UEFI Secure Boot provides a mechanism for ensuring that the firmware
-+ will only load signed bootloaders and kernels. Secure boot mode may
-+ be determined from EFI variables provided by the system firmware if
-+ not indicated by the boot parameters.
-+
-+ Enabling this option results in kernel lockdown being triggered if
-+ EFI Secure Boot is set.
-+
- choice
- prompt "Kernel default lockdown mode"
- default LOCK_DOWN_KERNEL_FORCE_NONE
---
-2.24.1
diff --git a/filter-aarch64.sh.rhel b/filter-aarch64.sh.rhel
index e69de29bb..e088c8e9f 100644
--- a/filter-aarch64.sh.rhel
+++ b/filter-aarch64.sh.rhel
@@ -0,0 +1,18 @@
+#! /bin/bash
+
+# This is the aarch64 override file for the core/drivers package split. The
+# module directories listed here and in the generic list in filter-modules.sh
+# will be moved to the resulting kernel-modules package for this arch.
+# Anything not listed in those files will be in the kernel-core package.
+#
+# Please review the default list in filter-modules.sh before making
+# modifications to the overrides below. If something should be removed across
+# all arches, remove it in the default instead of per-arch.
+
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
+
+ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom"
+
+drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4"
+
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"
diff --git a/filter-modules.sh b/filter-modules.sh
index eb246e157..436dcc50a 100755
--- a/filter-modules.sh
+++ b/filter-modules.sh
@@ -13,6 +13,9 @@
# subsys should be in kernel-modules on all arches, please change the defaults
# listed here.
+# Overrides is individual modules which need to remain in kernel-core due to deps.
+overrides="cec"
+
# Set the default dirs/modules to filter out
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1"
@@ -145,6 +148,20 @@ do
filter_ko $1 ${mod}
done
+# Now process the override list to bring those modules back into core
+for mod in ${overrides}
+do
+ grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
+ if [ $? -ne 0 ]
+ then
+ echo "Couldn't save ${mod}.ko Skipping."
+ else
+ grep -e "/${mod}.ko" k-d.list >> $filelist
+ mv k-d.list.tmp k-d.list
+ fi
+
+done
+
# Go through our generated drivers list and remove the .ko files. We'll
# restore them later.
for mod in `cat k-d.list`
diff --git a/filter-modules.sh.fedora b/filter-modules.sh.fedora
index eb246e157..436dcc50a 100755
--- a/filter-modules.sh.fedora
+++ b/filter-modules.sh.fedora
@@ -13,6 +13,9 @@
# subsys should be in kernel-modules on all arches, please change the defaults
# listed here.
+# Overrides is individual modules which need to remain in kernel-core due to deps.
+overrides="cec"
+
# Set the default dirs/modules to filter out
driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1"
@@ -145,6 +148,20 @@ do
filter_ko $1 ${mod}
done
+# Now process the override list to bring those modules back into core
+for mod in ${overrides}
+do
+ grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
+ if [ $? -ne 0 ]
+ then
+ echo "Couldn't save ${mod}.ko Skipping."
+ else
+ grep -e "/${mod}.ko" k-d.list >> $filelist
+ mv k-d.list.tmp k-d.list
+ fi
+
+done
+
# Go through our generated drivers list and remove the .ko files. We'll
# restore them later.
for mod in `cat k-d.list`
diff --git a/filter-modules.sh.rhel b/filter-modules.sh.rhel
index e69de29bb..726a6d92c 100644
--- a/filter-modules.sh.rhel
+++ b/filter-modules.sh.rhel
@@ -0,0 +1,168 @@
+#! /bin/bash
+#
+# Called as filter-modules.sh list-of-modules Arch
+
+# This script filters the modules into the kernel-core and kernel-modules
+# subpackages. We list out subsystems/subdirs to prune from the installed
+# module directory. What is left is put into the kernel-core package. What is
+# pruned is contained in the kernel-modules package.
+#
+# This file contains the default subsys/subdirs to prune from all architectures.
+# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
+# that contains the set of override lists to be used instead. If a module or
+# subsys should be in kernel-modules on all arches, please change the defaults
+# listed here.
+
+# Overrides is individual modules which need to remain in kernel-core due to deps.
+overrides="cec"
+
+# Set the default dirs/modules to filter out
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
+
+chardrvs="mwave pcmcia"
+
+netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
+
+ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
+
+inputdrvs="gameport tablet touchscreen"
+
+scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic hisi_sas isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
+
+usbdrvs="atm image misc serial wusbcore"
+
+fsdrvs="affs befs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
+
+netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
+
+drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via "
+
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism hid-asus"
+
+# Grab the arch-specific filter list overrides
+source ./filter-$2.sh
+
+filter_dir() {
+ filelist=$1
+ dir=$2
+
+ grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
+
+ if [ $? -ne 0 ]
+ then
+ echo "Couldn't remove ${dir}. Skipping."
+ else
+ grep -e "${dir}/" ${filelist} >> k-d.list
+ mv ${filelist}.tmp $filelist
+ fi
+
+ return 0
+}
+
+filter_ko() {
+ filelist=$1
+ mod=$2
+
+ grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
+
+ if [ $? -ne 0 ]
+ then
+ echo "Couldn't remove ${mod}.ko Skipping."
+ else
+ grep -e "${mod}.ko" ${filelist} >> k-d.list
+ mv ${filelist}.tmp $filelist
+ fi
+
+ return 0
+}
+
+# Filter the drivers/ subsystems
+for subsys in ${driverdirs}
+do
+ filter_dir $1 drivers/${subsys}
+done
+
+# Filter the networking drivers
+for netdrv in ${netdrvs}
+do
+ filter_dir $1 drivers/net/${netdrv}
+done
+
+# Filter the char drivers
+for char in ${chardrvs}
+do
+ filter_dir $1 drivers/char/${input}
+done
+
+# Filter the ethernet drivers
+for eth in ${ethdrvs}
+do
+ filter_dir $1 drivers/net/ethernet/${eth}
+done
+
+# SCSI
+for scsi in ${scsidrvs}
+do
+ filter_dir $1 drivers/scsi/${scsi}
+done
+
+# Input
+for input in ${inputdrvs}
+do
+ filter_dir $1 drivers/input/${input}
+done
+
+# USB
+for usb in ${usbdrvs}
+do
+ filter_dir $1 drivers/usb/${usb}
+done
+
+# Filesystems
+for fs in ${fsdrvs}
+do
+ filter_dir $1 fs/${fs}
+done
+
+# Network protocols
+for prot in ${netprots}
+do
+ filter_dir $1 kernel/net/${prot}
+done
+
+# DRM
+for drm in ${drmdrvs}
+do
+ filter_dir $1 drivers/gpu/drm/${drm}
+done
+
+# Just kill sound.
+filter_dir $1 kernel/sound
+
+# Now go through and filter any single .ko files that might have deps on the
+# things we filtered above
+for mod in ${singlemods}
+do
+ filter_ko $1 ${mod}
+done
+
+# Now process the override list to bring those modules back into core
+for mod in ${overrides}
+do
+ grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
+ if [ $? -ne 0 ]
+ then
+ echo "Couldn't save ${mod}.ko Skipping."
+ else
+ grep -e "/${mod}.ko" k-d.list >> $filelist
+ mv k-d.list.tmp k-d.list
+ fi
+
+done
+
+# Go through our generated drivers list and remove the .ko files. We'll
+# restore them later.
+for mod in `cat k-d.list`
+do
+ rm -rf $mod
+done
diff --git a/filter-ppc64le.sh.rhel b/filter-ppc64le.sh.rhel
index e69de29bb..d80956d2a 100644
--- a/filter-ppc64le.sh.rhel
+++ b/filter-ppc64le.sh.rhel
@@ -0,0 +1,14 @@
+#! /bin/bash
+
+# This is the ppc64le override file for the core/drivers package split. The
+# module directories listed here and in the generic list in filter-modules.sh
+# will be moved to the resulting kernel-modules package for this arch.
+# Anything not listed in those files will be in the kernel-core package.
+#
+# Please review the default list in filter-modules.sh before making
+# modifications to the overrides below. If something should be removed across
+# all arches, remove it in the default instead of per-arch.
+
+driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
+
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"
diff --git a/filter-s390x.sh.rhel b/filter-s390x.sh.rhel
index e69de29bb..04f7110ad 100644
--- a/filter-s390x.sh.rhel
+++ b/filter-s390x.sh.rhel
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+# This is the s390x override file for the core/drivers package split. The
+# module directories listed here and in the generic list in filter-modules.sh
+# will be moved to the resulting kernel-modules package for this arch.
+# Anything not listed in those files will be in the kernel-core package.
+#
+# Please review the default list in filter-modules.sh before making
+# modifications to the overrides below. If something should be removed across
+# all arches, remove it in the default instead of per-arch.
+
+# Defaults work so no need to override
diff --git a/filter-x86_64.sh.rhel b/filter-x86_64.sh.rhel
index e69de29bb..1aa80f2e0 100644
--- a/filter-x86_64.sh.rhel
+++ b/filter-x86_64.sh.rhel
@@ -0,0 +1,12 @@
+#! /bin/bash
+
+# This is the x86_64 override file for the core/drivers package split. The
+# module directories listed here and in the generic list in filter-modules.sh
+# will be moved to the resulting kernel-modules package for this arch.
+# Anything not listed in those files will be in the kernel-core package.
+#
+# Please review the default list in filter-modules.sh before making
+# modifications to the overrides below. If something should be removed across
+# all arches, remove it in the default instead of per-arch.
+
+# Defaults work so no need to override
diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config
index 03f9352a4..864d2584c 100644
--- a/kernel-aarch64-debug-fedora.config
+++ b/kernel-aarch64-debug-fedora.config
@@ -1,5 +1,6 @@
# arm64
# CONFIG_60XX_WDT is not set
+CONFIG_64BIT=y
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -94,6 +95,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -185,10 +187,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
CONFIG_AL_FIC=y
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -210,6 +214,7 @@ CONFIG_AMLOGIC_THERMAL=m
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
CONFIG_APDS9960=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_APQ_GCC_8084=y
@@ -288,6 +293,7 @@ CONFIG_ARCH_ZYNQMP=y
CONFIG_ARM64_4K_PAGES=y
# CONFIG_ARM64_64K_PAGES is not set
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
+CONFIG_ARM64_AMU_EXTN=y
CONFIG_ARM64_CNP=y
CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_E0PD=y
@@ -538,6 +544,7 @@ CONFIG_BACKLIGHT_QCOM_WLED=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -692,6 +699,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -943,6 +951,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -1117,10 +1126,12 @@ CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1199,10 +1210,12 @@ CONFIG_CRYPTO_DEV_HISI_SEC2=m
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+CONFIG_CRYPTO_DEV_OCTEONTX_CPT=m
CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
+CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_SAFEXCEL=m
@@ -1215,6 +1228,7 @@ CONFIG_CRYPTO_DEV_SUN8I_CE=m
# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set
CONFIG_CRYPTO_DEV_SUN8I_SS=m
CONFIG_CRYPTO_DEV_VIRTIO=m
+CONFIG_CRYPTO_DEV_ZYNQMP_AES=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG_HASH=y
@@ -1342,7 +1356,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KOBJECT is not set
@@ -1407,6 +1421,7 @@ CONFIG_DEVFREQ_GOV_POWERSAVE=m
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_GOV_USERSPACE=m
CONFIG_DEVFREQ_THERMAL=y
+CONFIG_DEVICE_PRIVATE=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1422,6 +1437,7 @@ CONFIG_DM9102=m
CONFIG_DMA_API_DEBUG=y
CONFIG_DMA_BCM2835=m
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1503,6 +1519,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
@@ -1559,7 +1576,10 @@ CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
@@ -1571,6 +1591,7 @@ CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1579,13 +1600,13 @@ CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
@@ -1593,6 +1614,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1600,11 +1622,11 @@ CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
-CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_PL111=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
@@ -1617,6 +1639,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_SUN4I_BACKEND=m
CONFIG_DRM_SUN4I_HDMI_CEC=y
CONFIG_DRM_SUN4I_HDMI=m
@@ -1629,10 +1652,13 @@ CONFIG_DRM_SUN8I_MIXER=m
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1761,6 +1787,7 @@ CONFIG_ECRYPT_FS=m
# CONFIG_ECRYPT_FS_MESSAGING is not set
CONFIG_EDAC_BLUEFIELD=m
# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
@@ -1817,6 +1844,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1852,6 +1881,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FAIL_FUNCTION=y
@@ -2080,6 +2110,7 @@ CONFIG_GIANFAR=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_74XX_MMIO is not set
@@ -2110,6 +2141,7 @@ CONFIG_GPIO_MAX77620=y
CONFIG_GPIO_MAX77650=m
CONFIG_GPIO_MB86S7X=m
# CONFIG_GPIO_MC33880 is not set
+CONFIG_GPIO_MLXBF2=m
CONFIG_GPIO_MLXBF=m
# CONFIG_GPIO_MOCKUP is not set
CONFIG_GPIO_MOXTET=m
@@ -2195,7 +2227,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -2206,6 +2238,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -2227,6 +2260,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2294,6 +2328,7 @@ CONFIG_HISILICON_LPC=y
CONFIG_HISI_PMU=y
CONFIG_HISI_THERMAL=m
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2450,6 +2485,7 @@ CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2472,6 +2508,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2540,6 +2577,7 @@ CONFIG_IMA=y
CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
+CONFIG_IMX8MM_THERMAL=m
# CONFIG_IMX_DMA is not set
CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
@@ -2548,6 +2586,7 @@ CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IRQSTEER is not set
CONFIG_IMX_MBOX=m
CONFIG_IMX_REMOTEPROC=m
+CONFIG_IMX_SC_THERMAL=m
CONFIG_IMX_SCU_PD=y
CONFIG_IMX_SCU_SOC=y
CONFIG_IMX_SCU=y
@@ -2687,7 +2726,9 @@ CONFIG_INTEL_XWAY_PHY=m
CONFIG_INTERCONNECT=m
CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+CONFIG_INTERCONNECT_QCOM_OSM_L3=m
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
+CONFIG_INTERCONNECT_QCOM_SC7180=m
CONFIG_INTERCONNECT_QCOM_SDM845=m
CONFIG_INTERCONNECT_QCOM=y
# CONFIG_INTERVAL_TREE_TEST is not set
@@ -2808,6 +2849,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3258,6 +3300,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_MAG3110=m
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3323,11 +3366,14 @@ CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_GPIO=m
CONFIG_MDIO_HISI_FEMAC=m
CONFIG_MDIO_I2C=m
+CONFIG_MDIO_IPQ8064=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_SUN4I is not set
CONFIG_MDIO_THUNDER=m
CONFIG_MDIO_XGENE=m
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
# CONFIG_MDM_GCC_9615 is not set
# CONFIG_MDM_LCC_9615 is not set
@@ -3367,6 +3413,7 @@ CONFIG_MEMCG=y
CONFIG_MEMORY_FAILURE=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MEMORY=y
# CONFIG_MEMSTICK_DEBUG is not set
CONFIG_MEMSTICK_JMICRON_38X=m
@@ -3390,6 +3437,7 @@ CONFIG_MESON_IRQ_GPIO=y
# CONFIG_MESON_MX_EFUSE is not set
# CONFIG_MESON_MX_SOCINFO is not set
CONFIG_MESON_SARADC=m
+CONFIG_MESON_SECURE_PM_DOMAINS=y
CONFIG_MESON_SM=y
# CONFIG_MESON_WATCHDOG is not set
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3426,6 +3474,7 @@ CONFIG_MFD_CROS_EC_DEV=m
# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_HI6421_PMIC=m
CONFIG_MFD_HI655X_PMIC=m
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3505,6 +3554,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3536,6 +3586,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3579,6 +3630,7 @@ CONFIG_MMC_DW=m
CONFIG_MMC_DW_PCI=m
CONFIG_MMC_DW_PLTFM=m
CONFIG_MMC_DW_ROCKCHIP=m
+CONFIG_MMC_HSQ=m
CONFIG_MMC_MESON_GX=m
CONFIG_MMC_MESON_MX_SDIO=m
# CONFIG_MMC_MTK is not set
@@ -4361,6 +4413,8 @@ CONFIG_NULL_TTY=m
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA=y
+CONFIG_NVDIMM_DAX=y
+CONFIG_NVDIMM_PFN=y
CONFIG_NVME_FC=m
CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_IMX_IIM is not set
@@ -4394,6 +4448,7 @@ CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCTEONTX2_AF=m
CONFIG_OCTEONTX2_PF=m
+CONFIG_OCTEONTX2_VF=m
CONFIG_OF_ADDRESS=y
CONFIG_OF_DYNAMIC=y
CONFIG_OF_EARLY_FLATTREE=y
@@ -4529,15 +4584,19 @@ CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW=y
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
CONFIG_PCIE_HISI_STB=y
CONFIG_PCIE_KIRIN=y
-# CONFIG_PCIE_MOBIVEIL is not set
+CONFIG_PCIE_LAYERSCAPE_GEN4=y
+CONFIG_PCIE_MOBIVEIL_PLAT=y
+CONFIG_PCIE_MOBIVEIL=y
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
CONFIG_PCIEPORTBUS=y
CONFIG_PCIE_PTM=y
CONFIG_PCIE_QCOM=y
# CONFIG_PCIE_ROCKCHIP_HOST is not set
+CONFIG_PCIE_TEGRA194_HOST=m
CONFIG_PCIE_TEGRA194=m
CONFIG_PCIE_XILINX_NWL=y
CONFIG_PCIE_XILINX=y
@@ -4596,6 +4655,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_FSL_IMX8MQ_USB=m
@@ -4608,6 +4668,8 @@ CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
+CONFIG_PHY_MESON_AXG_PCIE=m
CONFIG_PHY_MESON_G12A_USB2=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=m
CONFIG_PHY_MESON_GXL_USB2=m
@@ -4628,8 +4690,10 @@ CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HS_28NM=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_QCOM_USB_SS=m
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
@@ -4671,6 +4735,7 @@ CONFIG_PINCTRL_IMX8MQ=y
CONFIG_PINCTRL_IMX8QM=y
CONFIG_PINCTRL_IMX8QXP=y
# CONFIG_PINCTRL_IPQ4019 is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_MAX77620=y
@@ -4827,6 +4892,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVE_RCU=y
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
@@ -4848,6 +4914,7 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
@@ -4856,6 +4923,7 @@ CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
CONFIG_PWM_BCM2835=m
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_IMX1 is not set
@@ -4899,6 +4967,7 @@ CONFIG_QCOM_HFPLL=m
CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_IOMMU=y
+CONFIG_QCOM_IPA=m
CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_L2_PMU=y
CONFIG_QCOM_L3_PMU=y
@@ -5072,7 +5141,9 @@ CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_MAX8973=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
CONFIG_REGULATOR_MP8859=m
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PFUZE100=m
@@ -5130,6 +5201,8 @@ CONFIG_RESET_TI_SYSCON=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -5148,7 +5221,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5391,7 +5464,9 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
+# CONFIG_SC_MSS_7180 is not set
# CONFIG_SCR24X is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
@@ -5561,6 +5636,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
@@ -5773,9 +5849,12 @@ CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
CONFIG_SERIAL_QCOM_GENI=y
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
CONFIG_SERIAL_TEGRA_TCU_CONSOLE=y
CONFIG_SERIAL_TEGRA_TCU=y
@@ -5844,6 +5923,7 @@ CONFIG_SMC_DIAG=m
CONFIG_SMC=m
# CONFIG_SM_FTL is not set
CONFIG_SM_GCC_8150=y
+CONFIG_SM_GCC_8250=m
CONFIG_SMP=y
CONFIG_SMSC911X=m
CONFIG_SMSC9420=m
@@ -5874,6 +5954,7 @@ CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
CONFIG_SND_BCM2835=m
CONFIG_SND_BCM2835_SOC_I2S=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5966,6 +6047,7 @@ CONFIG_SND=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_MESON_AIU=m
CONFIG_SND_MESON_AXG_FRDDR=m
CONFIG_SND_MESON_AXG_PDM=m
CONFIG_SND_MESON_AXG_SOUND_CARD=m
@@ -5974,7 +6056,9 @@ CONFIG_SND_MESON_AXG_SPDIFOUT=m
CONFIG_SND_MESON_AXG_TDMIN=m
CONFIG_SND_MESON_AXG_TDMOUT=m
CONFIG_SND_MESON_AXG_TODDR=m
+CONFIG_SND_MESON_G12A_TOACODEC=m
CONFIG_SND_MESON_G12A_TOHDMITX=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_MIA=m
CONFIG_SND_MIXART=m
CONFIG_SND_MIXER_OSS=m
@@ -6090,6 +6174,7 @@ CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MESON_T9015=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
CONFIG_SND_SOC_MSM8996=m
@@ -6135,6 +6220,7 @@ CONFIG_SND_SOC_RT5660=m
CONFIG_SND_SOC_RT5663=m
CONFIG_SND_SOC_RT5677=m
CONFIG_SND_SOC_RT5677_SPI=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -6144,9 +6230,12 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
+CONFIG_SND_SOC_SOF_IMX8_SUPPORT=y
+CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
-# CONFIG_SND_SOC_SOF_OF is not set
+CONFIG_SND_SOC_SOF_OF=m
CONFIG_SND_SOC_SOF_PCI=m
# CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set
CONFIG_SND_SOC_SOF_TOPLEVEL=y
@@ -6184,6 +6273,7 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# CONFIG_SND_SOC_TEGRA_WM8903 is not set
# CONFIG_SND_SOC_TEGRA_WM9712 is not set
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -6262,6 +6352,7 @@ CONFIG_SND_YMFPCI=m
CONFIG_SNI_NETSEC=m
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
+CONFIG_SOC_IMX8M=y
CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
@@ -6295,6 +6386,7 @@ CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_DSPI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
@@ -6310,6 +6402,7 @@ CONFIG_SPI_MEM=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -6409,6 +6502,7 @@ CONFIG_SUN50I_DE2_BUS=y
CONFIG_SUN50I_ERRATUM_UNKNOWN1=y
CONFIG_SUN50I_H6_CCU=y
CONFIG_SUN50I_H6_R_CCU=y
+CONFIG_SUN6I_MSGBOX=y
# CONFIG_SUN8I_A83T_CCU is not set
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
@@ -6548,8 +6642,10 @@ CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+CONFIG_TEST_LOCKUP=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -6615,6 +6711,7 @@ CONFIG_TIGON3=m
CONFIG_TINYDRM_HX8357D=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
+CONFIG_TINYDRM_ILI9486=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
@@ -6766,6 +6863,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -7007,6 +7105,7 @@ CONFIG_USB_M5602=m
# CONFIG_USB_M66592 is not set
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -7075,6 +7174,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597 is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -7212,6 +7312,9 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VDSO=y
CONFIG_VEML6030=m
CONFIG_VEML6070=m
@@ -7237,8 +7340,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
# CONFIG_VGA_CONSOLE is not set
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -7283,6 +7388,7 @@ CONFIG_VIDEO_GO7007_LOADER=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
+CONFIG_VIDEO_HANTRO_IMX8M=y
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
CONFIG_VIDEO_HDPVR=m
@@ -7324,6 +7430,7 @@ CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
CONFIG_VIDEO_SUN8I_DEINTERLACE=m
+CONFIG_VIDEO_SUN8I_ROTATE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7335,7 +7442,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -7356,6 +7463,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -7513,6 +7621,7 @@ CONFIG_XGENE_SLIMPRO_MBOX=m
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
CONFIG_XILINX_SDFEC=m
CONFIG_XILINX_VCU=m
@@ -7542,6 +7651,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZONE_DEVICE=y
# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
@@ -7550,7 +7660,17 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
CONFIG_ZYNQMP_FIRMWARE=y
diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config
index b706406c7..3b8207cce 100644
--- a/kernel-aarch64-fedora.config
+++ b/kernel-aarch64-fedora.config
@@ -1,5 +1,6 @@
# arm64
# CONFIG_60XX_WDT is not set
+CONFIG_64BIT=y
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -94,6 +95,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -185,10 +187,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
CONFIG_AL_FIC=y
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -210,6 +214,7 @@ CONFIG_AMLOGIC_THERMAL=m
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
CONFIG_APDS9960=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_APQ_GCC_8084=y
@@ -288,6 +293,7 @@ CONFIG_ARCH_ZYNQMP=y
CONFIG_ARM64_4K_PAGES=y
# CONFIG_ARM64_64K_PAGES is not set
CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
+CONFIG_ARM64_AMU_EXTN=y
CONFIG_ARM64_CNP=y
CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_E0PD=y
@@ -538,6 +544,7 @@ CONFIG_BACKLIGHT_QCOM_WLED=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -692,6 +699,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -943,6 +951,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -1117,10 +1126,12 @@ CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1199,10 +1210,12 @@ CONFIG_CRYPTO_DEV_HISI_SEC2=m
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+CONFIG_CRYPTO_DEV_OCTEONTX_CPT=m
CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
+CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_SAFEXCEL=m
@@ -1215,6 +1228,7 @@ CONFIG_CRYPTO_DEV_SUN8I_CE=m
# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set
CONFIG_CRYPTO_DEV_SUN8I_SS=m
CONFIG_CRYPTO_DEV_VIRTIO=m
+CONFIG_CRYPTO_DEV_ZYNQMP_AES=m
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG_HASH=y
@@ -1400,6 +1414,7 @@ CONFIG_DEVFREQ_GOV_POWERSAVE=m
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_GOV_USERSPACE=m
CONFIG_DEVFREQ_THERMAL=y
+CONFIG_DEVICE_PRIVATE=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1415,6 +1430,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_BCM2835=m
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1495,6 +1511,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
@@ -1551,7 +1568,10 @@ CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
@@ -1563,6 +1583,7 @@ CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1571,13 +1592,13 @@ CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
@@ -1585,6 +1606,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1592,11 +1614,11 @@ CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
-CONFIG_DRM_PANEL_XINGBANGDA_XBD599=m
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_PL111=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
@@ -1609,6 +1631,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_SUN4I_BACKEND=m
CONFIG_DRM_SUN4I_HDMI_CEC=y
CONFIG_DRM_SUN4I_HDMI=m
@@ -1621,10 +1644,13 @@ CONFIG_DRM_SUN8I_MIXER=m
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1753,6 +1779,7 @@ CONFIG_ECRYPT_FS=m
# CONFIG_ECRYPT_FS_MESSAGING is not set
CONFIG_EDAC_BLUEFIELD=m
# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
@@ -1809,6 +1836,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1844,6 +1873,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
# CONFIG_FAIL_FUTEX is not set
@@ -2064,6 +2094,7 @@ CONFIG_GIANFAR=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_74XX_MMIO is not set
@@ -2094,6 +2125,7 @@ CONFIG_GPIO_MAX77620=y
CONFIG_GPIO_MAX77650=m
CONFIG_GPIO_MB86S7X=m
# CONFIG_GPIO_MC33880 is not set
+CONFIG_GPIO_MLXBF2=m
CONFIG_GPIO_MLXBF=m
# CONFIG_GPIO_MOCKUP is not set
CONFIG_GPIO_MOXTET=m
@@ -2179,7 +2211,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -2190,6 +2222,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -2211,6 +2244,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2278,6 +2312,7 @@ CONFIG_HISILICON_LPC=y
CONFIG_HISI_PMU=y
CONFIG_HISI_THERMAL=m
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2434,6 +2469,7 @@ CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2456,6 +2492,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2524,6 +2561,7 @@ CONFIG_IMA=y
CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
+CONFIG_IMX8MM_THERMAL=m
# CONFIG_IMX_DMA is not set
CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
@@ -2532,6 +2570,7 @@ CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IRQSTEER is not set
CONFIG_IMX_MBOX=m
CONFIG_IMX_REMOTEPROC=m
+CONFIG_IMX_SC_THERMAL=m
CONFIG_IMX_SCU_PD=y
CONFIG_IMX_SCU_SOC=y
CONFIG_IMX_SCU=y
@@ -2671,7 +2710,9 @@ CONFIG_INTEL_XWAY_PHY=m
CONFIG_INTERCONNECT=m
CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+CONFIG_INTERCONNECT_QCOM_OSM_L3=m
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
+CONFIG_INTERCONNECT_QCOM_SC7180=m
CONFIG_INTERCONNECT_QCOM_SDM845=m
CONFIG_INTERCONNECT_QCOM=y
# CONFIG_INTERVAL_TREE_TEST is not set
@@ -2792,6 +2833,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3240,6 +3282,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_MAG3110=m
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3304,11 +3347,14 @@ CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_GPIO=m
CONFIG_MDIO_HISI_FEMAC=m
CONFIG_MDIO_I2C=m
+CONFIG_MDIO_IPQ8064=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_SUN4I is not set
CONFIG_MDIO_THUNDER=m
CONFIG_MDIO_XGENE=m
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
# CONFIG_MDM_GCC_9615 is not set
# CONFIG_MDM_LCC_9615 is not set
@@ -3348,6 +3394,7 @@ CONFIG_MEMCG=y
CONFIG_MEMORY_FAILURE=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MEMORY=y
# CONFIG_MEMSTICK_DEBUG is not set
CONFIG_MEMSTICK_JMICRON_38X=m
@@ -3371,6 +3418,7 @@ CONFIG_MESON_IRQ_GPIO=y
# CONFIG_MESON_MX_EFUSE is not set
# CONFIG_MESON_MX_SOCINFO is not set
CONFIG_MESON_SARADC=m
+CONFIG_MESON_SECURE_PM_DOMAINS=y
CONFIG_MESON_SM=y
# CONFIG_MESON_WATCHDOG is not set
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3407,6 +3455,7 @@ CONFIG_MFD_CROS_EC_DEV=m
# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_HI6421_PMIC=m
CONFIG_MFD_HI655X_PMIC=m
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3486,6 +3535,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3517,6 +3567,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3560,6 +3611,7 @@ CONFIG_MMC_DW=m
CONFIG_MMC_DW_PCI=m
CONFIG_MMC_DW_PLTFM=m
CONFIG_MMC_DW_ROCKCHIP=m
+CONFIG_MMC_HSQ=m
CONFIG_MMC_MESON_GX=m
CONFIG_MMC_MESON_MX_SDIO=m
# CONFIG_MMC_MTK is not set
@@ -4341,6 +4393,8 @@ CONFIG_NULL_TTY=m
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA=y
+CONFIG_NVDIMM_DAX=y
+CONFIG_NVDIMM_PFN=y
CONFIG_NVME_FC=m
CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_IMX_IIM is not set
@@ -4374,6 +4428,7 @@ CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCTEONTX2_AF=m
CONFIG_OCTEONTX2_PF=m
+CONFIG_OCTEONTX2_VF=m
CONFIG_OF_ADDRESS=y
CONFIG_OF_DYNAMIC=y
CONFIG_OF_EARLY_FLATTREE=y
@@ -4509,15 +4564,19 @@ CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW=y
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
CONFIG_PCIE_HISI_STB=y
CONFIG_PCIE_KIRIN=y
-# CONFIG_PCIE_MOBIVEIL is not set
+CONFIG_PCIE_LAYERSCAPE_GEN4=y
+CONFIG_PCIE_MOBIVEIL_PLAT=y
+CONFIG_PCIE_MOBIVEIL=y
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
CONFIG_PCIEPORTBUS=y
CONFIG_PCIE_PTM=y
CONFIG_PCIE_QCOM=y
# CONFIG_PCIE_ROCKCHIP_HOST is not set
+CONFIG_PCIE_TEGRA194_HOST=m
CONFIG_PCIE_TEGRA194=m
CONFIG_PCIE_XILINX_NWL=y
CONFIG_PCIE_XILINX=y
@@ -4576,6 +4635,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_FSL_IMX8MQ_USB=m
@@ -4588,6 +4648,8 @@ CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
+CONFIG_PHY_MESON_AXG_PCIE=m
CONFIG_PHY_MESON_G12A_USB2=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=m
CONFIG_PHY_MESON_GXL_USB2=m
@@ -4608,8 +4670,10 @@ CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HS_28NM=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_QCOM_USB_SS=m
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
@@ -4651,6 +4715,7 @@ CONFIG_PINCTRL_IMX8MQ=y
CONFIG_PINCTRL_IMX8QM=y
CONFIG_PINCTRL_IMX8QXP=y
# CONFIG_PINCTRL_IPQ4019 is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_MAX77620=y
@@ -4807,6 +4872,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_PSI=y
@@ -4827,6 +4893,7 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
@@ -4835,6 +4902,7 @@ CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
CONFIG_PWM_BCM2835=m
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_IMX1 is not set
@@ -4878,6 +4946,7 @@ CONFIG_QCOM_HFPLL=m
CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_IOMMU=y
+CONFIG_QCOM_IPA=m
CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_L2_PMU=y
CONFIG_QCOM_L3_PMU=y
@@ -5051,7 +5120,9 @@ CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX8952 is not set
CONFIG_REGULATOR_MAX8973=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
CONFIG_REGULATOR_MP8859=m
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PFUZE100=m
@@ -5109,6 +5180,8 @@ CONFIG_RESET_TI_SYSCON=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -5127,7 +5200,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5370,7 +5443,9 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
+# CONFIG_SC_MSS_7180 is not set
# CONFIG_SCR24X is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
@@ -5540,6 +5615,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
@@ -5752,9 +5828,12 @@ CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_QCOM_GENI_CONSOLE=y
CONFIG_SERIAL_QCOM_GENI=y
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
CONFIG_SERIAL_TEGRA_TCU_CONSOLE=y
CONFIG_SERIAL_TEGRA_TCU=y
@@ -5823,6 +5902,7 @@ CONFIG_SMC_DIAG=m
CONFIG_SMC=m
# CONFIG_SM_FTL is not set
CONFIG_SM_GCC_8150=y
+CONFIG_SM_GCC_8250=m
CONFIG_SMP=y
CONFIG_SMSC911X=m
CONFIG_SMSC9420=m
@@ -5853,6 +5933,7 @@ CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
CONFIG_SND_BCM2835=m
CONFIG_SND_BCM2835_SOC_I2S=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5945,6 +6026,7 @@ CONFIG_SND=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_MESON_AIU=m
CONFIG_SND_MESON_AXG_FRDDR=m
CONFIG_SND_MESON_AXG_PDM=m
CONFIG_SND_MESON_AXG_SOUND_CARD=m
@@ -5953,7 +6035,9 @@ CONFIG_SND_MESON_AXG_SPDIFOUT=m
CONFIG_SND_MESON_AXG_TDMIN=m
CONFIG_SND_MESON_AXG_TDMOUT=m
CONFIG_SND_MESON_AXG_TODDR=m
+CONFIG_SND_MESON_G12A_TOACODEC=m
CONFIG_SND_MESON_G12A_TOHDMITX=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_MIA=m
CONFIG_SND_MIXART=m
CONFIG_SND_MIXER_OSS=m
@@ -6068,6 +6152,7 @@ CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MESON_T9015=m
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
CONFIG_SND_SOC_MSM8996=m
@@ -6113,6 +6198,7 @@ CONFIG_SND_SOC_RT5660=m
CONFIG_SND_SOC_RT5663=m
CONFIG_SND_SOC_RT5677=m
CONFIG_SND_SOC_RT5677_SPI=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -6122,9 +6208,12 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
+CONFIG_SND_SOC_SOF_IMX8_SUPPORT=y
+CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
-# CONFIG_SND_SOC_SOF_OF is not set
+CONFIG_SND_SOC_SOF_OF=m
CONFIG_SND_SOC_SOF_PCI=m
# CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set
CONFIG_SND_SOC_SOF_TOPLEVEL=y
@@ -6162,6 +6251,7 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# CONFIG_SND_SOC_TEGRA_WM8903 is not set
# CONFIG_SND_SOC_TEGRA_WM9712 is not set
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -6240,6 +6330,7 @@ CONFIG_SND_YMFPCI=m
CONFIG_SNI_NETSEC=m
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
+CONFIG_SOC_IMX8M=y
CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
@@ -6273,6 +6364,7 @@ CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_DSPI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
@@ -6288,6 +6380,7 @@ CONFIG_SPI_MEM=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -6387,6 +6480,7 @@ CONFIG_SUN50I_DE2_BUS=y
CONFIG_SUN50I_ERRATUM_UNKNOWN1=y
CONFIG_SUN50I_H6_CCU=y
CONFIG_SUN50I_H6_R_CCU=y
+CONFIG_SUN6I_MSGBOX=y
# CONFIG_SUN8I_A83T_CCU is not set
CONFIG_SUN8I_DE2_CCU=y
CONFIG_SUN8I_H3_CCU=y
@@ -6526,8 +6620,10 @@ CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_LOCKUP is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -6593,6 +6689,7 @@ CONFIG_TIGON3=m
CONFIG_TINYDRM_HX8357D=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
+CONFIG_TINYDRM_ILI9486=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
@@ -6744,6 +6841,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -6985,6 +7083,7 @@ CONFIG_USB_M5602=m
# CONFIG_USB_M66592 is not set
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -7053,6 +7152,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597 is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -7190,6 +7290,9 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VDSO=y
CONFIG_VEML6030=m
CONFIG_VEML6070=m
@@ -7215,8 +7318,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
# CONFIG_VGA_CONSOLE is not set
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -7261,6 +7366,7 @@ CONFIG_VIDEO_GO7007_LOADER=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
+CONFIG_VIDEO_HANTRO_IMX8M=y
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
CONFIG_VIDEO_HDPVR=m
@@ -7302,6 +7408,7 @@ CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
CONFIG_VIDEO_SUN8I_DEINTERLACE=m
+CONFIG_VIDEO_SUN8I_ROTATE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7313,7 +7420,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -7334,6 +7441,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -7490,6 +7598,7 @@ CONFIG_XGENE_SLIMPRO_MBOX=m
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
CONFIG_XILINX_SDFEC=m
CONFIG_XILINX_VCU=m
@@ -7519,6 +7628,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
+CONFIG_ZONE_DEVICE=y
# CONFIG_ZONEFS_FS is not set
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
@@ -7527,7 +7637,17 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
CONFIG_ZYNQMP_FIRMWARE=y
diff --git a/kernel-armv7hl-debug-fedora.config b/kernel-armv7hl-debug-fedora.config
index 329f4efd1..bfb6b2fb5 100644
--- a/kernel-armv7hl-debug-fedora.config
+++ b/kernel-armv7hl-debug-fedora.config
@@ -65,6 +65,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -158,10 +159,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -186,6 +189,7 @@ CONFIG_AMX3_PM=m
CONFIG_APDS9802ALS=m
CONFIG_APDS9960=m
# CONFIG_APM_EMULATION is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_APQ_GCC_8084=y
@@ -226,6 +230,7 @@ CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IPQ40XX is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MDM9615 is not set
@@ -374,6 +379,7 @@ CONFIG_ARM_STI_CPUFREQ=m
CONFIG_ARM_TEGRA124_CPUFREQ=y
CONFIG_ARM_TEGRA20_CPUFREQ=m
CONFIG_ARM_TEGRA20_DEVFREQ=m
+CONFIG_ARM_TEGRA_CPUIDLE=y
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
@@ -535,6 +541,7 @@ CONFIG_BACKLIGHT_PWM=m
CONFIG_BACKLIGHT_TPS65217=m
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -693,6 +700,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -943,6 +951,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -1104,10 +1113,12 @@ CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1184,6 +1195,7 @@ CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
+CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1324,7 +1336,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KOBJECT is not set
@@ -1410,6 +1422,7 @@ CONFIG_DM9102=m
CONFIG_DMA_API_DEBUG=y
CONFIG_DMA_BCM2835=m
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1493,6 +1506,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
@@ -1575,7 +1589,10 @@ CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
@@ -1587,6 +1604,7 @@ CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1595,13 +1613,13 @@ CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
@@ -1609,6 +1627,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1616,11 +1635,11 @@ CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_PL111=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
@@ -1633,6 +1652,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_STI=m
CONFIG_DRM_STM_DSI=m
CONFIG_DRM_STM=m
@@ -1648,11 +1668,14 @@ CONFIG_DRM_SUN8I_MIXER=m
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TILCDC=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
CONFIG_DRM_V3D=m
@@ -1839,6 +1862,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1882,6 +1907,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FAIL_FUNCTION=y
@@ -2016,6 +2042,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -2087,6 +2116,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPIO_74X164=m
# CONFIG_GPIO_74XX_MMIO is not set
@@ -2207,7 +2237,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -2218,6 +2248,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -2239,6 +2270,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2297,12 +2329,13 @@ CONFIG_HID=y
CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_HIGHMEM=y
-# CONFIG_HIGHPTE is not set
+CONFIG_HIGHPTE=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
# CONFIG_HISILICON_IRQ_MBIGEN is not set
CONFIG_HISI_PMU=y
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2339,6 +2372,7 @@ CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_MESON=m
@@ -2459,6 +2493,7 @@ CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2481,6 +2516,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2550,6 +2586,7 @@ CONFIG_IMA=y
CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
+CONFIG_IMX8MM_THERMAL=m
# CONFIG_IMX_DMA is not set
CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
@@ -2705,7 +2742,9 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+CONFIG_INTERCONNECT_QCOM_OSM_L3=m
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
+CONFIG_INTERCONNECT_QCOM_SC7180=m
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
CONFIG_INV_MPU6050_IIO=m
@@ -2824,6 +2863,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3302,6 +3342,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_MAG3110=m
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3366,10 +3407,13 @@ CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
+CONFIG_MDIO_IPQ8064=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
# CONFIG_MDM_GCC_9615 is not set
# CONFIG_MDM_LCC_9615 is not set
@@ -3431,6 +3475,7 @@ CONFIG_MESON_IRQ_GPIO=y
CONFIG_MESON_MX_EFUSE=m
CONFIG_MESON_MX_SOCINFO=y
CONFIG_MESON_SARADC=m
+CONFIG_MESON_SECURE_PM_DOMAINS=y
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3467,6 +3512,7 @@ CONFIG_MFD_DA9063=m
# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_EXYNOS_LPASS=m
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3551,6 +3597,7 @@ CONFIG_MFD_WL1273_CORE=m
CONFIG_MFD_WM8994=m
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3582,6 +3629,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_INFINIBAND is not set
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3622,6 +3670,7 @@ CONFIG_MMC_DW=m
CONFIG_MMC_DW_PCI=m
CONFIG_MMC_DW_PLTFM=m
CONFIG_MMC_DW_ROCKCHIP=m
+CONFIG_MMC_HSQ=m
# CONFIG_MMC_MESON_GX is not set
CONFIG_MMC_MESON_MX_SDIO=m
# CONFIG_MMC_MTK is not set
@@ -4493,6 +4542,7 @@ CONFIG_OMAP_IOMMU=y
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
CONFIG_OMAP_OCP2SCP=m
CONFIG_OMAP_REMOTEPROC=m
+CONFIG_OMAP_REMOTEPROC_WATCHDOG=y
CONFIG_OMAP_RESET_CLOCKS=y
CONFIG_OMAP_USB2=m
CONFIG_OMAP_WATCHDOG=m
@@ -4616,6 +4666,7 @@ CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW=y
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4675,6 +4726,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_EXYNOS5250_SATA=m
@@ -4688,6 +4740,8 @@ CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
+CONFIG_PHY_MESON_AXG_PCIE=m
CONFIG_PHY_MESON_G12A_USB2=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
@@ -4711,8 +4765,10 @@ CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HS_28NM=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_QCOM_USB_SS=m
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
@@ -4752,7 +4808,12 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX6SL=y
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+# CONFIG_PINCTRL_IMX8MP is not set
+CONFIG_PINCTRL_IMX8MQ=y
# CONFIG_PINCTRL_IPQ4019 is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -4910,6 +4971,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVE_RCU=y
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
@@ -4931,6 +4993,7 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
@@ -4938,6 +5001,7 @@ CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
CONFIG_PWM_BCM2835=m
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_IMX1 is not set
@@ -5155,7 +5219,9 @@ CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
@@ -5229,6 +5295,8 @@ CONFIG_RESET_TI_SYSCON=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -5247,7 +5315,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5505,7 +5573,9 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
+# CONFIG_SC_MSS_7180 is not set
# CONFIG_SCR24X is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
@@ -5673,6 +5743,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DA9052_ADC=m
@@ -5896,9 +5967,12 @@ CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_RP2 is not set
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
CONFIG_SERIAL_ST_ASC_CONSOLE=y
CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_STM32_CONSOLE=y
@@ -5968,6 +6042,7 @@ CONFIG_SMC_DIAG=m
CONFIG_SMC=m
# CONFIG_SM_FTL is not set
# CONFIG_SM_GCC_8150 is not set
+CONFIG_SM_GCC_8250=m
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -6001,6 +6076,7 @@ CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
CONFIG_SND_BCM2835=m
CONFIG_SND_BCM2835_SOC_I2S=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -6094,6 +6170,7 @@ CONFIG_SND=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_MESON_AIU=m
# CONFIG_SND_MESON_AXG_FRDDR is not set
# CONFIG_SND_MESON_AXG_PDM is not set
# CONFIG_SND_MESON_AXG_SOUND_CARD is not set
@@ -6102,7 +6179,9 @@ CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_MESON_AXG_TDMIN is not set
# CONFIG_SND_MESON_AXG_TDMOUT is not set
# CONFIG_SND_MESON_AXG_TODDR is not set
+CONFIG_SND_MESON_G12A_TOACODEC=m
CONFIG_SND_MESON_G12A_TOHDMITX=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_MIA=m
CONFIG_SND_MIXART=m
CONFIG_SND_MIXER_OSS=m
@@ -6237,6 +6316,7 @@ CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MESON_T9015=m
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
# CONFIG_SND_SOC_MT6351 is not set
@@ -6285,6 +6365,7 @@ CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -6298,6 +6379,7 @@ CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6345,6 +6427,7 @@ CONFIG_SND_SOC_TEGRA_WM9712=m
# CONFIG_SND_SOC_TFA9879 is not set
CONFIG_SND_SOC_TI_EDMA_PCM=m
CONFIG_SND_SOC_TI_SDMA_PCM=m
+CONFIG_SND_SOC_TLV320ADCX140=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -6445,6 +6528,7 @@ CONFIG_SOC_IMX6UL=y
CONFIG_SOC_IMX6=y
CONFIG_SOC_IMX7D=y
CONFIG_SOC_IMX7ULP=y
+CONFIG_SOC_IMX8M=y
# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP3430=y
CONFIG_SOC_OMAP5=y
@@ -6483,6 +6567,7 @@ CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
CONFIG_SPI_FSL_SPI=m
@@ -6496,6 +6581,7 @@ CONFIG_SPI_MEM=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -6620,6 +6706,7 @@ CONFIG_SUN4I_GPADC=m
# CONFIG_SUN50I_DE2_BUS is not set
CONFIG_SUN5I_CCU=y
CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN6I_MSGBOX=y
CONFIG_SUN8I_A23_CCU=y
CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
@@ -6762,8 +6849,10 @@ CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+CONFIG_TEST_LOCKUP=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -6837,6 +6926,7 @@ CONFIG_TIGON3=m
CONFIG_TINYDRM_HX8357D=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
+CONFIG_TINYDRM_ILI9486=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
@@ -6852,6 +6942,7 @@ CONFIG_TI_PWMSS=y
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -7001,6 +7092,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
@@ -7253,6 +7345,7 @@ CONFIG_USB_M5602=m
# CONFIG_USB_M66592 is not set
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -7326,6 +7419,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597 is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -7465,6 +7559,9 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
# CONFIG_VDSO is not set
CONFIG_VEML6030=m
CONFIG_VEML6070=m
@@ -7492,8 +7589,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -7542,6 +7641,7 @@ CONFIG_VIDEO_GO7007_LOADER=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
+CONFIG_VIDEO_HANTRO_IMX8M=y
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
CONFIG_VIDEO_HDPVR=m
@@ -7605,6 +7705,7 @@ CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
CONFIG_VIDEO_SUN8I_DEINTERLACE=m
+CONFIG_VIDEO_SUN8I_ROTATE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7619,7 +7720,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -7640,6 +7741,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -7796,6 +7898,7 @@ CONFIG_XFS_WARN=y
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_EMACLITE=m
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
@@ -7835,5 +7938,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-armv7hl-fedora.config b/kernel-armv7hl-fedora.config
index 818921707..aad6dce32 100644
--- a/kernel-armv7hl-fedora.config
+++ b/kernel-armv7hl-fedora.config
@@ -65,6 +65,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -158,10 +159,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -186,6 +189,7 @@ CONFIG_AMX3_PM=m
CONFIG_APDS9802ALS=m
CONFIG_APDS9960=m
# CONFIG_APM_EMULATION is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_APQ_GCC_8084=y
@@ -226,6 +230,7 @@ CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IPQ40XX is not set
# CONFIG_ARCH_IXP4XX is not set
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_MDM9615 is not set
@@ -374,6 +379,7 @@ CONFIG_ARM_STI_CPUFREQ=m
CONFIG_ARM_TEGRA124_CPUFREQ=y
CONFIG_ARM_TEGRA20_CPUFREQ=m
CONFIG_ARM_TEGRA20_DEVFREQ=m
+CONFIG_ARM_TEGRA_CPUIDLE=y
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
@@ -535,6 +541,7 @@ CONFIG_BACKLIGHT_PWM=m
CONFIG_BACKLIGHT_TPS65217=m
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -693,6 +700,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -943,6 +951,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -1104,10 +1113,12 @@ CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1184,6 +1195,7 @@ CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
CONFIG_CRYPTO_DEV_QCE=m
+CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1403,6 +1415,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_BCM2835=m
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1486,6 +1499,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
@@ -1568,7 +1582,10 @@ CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
@@ -1580,6 +1597,7 @@ CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1588,13 +1606,13 @@ CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
@@ -1602,6 +1620,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1609,11 +1628,11 @@ CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_PL111=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
@@ -1626,6 +1645,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_STI=m
CONFIG_DRM_STM_DSI=m
CONFIG_DRM_STM=m
@@ -1641,11 +1661,14 @@ CONFIG_DRM_SUN8I_MIXER=m
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TILCDC=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
CONFIG_DRM_V3D=m
@@ -1832,6 +1855,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1875,6 +1900,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
# CONFIG_FAIL_FUTEX is not set
@@ -2001,6 +2027,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -2072,6 +2101,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPIO_74X164=m
# CONFIG_GPIO_74XX_MMIO is not set
@@ -2192,7 +2222,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -2203,6 +2233,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -2224,6 +2255,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2282,12 +2314,13 @@ CONFIG_HID=y
CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_HIGHMEM=y
-# CONFIG_HIGHPTE is not set
+CONFIG_HIGHPTE=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
# CONFIG_HISILICON_IRQ_MBIGEN is not set
CONFIG_HISI_PMU=y
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2324,6 +2357,7 @@ CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_MESON=m
@@ -2444,6 +2478,7 @@ CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2466,6 +2501,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2535,6 +2571,7 @@ CONFIG_IMA=y
CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
+CONFIG_IMX8MM_THERMAL=m
# CONFIG_IMX_DMA is not set
CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
@@ -2690,7 +2727,9 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+CONFIG_INTERCONNECT_QCOM_OSM_L3=m
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
+CONFIG_INTERCONNECT_QCOM_SC7180=m
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
CONFIG_INV_MPU6050_IIO=m
@@ -2809,6 +2848,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3285,6 +3325,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_MAG3110=m
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3348,10 +3389,13 @@ CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
+CONFIG_MDIO_IPQ8064=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
# CONFIG_MDM_GCC_9615 is not set
# CONFIG_MDM_LCC_9615 is not set
@@ -3413,6 +3457,7 @@ CONFIG_MESON_IRQ_GPIO=y
CONFIG_MESON_MX_EFUSE=m
CONFIG_MESON_MX_SOCINFO=y
CONFIG_MESON_SARADC=m
+CONFIG_MESON_SECURE_PM_DOMAINS=y
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3449,6 +3494,7 @@ CONFIG_MFD_DA9063=m
# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_EXYNOS_LPASS=m
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3533,6 +3579,7 @@ CONFIG_MFD_WL1273_CORE=m
CONFIG_MFD_WM8994=m
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3564,6 +3611,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_INFINIBAND is not set
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3604,6 +3652,7 @@ CONFIG_MMC_DW=m
CONFIG_MMC_DW_PCI=m
CONFIG_MMC_DW_PLTFM=m
CONFIG_MMC_DW_ROCKCHIP=m
+CONFIG_MMC_HSQ=m
# CONFIG_MMC_MESON_GX is not set
CONFIG_MMC_MESON_MX_SDIO=m
# CONFIG_MMC_MTK is not set
@@ -4474,6 +4523,7 @@ CONFIG_OMAP_IOMMU=y
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
CONFIG_OMAP_OCP2SCP=m
CONFIG_OMAP_REMOTEPROC=m
+CONFIG_OMAP_REMOTEPROC_WATCHDOG=y
CONFIG_OMAP_RESET_CLOCKS=y
CONFIG_OMAP_USB2=m
CONFIG_OMAP_WATCHDOG=m
@@ -4597,6 +4647,7 @@ CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW=y
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4656,6 +4707,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_EXYNOS5250_SATA=m
@@ -4669,6 +4721,8 @@ CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
+CONFIG_PHY_MESON_AXG_PCIE=m
CONFIG_PHY_MESON_G12A_USB2=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
@@ -4692,8 +4746,10 @@ CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HS_28NM=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
+CONFIG_PHY_QCOM_USB_SS=m
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
@@ -4733,7 +4789,12 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX6SL=y
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+# CONFIG_PINCTRL_IMX8MP is not set
+CONFIG_PINCTRL_IMX8MQ=y
# CONFIG_PINCTRL_IPQ4019 is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -4891,6 +4952,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_PSI=y
@@ -4911,6 +4973,7 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
@@ -4918,6 +4981,7 @@ CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
CONFIG_PWM_BCM2835=m
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_IMX1 is not set
@@ -5135,7 +5199,9 @@ CONFIG_REGULATOR_MAX8997=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
@@ -5209,6 +5275,8 @@ CONFIG_RESET_TI_SYSCON=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -5227,7 +5295,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5485,7 +5553,9 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
+# CONFIG_SC_MSS_7180 is not set
# CONFIG_SCR24X is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
@@ -5653,6 +5723,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DA9052_ADC=m
@@ -5876,9 +5947,12 @@ CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_RP2 is not set
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
CONFIG_SERIAL_ST_ASC_CONSOLE=y
CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_STM32_CONSOLE=y
@@ -5948,6 +6022,7 @@ CONFIG_SMC_DIAG=m
CONFIG_SMC=m
# CONFIG_SM_FTL is not set
# CONFIG_SM_GCC_8150 is not set
+CONFIG_SM_GCC_8250=m
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -5981,6 +6056,7 @@ CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
CONFIG_SND_BCM2835=m
CONFIG_SND_BCM2835_SOC_I2S=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -6074,6 +6150,7 @@ CONFIG_SND=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_MESON_AIU=m
# CONFIG_SND_MESON_AXG_FRDDR is not set
# CONFIG_SND_MESON_AXG_PDM is not set
# CONFIG_SND_MESON_AXG_SOUND_CARD is not set
@@ -6082,7 +6159,9 @@ CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_MESON_AXG_TDMIN is not set
# CONFIG_SND_MESON_AXG_TDMOUT is not set
# CONFIG_SND_MESON_AXG_TODDR is not set
+CONFIG_SND_MESON_G12A_TOACODEC=m
CONFIG_SND_MESON_G12A_TOHDMITX=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_MIA=m
CONFIG_SND_MIXART=m
CONFIG_SND_MIXER_OSS=m
@@ -6216,6 +6295,7 @@ CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MESON_T9015=m
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
# CONFIG_SND_SOC_MT6351 is not set
@@ -6264,6 +6344,7 @@ CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -6277,6 +6358,7 @@ CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6324,6 +6406,7 @@ CONFIG_SND_SOC_TEGRA_WM9712=m
# CONFIG_SND_SOC_TFA9879 is not set
CONFIG_SND_SOC_TI_EDMA_PCM=m
CONFIG_SND_SOC_TI_SDMA_PCM=m
+CONFIG_SND_SOC_TLV320ADCX140=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -6424,6 +6507,7 @@ CONFIG_SOC_IMX6UL=y
CONFIG_SOC_IMX6=y
CONFIG_SOC_IMX7D=y
CONFIG_SOC_IMX7ULP=y
+CONFIG_SOC_IMX8M=y
# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP3430=y
CONFIG_SOC_OMAP5=y
@@ -6462,6 +6546,7 @@ CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
CONFIG_SPI_FSL_SPI=m
@@ -6475,6 +6560,7 @@ CONFIG_SPI_MEM=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -6599,6 +6685,7 @@ CONFIG_SUN4I_GPADC=m
# CONFIG_SUN50I_DE2_BUS is not set
CONFIG_SUN5I_CCU=y
CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN6I_MSGBOX=y
CONFIG_SUN8I_A23_CCU=y
CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
@@ -6741,8 +6828,10 @@ CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_LOCKUP is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -6816,6 +6905,7 @@ CONFIG_TIGON3=m
CONFIG_TINYDRM_HX8357D=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
+CONFIG_TINYDRM_ILI9486=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
@@ -6831,6 +6921,7 @@ CONFIG_TI_PWMSS=y
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -6980,6 +7071,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
@@ -7232,6 +7324,7 @@ CONFIG_USB_M5602=m
# CONFIG_USB_M66592 is not set
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -7305,6 +7398,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597 is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -7444,6 +7538,9 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
# CONFIG_VDSO is not set
CONFIG_VEML6030=m
CONFIG_VEML6070=m
@@ -7471,8 +7568,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -7521,6 +7620,7 @@ CONFIG_VIDEO_GO7007_LOADER=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
+CONFIG_VIDEO_HANTRO_IMX8M=y
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
CONFIG_VIDEO_HDPVR=m
@@ -7584,6 +7684,7 @@ CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
CONFIG_VIDEO_SUN8I_DEINTERLACE=m
+CONFIG_VIDEO_SUN8I_ROTATE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7598,7 +7699,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -7619,6 +7720,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -7774,6 +7876,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_EMACLITE=m
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
@@ -7813,5 +7916,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-armv7hl-lpae-debug-fedora.config b/kernel-armv7hl-lpae-debug-fedora.config
index bb8361837..05778dcc2 100644
--- a/kernel-armv7hl-lpae-debug-fedora.config
+++ b/kernel-armv7hl-lpae-debug-fedora.config
@@ -65,6 +65,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -157,10 +158,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -170,7 +173,7 @@ CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
# CONFIG_AM2315 is not set
-CONFIG_AM335X_PHY_USB=m
+# CONFIG_AM335X_PHY_USB is not set
CONFIG_AMBA_PL08X=y
CONFIG_AMD8111_ETH=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
@@ -183,6 +186,7 @@ CONFIG_AMLOGIC_THERMAL=m
CONFIG_APDS9802ALS=m
CONFIG_APDS9960=m
# CONFIG_APM_EMULATION is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -222,6 +226,7 @@ CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IPQ40XX is not set
# CONFIG_ARCH_IXP4XX is not set
CONFIG_ARCH_KEYSTONE=y
# CONFIG_ARCH_MEDIATEK is not set
@@ -364,6 +369,7 @@ CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_SPE_PMU=m
CONFIG_ARM_TEGRA124_CPUFREQ=y
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
+CONFIG_ARM_TEGRA_CPUIDLE=y
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
@@ -521,6 +527,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -672,6 +679,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -918,6 +926,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -1075,10 +1084,12 @@ CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1154,6 +1165,7 @@ CONFIG_CRYPTO_DEV_OMAP_SHAM=m
CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
+CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1292,7 +1304,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KOBJECT is not set
@@ -1378,6 +1390,7 @@ CONFIG_DM9102=m
CONFIG_DMA_API_DEBUG=y
CONFIG_DMA_BCM2835=m
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1461,6 +1474,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
@@ -1530,7 +1544,10 @@ CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
@@ -1542,6 +1559,7 @@ CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1550,13 +1568,13 @@ CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
@@ -1564,6 +1582,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1571,11 +1590,11 @@ CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_PL111=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
@@ -1588,6 +1607,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_STI=m
CONFIG_DRM_STM_DSI=m
CONFIG_DRM_STM=m
@@ -1603,11 +1623,14 @@ CONFIG_DRM_SUN8I_MIXER=m
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
# CONFIG_DRM_TILCDC is not set
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
CONFIG_DRM_V3D=m
@@ -1791,6 +1814,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1833,6 +1858,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FAIL_FUNCTION=y
@@ -1967,6 +1993,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -2037,6 +2066,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPIO_74X164=m
# CONFIG_GPIO_74XX_MMIO is not set
@@ -2152,7 +2182,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -2163,6 +2193,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -2184,6 +2215,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2242,12 +2274,13 @@ CONFIG_HID=y
CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_HIGHMEM=y
-# CONFIG_HIGHPTE is not set
+CONFIG_HIGHPTE=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
# CONFIG_HISILICON_IRQ_MBIGEN is not set
CONFIG_HISI_PMU=y
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2284,6 +2317,7 @@ CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_KEYSTONE=m
@@ -2401,6 +2435,7 @@ CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2423,6 +2458,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2492,6 +2528,7 @@ CONFIG_IMA=y
CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
+CONFIG_IMX8MM_THERMAL=m
# CONFIG_IMX_DMA is not set
CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
@@ -2499,6 +2536,7 @@ CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IPUV3_CORE is not set
# CONFIG_IMX_IRQSTEER is not set
CONFIG_IMX_MBOX=m
+CONFIG_IMX_REMOTEPROC=m
# CONFIG_IMX_SCU is not set
CONFIG_IMX_SC_WDT=m
CONFIG_IMX_SDMA=m
@@ -2636,7 +2674,9 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+CONFIG_INTERCONNECT_QCOM_OSM_L3=m
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
+CONFIG_INTERCONNECT_QCOM_SC7180=m
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
CONFIG_INV_MPU6050_IIO=m
@@ -2755,6 +2795,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3221,6 +3262,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_MAG3110=m
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3285,10 +3327,13 @@ CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
+CONFIG_MDIO_IPQ8064=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -3348,6 +3393,7 @@ CONFIG_MESON_IRQ_GPIO=y
CONFIG_MESON_MX_EFUSE=m
CONFIG_MESON_MX_SOCINFO=y
CONFIG_MESON_SARADC=m
+CONFIG_MESON_SECURE_PM_DOMAINS=y
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3384,6 +3430,7 @@ CONFIG_MFD_CROS_EC_DEV=m
# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_EXYNOS_LPASS=m
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3466,6 +3513,7 @@ CONFIG_MFD_WL1273_CORE=m
CONFIG_MFD_WM8994=m
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3497,6 +3545,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_INFINIBAND is not set
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3537,6 +3586,7 @@ CONFIG_MMC_DW=m
CONFIG_MMC_DW_PCI=m
CONFIG_MMC_DW_PLTFM=m
CONFIG_MMC_DW_ROCKCHIP=m
+CONFIG_MMC_HSQ=m
# CONFIG_MMC_MESON_GX is not set
CONFIG_MMC_MESON_MX_SDIO=m
# CONFIG_MMC_MTK is not set
@@ -4380,6 +4430,7 @@ CONFIG_OMAP_IOMMU=y
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
CONFIG_OMAP_OCP2SCP=m
CONFIG_OMAP_REMOTEPROC=m
+CONFIG_OMAP_REMOTEPROC_WATCHDOG=y
CONFIG_OMAP_RESET_CLOCKS=y
CONFIG_OMAP_USB2=m
CONFIG_OMAP_WATCHDOG=m
@@ -4503,6 +4554,7 @@ CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW=y
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4562,6 +4614,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_EXYNOS5250_SATA=m
@@ -4575,6 +4628,8 @@ CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
+CONFIG_PHY_MESON_AXG_PCIE=m
CONFIG_PHY_MESON_G12A_USB2=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
@@ -4593,8 +4648,10 @@ CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_QCOM_PCIE2 is not set
CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HS_28NM=m
# CONFIG_PHY_QCOM_USB_HSIC is not set
# CONFIG_PHY_QCOM_USB_HS is not set
+CONFIG_PHY_QCOM_USB_SS=m
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
@@ -4630,7 +4687,12 @@ CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+# CONFIG_PINCTRL_IMX8MP is not set
+CONFIG_PINCTRL_IMX8MQ=y
# CONFIG_PINCTRL_IPQ4019 is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -4777,6 +4839,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVE_RCU=y
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
@@ -4798,6 +4861,7 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
@@ -4805,6 +4869,7 @@ CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
CONFIG_PWM_BCM2835=m
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_IMX1 is not set
@@ -4988,7 +5053,9 @@ CONFIG_REGULATOR_MAX8952=m
CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
@@ -5056,6 +5123,8 @@ CONFIG_RESET_TI_SYSCON=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -5074,7 +5143,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5322,7 +5391,9 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
+# CONFIG_SC_MSS_7180 is not set
# CONFIG_SCR24X is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
@@ -5490,6 +5561,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
@@ -5706,9 +5778,12 @@ CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_RP2 is not set
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
CONFIG_SERIAL_ST_ASC_CONSOLE=y
CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_STM32_CONSOLE=y
@@ -5774,6 +5849,7 @@ CONFIG_SMC_DIAG=m
CONFIG_SMC=m
# CONFIG_SM_FTL is not set
# CONFIG_SM_GCC_8150 is not set
+CONFIG_SM_GCC_8250=m
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -5807,6 +5883,7 @@ CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
CONFIG_SND_BCM2835=m
CONFIG_SND_BCM2835_SOC_I2S=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5900,6 +5977,7 @@ CONFIG_SND=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_MESON_AIU=m
# CONFIG_SND_MESON_AXG_FRDDR is not set
# CONFIG_SND_MESON_AXG_PDM is not set
# CONFIG_SND_MESON_AXG_SOUND_CARD is not set
@@ -5908,7 +5986,9 @@ CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_MESON_AXG_TDMIN is not set
# CONFIG_SND_MESON_AXG_TDMOUT is not set
# CONFIG_SND_MESON_AXG_TODDR is not set
+CONFIG_SND_MESON_G12A_TOACODEC=m
CONFIG_SND_MESON_G12A_TOHDMITX=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_MIA=m
CONFIG_SND_MIXART=m
CONFIG_SND_MIXER_OSS=m
@@ -6029,6 +6109,7 @@ CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MESON_T9015=m
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
@@ -6073,6 +6154,7 @@ CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -6086,6 +6168,7 @@ CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6129,6 +6212,7 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# CONFIG_SND_SOC_TEGRA_WM8903 is not set
# CONFIG_SND_SOC_TEGRA_WM9712 is not set
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -6203,7 +6287,7 @@ CONFIG_SND_VX222=m
# CONFIG_SND_XEN_FRONTEND is not set
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_AM33XX is not set
-CONFIG_SOC_AM43XX=y
+# CONFIG_SOC_AM43XX is not set
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
CONFIG_SOC_DRA7XX=y
@@ -6216,6 +6300,7 @@ CONFIG_SOC_EXYNOS5800=y
# CONFIG_SOC_HAS_OMAP2_SDRC is not set
CONFIG_SOC_HAS_REALTIME_COUNTER=y
# CONFIG_SOC_IMX6SLL is not set
+CONFIG_SOC_IMX8M=y
# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP5=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
@@ -6248,6 +6333,7 @@ CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
CONFIG_SPI_FSL_SPI=m
@@ -6261,6 +6347,7 @@ CONFIG_SPI_MEM=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -6375,6 +6462,7 @@ CONFIG_SUN4I_GPADC=m
# CONFIG_SUN50I_DE2_BUS is not set
CONFIG_SUN5I_CCU=y
CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN6I_MSGBOX=y
CONFIG_SUN8I_A23_CCU=y
CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
@@ -6517,8 +6605,10 @@ CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+CONFIG_TEST_LOCKUP=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -6594,6 +6684,7 @@ CONFIG_TI_MESSAGE_MANAGER=m
CONFIG_TINYDRM_HX8357D=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
+CONFIG_TINYDRM_ILI9486=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
@@ -6609,6 +6700,7 @@ CONFIG_TI_PWMSS=y
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -6751,6 +6843,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
@@ -6996,6 +7089,7 @@ CONFIG_USB_M5602=m
# CONFIG_USB_M66592 is not set
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -7066,6 +7160,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597 is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -7205,6 +7300,9 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VDSO=y
CONFIG_VEML6030=m
CONFIG_VEML6070=m
@@ -7232,8 +7330,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -7282,6 +7382,7 @@ CONFIG_VIDEO_GO7007_LOADER=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
+CONFIG_VIDEO_HANTRO_IMX8M=y
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
CONFIG_VIDEO_HDPVR=m
@@ -7332,6 +7433,7 @@ CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
CONFIG_VIDEO_SUN8I_DEINTERLACE=m
+CONFIG_VIDEO_SUN8I_ROTATE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7346,7 +7448,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -7367,6 +7469,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -7521,11 +7624,12 @@ CONFIG_XFS_WARN=y
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
-# CONFIG_XILINX_XADC is not set
+CONFIG_XILINX_XADC=m
# CONFIG_XILINX_ZYNQMP_DMA is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -7560,5 +7664,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-armv7hl-lpae-fedora.config b/kernel-armv7hl-lpae-fedora.config
index 2bc45fa97..f485c88d6 100644
--- a/kernel-armv7hl-lpae-fedora.config
+++ b/kernel-armv7hl-lpae-fedora.config
@@ -65,6 +65,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -157,10 +158,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -170,7 +173,7 @@ CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
# CONFIG_AM2315 is not set
-CONFIG_AM335X_PHY_USB=m
+# CONFIG_AM335X_PHY_USB is not set
CONFIG_AMBA_PL08X=y
CONFIG_AMD8111_ETH=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
@@ -183,6 +186,7 @@ CONFIG_AMLOGIC_THERMAL=m
CONFIG_APDS9802ALS=m
CONFIG_APDS9960=m
# CONFIG_APM_EMULATION is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -222,6 +226,7 @@ CONFIG_ARCH_HAS_TICK_BROADCAST=y
CONFIG_ARCH_HIGHBANK=y
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IPQ40XX is not set
# CONFIG_ARCH_IXP4XX is not set
CONFIG_ARCH_KEYSTONE=y
# CONFIG_ARCH_MEDIATEK is not set
@@ -364,6 +369,7 @@ CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_ARM_SPE_PMU=m
CONFIG_ARM_TEGRA124_CPUFREQ=y
# CONFIG_ARM_TEGRA20_CPUFREQ is not set
+CONFIG_ARM_TEGRA_CPUIDLE=y
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
@@ -521,6 +527,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -672,6 +679,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -918,6 +926,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -1075,10 +1084,12 @@ CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1154,6 +1165,7 @@ CONFIG_CRYPTO_DEV_OMAP_SHAM=m
CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set
# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set
+CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1371,6 +1383,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_BCM2835=m
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1454,6 +1467,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_DUMB_VGA_DAC=m
@@ -1523,7 +1537,10 @@ CONFIG_DRM_OMAP=m
CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
CONFIG_DRM_PANEL_ILITEK_IL9322=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
@@ -1535,6 +1552,7 @@ CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_LVDS=m
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1543,13 +1561,13 @@ CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
CONFIG_DRM_PANEL_RAYDIUM_RM68200=m
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
@@ -1557,6 +1575,7 @@ CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1564,11 +1583,11 @@ CONFIG_DRM_PANEL_SITRONIX_ST7701=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANFROST=m
CONFIG_DRM_PARADE_PS8622=m
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_PL111=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
@@ -1581,6 +1600,7 @@ CONFIG_DRM_ROCKCHIP=m
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
CONFIG_DRM_STI=m
CONFIG_DRM_STM_DSI=m
CONFIG_DRM_STM=m
@@ -1596,11 +1616,14 @@ CONFIG_DRM_SUN8I_MIXER=m
CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
# CONFIG_DRM_TILCDC is not set
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
CONFIG_DRM_V3D=m
@@ -1784,6 +1807,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1826,6 +1851,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
# CONFIG_FAIL_FUTEX is not set
@@ -1952,6 +1978,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -2022,6 +2051,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPIO_74X164=m
# CONFIG_GPIO_74XX_MMIO is not set
@@ -2137,7 +2167,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -2148,6 +2178,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -2169,6 +2200,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2227,12 +2259,13 @@ CONFIG_HID=y
CONFIG_HID_ZEROPLUS=m
CONFIG_HID_ZYDACRON=m
CONFIG_HIGHMEM=y
-# CONFIG_HIGHPTE is not set
+CONFIG_HIGHPTE=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
# CONFIG_HISILICON_IRQ_MBIGEN is not set
CONFIG_HISI_PMU=y
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2269,6 +2302,7 @@ CONFIG_HW_PERF_EVENTS=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_IPROC_RNG200=m
CONFIG_HW_RANDOM_KEYSTONE=m
@@ -2386,6 +2420,7 @@ CONFIG_I6300ESB_WDT=m
CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -2408,6 +2443,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2477,6 +2513,7 @@ CONFIG_IMA=y
CONFIG_IMX2_WDT=m
CONFIG_IMX7D_ADC=m
# CONFIG_IMX7ULP_WDT is not set
+CONFIG_IMX8MM_THERMAL=m
# CONFIG_IMX_DMA is not set
CONFIG_IMX_DSP=m
CONFIG_IMX_GPCV2_PM_DOMAINS=y
@@ -2484,6 +2521,7 @@ CONFIG_IMX_GPCV2=y
# CONFIG_IMX_IPUV3_CORE is not set
# CONFIG_IMX_IRQSTEER is not set
CONFIG_IMX_MBOX=m
+CONFIG_IMX_REMOTEPROC=m
# CONFIG_IMX_SCU is not set
CONFIG_IMX_SC_WDT=m
CONFIG_IMX_SDMA=m
@@ -2621,7 +2659,9 @@ CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
CONFIG_INTERCONNECT_QCOM_MSM8916=m
# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
+CONFIG_INTERCONNECT_QCOM_OSM_L3=m
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
+CONFIG_INTERCONNECT_QCOM_SC7180=m
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
CONFIG_INV_MPU6050_IIO=m
@@ -2740,6 +2780,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3204,6 +3245,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
CONFIG_MAG3110=m
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3267,10 +3309,13 @@ CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
+CONFIG_MDIO_IPQ8064=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
CONFIG_MDIO_SUN4I=m
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -3330,6 +3375,7 @@ CONFIG_MESON_IRQ_GPIO=y
CONFIG_MESON_MX_EFUSE=m
CONFIG_MESON_MX_SOCINFO=y
CONFIG_MESON_SARADC=m
+CONFIG_MESON_SECURE_PM_DOMAINS=y
CONFIG_MESON_SM=y
CONFIG_MESON_WATCHDOG=m
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@@ -3366,6 +3412,7 @@ CONFIG_MFD_CROS_EC_DEV=m
# CONFIG_MFD_DLN2 is not set
CONFIG_MFD_EXYNOS_LPASS=m
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3448,6 +3495,7 @@ CONFIG_MFD_WL1273_CORE=m
CONFIG_MFD_WM8994=m
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
CONFIG_MICREL_KS8995MA=m
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3479,6 +3527,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_INFINIBAND is not set
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3519,6 +3568,7 @@ CONFIG_MMC_DW=m
CONFIG_MMC_DW_PCI=m
CONFIG_MMC_DW_PLTFM=m
CONFIG_MMC_DW_ROCKCHIP=m
+CONFIG_MMC_HSQ=m
# CONFIG_MMC_MESON_GX is not set
CONFIG_MMC_MESON_MX_SDIO=m
# CONFIG_MMC_MTK is not set
@@ -4361,6 +4411,7 @@ CONFIG_OMAP_IOMMU=y
CONFIG_OMAP_MBOX_KFIFO_SIZE=256
CONFIG_OMAP_OCP2SCP=m
CONFIG_OMAP_REMOTEPROC=m
+CONFIG_OMAP_REMOTEPROC_WATCHDOG=y
CONFIG_OMAP_RESET_CLOCKS=y
CONFIG_OMAP_USB2=m
CONFIG_OMAP_WATCHDOG=m
@@ -4484,6 +4535,7 @@ CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW=y
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -4543,6 +4595,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_EXYNOS5250_SATA=m
@@ -4556,6 +4609,8 @@ CONFIG_PHYLIB=y
CONFIG_PHYLINK=m
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
CONFIG_PHY_MESON8B_USB2=m
+CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
+CONFIG_PHY_MESON_AXG_PCIE=m
CONFIG_PHY_MESON_G12A_USB2=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
@@ -4574,8 +4629,10 @@ CONFIG_PHY_MVEBU_SATA=y
# CONFIG_PHY_QCOM_PCIE2 is not set
CONFIG_PHY_QCOM_UFS_14NM=m
CONFIG_PHY_QCOM_UFS=m
+CONFIG_PHY_QCOM_USB_HS_28NM=m
# CONFIG_PHY_QCOM_USB_HSIC is not set
# CONFIG_PHY_QCOM_USB_HS is not set
+CONFIG_PHY_QCOM_USB_SS=m
CONFIG_PHY_ROCKCHIP_DPHY_RX0=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
@@ -4611,7 +4668,12 @@ CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
+CONFIG_PINCTRL_IMX8MM=y
+CONFIG_PINCTRL_IMX8MN=y
+# CONFIG_PINCTRL_IMX8MP is not set
+CONFIG_PINCTRL_IMX8MQ=y
# CONFIG_PINCTRL_IPQ4019 is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -4758,6 +4820,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_PSI=y
@@ -4778,6 +4841,7 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
@@ -4785,6 +4849,7 @@ CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
CONFIG_PWM_BCM2835=m
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_IMX1 is not set
@@ -4968,7 +5033,9 @@ CONFIG_REGULATOR_MAX8952=m
CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
CONFIG_REGULATOR_PALMAS=y
@@ -5036,6 +5103,8 @@ CONFIG_RESET_TI_SYSCON=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -5054,7 +5123,7 @@ CONFIG_RMI4_SMB=m
CONFIG_RMI4_SPI=m
# CONFIG_RMNET is not set
CONFIG_ROCKCHIP_ANALOGIX_DP=y
-# CONFIG_ROCKCHIP_CDN_DP is not set
+CONFIG_ROCKCHIP_CDN_DP=y
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
CONFIG_ROCKCHIP_EFUSE=m
@@ -5302,7 +5371,9 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
+# CONFIG_SC_MSS_7180 is not set
# CONFIG_SCR24X is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
@@ -5470,6 +5541,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
@@ -5686,9 +5758,12 @@ CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_SERIAL_RP2 is not set
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_SAMSUNG=y
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
CONFIG_SERIAL_ST_ASC_CONSOLE=y
CONFIG_SERIAL_ST_ASC=y
CONFIG_SERIAL_STM32_CONSOLE=y
@@ -5754,6 +5829,7 @@ CONFIG_SMC_DIAG=m
CONFIG_SMC=m
# CONFIG_SM_FTL is not set
# CONFIG_SM_GCC_8150 is not set
+CONFIG_SM_GCC_8250=m
CONFIG_SMP_ON_UP=y
CONFIG_SMP=y
CONFIG_SMSC911X=m
@@ -5787,6 +5863,7 @@ CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
CONFIG_SND_BCM2835=m
CONFIG_SND_BCM2835_SOC_I2S=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5880,6 +5957,7 @@ CONFIG_SND=m
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MAESTRO3=m
CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_MESON_AIU=m
# CONFIG_SND_MESON_AXG_FRDDR is not set
# CONFIG_SND_MESON_AXG_PDM is not set
# CONFIG_SND_MESON_AXG_SOUND_CARD is not set
@@ -5888,7 +5966,9 @@ CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_MESON_AXG_TDMIN is not set
# CONFIG_SND_MESON_AXG_TDMOUT is not set
# CONFIG_SND_MESON_AXG_TODDR is not set
+CONFIG_SND_MESON_G12A_TOACODEC=m
CONFIG_SND_MESON_G12A_TOHDMITX=m
+CONFIG_SND_MESON_GX_SOUND_CARD=m
CONFIG_SND_MIA=m
CONFIG_SND_MIXART=m
CONFIG_SND_MIXER_OSS=m
@@ -6008,6 +6088,7 @@ CONFIG_SND_SOC_MAX98373=m
# CONFIG_SND_SOC_MAX9860 is not set
CONFIG_SND_SOC_MAX9867=m
CONFIG_SND_SOC_MAX98927=m
+CONFIG_SND_SOC_MESON_T9015=m
# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
# CONFIG_SND_SOC_MT6351 is not set
@@ -6052,6 +6133,7 @@ CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
# CONFIG_SND_SOC_RT5616 is not set
CONFIG_SND_SOC_RT5631=m
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -6065,6 +6147,7 @@ CONFIG_SND_SOC_SMDK_WM8994_PCM=m
CONFIG_SND_SOC_SNOW=m
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6108,6 +6191,7 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m
# CONFIG_SND_SOC_TEGRA_WM8903 is not set
# CONFIG_SND_SOC_TEGRA_WM9712 is not set
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
CONFIG_SND_SOC_TLV320AIC23_I2C=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC23_SPI=m
@@ -6182,7 +6266,7 @@ CONFIG_SND_VX222=m
# CONFIG_SND_XEN_FRONTEND is not set
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_AM33XX is not set
-CONFIG_SOC_AM43XX=y
+# CONFIG_SOC_AM43XX is not set
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
CONFIG_SOC_DRA7XX=y
@@ -6195,6 +6279,7 @@ CONFIG_SOC_EXYNOS5800=y
# CONFIG_SOC_HAS_OMAP2_SDRC is not set
CONFIG_SOC_HAS_REALTIME_COUNTER=y
# CONFIG_SOC_IMX6SLL is not set
+CONFIG_SOC_IMX8M=y
# CONFIG_SOC_LS1021A is not set
CONFIG_SOC_OMAP5=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
@@ -6227,6 +6312,7 @@ CONFIG_SPI_DESIGNWARE=m
# CONFIG_SPI_DW_MID_DMA is not set
CONFIG_SPI_DW_MMIO=m
CONFIG_SPI_DW_PCI=m
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
CONFIG_SPI_FSL_SPI=m
@@ -6240,6 +6326,7 @@ CONFIG_SPI_MEM=y
CONFIG_SPI_MESON_SPICC=m
CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -6354,6 +6441,7 @@ CONFIG_SUN4I_GPADC=m
# CONFIG_SUN50I_DE2_BUS is not set
CONFIG_SUN5I_CCU=y
CONFIG_SUN6I_A31_CCU=y
+CONFIG_SUN6I_MSGBOX=y
CONFIG_SUN8I_A23_CCU=y
CONFIG_SUN8I_A33_CCU=y
CONFIG_SUN8I_A83T_CCU=y
@@ -6496,8 +6584,10 @@ CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_LOCKUP is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -6573,6 +6663,7 @@ CONFIG_TI_MESSAGE_MANAGER=m
CONFIG_TINYDRM_HX8357D=m
CONFIG_TINYDRM_ILI9225=m
CONFIG_TINYDRM_ILI9341=m
+CONFIG_TINYDRM_ILI9486=m
CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
@@ -6588,6 +6679,7 @@ CONFIG_TI_PWMSS=y
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
CONFIG_TI_THERMAL=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TLAN is not set
@@ -6730,6 +6822,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
@@ -6975,6 +7068,7 @@ CONFIG_USB_M5602=m
# CONFIG_USB_M66592 is not set
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -7045,6 +7139,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597 is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -7184,6 +7279,9 @@ CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VDSO=y
CONFIG_VEML6030=m
CONFIG_VEML6070=m
@@ -7211,8 +7309,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -7261,6 +7361,7 @@ CONFIG_VIDEO_GO7007_LOADER=m
CONFIG_VIDEO_GO7007=m
CONFIG_VIDEO_GO7007_USB=m
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m
+CONFIG_VIDEO_HANTRO_IMX8M=y
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_HANTRO_ROCKCHIP=y
CONFIG_VIDEO_HDPVR=m
@@ -7311,6 +7412,7 @@ CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
CONFIG_VIDEO_SUN8I_DEINTERLACE=m
+CONFIG_VIDEO_SUN8I_ROTATE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7325,7 +7427,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -7346,6 +7448,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -7499,11 +7602,12 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
# CONFIG_XILINX_WATCHDOG is not set
-# CONFIG_XILINX_XADC is not set
+CONFIG_XILINX_XADC=m
# CONFIG_XILINX_ZYNQMP_DMA is not set
CONFIG_XILLYBUS=m
# CONFIG_XILLYBUS_OF is not set
@@ -7538,5 +7642,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-i686-debug-fedora.config b/kernel-i686-debug-fedora.config
index eae66431d..947abfce0 100644
--- a/kernel-i686-debug-fedora.config
+++ b/kernel-i686-debug-fedora.config
@@ -1,5 +1,6 @@
# i386
# CONFIG_60XX_WDT is not set
+# CONFIG_64BIT is not set
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -100,6 +101,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -197,12 +199,14 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIENWARE_WMI=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_ALIX is not set
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -230,6 +234,7 @@ CONFIG_APM_CPU_IDLE=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM=y
CONFIG_APPLE_GMUX=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -394,6 +399,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -533,6 +539,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -770,6 +777,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -796,6 +804,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -897,6 +906,7 @@ CONFIG_CRC7=m
CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
+CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_DEBUGFS=m
CONFIG_CROS_EC_ISHTP=m
@@ -904,9 +914,11 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1084,7 +1096,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KOBJECT is not set
@@ -1175,6 +1187,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1253,6 +1266,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1294,7 +1308,10 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1306,6 +1323,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1314,13 +1332,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1328,6 +1346,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1335,10 +1354,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1349,12 +1368,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VBOXVIDEO=m
CONFIG_DRM_VGEM=m
@@ -1458,6 +1481,7 @@ CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=y
CONFIG_DW_EDMA=m
CONFIG_DW_EDMA_PCIE=m
+CONFIG_DWMAC_INTEL=m
# CONFIG_DW_WATCHDOG is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_FTRACE=y
@@ -1549,6 +1573,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1582,6 +1608,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_F71808E_WDT=m
@@ -1726,6 +1753,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1797,6 +1827,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_74X164 is not set
@@ -1903,7 +1934,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1914,6 +1945,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1936,6 +1968,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2000,6 +2033,7 @@ CONFIG_HIGHPTE=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2048,6 +2082,7 @@ CONFIG_HWMON=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
@@ -2159,6 +2194,7 @@ CONFIG_IBM_ASM=m
CONFIG_IBMASR=m
# CONFIG_IBM_RTL is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
CONFIG_IDEAPAD_LAPTOP=m
@@ -2183,6 +2219,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2522,6 +2559,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -2722,7 +2760,7 @@ CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
-# CONFIG_KEYBOARD_APPLESPI is not set
+CONFIG_KEYBOARD_APPLESPI=m
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CAP11XX is not set
@@ -2979,6 +3017,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
@@ -3045,8 +3084,10 @@ CONFIG_MDIO_DEVICE=y
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -3127,6 +3168,7 @@ CONFIG_MFD_CS5535=y
CONFIG_MFD_INTEL_LPSS_ACPI=y
CONFIG_MFD_INTEL_LPSS_PCI=y
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3199,6 +3241,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3237,6 +3280,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_INFINIBAND is not set
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3269,6 +3313,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -4170,6 +4215,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
@@ -4233,6 +4279,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
CONFIG_PHY_INTEL_EMMC=m
@@ -4261,6 +4308,7 @@ CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
CONFIG_PINCTRL_LYNXPOINT=m
@@ -4387,6 +4435,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVE_RCU=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
CONFIG_PSAMPLE=m
@@ -4409,15 +4458,18 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_PVH=y
CONFIG_PVPANIC=m
CONFIG_PWM_CRC=y
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
CONFIG_PWM_LPSS=m
@@ -4434,6 +4486,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4553,7 +4606,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4596,6 +4651,8 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4821,6 +4878,7 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
# CONFIG_SCR24X is not set
CONFIG_SCSI_3W_9XXX=m
@@ -4988,6 +5046,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
@@ -5191,9 +5250,12 @@ CONFIG_SERIAL_NONSTANDARD=y
CONFIG_SERIAL_OF_PLATFORM=m
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -5280,6 +5342,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5504,6 +5567,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5537,7 +5601,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5545,6 +5609,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5558,6 +5623,7 @@ CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set
@@ -5592,6 +5658,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5688,6 +5755,7 @@ CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5697,6 +5765,7 @@ CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5780,6 +5849,7 @@ CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SURFACE_3_BUTTON=m
+CONFIG_SURFACE_3_POWER_OPREGION=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
@@ -5883,8 +5953,10 @@ CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+CONFIG_TEST_LOCKUP=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -5952,6 +6024,7 @@ CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -6093,6 +6166,7 @@ CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
+CONFIG_TYPEC_MUX_INTEL_PMC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
# CONFIG_TYPEC_RT1711H is not set
@@ -6102,6 +6176,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -6297,6 +6372,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -6352,6 +6428,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLES_INTEL_XHCI=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
@@ -6487,6 +6564,9 @@ CONFIG_VBOXGUEST=m
CONFIG_VBOXSF_FS=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6509,8 +6589,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
CONFIG_VGA_SWITCHEROO=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6592,7 +6674,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6613,6 +6695,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6771,6 +6854,7 @@ CONFIG_X86_GENERIC=y
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_INTEL_MID is not set
+CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_QUARK is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
@@ -6899,5 +6983,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-i686-fedora.config b/kernel-i686-fedora.config
index 1c235651f..14d2577e0 100644
--- a/kernel-i686-fedora.config
+++ b/kernel-i686-fedora.config
@@ -1,5 +1,6 @@
# i386
# CONFIG_60XX_WDT is not set
+# CONFIG_64BIT is not set
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -100,6 +101,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -197,12 +199,14 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIENWARE_WMI=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_ALIX is not set
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -230,6 +234,7 @@ CONFIG_APM_CPU_IDLE=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM=y
CONFIG_APPLE_GMUX=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -393,6 +398,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -532,6 +538,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -769,6 +776,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -795,6 +803,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -896,6 +905,7 @@ CONFIG_CRC7=m
CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
+CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
# CONFIG_CROS_EC_DEBUGFS is not set
CONFIG_CROS_EC_ISHTP=m
@@ -903,9 +913,11 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1167,6 +1179,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1244,6 +1257,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1285,7 +1299,10 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1297,6 +1314,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1305,13 +1323,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1319,6 +1337,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1326,10 +1345,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1340,12 +1359,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VBOXVIDEO=m
CONFIG_DRM_VGEM=m
@@ -1449,6 +1472,7 @@ CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=y
CONFIG_DW_EDMA=m
CONFIG_DW_EDMA_PCIE=m
+CONFIG_DWMAC_INTEL=m
# CONFIG_DW_WATCHDOG is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_FTRACE=y
@@ -1540,6 +1564,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1573,6 +1599,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_F71808E_WDT=m
@@ -1709,6 +1736,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1780,6 +1810,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_74X164 is not set
@@ -1886,7 +1917,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1897,6 +1928,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1919,6 +1951,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -1983,6 +2016,7 @@ CONFIG_HIGHPTE=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HOLTEK_FF=y
@@ -2031,6 +2065,7 @@ CONFIG_HWMON=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
@@ -2142,6 +2177,7 @@ CONFIG_IBM_ASM=m
CONFIG_IBMASR=m
# CONFIG_IBM_RTL is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
CONFIG_IDEAPAD_LAPTOP=m
@@ -2166,6 +2202,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2505,6 +2542,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -2703,7 +2741,7 @@ CONFIG_KEXEC=y
# CONFIG_KEYBOARD_ADC is not set
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
-# CONFIG_KEYBOARD_APPLESPI is not set
+CONFIG_KEYBOARD_APPLESPI=m
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CAP11XX is not set
@@ -2960,6 +2998,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
@@ -3026,8 +3065,10 @@ CONFIG_MDIO_DEVICE=y
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -3108,6 +3149,7 @@ CONFIG_MFD_CS5535=y
CONFIG_MFD_INTEL_LPSS_ACPI=y
CONFIG_MFD_INTEL_LPSS_PCI=y
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3180,6 +3222,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -3218,6 +3261,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_INFINIBAND is not set
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3250,6 +3294,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -4151,6 +4196,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
@@ -4214,6 +4260,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
CONFIG_PHY_INTEL_EMMC=m
@@ -4242,6 +4289,7 @@ CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
CONFIG_PINCTRL_LYNXPOINT=m
@@ -4368,6 +4416,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
@@ -4389,15 +4438,18 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_PVH=y
CONFIG_PVPANIC=m
CONFIG_PWM_CRC=y
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
CONFIG_PWM_LPSS=m
@@ -4414,6 +4466,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4533,7 +4586,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4576,6 +4631,8 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4801,6 +4858,7 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
# CONFIG_SCR24X is not set
CONFIG_SCSI_3W_9XXX=m
@@ -4968,6 +5026,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
@@ -5171,9 +5230,12 @@ CONFIG_SERIAL_NONSTANDARD=y
CONFIG_SERIAL_OF_PLATFORM=m
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -5260,6 +5322,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5483,6 +5546,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5516,7 +5580,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5524,6 +5588,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5537,6 +5602,7 @@ CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set
@@ -5571,6 +5637,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5667,6 +5734,7 @@ CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5676,6 +5744,7 @@ CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5759,6 +5828,7 @@ CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SURFACE_3_BUTTON=m
+CONFIG_SURFACE_3_POWER_OPREGION=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
@@ -5862,8 +5932,10 @@ CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_LOCKUP is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -5931,6 +6003,7 @@ CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -6072,6 +6145,7 @@ CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
+CONFIG_TYPEC_MUX_INTEL_PMC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
# CONFIG_TYPEC_RT1711H is not set
@@ -6081,6 +6155,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -6276,6 +6351,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -6331,6 +6407,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLES_INTEL_XHCI=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
@@ -6466,6 +6543,9 @@ CONFIG_VBOXGUEST=m
CONFIG_VBOXSF_FS=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6488,8 +6568,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
CONFIG_VGA_SWITCHEROO=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6571,7 +6653,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6592,6 +6674,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6750,6 +6833,7 @@ CONFIG_X86_GENERIC=y
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_INTEL_MID is not set
+CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_QUARK is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
@@ -6877,5 +6961,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config
index d19eb7b28..e142cc157 100644
--- a/kernel-ppc64le-debug-fedora.config
+++ b/kernel-ppc64le-debug-fedora.config
@@ -64,6 +64,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -151,10 +152,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -174,6 +177,7 @@ CONFIG_AMIGA_PARTITION=y
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
# CONFIG_APDS9960 is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -332,6 +336,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -471,6 +476,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -706,6 +712,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -729,6 +736,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -772,6 +780,7 @@ CONFIG_COMMON_CLK_SI544=m
CONFIG_COMPACTION=y
CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
+# CONFIG_COMPAT is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
@@ -834,9 +843,11 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1004,7 +1015,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KOBJECT is not set
@@ -1085,6 +1096,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1156,6 +1168,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1186,7 +1199,10 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1198,6 +1214,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1206,13 +1223,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1220,6 +1237,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1227,10 +1245,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1241,12 +1259,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VGEM=m
@@ -1406,6 +1428,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1439,6 +1463,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FA_DUMP=y
@@ -1571,6 +1596,9 @@ CONFIG_FSI_OCC=m
CONFIG_FSI_SBEFIFO=m
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_LBC is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -1639,6 +1667,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_74XX_MMIO is not set
@@ -1733,7 +1762,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1744,6 +1773,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1765,6 +1795,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -1825,6 +1856,7 @@ CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HMM_MIRROR=y
@@ -1868,6 +1900,7 @@ CONFIG_HWLAT_TRACER=y
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_HWMON=y
CONFIG_HWPOISON_INJECT=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -1963,6 +1996,7 @@ CONFIG_IBMVETH=m
CONFIG_IBMVMC=m
CONFIG_IBMVNIC=m
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -1985,6 +2019,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2280,6 +2315,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -2718,6 +2754,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
@@ -2782,8 +2819,10 @@ CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -2864,6 +2903,7 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -2936,6 +2976,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -2967,6 +3008,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -2998,6 +3040,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -3864,6 +3907,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -3915,6 +3959,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
# CONFIG_PHY_INTEL_EMMC is not set
@@ -3934,6 +3979,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_EQUILIBRIUM is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -3987,6 +4033,7 @@ CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_TRACE=y
+# CONFIG_PMU_SYSFS is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PNFS_BLOCK=m
@@ -4086,6 +4133,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVE_RCU=y
CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
@@ -4109,11 +4157,13 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
@@ -4127,6 +4177,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4245,7 +4296,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4286,6 +4339,8 @@ CONFIG_REMOTEPROC=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4511,6 +4566,7 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
CONFIG_SCOM_DEBUGFS=y
# CONFIG_SCR24X is not set
@@ -4672,6 +4728,7 @@ CONFIG_SENSORS_APDS990X=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
@@ -4867,9 +4924,12 @@ CONFIG_SERIAL_NONSTANDARD=y
CONFIG_SERIAL_OF_PLATFORM=m
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -4955,6 +5015,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5168,7 +5229,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5176,6 +5237,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5184,6 +5246,7 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5207,6 +5270,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5298,6 +5362,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5307,6 +5372,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5490,8 +5556,10 @@ CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+CONFIG_TEST_LOCKUP=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -5552,6 +5620,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -5697,6 +5766,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -5891,6 +5961,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -5949,6 +6020,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -6080,6 +6152,9 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6099,8 +6174,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6177,7 +6254,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6198,6 +6275,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6352,6 +6430,7 @@ CONFIG_XFS_WARN=y
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_EMACLITE is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
@@ -6391,5 +6470,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config
index 8074efba2..ecf65b16c 100644
--- a/kernel-ppc64le-fedora.config
+++ b/kernel-ppc64le-fedora.config
@@ -64,6 +64,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -151,10 +152,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -174,6 +177,7 @@ CONFIG_AMIGA_PARTITION=y
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
# CONFIG_APDS9960 is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -331,6 +335,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -470,6 +475,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -705,6 +711,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -728,6 +735,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -771,6 +779,7 @@ CONFIG_COMMON_CLK_SI544=m
CONFIG_COMPACTION=y
CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
+# CONFIG_COMPAT is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
CONFIG_CONNECTOR=y
@@ -833,9 +842,11 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1077,6 +1088,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1147,6 +1159,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1177,7 +1190,10 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1189,6 +1205,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1197,13 +1214,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1211,6 +1228,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1218,10 +1236,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1232,12 +1250,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VGEM=m
@@ -1397,6 +1419,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1430,6 +1454,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FA_DUMP=y
@@ -1554,6 +1579,9 @@ CONFIG_FSI_OCC=m
CONFIG_FSI_SBEFIFO=m
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_LBC is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -1622,6 +1650,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_74XX_MMIO is not set
@@ -1716,7 +1745,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1727,6 +1756,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1748,6 +1778,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -1808,6 +1839,7 @@ CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HMM_MIRROR=y
@@ -1851,6 +1883,7 @@ CONFIG_HWLAT_TRACER=y
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_HWMON=y
CONFIG_HWPOISON_INJECT=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -1946,6 +1979,7 @@ CONFIG_IBMVETH=m
CONFIG_IBMVMC=m
CONFIG_IBMVNIC=m
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -1968,6 +2002,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2263,6 +2298,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -2699,6 +2735,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
@@ -2762,8 +2799,10 @@ CONFIG_MDIO_GPIO=m
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -2844,6 +2883,7 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -2916,6 +2956,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -2947,6 +2988,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -2978,6 +3020,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -3843,6 +3886,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -3894,6 +3938,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
# CONFIG_PHY_INTEL_EMMC is not set
@@ -3913,6 +3958,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_EQUILIBRIUM is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -3966,6 +4012,7 @@ CONFIG_PM_STD_PARTITION=""
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_TRACE=y
+# CONFIG_PMU_SYSFS is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PNFS_BLOCK=m
@@ -4065,6 +4112,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PSAMPLE=m
CONFIG_PSERIES_CPUIDLE=y
CONFIG_PSERIES_ENERGY=m
@@ -4087,11 +4135,13 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM_PCA9685 is not set
@@ -4105,6 +4155,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4223,7 +4274,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4264,6 +4317,8 @@ CONFIG_REMOTEPROC=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4489,6 +4544,7 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
CONFIG_SCOM_DEBUGFS=y
# CONFIG_SCR24X is not set
@@ -4650,6 +4706,7 @@ CONFIG_SENSORS_APDS990X=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
@@ -4845,9 +4902,12 @@ CONFIG_SERIAL_NONSTANDARD=y
CONFIG_SERIAL_OF_PLATFORM=m
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -4933,6 +4993,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5145,7 +5206,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5153,6 +5214,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5161,6 +5223,7 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5184,6 +5247,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5275,6 +5339,7 @@ CONFIG_SPARSEMEM_VMEMMAP=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5284,6 +5349,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5467,8 +5533,10 @@ CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_LOCKUP is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -5529,6 +5597,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -5674,6 +5743,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -5868,6 +5938,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -5926,6 +5997,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -6057,6 +6129,9 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6076,8 +6151,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6154,7 +6231,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6175,6 +6252,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6328,6 +6406,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_DMA is not set
# CONFIG_XILINX_EMACLITE is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
@@ -6367,5 +6446,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config
index 0847ad850..8001ff78d 100644
--- a/kernel-s390x-debug-fedora.config
+++ b/kernel-s390x-debug-fedora.config
@@ -1,5 +1,6 @@
# s390
# CONFIG_60XX_WDT is not set
+CONFIG_64BIT=y
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -64,6 +65,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -151,10 +153,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
# CONFIG_ALIM7101_WDT is not set
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -177,6 +181,7 @@ CONFIG_APPLDATA_BASE=y
CONFIG_APPLDATA_MEM=m
CONFIG_APPLDATA_NET_SUM=m
CONFIG_APPLDATA_OS=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -335,6 +340,7 @@ CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -474,6 +480,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -711,6 +718,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -735,6 +743,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -839,9 +848,11 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1013,7 +1024,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KOBJECT is not set
@@ -1091,6 +1102,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1162,6 +1174,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1192,7 +1205,10 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1204,6 +1220,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1212,13 +1229,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1226,6 +1243,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1233,10 +1251,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
@@ -1247,12 +1265,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VGEM=m
@@ -1412,6 +1434,8 @@ CONFIG_ETHERNET=y
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
CONFIG_EXPOLINE_AUTO=y
# CONFIG_EXPOLINE_FULL is not set
@@ -1445,6 +1469,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_FAIL_FUNCTION=y
@@ -1570,6 +1595,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1636,6 +1664,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_ADNP is not set
@@ -1726,7 +1755,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1737,6 +1766,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=m
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1759,6 +1789,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -1818,6 +1849,7 @@ CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
CONFIG_HMC_DRV=m
CONFIG_HOLTEK_FF=y
@@ -1852,6 +1884,7 @@ CONFIG_HWLAT_TRACER=y
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_HWMON=m
CONFIG_HWPOISON_INJECT=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_S390=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
@@ -1941,6 +1974,7 @@ CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_IBM_PARTITION=y
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -1963,6 +1997,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2256,6 +2291,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -2690,6 +2726,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
@@ -2756,8 +2793,10 @@ CONFIG_MDIO_DEVICE=y
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -2838,6 +2877,7 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -2910,6 +2950,7 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -2941,6 +2982,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -2972,6 +3014,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
# CONFIG_MMC is not set
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -3676,7 +3719,7 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-CONFIG_NODES_SHIFT=4
+CONFIG_NODES_SHIFT=1
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
@@ -3827,6 +3870,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -3880,6 +3924,7 @@ CONFIG_PFAULT=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
# CONFIG_PHY_INTEL_EMMC is not set
@@ -3899,6 +3944,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_EQUILIBRIUM is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -4015,6 +4061,7 @@ CONFIG_PROC_VMCORE=y
CONFIG_PROFILING=y
# CONFIG_PROTECTED_VIRTUALIZATION_GUEST is not set
CONFIG_PROVE_LOCKING=y
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVE_RCU=y
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
@@ -4036,11 +4083,13 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM is not set
@@ -4054,6 +4103,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QDIO=m
CONFIG_QEDE=m
@@ -4064,6 +4114,8 @@ CONFIG_QED_SRIOV=y
CONFIG_QETH_L2=m
CONFIG_QETH_L3=m
CONFIG_QETH=m
+CONFIG_QETH_OSN=y
+CONFIG_QETH_OSX=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QLA3XXX=m
@@ -4176,7 +4228,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4218,6 +4272,8 @@ CONFIG_REMOTEPROC=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL is not set
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4450,6 +4506,7 @@ CONFIG_SCHED_MC=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TOPOLOGY=y
CONFIG_SCHED_TRACER=y
CONFIG_SCLP_CONSOLE=y
@@ -4614,6 +4671,7 @@ CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
@@ -4806,9 +4864,12 @@ CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -4895,6 +4956,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5107,7 +5169,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5115,6 +5177,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5123,6 +5186,7 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5146,6 +5210,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5234,6 +5299,7 @@ CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5243,6 +5309,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5423,8 +5490,10 @@ CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+CONFIG_TEST_LOCKUP=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -5485,6 +5554,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -5636,6 +5706,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -5828,6 +5899,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -5883,6 +5955,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -6014,6 +6087,9 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6035,8 +6111,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6113,7 +6191,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6134,6 +6212,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6290,6 +6369,7 @@ CONFIG_XFS_WARN=y
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
@@ -6328,5 +6408,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config
index a6b43f2e9..5a4d45ade 100644
--- a/kernel-s390x-fedora.config
+++ b/kernel-s390x-fedora.config
@@ -1,5 +1,6 @@
# s390
# CONFIG_60XX_WDT is not set
+CONFIG_64BIT=y
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -64,6 +65,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -151,10 +153,12 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
# CONFIG_AK8975 is not set
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIM1535_WDT=m
# CONFIG_ALIM7101_WDT is not set
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -177,6 +181,7 @@ CONFIG_APPLDATA_BASE=y
CONFIG_APPLDATA_MEM=m
CONFIG_APPLDATA_NET_SUM=m
CONFIG_APPLDATA_OS=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -334,6 +339,7 @@ CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -473,6 +479,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -710,6 +717,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -734,6 +742,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -838,9 +847,11 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128=m
@@ -1083,6 +1094,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMA_CMA is not set
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1153,6 +1165,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
# CONFIG_DRM_CDNS_DSI is not set
# CONFIG_DRM_CIRRUS_QEMU is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1183,7 +1196,10 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1195,6 +1211,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1203,13 +1220,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1217,6 +1234,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1224,10 +1242,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
# CONFIG_DRM_QXL is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
@@ -1238,12 +1256,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VGEM=m
@@ -1403,6 +1425,8 @@ CONFIG_ETHERNET=y
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
CONFIG_EXPOLINE_AUTO=y
# CONFIG_EXPOLINE_FULL is not set
@@ -1436,6 +1460,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
# CONFIG_FAIL_FUTEX is not set
@@ -1553,6 +1578,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1619,6 +1647,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
# CONFIG_GPIO_74X164 is not set
# CONFIG_GPIO_ADNP is not set
@@ -1709,7 +1738,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1720,6 +1749,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=m
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1742,6 +1772,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=m
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -1801,6 +1832,7 @@ CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
CONFIG_HMC_DRV=m
CONFIG_HOLTEK_FF=y
@@ -1835,6 +1867,7 @@ CONFIG_HWLAT_TRACER=y
# CONFIG_HWMON_DEBUG_CHIP is not set
CONFIG_HWMON=m
CONFIG_HWPOISON_INJECT=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_S390=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
@@ -1924,6 +1957,7 @@ CONFIG_I82092=m
# CONFIG_IAQCORE is not set
CONFIG_IBM_PARTITION=y
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
# CONFIG_IDE is not set
@@ -1946,6 +1980,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2239,6 +2274,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -2671,6 +2707,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX is not set
@@ -2736,8 +2773,10 @@ CONFIG_MDIO_DEVICE=y
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -2818,6 +2857,7 @@ CONFIG_MFD_CORE=m
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -2890,6 +2930,7 @@ CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_PHY=m
@@ -2921,6 +2962,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -2952,6 +2994,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
# CONFIG_MMC is not set
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -3655,7 +3698,7 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-CONFIG_NODES_SHIFT=4
+CONFIG_NODES_SHIFT=1
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
@@ -3806,6 +3849,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
@@ -3859,6 +3903,7 @@ CONFIG_PFAULT=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
# CONFIG_PHY_INTEL_EMMC is not set
@@ -3878,6 +3923,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_EQUILIBRIUM is not set
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -3994,6 +4040,7 @@ CONFIG_PROC_VMCORE=y
CONFIG_PROFILING=y
# CONFIG_PROTECTED_VIRTUALIZATION_GUEST is not set
# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
CONFIG_PSI=y
@@ -4014,11 +4061,13 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
# CONFIG_PWM is not set
@@ -4032,6 +4081,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QDIO=m
CONFIG_QEDE=m
@@ -4042,6 +4092,8 @@ CONFIG_QED_SRIOV=y
CONFIG_QETH_L2=m
CONFIG_QETH_L3=m
CONFIG_QETH=m
+CONFIG_QETH_OSN=y
+CONFIG_QETH_OSX=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QLA3XXX=m
@@ -4154,7 +4206,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4196,6 +4250,8 @@ CONFIG_REMOTEPROC=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL is not set
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4428,6 +4484,7 @@ CONFIG_SCHED_MC=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TOPOLOGY=y
CONFIG_SCHED_TRACER=y
CONFIG_SCLP_CONSOLE=y
@@ -4592,6 +4649,7 @@ CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
@@ -4784,9 +4842,12 @@ CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -4873,6 +4934,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5084,7 +5146,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5092,6 +5154,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5100,6 +5163,7 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
# CONFIG_SND_SOC_SOF_NOCODEC is not set
# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5123,6 +5187,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5211,6 +5276,7 @@ CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5220,6 +5286,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5400,8 +5467,10 @@ CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_LOCKUP is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -5462,6 +5531,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -5613,6 +5683,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -5805,6 +5876,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -5860,6 +5932,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
@@ -5991,6 +6064,9 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6012,8 +6088,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6090,7 +6168,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6111,6 +6189,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6266,6 +6345,7 @@ CONFIG_XFS_QUOTA=y
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_DMA is not set
CONFIG_XILINX_GMII2RGMII=m
+CONFIG_XILINX_LL_TEMAC=m
CONFIG_XILINX_PR_DECOUPLER=m
# CONFIG_XILINX_SDFEC is not set
CONFIG_XILINX_VCU=m
@@ -6304,5 +6384,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config
index afac3b473..b5736de7c 100644
--- a/kernel-x86_64-debug-fedora.config
+++ b/kernel-x86_64-debug-fedora.config
@@ -1,5 +1,6 @@
# x86_64
# CONFIG_60XX_WDT is not set
+CONFIG_64BIT=y
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -104,6 +105,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -201,11 +203,13 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIENWARE_WMI=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -232,6 +236,7 @@ CONFIG_AMILO_RFKILL=m
CONFIG_APDS9802ALS=m
# CONFIG_APDS9960 is not set
CONFIG_APPLE_GMUX=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -401,6 +406,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -541,6 +547,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -778,6 +785,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -805,6 +813,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -909,6 +918,7 @@ CONFIG_CRC7=m
CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
+CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_DEBUGFS=m
@@ -919,9 +929,11 @@ CONFIG_CROS_EC_LPC=m
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m
@@ -1119,7 +1131,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
-CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
+CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=4096
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
CONFIG_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KOBJECT is not set
@@ -1213,6 +1225,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG_SG is not set
CONFIG_DMA_API_DEBUG=y
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1291,6 +1304,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1332,7 +1346,10 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1344,6 +1361,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1352,13 +1370,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1366,6 +1384,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1373,10 +1392,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1387,12 +1406,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VBOXVIDEO=m
CONFIG_DRM_VGEM=m
@@ -1496,6 +1519,7 @@ CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=y
CONFIG_DW_EDMA=m
CONFIG_DW_EDMA_PCIE=m
+CONFIG_DWMAC_INTEL=m
# CONFIG_DW_WATCHDOG is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_FTRACE=y
@@ -1588,6 +1612,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1624,6 +1650,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_F71808E_WDT=m
@@ -1762,6 +1789,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1832,6 +1862,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_74X164 is not set
@@ -1938,7 +1969,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1949,6 +1980,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1971,6 +2003,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2031,6 +2064,7 @@ CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HMM_MIRROR=y
@@ -2079,6 +2113,7 @@ CONFIG_HWLAT_TRACER=y
CONFIG_HWMON=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
@@ -2194,6 +2229,7 @@ CONFIG_IBM_ASM=m
CONFIG_IBMASR=m
# CONFIG_IBM_RTL is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
CONFIG_IDEAPAD_LAPTOP=m
@@ -2218,6 +2254,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2572,6 +2609,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3027,6 +3065,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3090,8 +3129,10 @@ CONFIG_MDIO_DEVICE=y
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -3176,6 +3217,7 @@ CONFIG_MFD_CROS_EC_DEV=m
CONFIG_MFD_INTEL_LPSS_ACPI=y
CONFIG_MFD_INTEL_LPSS_PCI=y
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3248,6 +3290,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
CONFIG_MIC_COSM=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
@@ -3285,6 +3328,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3317,6 +3361,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -4217,6 +4262,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
@@ -4276,6 +4322,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
CONFIG_PHY_INTEL_EMMC=m
@@ -4304,6 +4351,7 @@ CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
CONFIG_PINCTRL_LYNXPOINT=m
@@ -4427,6 +4475,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
CONFIG_PROVE_LOCKING=y
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVE_RCU=y
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_PSAMPLE=m
@@ -4449,16 +4498,19 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_PVH=y
CONFIG_PVPANIC=m
CONFIG_PWM_CRC=y
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
CONFIG_PWM_LPSS=m
@@ -4475,6 +4527,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4596,7 +4649,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4639,6 +4694,8 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4865,6 +4922,7 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
CONFIG_SCIF_BUS=m
CONFIG_SCIF=m
@@ -5033,6 +5091,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
@@ -5235,9 +5294,12 @@ CONFIG_SERIAL_JSM=m
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -5331,6 +5393,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5556,6 +5619,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5589,7 +5653,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5597,6 +5661,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5610,6 +5675,7 @@ CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set
@@ -5644,6 +5710,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5743,6 +5810,7 @@ CONFIG_SPARSEMEM=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5752,6 +5820,7 @@ CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5835,6 +5904,7 @@ CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SURFACE_3_BUTTON=m
+CONFIG_SURFACE_3_POWER_OPREGION=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
@@ -5938,8 +6008,10 @@ CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=y
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+CONFIG_TEST_LOCKUP=m
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -6007,6 +6079,7 @@ CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -6148,6 +6221,7 @@ CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
+CONFIG_TYPEC_MUX_INTEL_PMC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
# CONFIG_TYPEC_RT1711H is not set
@@ -6157,6 +6231,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -6353,6 +6428,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -6408,6 +6484,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLES_INTEL_XHCI=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
@@ -6544,6 +6621,9 @@ CONFIG_VBOXGUEST=m
CONFIG_VBOXSF_FS=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6566,8 +6646,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
CONFIG_VGA_SWITCHEROO=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6649,7 +6731,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6670,6 +6752,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6826,6 +6909,7 @@ CONFIG_X86_GENERIC=y
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_MID is not set
+CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
@@ -6953,5 +7037,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config
index aeab9a13e..a9017635c 100644
--- a/kernel-x86_64-fedora.config
+++ b/kernel-x86_64-fedora.config
@@ -1,5 +1,6 @@
# x86_64
# CONFIG_60XX_WDT is not set
+CONFIG_64BIT=y
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
@@ -104,6 +105,7 @@ CONFIG_AD5272=m
# CONFIG_AD5758 is not set
# CONFIG_AD5761 is not set
# CONFIG_AD5764 is not set
+CONFIG_AD5770R=m
# CONFIG_AD5791 is not set
# CONFIG_AD5933 is not set
# CONFIG_AD7091R5 is not set
@@ -201,11 +203,13 @@ CONFIG_AIX_PARTITION=y
# CONFIG_AK09911 is not set
# CONFIG_AK8974 is not set
CONFIG_AK8975=m
+CONFIG_AL3010=m
# CONFIG_AL3320A is not set
# CONFIG_AL_FIC is not set
CONFIG_ALIENWARE_WMI=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+# CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ is not set
# CONFIG_ALTERA_FREEZE_BRIDGE is not set
# CONFIG_ALTERA_MBOX is not set
CONFIG_ALTERA_MSGDMA=m
@@ -232,6 +236,7 @@ CONFIG_AMILO_RFKILL=m
CONFIG_APDS9802ALS=m
# CONFIG_APDS9960 is not set
CONFIG_APPLE_GMUX=m
+CONFIG_APPLE_MFI_FASTCHARGE=m
CONFIG_APPLE_PROPERTIES=y
# CONFIG_APPLICOM is not set
CONFIG_AQTION=m
@@ -400,6 +405,7 @@ CONFIG_BACKLIGHT_PWM=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
+CONFIG_BAREUDP=m
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
@@ -540,6 +546,7 @@ CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT=y
# CONFIG_BPF_KPROBE_OVERRIDE is not set
CONFIG_BPF_LIRC_MODE2=y
+CONFIG_BPF_LSM=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPQETHER=m
@@ -777,6 +784,7 @@ CONFIG_CHELSIO_T4_DCB=y
# CONFIG_CHELSIO_T4_FCOE is not set
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
+CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_CHR_DEV_SCH=m
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_ST=m
@@ -804,6 +812,7 @@ CONFIG_CIFS_XATTR=y
CONFIG_CLEANCACHE=y
# CONFIG_CLK_HSDK is not set
# CONFIG_CLK_QORIQ is not set
+# CONFIG_CLK_RASPBERRYPI is not set
# CONFIG_CLK_SIFIVE is not set
# CONFIG_CLK_SUNXI_CLOCKS is not set
# CONFIG_CLK_SUNXI is not set
@@ -908,6 +917,7 @@ CONFIG_CRC7=m
CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
+CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
# CONFIG_CROS_EC_DEBUGFS is not set
@@ -918,9 +928,11 @@ CONFIG_CROS_EC_LPC=m
CONFIG_CROS_EC_RPMSG=m
CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=m
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_ADIANTUM=m
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m
@@ -1205,6 +1217,7 @@ CONFIG_DM9102=m
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_API_DEBUG_SG is not set
# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMA_CMA=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -1282,6 +1295,7 @@ CONFIG_DRM_BOCHS=m
# CONFIG_DRM_CDNS_DSI is not set
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_DEBUG_SELFTEST is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
@@ -1323,7 +1337,10 @@ CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m
CONFIG_DRM_PANEL_BRIDGE=y
+CONFIG_DRM_PANEL_ELIDA_KD35T133=m
+CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
@@ -1335,6 +1352,7 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LVDS is not set
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+CONFIG_DRM_PANEL_NOVATEK_NT35510=m
# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
@@ -1343,13 +1361,13 @@ CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m
CONFIG_DRM_PANEL_RONBO_RB070D30=m
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
@@ -1357,6 +1375,7 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+CONFIG_DRM_PANEL_SITRONIX_ST7703=m
# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
@@ -1364,10 +1383,10 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_XINGBANGDA_XBD599 is not set
# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
CONFIG_DRM_PANEL=y
# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=m
CONFIG_DRM_QXL=m
# CONFIG_DRM_R128 is not set
CONFIG_DRM_RADEON=m
@@ -1378,12 +1397,16 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_SII902X is not set
CONFIG_DRM_SII9234=m
# CONFIG_DRM_SIL_SII8620 is not set
+CONFIG_DRM_SIMPLE_BRIDGE=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_THINE_THC63LVD1024 is not set
+CONFIG_DRM_TIDSS=m
CONFIG_DRM_TI_SN65DSI86=m
CONFIG_DRM_TI_TFP410=m
+CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VBOXVIDEO=m
CONFIG_DRM_VGEM=m
@@ -1487,6 +1510,7 @@ CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=y
CONFIG_DW_EDMA=m
CONFIG_DW_EDMA_PCIE=m
+CONFIG_DWMAC_INTEL=m
# CONFIG_DW_WATCHDOG is not set
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_FTRACE=y
@@ -1579,6 +1603,8 @@ CONFIG_ETHOC=m
CONFIG_ETHTOOL_NETLINK=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_EVM is not set
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_EXFAT_FS=m
# CONFIG_EXPERT is not set
# CONFIG_EXPOLINE_AUTO is not set
CONFIG_EXPOLINE_FULL=y
@@ -1615,6 +1641,7 @@ CONFIG_F2FS_FS=m
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_ZSTD=y
# CONFIG_F2FS_IO_TRACE is not set
CONFIG_F2FS_STAT_FS=y
CONFIG_F71808E_WDT=m
@@ -1745,6 +1772,9 @@ CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_ENETC is not set
+# CONFIG_FSL_ENETC_MDIO is not set
+# CONFIG_FSL_ENETC_VF is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1815,6 +1845,7 @@ CONFIG_GFS2_FS=m
# CONFIG_GNSS is not set
# CONFIG_GOLDFISH is not set
# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GP2AP002=m
# CONFIG_GP2AP020A00F is not set
CONFIG_GPD_POCKET_FAN=m
# CONFIG_GPIO_74X164 is not set
@@ -1921,7 +1952,7 @@ CONFIG_HID_CMEDIA=m
CONFIG_HID_CORSAIR=m
CONFIG_HID_COUGAR=m
CONFIG_HID_CP2112=m
-# CONFIG_HID_CREATIVE_SB0540 is not set
+CONFIG_HID_CREATIVE_SB0540=m
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
CONFIG_HID_ELAN=m
@@ -1932,6 +1963,7 @@ CONFIG_HID_EZKEY=m
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
+CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
@@ -1954,6 +1986,7 @@ CONFIG_HID_MACALLY=m
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=m
CONFIG_HID_MAYFLASH=m
+CONFIG_HID_MCP2221=m
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
@@ -2014,6 +2047,7 @@ CONFIG_HID_ZYDACRON=m
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_HIPPI is not set
CONFIG_HIST_TRIGGERS=y
+CONFIG_HMC425=m
# CONFIG_HMC6352 is not set
# CONFIG_HMC_DRV is not set
CONFIG_HMM_MIRROR=y
@@ -2062,6 +2096,7 @@ CONFIG_HWLAT_TRACER=y
CONFIG_HWMON=y
CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
@@ -2177,6 +2212,7 @@ CONFIG_IBM_ASM=m
CONFIG_IBMASR=m
# CONFIG_IBM_RTL is not set
CONFIG_ICE=m
+CONFIG_ICP10100=m
CONFIG_ICPLUS_PHY=m
# CONFIG_ICS932S401 is not set
CONFIG_IDEAPAD_LAPTOP=m
@@ -2201,6 +2237,7 @@ CONFIG_IEEE802154_MRF24J40=m
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IFB=m
+CONFIG_IFCVF=m
CONFIG_IGB_DCA=y
CONFIG_IGB_HWMON=y
CONFIG_IGB=m
@@ -2555,6 +2592,7 @@ CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SIT_6RD=y
@@ -3008,6 +3046,7 @@ CONFIG_MACVLAN=m
CONFIG_MACVTAP=m
# CONFIG_MAG3110 is not set
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_MAILBOX_TEST is not set
@@ -3071,8 +3110,10 @@ CONFIG_MDIO_DEVICE=y
# CONFIG_MDIO_HISI_FEMAC is not set
CONFIG_MDIO_I2C=m
# CONFIG_MDIO_MSCC_MIIM is not set
+CONFIG_MDIO_MVUSB=m
# CONFIG_MDIO_OCTEON is not set
# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XPCS=m
CONFIG_MD_LINEAR=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_RAID0=m
@@ -3157,6 +3198,7 @@ CONFIG_MFD_CROS_EC_DEV=m
CONFIG_MFD_INTEL_LPSS_ACPI=y
CONFIG_MFD_INTEL_LPSS_PCI=y
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
+# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_LM3533 is not set
@@ -3229,6 +3271,7 @@ CONFIG_MFD_WL1273_CORE=m
# CONFIG_MFD_WM8994 is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
+CONFIG_MHI_BUS=m
CONFIG_MIC_COSM=m
# CONFIG_MICREL_KS8995MA is not set
CONFIG_MICREL_PHY=m
@@ -3266,6 +3309,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SW_STEERING=y
+CONFIG_MLX5_TC_CT=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
@@ -3298,6 +3342,7 @@ CONFIG_MMC_CB710=m
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_DW_BLUEFIELD is not set
+CONFIG_MMC_HSQ=m
CONFIG_MMC=m
# CONFIG_MMC_MTK is not set
CONFIG_MMC_REALTEK_PCI=m
@@ -4198,6 +4243,7 @@ CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
+CONFIG_PCIE_EDR=y
# CONFIG_PCIE_INTEL_GW is not set
# CONFIG_PCIE_MOBIVEIL is not set
# CONFIG_PCI_ENDPOINT is not set
@@ -4257,6 +4303,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
# CONFIG_PHY_CADENCE_DPHY is not set
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
+CONFIG_PHY_CADENCE_TORRENT=m
# CONFIG_PHY_CPCAP_USB is not set
# CONFIG_PHY_FSL_IMX8MQ_USB is not set
CONFIG_PHY_INTEL_EMMC=m
@@ -4285,6 +4332,7 @@ CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
+# CONFIG_PINCTRL_IPQ6018 is not set
# CONFIG_PINCTRL_IPQ8074 is not set
CONFIG_PINCTRL_LEWISBURG=m
CONFIG_PINCTRL_LYNXPOINT=m
@@ -4408,6 +4456,7 @@ CONFIG_PROC_VMCORE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILING=y
# CONFIG_PROVE_LOCKING is not set
+# CONFIG_PROVE_RAW_LOCK_NESTING is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_PSAMPLE=m
# CONFIG_PSI_DEFAULT_DISABLED is not set
@@ -4429,16 +4478,19 @@ CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_PVH=y
CONFIG_PVPANIC=m
CONFIG_PWM_CRC=y
CONFIG_PWM_CROS_EC=m
+# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
CONFIG_PWM_LPSS=m
@@ -4455,6 +4507,7 @@ CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4576,7 +4629,9 @@ CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
# CONFIG_REGULATOR_MCP16502 is not set
+CONFIG_REGULATOR_MP5416=m
# CONFIG_REGULATOR_MP8859 is not set
+CONFIG_REGULATOR_MP886X=m
# CONFIG_REGULATOR_MPQ7920 is not set
# CONFIG_REGULATOR_MT6311 is not set
# CONFIG_REGULATOR_PFUZE100 is not set
@@ -4619,6 +4674,8 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
+# CONFIG_RH_DISABLE_DEPRECATED is not set
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
CONFIG_RIONET=m
@@ -4845,6 +4902,7 @@ CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_SCHED_SMT=y
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_TRACER=y
CONFIG_SCIF_BUS=m
CONFIG_SCIF=m
@@ -5013,6 +5071,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_AXI_FAN_CONTROL=m
CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
@@ -5215,9 +5274,12 @@ CONFIG_SERIAL_JSM=m
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_SC16IS7XX_I2C is not set
+CONFIG_SERIAL_SC16IS7XX=m
+CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SPRD is not set
# CONFIG_SERIAL_ST_ASC is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_UARTLITE is not set
@@ -5311,6 +5373,7 @@ CONFIG_SND_AU8830=m
# CONFIG_SND_AW2 is not set
CONFIG_SND_AZT3328=m
CONFIG_SND_BCD2000=m
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
CONFIG_SND_BEBOB=m
CONFIG_SND_BT87X=m
# CONFIG_SND_BT87X_OVERCLOCK is not set
@@ -5535,6 +5598,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
CONFIG_SND_SOC_INTEL_SKYLAKE=m
CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m
+CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_INTEL_SST_ACPI=m
CONFIG_SND_SOC_INTEL_SST=m
@@ -5568,7 +5632,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m
CONFIG_SND_SOC_PCM3060_SPI=m
# CONFIG_SND_SOC_PCM3168A_I2C is not set
# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
+CONFIG_SND_SOC_PCM512x_I2C=m
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
@@ -5576,6 +5640,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_RT5616 is not set
# CONFIG_SND_SOC_RT5631 is not set
CONFIG_SND_SOC_RT5660=m
+CONFIG_SND_SOC_RT5682_SDW=m
# CONFIG_SND_SOC_RT700_SDW is not set
# CONFIG_SND_SOC_RT711_SDW is not set
# CONFIG_SND_SOC_RT715_SDW is not set
@@ -5589,6 +5654,7 @@ CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y
CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y
# CONFIG_SND_SOC_SOF_DEBUG is not set
+# CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set
CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y
# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set
@@ -5623,6 +5689,7 @@ CONFIG_SND_SOC_TAS2770=m
CONFIG_SND_SOC_TAS6424=m
CONFIG_SND_SOC_TDA7419=m
# CONFIG_SND_SOC_TFA9879 is not set
+CONFIG_SND_SOC_TLV320ADCX140=m
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
# CONFIG_SND_SOC_TLV320AIC31XX is not set
@@ -5722,6 +5789,7 @@ CONFIG_SPARSEMEM=y
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSI=m
CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_FSL_SPI is not set
# CONFIG_SPI_GPIO is not set
@@ -5731,6 +5799,7 @@ CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set
# CONFIG_SPI_MTK_QUADSPI is not set
+CONFIG_SPI_MUX=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
@@ -5814,6 +5883,7 @@ CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC=m
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SURFACE_3_BUTTON=m
+CONFIG_SURFACE_3_POWER_OPREGION=m
CONFIG_SURFACE3_WMI=m
CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
@@ -5917,8 +5987,10 @@ CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_LOCKUP is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_MEMINIT is not set
+# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_OBJAGG is not set
# CONFIG_TEST_OVERFLOW is not set
# CONFIG_TEST_PARMAN is not set
@@ -5986,6 +6058,7 @@ CONFIG_TIME_NS=y
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
+CONFIG_TINYDRM_ILI9486=m
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
@@ -6127,6 +6200,7 @@ CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
+CONFIG_TYPEC_MUX_INTEL_PMC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
# CONFIG_TYPEC_RT1711H is not set
@@ -6136,6 +6210,7 @@ CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPHOON=m
+CONFIG_UACCE=m
CONFIG_UAPI_HEADER_TEST=y
CONFIG_UBIFS_ATIME_SUPPORT=y
# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
@@ -6332,6 +6407,7 @@ CONFIG_USB_LEGOTOWER=m
CONFIG_USB_M5602=m
CONFIG_USB_MA901=m
# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_MAX3420_UDC=m
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_MDC800=m
CONFIG_USB_MICROTEK=m
@@ -6387,6 +6463,7 @@ CONFIG_USB_PWC=m
# CONFIG_USB_R8A66597_HCD is not set
CONFIG_USB_RAINSHADOW_CEC=m
# CONFIG_USB_RAREMONO is not set
+CONFIG_USB_RAW_GADGET=m
CONFIG_USB_ROLES_INTEL_XHCI=m
CONFIG_USB_ROLE_SWITCH=m
CONFIG_USB_RTL8150=m
@@ -6523,6 +6600,9 @@ CONFIG_VBOXGUEST=m
CONFIG_VBOXSF_FS=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VDPA=m
+CONFIG_VDPA_MENU=y
+CONFIG_VDPA_SIM=m
CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
@@ -6545,8 +6625,10 @@ CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGA_CONSOLE=y
CONFIG_VGA_SWITCHEROO=y
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_VDPA=m
CONFIG_VHOST_VSOCK=m
CONFIG_VIA_RHINE=m
CONFIG_VIA_RHINE_MMIO=y
@@ -6628,7 +6710,7 @@ CONFIG_VIDEO_TUNER=m
CONFIG_VIDEO_TW686X=m
# CONFIG_VIDEO_TW68 is not set
CONFIG_VIDEO_USBTV=m
-CONFIG_VIDEO_USBVISION=m
+# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
@@ -6649,6 +6731,7 @@ CONFIG_VIRTIO_NET=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_PMEM is not set
+CONFIG_VIRTIO_VDPA=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO=y
CONFIG_VIRTUALIZATION=y
@@ -6805,6 +6888,7 @@ CONFIG_X86_GENERIC=y
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_MID is not set
+CONFIG_X86_INTEL_MPX=y
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
@@ -6931,5 +7015,15 @@ CONFIG_ZRAM=m
# CONFIG_ZRAM_WRITEBACK is not set
# CONFIG_ZSMALLOC_STAT is not set
CONFIG_ZSMALLOC=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+# CONFIG_ZSWAP_DEFAULT_ON is not set
CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
# CONFIG_ZX_TDM is not set
diff --git a/kernel.spec b/kernel.spec
index 057eabcb0..29608fa37 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -82,14 +82,13 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 350
-%global baserelease 350
+%global baserelease 251
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 6
+%define base_sublevel 7
## If this is a released kernel ##
%if 0%{?released_kernel}
@@ -98,7 +97,7 @@ Summary: The Linux kernel
%define stable_rc 0
# Do we have a -stable update to apply?
-%define stable_update 19
+%define stable_update 6
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -810,136 +809,87 @@ Source5000: patch-5.%{base_sublevel}-git%{gitrev}.xz
%if !%{nopatches}
-# Git trees.
-
-# Standalone patches
-# 100 - Generic long running patches
-
-# 200 - x86 / secureboot
-
-# bz 1497559 - Make kernel MODSIGN code not error on missing variables
-Patch201: 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
-Patch202: 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
-
-Patch204: efi-secureboot.patch
-
-Patch206: s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch
-
-# 300 - ARM patches
-Patch300: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
-
-# RHBZ Bug 1576593 - work around while vendor investigates
-Patch301: arm-make-highpte-not-expert.patch
-
-# https://patchwork.kernel.org/patch/10351797/
-Patch302: ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
-# rhbz 1574718
-Patch303: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch
-
-Patch304: ARM-tegra-usb-no-reset.patch
-
-# Raspberry Pi
-# https://patchwork.kernel.org/cover/11353083/
-Patch310: arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
-# v5 https://patchwork.kernel.org/cover/11429245/
-Patch311: USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
-# https://patchwork.kernel.org/patch/11372935/
-Patch312: bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
-# https://patchwork.kernel.org/patch/11420129/
-Patch313: ARM-dts-bcm2711-Move-emmc2-into-its-own-bus.patch
-# Upstream commit f87391eec2c5 thread: https://www.spinics.net/lists/linux-mmc/msg58036.html
-Patch314: arm-bcm2711-mmc-sdhci-iproc-Add-custom-set_power-callback.patch
-# Upstream commit 57b76faf1d78
-Patch316: arm-bcm2835-serial-8250_early-support-aux-uart.patch
-
-# Tegra bits
-# https://www.spinics.net/lists/linux-tegra/msg48152.html
-Patch320: ARM64-Tegra-fixes.patch
-# http://patchwork.ozlabs.org/patch/1230891/
-Patch321: arm64-serial-8250_tegra-Create-Tegra-specific-8250-driver.patch
-# http://patchwork.ozlabs.org/patch/1243162/
-Patch324: regulator-pwm-Don-t-warn-on-probe-deferral.patch
-# http://patchwork.ozlabs.org/patch/1243112/
-Patch325: backlight-lp855x-Ensure-regulators-are-disabled-on-probe-failure.patch
-# http://patchwork.ozlabs.org/patch/1221384/
-Patch327: PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
-# https://patchwork.ozlabs.org/patch/1281134/
-Patch328: arm64-tegra-Fix-ethernet-phy-mode-for-Jetson-Xavier.patch
-
-# Coral
-Patch330: arm64-dts-imx8mq-phanbell-Add-support-for-ethernet.patch
-
-# Pine64 bits
-# 340-345 queued for 5.7
-Patch340: arm64-pinebook-fixes.patch
-Patch341: arm64-a64-mbus.patch
-# v4 https://patchwork.kernel.org/cover/11420797/
-Patch342: Add-support-for-the-pine64-Pinebook-Pro.patch
-# https://patchwork.kernel.org/cover/11405517/
-Patch343: Add-LCD-support-for-Pine64-Pinebook-1080p.patch
-# https://lkml.org/lkml/2020/1/15/1320
-Patch344: arm64-pine64-pinetab.patch
-# https://www.spinics.net/lists/arm-kernel/msg789135.html
-Patch345: arm64-pine64-pinephone.patch
-# https://patchwork.kernel.org/cover/11440399/
-Patch346: Add-support-for-PinePhone-LCD-panel.patch
-# https://www.spinics.net/lists/devicetree/msg346446.html
-Patch347: arm64-Fix-some-GPIO-setup-on-Pinebook-Pro.patch
-# https://www.spinics.net/lists/devicetree/msg347052.html
-Patch348: usb-fusb302-Convert-to-use-GPIO-descriptors.patch
-
-# 400 - IBM (ppc/s390x) patches
-
-# 500 - Temp fixes/CVEs etc
-# rhbz 1431375
-Patch501: input-rmi4-remove-the-need-for-artifical-IRQ.patch
-
-# gcc9 fixes
-Patch502: 0001-Drop-that-for-now.patch
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=1701096
-# Submitted upstream at https://lkml.org/lkml/2019/4/23/89
-Patch503: KEYS-Make-use-of-platform-keyring-for-module-signature.patch
-
-# Fixes a boot hang on debug kernels
-# https://bugzilla.redhat.com/show_bug.cgi?id=1756655
-Patch504: 0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
-
-# it seems CONFIG_OPTIMIZE_INLINING has been forced now and is causing issues on ARMv7
-# https://lore.kernel.org/patchwork/patch/1132459/
-# https://lkml.org/lkml/2019/8/29/1772
-Patch505: ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch
-
-# More DP-MST fixes, pending for 5.7
-Patch507: drm-dp-mst-error-handling-improvements.patch
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=1811850
-Patch509: drm-i915-backports.patch
-
-# https://bugzilla.redhat.com/show_bug.cgi?id=1816621
-# https://patchwork.ozlabs.org/patch/1260523/
-Patch511: e1000e-bump-up-timeout-to-wait-when-ME-un-configure-ULP-mode.patch
-
-Patch512: drm-dp_mst-Fix-drm_dp_send_dpcd_write-return-code.patch
-
-# CVE-2020-12655 rhbz 1832543 1832545
-Patch515: 0001-xfs-add-agf-freeblocks-verify-in-xfs_agf_verify.patch
-
-# rhbz 1828927 No backlight control on CHT devices, patch posted upstream
-Patch516: 0001-pwm-lpss-Fix-get_state-runtime-pm-reference-handling.patch
-
-# kernel.org bz 206217
-Patch517: RFC-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch
-
-# CVE-2020-12888 rhbz 1836245 1836244
-Patch518: vfio-pci-block-user-access-to-disabled-device-MMIO.patch
-
-# rhbz 1789545
-Patch519: vboxguest-fixes.patch
+Patch6: 0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch
+Patch8: 0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch
+Patch9: 0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch
+Patch10: 0001-acpi-prefer-booting-with-ACPI-over-DTS.patch
+Patch11: 0001-kdump-round-up-the-total-memory-size-to-128M-for-cra.patch
+Patch12: 0001-kdump-add-support-for-crashkernel-auto.patch
+Patch15: 0001-kdump-fix-a-grammar-issue-in-a-kernel-message.patch
+Patch19: 0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch
+Patch20: 0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch
+Patch24: 0001-scsi-smartpqi-add-inspur-advantech-ids.patch
+Patch26: 0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch
+Patch28: 0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch
+Patch29: 0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch
+Patch31: 0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
+Patch32: 0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
+Patch33: 0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch
+Patch34: 0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch
+Patch35: 0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
+Patch36: 0001-s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch
+Patch37: 0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
+Patch58: 0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch
+Patch59: 0001-ARM-tegra-usb-no-reset.patch
+Patch62: 0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch
+Patch63: 0001-Drop-that-for-now.patch
+Patch64: 0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch
+Patch65: 0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
+Patch66: 0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch
+Patch67: 0001-soc-bcm2835-Sync-xHCI-reset-firmware-property-with-d.patch
+Patch68: 0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch
+Patch69: 0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch
+Patch70: 0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
+Patch75: 0001-e1000e-bump-up-timeout-to-wait-when-ME-un-configure-.patch
+Patch76: 0001-perf-cs-etm-Move-defined-of-traceid_list.patch
+Patch79: 0001-disp-gv100-expose-capabilities-class.patch
+Patch80: 0001-core-memory-remove-redundant-assignments-to-variable.patch
+Patch81: 0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch
+Patch82: 0001-drm-Use-generic-helper-to-check-_PR3-presence.patch
+Patch83: 0001-mmu-Remove-unneeded-semicolon.patch
+Patch84: 0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch
+Patch85: 0001-device-detect-if-changing-endianness-failed.patch
+Patch86: 0001-device-detect-vGPUs.patch
+Patch87: 0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch
+Patch89: 0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch
+Patch90: 0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch
+Patch91: 0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch
+Patch92: 0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch
+Patch93: 0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch
+Patch94: 0001-kms-nv50-Initialize-core-channel-in-nouveau_display_.patch
+Patch95: 0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch
+Patch96: 0001-kms-gv100-Add-support-for-interlaced-modes.patch
+Patch97: 0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch
+Patch98: 0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch
+Patch99: 0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch
+Patch100: 0001-virt-vbox-Fix-guest-capabilities-mask-check.patch
+Patch101: 0001-virt-vbox-Rename-guest_caps-struct-members-to-set_gu.patch
+Patch102: 0001-virt-vbox-Add-vbg_set_host_capabilities-helper-funct.patch
+Patch103: 0001-virt-vbox-Add-support-for-the-new-VBG_IOCTL_ACQUIRE_.patch
+Patch104: 0001-virt-vbox-Add-a-few-new-vmmdev-request-types-to-the-.patch
+Patch105: 0001-virt-vbox-Log-unknown-ioctl-requests-as-error.patch
# Thinkpad dual fan control
-Patch521: 0001-platform-x86-thinkpad_acpi-Add-support-for-dual-fan-.patch
-
+Patch107: 0001-platform-x86-thinkpad_acpi-Add-support-for-dual-fan-.patch
+
+# Latest upstream screen driver - https://patchwork.kernel.org/patch/11627069/
+Patch110: 0001-dt-bindings-vendor-prefixes-Add-Xingbangda.patch
+Patch111: 0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch
+Patch112: 0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch
+Patch113: 0004-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch
+Patch114: 0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch
+Patch115: 0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch
+Patch116: 0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch
+Patch117: 0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch
+Patch118: 0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch
+Patch119: 0010-drm-panel-st7703-Enter-sleep-after-display-off.patch
+Patch120: 0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch
+Patch121: 0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch
+Patch122: 0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch
+# Back port from 5.8
+Patch123: 0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch
+# Tegra194 ACPI PCI quirk - http://patchwork.ozlabs.org/patch/1221384/
+Patch124: 0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
# END OF PATCH DEFINITIONS
%endif
@@ -2032,7 +1982,6 @@ BuildKernel() {
%endif
# then drop all but the needed Makefiles/Kconfig files
- rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
@@ -2861,8 +2810,9 @@ fi
%endif
%if %{with_tools}
+%ifnarch %{cpupowerarchs}
%files -n kernel-tools
-%ifarch %{cpupowerarchs}
+%else
%files -n kernel-tools -f cpupower.lang
%{_bindir}/cpupower
%{_datadir}/bash-completion/completions/cpupower
@@ -3039,6 +2989,9 @@ fi
#
#
%changelog
+* Mon Jun 29 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.7.6-200
+- Linux v5.7.6 rebase
+
* Wed Jun 17 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.6.19-300
- Linux v5.6.19
diff --git a/media-rc-prevent-memory-leak-in-cx23888_ir_probe.patch b/media-rc-prevent-memory-leak-in-cx23888_ir_probe.patch
deleted file mode 100644
index 10ec07f22..000000000
--- a/media-rc-prevent-memory-leak-in-cx23888_ir_probe.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From patchwork Wed Sep 25 15:02:41 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Navid Emamdoost <navid.emamdoost@gmail.com>
-X-Patchwork-Id: 1131334
-Return-Path: <SRS0=wETr=XU=vger.kernel.org=linux-kernel-owner@kernel.org>
-Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
- by smtp.lore.kernel.org (Postfix) with ESMTP id D12E6C432C2
- for <linux-kernel@archiver.kernel.org>; Wed, 25 Sep 2019 15:02:56 +0000 (UTC)
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mail.kernel.org (Postfix) with ESMTP id A3ACD21D7B
- for <linux-kernel@archiver.kernel.org>; Wed, 25 Sep 2019 15:02:56 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="arASj5Yv"
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S2438783AbfIYPC4 (ORCPT
- <rfc822;linux-kernel@archiver.kernel.org>);
- Wed, 25 Sep 2019 11:02:56 -0400
-Received: from mail-io1-f66.google.com ([209.85.166.66]:44698 "EHLO
- mail-io1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1731142AbfIYPCz (ORCPT
- <rfc822;linux-kernel@vger.kernel.org>);
- Wed, 25 Sep 2019 11:02:55 -0400
-Received: by mail-io1-f66.google.com with SMTP id j4so14606376iog.11;
- Wed, 25 Sep 2019 08:02:53 -0700 (PDT)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=gmail.com; s=20161025;
- h=from:to:cc:subject:date:message-id;
- bh=MWyh3PNmOklfeVqzYOrNwzDcAH8lax2jMCGmRDG4urM=;
- b=arASj5Yv5bqz17U8QZVYbble7TDB5sj0TMbNk56fxz5ejOoHyT3kYbYJ/QtfbbLSs6
- iEjbcUYxhDqPRDkxpycr9uysp4vVx+usX4dONocnmhwJEwUZNwBO9gxatNe8zkYv3cBV
- 6/zgf3/mu1ElXkjkjabewFHnWgFLNY2bEKtd9Wx3P6FGJyuwNg5dgB8SDQb/2DSr4X9q
- aUgMqjBas1yw+cOjn/+KzpYS5k6gjQTDGNc4k+SZec43+S+O208YvxdUJ1ivWceNMa90
- RFPA3kk2XYQIgbJVbmqVTOzfX1l/qDVCb/GHdWaEq3GUolGoF7RGnD3ntqNF7uyElR4g
- 1cfA==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
- d=1e100.net; s=20161025;
- h=x-gm-message-state:from:to:cc:subject:date:message-id;
- bh=MWyh3PNmOklfeVqzYOrNwzDcAH8lax2jMCGmRDG4urM=;
- b=a11vAjMQ8OwRtbrsNLlkXz9P6ewInEp9Y3Yp+tDjNcUdkcFEfckW79Eoc5EIFPd58E
- KdJncVKoKTHG4PNxbHcjBXFY82d8wYP+gzkfv4Fx5zKfi9ZRj03gupr1tq8kAizI6+QM
- fQUaDU5Z+kETTNPQx4V9W9WsMituZTsmC3yIjhtyaY9qnvDFpjeIcFi8ityCJ59nqaBs
- xDkYx9NCUK/ZkRujeIznZ3kaCDvgTxG/PM02POWE8/CEnkaS4oVwMqIJ1WJqRO4cW5Rd
- ak9LLUKankinb6T5dd1BPeVmOq4MJJnB8OrnMrENhtYgLgCDELF9090hqfpBkv4FW4zN
- vGOQ==
-X-Gm-Message-State: APjAAAULnVDgP2mQfcWBZXj8JYWYlmhlw/fk0WqZRMbvjRR4s+BO+yLW
- YtHDvZSJqP12YLMYI6zTrm0=
-X-Google-Smtp-Source:
- APXvYqwPBH16FuEXUH7rOy3JWTXRjXFzwF9Spfa1QHh9p2MfWd+kBFJthLybBlVk8lVb6Ym4UWB2NA==
-X-Received: by 2002:a5d:8ad4:: with SMTP id e20mr2109019iot.203.1569423773435;
- Wed, 25 Sep 2019 08:02:53 -0700 (PDT)
-Received: from cs-dulles.cs.umn.edu (cs-dulles.cs.umn.edu. [128.101.35.54])
- by smtp.googlemail.com with ESMTPSA id
- 2sm206447ilw.50.2019.09.25.08.02.52
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 25 Sep 2019 08:02:52 -0700 (PDT)
-From: Navid Emamdoost <navid.emamdoost@gmail.com>
-Cc: emamd001@umn.edu, smccaman@umn.edu, kjlu@umn.edu,
- Navid Emamdoost <navid.emamdoost@gmail.com>,
- Mauro Carvalho Chehab <mchehab@kernel.org>,
- Kate Stewart <kstewart@linuxfoundation.org>,
- Thomas Gleixner <tglx@linutronix.de>,
- Allison Randal <allison@lohutok.net>,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Sean Young <sean@mess.org>, linux-media@vger.kernel.org,
- linux-kernel@vger.kernel.org
-Subject: [PATCH] media: rc: prevent memory leak in cx23888_ir_probe
-Date: Wed, 25 Sep 2019 10:02:41 -0500
-Message-Id: <20190925150244.13644-1-navid.emamdoost@gmail.com>
-X-Mailer: git-send-email 2.17.1
-To: unlisted-recipients:; (no To-header on input)
-Sender: linux-kernel-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-kernel.vger.kernel.org>
-X-Mailing-List: linux-kernel@vger.kernel.org
-
-In cx23888_ir_probe if kfifo_alloc fails the allocated memory for state
-should be released.
-
-Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
----
- drivers/media/pci/cx23885/cx23888-ir.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/media/pci/cx23885/cx23888-ir.c b/drivers/media/pci/cx23885/cx23888-ir.c
-index e880afe37f15..90e7c32c54bb 100644
---- a/drivers/media/pci/cx23885/cx23888-ir.c
-+++ b/drivers/media/pci/cx23885/cx23888-ir.c
-@@ -1167,8 +1167,11 @@ int cx23888_ir_probe(struct cx23885_dev *dev)
- return -ENOMEM;
-
- spin_lock_init(&state->rx_kfifo_lock);
-- if (kfifo_alloc(&state->rx_kfifo, CX23888_IR_RX_KFIFO_SIZE, GFP_KERNEL))
-+ if (kfifo_alloc(&state->rx_kfifo, CX23888_IR_RX_KFIFO_SIZE,
-+ GFP_KERNEL)) {
-+ kfree(state);
- return -ENOMEM;
-+ }
-
- state->dev = dev;
- sd = &state->sd;
diff --git a/mwifiex-fix-possible-heap-overflow-in-mwifiex_process_country_ie.patch b/mwifiex-fix-possible-heap-overflow-in-mwifiex_process_country_ie.patch
deleted file mode 100644
index c006a9b2c..000000000
--- a/mwifiex-fix-possible-heap-overflow-in-mwifiex_process_country_ie.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From patchwork Thu Nov 21 16:04:38 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Ganapathi Bhat <gbhat@marvell.com>
-X-Patchwork-Id: 11256477
-X-Patchwork-Delegate: kvalo@adurom.com
-Return-Path: <SRS0=bi0l=ZN=vger.kernel.org=linux-wireless-owner@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AAABF138C
- for <patchwork-linux-wireless@patchwork.kernel.org>;
- Thu, 21 Nov 2019 16:04:48 +0000 (UTC)
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mail.kernel.org (Postfix) with ESMTP id 8950220637
- for <patchwork-linux-wireless@patchwork.kernel.org>;
- Thu, 21 Nov 2019 16:04:48 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=marvell.com header.i=@marvell.com
- header.b="nkGygBtm"
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727141AbfKUQEs (ORCPT
- <rfc822;patchwork-linux-wireless@patchwork.kernel.org>);
- Thu, 21 Nov 2019 11:04:48 -0500
-Received: from mx0b-0016f401.pphosted.com ([67.231.156.173]:6582 "EHLO
- mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-OK)
- by vger.kernel.org with ESMTP id S1726980AbfKUQEr (ORCPT
- <rfc822;linux-wireless@vger.kernel.org>);
- Thu, 21 Nov 2019 11:04:47 -0500
-Received: from pps.filterd (m0045851.ppops.net [127.0.0.1])
- by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id
- xALFu718003199;
- Thu, 21 Nov 2019 08:04:44 -0800
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;
- h=from : to : cc :
- subject : date : message-id : mime-version : content-type; s=pfpt0818;
- bh=o/oIGGHPmwt5MFTKPl2GcISKabBWhPBOdPXPhlV+8H8=;
- b=nkGygBtmdc1LxIp0VzpsKssm8mQFI+syng1Rek/N5Fx3Vz4o2KAlRceJkhXNdV7WpjTG
- XDtRj/LiYd+OAIqSLM6J2VNtOKOhaNSDydtTUnIi4imHPzYoAdESDQW5aFV8JKZqOfYx
- 0oQTjw6AhdjJCsngL+bImzmnJoZsc2gUu3BAic/kW+6Uj0JCgQwoUFBH9rNaO+Q33BY+
- dZy9MdKD905LxSBE7A5xWx5GEgrqRcvfxSOu2K78FQhsJ20suhvWSobxpYE0LIrajl6s
- oQGuDbTsdOO/8v7D9Xn7zObUH6qZ08AMxDZNaBLqiKpjFY/RA7LbR2eulwEnhjCLDQfK uA==
-Received: from sc-exch03.marvell.com ([199.233.58.183])
- by mx0b-0016f401.pphosted.com with ESMTP id 2wd090yntp-1
- (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);
- Thu, 21 Nov 2019 08:04:44 -0800
-Received: from SC-EXCH01.marvell.com (10.93.176.81) by SC-EXCH03.marvell.com
- (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 21 Nov
- 2019 08:04:43 -0800
-Received: from maili.marvell.com (10.93.176.43) by SC-EXCH01.marvell.com
- (10.93.176.81) with Microsoft SMTP Server id 15.0.1367.3 via Frontend
- Transport; Thu, 21 Nov 2019 08:04:43 -0800
-Received: from testmailhost.marvell.com (testmailhost.marvell.com
- [10.31.130.105])
- by maili.marvell.com (Postfix) with ESMTP id 898743F703F;
- Thu, 21 Nov 2019 08:04:40 -0800 (PST)
-From: Ganapathi Bhat <gbhat@marvell.com>
-To: <linux-wireless@vger.kernel.org>
-CC: Cathy Luo <cluo@marvell.com>, Zhiyuan Yang <yangzy@marvell.com>,
- James Cao <jcao@marvell.com>,
- Rakesh Parmar <rakeshp@marvell.com>,
- Brian Norris <briannorris@chromium.org>,
- Mohammad Tausif Siddiqui <msiddiqu@redhat.com>,
- huangwen <huangwenabc@gmail.com>,
- Ganapathi Bhat <gbhat@marvell.com>
-Subject: [PATCH] mwifiex: fix possible heap overflow in
- mwifiex_process_country_ie()
-Date: Thu, 21 Nov 2019 21:34:38 +0530
-Message-ID: <1574352278-7592-1-git-send-email-gbhat@marvell.com>
-X-Mailer: git-send-email 1.9.1
-MIME-Version: 1.0
-X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572
- definitions=2019-11-21_03:2019-11-21,2019-11-21 signatures=0
-Sender: linux-wireless-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-wireless.vger.kernel.org>
-X-Mailing-List: linux-wireless@vger.kernel.org
-
-mwifiex_process_country_ie() function parse elements of bss
-descriptor in beacon packet. When processing WLAN_EID_COUNTRY
-element, there is no upper limit check for country_ie_len before
-calling memcpy. The destination buffer domain_info->triplet is an
-array of length MWIFIEX_MAX_TRIPLET_802_11D(83). The remote
-attacker can build a fake AP with the same ssid as real AP, and
-send malicous beacon packet with long WLAN_EID_COUNTRY elemen
-(country_ie_len > 83). Attacker can force STA connect to fake AP
-on a different channel. When the victim STA connects to fake AP,
-will trigger the heap buffer overflow. Fix this by checking for
-length and if found invalid, don not connect to the AP.
-
-This fix addresses CVE-2019-14895.
-
-Reported-by: huangwen <huangwenabc@gmail.com>
-Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
----
- drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
-index 74e5056..6dd835f 100644
---- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
-+++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
-@@ -229,6 +229,14 @@ static int mwifiex_process_country_ie(struct mwifiex_private *priv,
- "11D: skip setting domain info in FW\n");
- return 0;
- }
-+
-+ if (country_ie_len >
-+ (IEEE80211_COUNTRY_STRING_LEN + MWIFIEX_MAX_TRIPLET_802_11D)) {
-+ mwifiex_dbg(priv->adapter, ERROR,
-+ "11D: country_ie_len overflow!, deauth AP\n");
-+ return -EINVAL;
-+ }
-+
- memcpy(priv->adapter->country_code, &country_ie[2], 2);
-
- domain_info->country_code[0] = country_ie[2];
-@@ -272,8 +280,9 @@ int mwifiex_bss_start(struct mwifiex_private *priv, struct cfg80211_bss *bss,
- priv->scan_block = false;
-
- if (bss) {
-- if (adapter->region_code == 0x00)
-- mwifiex_process_country_ie(priv, bss);
-+ if (adapter->region_code == 0x00 &&
-+ mwifiex_process_country_ie(priv, bss))
-+ return -EINVAL;
-
- /* Allocate and fill new bss descriptor */
- bss_desc = kzalloc(sizeof(struct mwifiex_bssdescriptor),
diff --git a/net-netlabel-cope-with-NULL-catmap.patch b/net-netlabel-cope-with-NULL-catmap.patch
deleted file mode 100644
index 06a915121..000000000
--- a/net-netlabel-cope-with-NULL-catmap.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From MAILER-DAEMON Tue May 12 19:31:23 2020
-From: Paolo Abeni <pabeni@redhat.com>
-To: netdev@vger.kernel.org
-Cc: "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, linux-security-module@vger.kernel.org, Paul Moore <paul@paul-moore.com>, ppandit@redhat.com, Matthew Sheets <matthew.sheets@gd-ms.com>
-Subject: [PATCH net] netlabel: cope with NULL catmap
-Date: Tue, 12 May 2020 14:43:14 +0200
-Message-Id: <07d99ae197bfdb2964931201db67b6cd0b38db5b.1589276729.git.pabeni@redhat.com>
-Sender: owner-linux-security-module@vger.kernel.org
-List-ID: <linux-security-module.vger.kernel.org>
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-The cipso and calipso code can set the MLS_CAT attribute on
-successful parsing, even if the corresponding catmap has
-not been allocated, as per current configuration and external
-input.
-
-Later, selinux code tries to access the catmap if the MLS_CAT flag
-is present via netlbl_catmap_getlong(). That may cause null ptr
-dereference while processing incoming network traffic.
-
-Address the issue setting the MLS_CAT flag only if the catmap is
-really allocated. Additionally let netlbl_catmap_getlong() cope
-with NULL catmap.
-
-Fixes: ceba1832b1b2 ("calipso: Set the calipso socket label to match the secattr.")
-Fixes: 4b8feff251da ("netlabel: fix the horribly broken catmap functions")
-Reported-by: Matthew Sheets <matthew.sheets@gd-ms.com>
-Signed-off-by: Paolo Abeni <pabeni@redhat.com>
----
- net/ipv4/cipso_ipv4.c | 6 ++++--
- net/ipv6/calipso.c | 3 ++-
- net/netlabel/netlabel_kapi.c | 6 ++++++
- 3 files changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
-index 0bd10a1f477f..a23094b050f8 100644
---- a/net/ipv4/cipso_ipv4.c
-+++ b/net/ipv4/cipso_ipv4.c
-@@ -1258,7 +1258,8 @@ static int cipso_v4_parsetag_rbm(const struct cipso_v4_doi *doi_def,
- return ret_val;
- }
-
-- secattr->flags |= NETLBL_SECATTR_MLS_CAT;
-+ if (secattr->attr.mls.cat)
-+ secattr->flags |= NETLBL_SECATTR_MLS_CAT;
- }
-
- return 0;
-@@ -1439,7 +1440,8 @@ static int cipso_v4_parsetag_rng(const struct cipso_v4_doi *doi_def,
- return ret_val;
- }
-
-- secattr->flags |= NETLBL_SECATTR_MLS_CAT;
-+ if (secattr->attr.mls.cat)
-+ secattr->flags |= NETLBL_SECATTR_MLS_CAT;
- }
-
- return 0;
-diff --git a/net/ipv6/calipso.c b/net/ipv6/calipso.c
-index 221c81f85cbf..8d3f66c310db 100644
---- a/net/ipv6/calipso.c
-+++ b/net/ipv6/calipso.c
-@@ -1047,7 +1047,8 @@ static int calipso_opt_getattr(const unsigned char *calipso,
- goto getattr_return;
- }
-
-- secattr->flags |= NETLBL_SECATTR_MLS_CAT;
-+ if (secattr->attr.mls.cat)
-+ secattr->flags |= NETLBL_SECATTR_MLS_CAT;
- }
-
- secattr->type = NETLBL_NLTYPE_CALIPSO;
-diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
-index 409a3ae47ce2..5e1239cef000 100644
---- a/net/netlabel/netlabel_kapi.c
-+++ b/net/netlabel/netlabel_kapi.c
-@@ -734,6 +734,12 @@ int netlbl_catmap_getlong(struct netlbl_lsm_catmap *catmap,
- if ((off & (BITS_PER_LONG - 1)) != 0)
- return -EINVAL;
-
-+ /* a null catmap is equivalent to an empty one */
-+ if (!catmap) {
-+ *offset = (u32)-1;
-+ return 0;
-+ }
-+
- if (off < catmap->startbit) {
- off = catmap->startbit;
- *offset = off;
---
-2.21.3
-
-
diff --git a/nouveau-add-missing-MODULE_FIRMWARE.patch b/nouveau-add-missing-MODULE_FIRMWARE.patch
deleted file mode 100644
index 1195b95d3..000000000
--- a/nouveau-add-missing-MODULE_FIRMWARE.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 92f673a12d14b5393138d2b1cfeb41d72b47362d Mon Sep 17 00:00:00 2001
-From: Ben Skeggs <bskeggs@redhat.com>
-Date: Thu, 16 Apr 2020 15:26:01 +1000
-Subject: [PATCH] drm/nouveau/sec2/gv100-: add missing MODULE_FIRMWARE()
-
-ASB was failing to load on Turing GPUs when firmware is being loaded
-from initramfs, leaving the GPU in an odd state and causing suspend/
-resume to fail.
-
-Add missing MODULE_FIRMWARE() lines for initramfs generators.
-
-Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-Cc: <stable@vger.kernel.org> # 5.6
----
- drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.c | 3 +++
- drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c | 16 ++++++++++++++++
- 2 files changed, 19 insertions(+)
-
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.c b/drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.c
-index 232a9d7c51e5d..e770c9497871b 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/sec2/gp108.c
-@@ -25,6 +25,9 @@
- MODULE_FIRMWARE("nvidia/gp108/sec2/desc.bin");
- MODULE_FIRMWARE("nvidia/gp108/sec2/image.bin");
- MODULE_FIRMWARE("nvidia/gp108/sec2/sig.bin");
-+MODULE_FIRMWARE("nvidia/gv100/sec2/desc.bin");
-+MODULE_FIRMWARE("nvidia/gv100/sec2/image.bin");
-+MODULE_FIRMWARE("nvidia/gv100/sec2/sig.bin");
-
- static const struct nvkm_sec2_fwif
- gp108_sec2_fwif[] = {
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c b/drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c
-index b6ebd95c9ba1e..a8295653ceab1 100644
---- a/drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/sec2/tu102.c
-@@ -56,6 +56,22 @@ tu102_sec2_nofw(struct nvkm_sec2 *sec2, int ver,
- return 0;
- }
-
-+MODULE_FIRMWARE("nvidia/tu102/sec2/desc.bin");
-+MODULE_FIRMWARE("nvidia/tu102/sec2/image.bin");
-+MODULE_FIRMWARE("nvidia/tu102/sec2/sig.bin");
-+MODULE_FIRMWARE("nvidia/tu104/sec2/desc.bin");
-+MODULE_FIRMWARE("nvidia/tu104/sec2/image.bin");
-+MODULE_FIRMWARE("nvidia/tu104/sec2/sig.bin");
-+MODULE_FIRMWARE("nvidia/tu106/sec2/desc.bin");
-+MODULE_FIRMWARE("nvidia/tu106/sec2/image.bin");
-+MODULE_FIRMWARE("nvidia/tu106/sec2/sig.bin");
-+MODULE_FIRMWARE("nvidia/tu116/sec2/desc.bin");
-+MODULE_FIRMWARE("nvidia/tu116/sec2/image.bin");
-+MODULE_FIRMWARE("nvidia/tu116/sec2/sig.bin");
-+MODULE_FIRMWARE("nvidia/tu117/sec2/desc.bin");
-+MODULE_FIRMWARE("nvidia/tu117/sec2/image.bin");
-+MODULE_FIRMWARE("nvidia/tu117/sec2/sig.bin");
-+
- static const struct nvkm_sec2_fwif
- tu102_sec2_fwif[] = {
- { 0, gp102_sec2_load, &tu102_sec2, &gp102_sec2_acr_1 },
diff --git a/regulator-pwm-Don-t-warn-on-probe-deferral.patch b/regulator-pwm-Don-t-warn-on-probe-deferral.patch
deleted file mode 100644
index cebfae9de..000000000
--- a/regulator-pwm-Don-t-warn-on-probe-deferral.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0cd71b9a43ad80f4d9a8bfde6ec6db8daf447029 Mon Sep 17 00:00:00 2001
-From: Jon Hunter <jonathanh@nvidia.com>
-Date: Mon, 2 Mar 2020 14:14:28 +0000
-Subject: regulator: pwm: Don't warn on probe deferral
-
-Deferred probe is an expected return value for devm_pwm_get(). Given
-that the driver deals with it properly, rather than warn on probe
-deferral, only output a message on probe deferral if debug level
-prints are enabled.
-
-Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
-Link: https://lore.kernel.org/r/20200302141428.14119-1-jonathanh@nvidia.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
----
- drivers/regulator/pwm-regulator.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c
-index e74e11101fc1..638329bd0745 100644
---- a/drivers/regulator/pwm-regulator.c
-+++ b/drivers/regulator/pwm-regulator.c
-@@ -354,7 +354,11 @@ static int pwm_regulator_probe(struct platform_device *pdev)
- drvdata->pwm = devm_pwm_get(&pdev->dev, NULL);
- if (IS_ERR(drvdata->pwm)) {
- ret = PTR_ERR(drvdata->pwm);
-- dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
-+ if (ret == -EPROBE_DEFER)
-+ dev_dbg(&pdev->dev,
-+ "Failed to get PWM, deferring probe\n");
-+ else
-+ dev_err(&pdev->dev, "Failed to get PWM: %d\n", ret);
- return ret;
- }
-
---
-cgit 1.2-0.3.lf.el7
diff --git a/scripts/create_headers_tarball.sh b/scripts/create_headers_tarball.sh
index 9a59f03a5..f9c3cb9c5 100755
--- a/scripts/create_headers_tarball.sh
+++ b/scripts/create_headers_tarball.sh
@@ -40,7 +40,7 @@ fi
# ARCH_LIST below has the default list of supported architectures
# (the architectures names may be different from rpm, you list here the
# names of arch/<arch> directories in the kernel sources)
-ARCH_LIST="arm arm64 powerpc s390 x86"
+ARCH_LIST="arm arm64 powerpc riscv s390 x86"
headers_dir=$(mktemp -d)
trap 'rm -rf "$headers_dir"' SIGHUP SIGINT SIGTERM EXIT
diff --git a/sources b/sources
index 067ac998e..7f56bdb0f 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (linux-5.6.tar.xz) = 80846fe2b4e4a7ff471d2dde28a8216ae807a3209f959e93d39ea4fc9a189ea28ec3db9d303b3fe15a28c2cb90e7446876678e93e23353c2d6f262e364a06bc9
-SHA512 (patch-5.6.19.xz) = f967f9ffc12249db757bd38fd890ac69d327f23bcb767ffa0c178aa7e541bb4a10715664d703315ac3b96ed35909046350f97752c2a4691526ad55a9f03f2c24
+SHA512 (linux-5.7.tar.xz) = 45bde01593f6147c8c169b9e46b4b56eee998142552ae0ff82f1dd21b1fd54f3b32f6283f6bd77ea717d374672167849e468c157f235d2f12f7d7816e4623bf6
+SHA512 (patch-5.7.6.xz) = 9805544822c083a7a2806c25fec94b6f784071ec69ad3c852c39576a1a2ab7dc15c71b59d9e25abc6ac6cadfed8418f6a5871ea6e5c9b025c34c5cc9aa74862e
diff --git a/vboxguest-fixes.patch b/vboxguest-fixes.patch
deleted file mode 100644
index 90c95b374..000000000
--- a/vboxguest-fixes.patch
+++ /dev/null
@@ -1,843 +0,0 @@
-From ba5ea5d9d5d2ade5156cf2bc452ff6d1f5c4db37 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 1/8] 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>
----
- 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
-
-From 14dc3b46e666343c55e5b253ed3dd4c57b13e778 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 2/8] 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>
----
- 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
-
-From 172353a61c23015611a341c2f3f4888d866a560b Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 19 May 2020 14:33:13 +0200
-Subject: [PATCH 3/8] virt: vbox: Rename guest_caps struct members to
- set_guest_caps
-
-Rename guest_caps[_tracker] struct members to set_guest_caps[_tracker]
-this is a preparation patch for adding support for the
-VBGL_IOCTL_GUEST_CAPS_ACQUIRE ioctl.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/virt/vboxguest/vboxguest_core.c | 20 ++++++++++----------
- drivers/virt/vboxguest/vboxguest_core.h | 9 +++++----
- 2 files changed, 15 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
-index 18ebd7a6af98..aee5eff229f2 100644
---- a/drivers/virt/vboxguest/vboxguest_core.c
-+++ b/drivers/virt/vboxguest/vboxguest_core.c
-@@ -699,17 +699,17 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
- mutex_lock(&gdev->session_mutex);
-
- /* Apply the changes to the session mask. */
-- previous = session->guest_caps;
-- session->guest_caps |= or_mask;
-- session->guest_caps &= ~not_mask;
-+ previous = session->set_guest_caps;
-+ session->set_guest_caps |= or_mask;
-+ session->set_guest_caps &= ~not_mask;
-
- /* If anything actually changed, update the global usage counters. */
-- changed = previous ^ session->guest_caps;
-+ changed = previous ^ session->set_guest_caps;
- if (!changed)
- goto out;
-
-- vbg_track_bit_usage(&gdev->guest_caps_tracker, changed, previous);
-- or_mask = gdev->guest_caps_tracker.mask;
-+ vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous);
-+ or_mask = gdev->set_guest_caps_tracker.mask;
-
- if (gdev->guest_caps_host == or_mask || !req)
- goto out;
-@@ -726,9 +726,9 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
- if (session_termination)
- goto out;
-
-- vbg_track_bit_usage(&gdev->guest_caps_tracker, changed,
-- session->guest_caps);
-- session->guest_caps = previous;
-+ vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed,
-+ session->set_guest_caps);
-+ session->set_guest_caps = previous;
- }
-
- out:
-@@ -1452,7 +1452,7 @@ static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
- if (ret)
- return ret;
-
-- caps->u.out.session_caps = session->guest_caps;
-+ caps->u.out.session_caps = session->set_guest_caps;
- caps->u.out.global_caps = gdev->guest_caps_host;
-
- return 0;
-diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
-index 77c3a9c8255d..dc745a033164 100644
---- a/drivers/virt/vboxguest/vboxguest_core.h
-+++ b/drivers/virt/vboxguest/vboxguest_core.h
-@@ -118,11 +118,12 @@ struct vbg_dev {
- u32 event_filter_host;
-
- /**
-- * Usage counters for guest capabilities. Indexed by capability bit
-+ * Usage counters for guest capabilities requested through
-+ * vbg_set_session_capabilities(). Indexed by capability bit
- * number, one count per session using a capability.
- * Protected by session_mutex.
- */
-- struct vbg_bit_usage_tracker guest_caps_tracker;
-+ struct vbg_bit_usage_tracker set_guest_caps_tracker;
- /**
- * The guest capabilities last reported to the host (or UINT32_MAX).
- * Protected by session_mutex.
-@@ -164,11 +165,11 @@ struct vbg_session {
- */
- u32 event_filter;
- /**
-- * Guest capabilities for this session.
-+ * Guest capabilities set through vbg_set_session_capabilities().
- * A capability claimed by any guest session will be reported to the
- * host. Protected by vbg_gdev.session_mutex.
- */
-- u32 guest_caps;
-+ u32 set_guest_caps;
- /** VMMDEV_REQUESTOR_* flags */
- u32 requestor;
- /** Set on CANCEL_ALL_WAITEVENTS, protected by vbg_devevent_spinlock. */
---
-2.26.2
-
-From c5cf459d4d98a7993f5e00d5d2b826c55bbce562 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 19 May 2020 15:30:29 +0200
-Subject: [PATCH 4/8] virt: vbox: Add vbg_set_host_capabilities() helper
- function
-
-Add vbg_set_host_capabilities() helper function, this is a preparation
-patch for adding support for the VBGL_IOCTL_GUEST_CAPS_ACQUIRE ioctl.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/virt/vboxguest/vboxguest_core.c | 79 ++++++++++++++-----------
- 1 file changed, 46 insertions(+), 33 deletions(-)
-
-diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
-index aee5eff229f2..15b3cb618c6e 100644
---- a/drivers/virt/vboxguest/vboxguest_core.c
-+++ b/drivers/virt/vboxguest/vboxguest_core.c
-@@ -661,6 +661,48 @@ static int vbg_reset_host_capabilities(struct vbg_dev *gdev)
- return vbg_status_code_to_errno(rc);
- }
-
-+/**
-+ * Set guest capabilities on the host.
-+ * Must be called with gdev->session_mutex hold.
-+ * Return: 0 or negative errno value.
-+ * @gdev: The Guest extension device.
-+ * @session: The session.
-+ * @session_termination: Set if we're called by the session cleanup code.
-+ */
-+static int vbg_set_host_capabilities(struct vbg_dev *gdev,
-+ struct vbg_session *session,
-+ bool session_termination)
-+{
-+ struct vmmdev_mask *req;
-+ u32 caps;
-+ int rc;
-+
-+ WARN_ON(!mutex_is_locked(&gdev->session_mutex));
-+
-+ caps = gdev->set_guest_caps_tracker.mask;
-+
-+ if (gdev->guest_caps_host == caps)
-+ return 0;
-+
-+ /* On termination the requestor is the kernel, as we're cleaning up. */
-+ req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES,
-+ session_termination ? VBG_KERNEL_REQUEST :
-+ session->requestor);
-+ if (!req) {
-+ gdev->guest_caps_host = U32_MAX;
-+ return -ENOMEM;
-+ }
-+
-+ req->or_mask = caps;
-+ req->not_mask = ~caps;
-+ rc = vbg_req_perform(gdev, req);
-+ vbg_req_free(req, sizeof(*req));
-+
-+ gdev->guest_caps_host = (rc >= 0) ? caps : U32_MAX;
-+
-+ return vbg_status_code_to_errno(rc);
-+}
-+
- /**
- * Sets the guest capabilities for a session. Takes the session spinlock.
- * Return: 0 or negative errno value.
-@@ -678,23 +720,8 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
- u32 or_mask, u32 not_mask,
- bool session_termination)
- {
-- struct vmmdev_mask *req;
- u32 changed, previous;
-- int rc, ret = 0;
--
-- /*
-- * Allocate a request buffer before taking the spinlock, when
-- * the session is being terminated the requestor is the kernel,
-- * as we're cleaning up.
-- */
-- req = vbg_req_alloc(sizeof(*req), VMMDEVREQ_SET_GUEST_CAPABILITIES,
-- session_termination ? VBG_KERNEL_REQUEST :
-- session->requestor);
-- if (!req) {
-- if (!session_termination)
-- return -ENOMEM;
-- /* Ignore allocation failure, we must do session cleanup. */
-- }
-+ int ret = 0;
-
- mutex_lock(&gdev->session_mutex);
-
-@@ -709,23 +736,10 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
- goto out;
-
- vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed, previous);
-- or_mask = gdev->set_guest_caps_tracker.mask;
--
-- if (gdev->guest_caps_host == or_mask || !req)
-- goto out;
--
-- gdev->guest_caps_host = or_mask;
-- req->or_mask = or_mask;
-- req->not_mask = ~or_mask;
-- rc = vbg_req_perform(gdev, req);
-- if (rc < 0) {
-- ret = vbg_status_code_to_errno(rc);
--
-- /* Failed, roll back (unless it's session termination time). */
-- gdev->guest_caps_host = U32_MAX;
-- if (session_termination)
-- goto out;
-
-+ ret = vbg_set_host_capabilities(gdev, session, session_termination);
-+ /* Roll back on failure, unless it's session termination time. */
-+ if (ret < 0 && !session_termination) {
- vbg_track_bit_usage(&gdev->set_guest_caps_tracker, changed,
- session->set_guest_caps);
- session->set_guest_caps = previous;
-@@ -733,7 +747,6 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
-
- out:
- mutex_unlock(&gdev->session_mutex);
-- vbg_req_free(req, sizeof(*req));
-
- return ret;
- }
---
-2.26.2
-
-From 2f33e58bcc8c69f938629dc57c8ad631724f02f0 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 19 May 2020 18:04:30 +0200
-Subject: [PATCH 5/8] virt: vbox: Add support for the new
- VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl
-
-Add support for the new VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl, this
-is necessary for automatic resizing of the guest resolution to match the
-VM-window size to work with the new VMSVGA virtual GPU which is now the
-new default in VirtualBox.
-
-BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1789545
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/virt/vboxguest/vboxguest_core.c | 163 +++++++++++++++++++++++-
- drivers/virt/vboxguest/vboxguest_core.h | 14 ++
- include/uapi/linux/vboxguest.h | 24 ++++
- 3 files changed, 200 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
-index 15b3cb618c6e..4f1addaa3f6f 100644
---- a/drivers/virt/vboxguest/vboxguest_core.c
-+++ b/drivers/virt/vboxguest/vboxguest_core.c
-@@ -679,7 +679,7 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev,
-
- WARN_ON(!mutex_is_locked(&gdev->session_mutex));
-
-- caps = gdev->set_guest_caps_tracker.mask;
-+ caps = gdev->acquired_guest_caps | gdev->set_guest_caps_tracker.mask;
-
- if (gdev->guest_caps_host == caps)
- return 0;
-@@ -703,6 +703,113 @@ static int vbg_set_host_capabilities(struct vbg_dev *gdev,
- return vbg_status_code_to_errno(rc);
- }
-
-+/**
-+ * Acquire (get exclusive access) guest capabilities for a session.
-+ * Takes the session mutex.
-+ * Return: 0 or negative errno value.
-+ * @gdev: The Guest extension device.
-+ * @session: The session.
-+ * @flags: Flags (VBGL_IOC_AGC_FLAGS_XXX).
-+ * @or_mask: The capabilities to add.
-+ * @not_mask: The capabilities to remove.
-+ * @session_termination: Set if we're called by the session cleanup code.
-+ * This tweaks the error handling so we perform
-+ * proper session cleanup even if the host
-+ * misbehaves.
-+ */
-+static int vbg_acquire_session_capabilities(struct vbg_dev *gdev,
-+ struct vbg_session *session,
-+ u32 or_mask, u32 not_mask,
-+ u32 flags, bool session_termination)
-+{
-+ unsigned long irqflags;
-+ bool wakeup = false;
-+ int ret = 0;
-+
-+ mutex_lock(&gdev->session_mutex);
-+
-+ if (gdev->set_guest_caps_tracker.mask & or_mask) {
-+ vbg_err("%s error: cannot acquire caps which are currently set\n",
-+ __func__);
-+ ret = -EINVAL;
-+ goto out;
-+ }
-+
-+ /*
-+ * Mark any caps in the or_mask as now being in acquire-mode. Note
-+ * once caps are in acquire_mode they always stay in this mode.
-+ * This impacts event handling, so we take the event-lock.
-+ */
-+ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
-+ gdev->acquire_mode_guest_caps |= or_mask;
-+ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
-+
-+ /* If we only have to switch the caps to acquire mode, we're done. */
-+ if (flags & VBGL_IOC_AGC_FLAGS_CONFIG_ACQUIRE_MODE)
-+ goto out;
-+
-+ not_mask &= ~or_mask; /* or_mask takes priority over not_mask */
-+ not_mask &= session->acquired_guest_caps;
-+ or_mask &= ~session->acquired_guest_caps;
-+
-+ if (or_mask == 0 && not_mask == 0)
-+ goto out;
-+
-+ if (gdev->acquired_guest_caps & or_mask) {
-+ ret = -EBUSY;
-+ goto out;
-+ }
-+
-+ gdev->acquired_guest_caps |= or_mask;
-+ gdev->acquired_guest_caps &= ~not_mask;
-+ /* session->acquired_guest_caps impacts event handling, take the lock */
-+ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
-+ session->acquired_guest_caps |= or_mask;
-+ session->acquired_guest_caps &= ~not_mask;
-+ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
-+
-+ ret = vbg_set_host_capabilities(gdev, session, session_termination);
-+ /* Roll back on failure, unless it's session termination time. */
-+ if (ret < 0 && !session_termination) {
-+ gdev->acquired_guest_caps &= ~or_mask;
-+ gdev->acquired_guest_caps |= not_mask;
-+ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
-+ session->acquired_guest_caps &= ~or_mask;
-+ session->acquired_guest_caps |= not_mask;
-+ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
-+ }
-+
-+ /*
-+ * If we added a capability, check if that means some other thread in
-+ * our session should be unblocked because there are events pending
-+ * (the result of vbg_get_allowed_event_mask_for_session() may change).
-+ *
-+ * HACK ALERT! When the seamless support capability is added we generate
-+ * a seamless change event so that the ring-3 client can sync with
-+ * the seamless state.
-+ */
-+ if (ret == 0 && or_mask != 0) {
-+ spin_lock_irqsave(&gdev->event_spinlock, irqflags);
-+
-+ if (or_mask & VMMDEV_GUEST_SUPPORTS_SEAMLESS)
-+ gdev->pending_events |=
-+ VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST;
-+
-+ if (gdev->pending_events)
-+ wakeup = true;
-+
-+ spin_unlock_irqrestore(&gdev->event_spinlock, irqflags);
-+
-+ if (wakeup)
-+ wake_up(&gdev->event_wq);
-+ }
-+
-+out:
-+ mutex_unlock(&gdev->session_mutex);
-+
-+ return ret;
-+}
-+
- /**
- * Sets the guest capabilities for a session. Takes the session spinlock.
- * Return: 0 or negative errno value.
-@@ -725,6 +832,13 @@ static int vbg_set_session_capabilities(struct vbg_dev *gdev,
-
- mutex_lock(&gdev->session_mutex);
-
-+ if (gdev->acquire_mode_guest_caps & or_mask) {
-+ vbg_err("%s error: cannot set caps which are in acquire_mode\n",
-+ __func__);
-+ ret = -EBUSY;
-+ goto out;
-+ }
-+
- /* Apply the changes to the session mask. */
- previous = session->set_guest_caps;
- session->set_guest_caps |= or_mask;
-@@ -962,6 +1076,7 @@ void vbg_core_close_session(struct vbg_session *session)
- struct vbg_dev *gdev = session->gdev;
- int i, rc;
-
-+ vbg_acquire_session_capabilities(gdev, session, 0, U32_MAX, 0, true);
- vbg_set_session_capabilities(gdev, session, 0, U32_MAX, true);
- vbg_set_session_event_filter(gdev, session, 0, U32_MAX, true);
-
-@@ -1019,6 +1134,25 @@ static int vbg_ioctl_driver_version_info(
- return 0;
- }
-
-+/* Must be called with the event_lock held */
-+static u32 vbg_get_allowed_event_mask_for_session(struct vbg_dev *gdev,
-+ struct vbg_session *session)
-+{
-+ u32 acquire_mode_caps = gdev->acquire_mode_guest_caps;
-+ u32 session_acquired_caps = session->acquired_guest_caps;
-+ u32 allowed_events = VMMDEV_EVENT_VALID_EVENT_MASK;
-+
-+ if ((acquire_mode_caps & VMMDEV_GUEST_SUPPORTS_GRAPHICS) &&
-+ !(session_acquired_caps & VMMDEV_GUEST_SUPPORTS_GRAPHICS))
-+ allowed_events &= ~VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST;
-+
-+ if ((acquire_mode_caps & VMMDEV_GUEST_SUPPORTS_SEAMLESS) &&
-+ !(session_acquired_caps & VMMDEV_GUEST_SUPPORTS_SEAMLESS))
-+ allowed_events &= ~VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST;
-+
-+ return allowed_events;
-+}
-+
- static bool vbg_wait_event_cond(struct vbg_dev *gdev,
- struct vbg_session *session,
- u32 event_mask)
-@@ -1030,6 +1164,7 @@ static bool vbg_wait_event_cond(struct vbg_dev *gdev,
- spin_lock_irqsave(&gdev->event_spinlock, flags);
-
- events = gdev->pending_events & event_mask;
-+ events &= vbg_get_allowed_event_mask_for_session(gdev, session);
- wakeup = events || session->cancel_waiters;
-
- spin_unlock_irqrestore(&gdev->event_spinlock, flags);
-@@ -1044,6 +1179,7 @@ static u32 vbg_consume_events_locked(struct vbg_dev *gdev,
- {
- u32 events = gdev->pending_events & event_mask;
-
-+ events &= vbg_get_allowed_event_mask_for_session(gdev, session);
- gdev->pending_events &= ~events;
- return events;
- }
-@@ -1445,6 +1581,29 @@ static int vbg_ioctl_change_filter_mask(struct vbg_dev *gdev,
- false);
- }
-
-+static int vbg_ioctl_acquire_guest_capabilities(struct vbg_dev *gdev,
-+ struct vbg_session *session,
-+ struct vbg_ioctl_acquire_guest_caps *caps)
-+{
-+ u32 flags, or_mask, not_mask;
-+
-+ if (vbg_ioctl_chk(&caps->hdr, sizeof(caps->u.in), 0))
-+ return -EINVAL;
-+
-+ flags = caps->u.in.flags;
-+ or_mask = caps->u.in.or_mask;
-+ not_mask = caps->u.in.not_mask;
-+
-+ if (flags & ~VBGL_IOC_AGC_FLAGS_VALID_MASK)
-+ return -EINVAL;
-+
-+ if ((or_mask | not_mask) & ~VMMDEV_GUEST_CAPABILITIES_MASK)
-+ return -EINVAL;
-+
-+ return vbg_acquire_session_capabilities(gdev, session, or_mask,
-+ not_mask, flags, false);
-+}
-+
- static int vbg_ioctl_change_guest_capabilities(struct vbg_dev *gdev,
- struct vbg_session *session, struct vbg_ioctl_set_guest_caps *caps)
- {
-@@ -1554,6 +1713,8 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
- return vbg_ioctl_interrupt_all_wait_events(gdev, session, data);
- case VBG_IOCTL_CHANGE_FILTER_MASK:
- return vbg_ioctl_change_filter_mask(gdev, session, data);
-+ case VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES:
-+ return vbg_ioctl_acquire_guest_capabilities(gdev, session, data);
- case VBG_IOCTL_CHANGE_GUEST_CAPABILITIES:
- return vbg_ioctl_change_guest_capabilities(gdev, session, data);
- case VBG_IOCTL_CHECK_BALLOON:
-diff --git a/drivers/virt/vboxguest/vboxguest_core.h b/drivers/virt/vboxguest/vboxguest_core.h
-index dc745a033164..ab4bf64e2cec 100644
---- a/drivers/virt/vboxguest/vboxguest_core.h
-+++ b/drivers/virt/vboxguest/vboxguest_core.h
-@@ -117,6 +117,15 @@ struct vbg_dev {
- */
- u32 event_filter_host;
-
-+ /**
-+ * Guest capabilities which have been switched to acquire_mode.
-+ */
-+ u32 acquire_mode_guest_caps;
-+ /**
-+ * Guest capabilities acquired by vbg_acquire_session_capabilities().
-+ * Only one session can acquire a capability at a time.
-+ */
-+ u32 acquired_guest_caps;
- /**
- * Usage counters for guest capabilities requested through
- * vbg_set_session_capabilities(). Indexed by capability bit
-@@ -164,6 +173,11 @@ struct vbg_session {
- * host filter. Protected by vbg_gdev.session_mutex.
- */
- u32 event_filter;
-+ /**
-+ * Guest capabilities acquired by vbg_acquire_session_capabilities().
-+ * Only one session can acquire a capability at a time.
-+ */
-+ u32 acquired_guest_caps;
- /**
- * Guest capabilities set through vbg_set_session_capabilities().
- * A capability claimed by any guest session will be reported to the
-diff --git a/include/uapi/linux/vboxguest.h b/include/uapi/linux/vboxguest.h
-index f79d7abe27db..15125f6ec60d 100644
---- a/include/uapi/linux/vboxguest.h
-+++ b/include/uapi/linux/vboxguest.h
-@@ -257,6 +257,30 @@ VMMDEV_ASSERT_SIZE(vbg_ioctl_change_filter, 24 + 8);
- _IOWR('V', 12, struct vbg_ioctl_change_filter)
-
-
-+/** VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES data structure. */
-+struct vbg_ioctl_acquire_guest_caps {
-+ /** The header. */
-+ struct vbg_ioctl_hdr hdr;
-+ union {
-+ struct {
-+ /** Flags (VBGL_IOC_AGC_FLAGS_XXX). */
-+ __u32 flags;
-+ /** Capabilities to set (VMMDEV_GUEST_SUPPORTS_XXX). */
-+ __u32 or_mask;
-+ /** Capabilities to drop (VMMDEV_GUEST_SUPPORTS_XXX). */
-+ __u32 not_mask;
-+ } in;
-+ } u;
-+};
-+VMMDEV_ASSERT_SIZE(vbg_ioctl_acquire_guest_caps, 24 + 12);
-+
-+#define VBGL_IOC_AGC_FLAGS_CONFIG_ACQUIRE_MODE 0x00000001
-+#define VBGL_IOC_AGC_FLAGS_VALID_MASK 0x00000001
-+
-+#define VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES \
-+ _IOWR('V', 13, struct vbg_ioctl_acquire_guest_caps)
-+
-+
- /** VBG_IOCTL_CHANGE_GUEST_CAPABILITIES data structure. */
- struct vbg_ioctl_set_guest_caps {
- /** The header. */
---
-2.26.2
-
-From d34852680360e52c39ea901fbc3778d28f229852 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 19 May 2020 11:05:40 +0200
-Subject: [PATCH 6/8] virt: vbox: Add a few new vmmdev request types to the
- userspace whitelist
-
-Upstream VirtualBox has defined and is using a few new request types for
-vmmdev requests passed through /dev/vboxguest to the hypervisor.
-
-Add the defines for these to vbox_vmmdev_types.h and add add them to the
-whitelists of vmmdev requests which userspace is allowed to make.
-
-BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1789545
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/virt/vboxguest/vboxguest_core.c | 2 ++
- include/uapi/linux/vbox_vmmdev_types.h | 3 +++
- 2 files changed, 5 insertions(+)
-
-diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
-index 4f1addaa3f6f..ffd76b949276 100644
---- a/drivers/virt/vboxguest/vboxguest_core.c
-+++ b/drivers/virt/vboxguest/vboxguest_core.c
-@@ -1299,7 +1299,9 @@ static int vbg_req_allowed(struct vbg_dev *gdev, struct vbg_session *session,
- case VMMDEVREQ_VIDEO_ACCEL_ENABLE:
- case VMMDEVREQ_VIDEO_ACCEL_FLUSH:
- case VMMDEVREQ_VIDEO_SET_VISIBLE_REGION:
-+ case VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS:
- case VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX:
-+ case VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI:
- case VMMDEVREQ_GET_SEAMLESS_CHANGE_REQ:
- case VMMDEVREQ_GET_VRDPCHANGE_REQ:
- case VMMDEVREQ_LOG_STRING:
-diff --git a/include/uapi/linux/vbox_vmmdev_types.h b/include/uapi/linux/vbox_vmmdev_types.h
-index c27289fd619a..f8a8d6b3c521 100644
---- a/include/uapi/linux/vbox_vmmdev_types.h
-+++ b/include/uapi/linux/vbox_vmmdev_types.h
-@@ -63,6 +63,7 @@ enum vmmdev_request_type {
- VMMDEVREQ_SET_GUEST_CAPABILITIES = 56,
- VMMDEVREQ_VIDEMODE_SUPPORTED2 = 57, /* since version 3.2.0 */
- VMMDEVREQ_GET_DISPLAY_CHANGE_REQEX = 80, /* since version 4.2.4 */
-+ VMMDEVREQ_GET_DISPLAY_CHANGE_REQ_MULTI = 81,
- VMMDEVREQ_HGCM_CONNECT = 60,
- VMMDEVREQ_HGCM_DISCONNECT = 61,
- VMMDEVREQ_HGCM_CALL32 = 62,
-@@ -92,6 +93,8 @@ enum vmmdev_request_type {
- VMMDEVREQ_WRITE_COREDUMP = 218,
- VMMDEVREQ_GUEST_HEARTBEAT = 219,
- VMMDEVREQ_HEARTBEAT_CONFIGURE = 220,
-+ VMMDEVREQ_NT_BUG_CHECK = 221,
-+ VMMDEVREQ_VIDEO_UPDATE_MONITOR_POSITIONS = 222,
- /* Ensure the enum is a 32 bit data-type */
- VMMDEVREQ_SIZEHACK = 0x7fffffff
- };
---
-2.26.2
-
-From 92887e49b5f83dd802f3486143a9b619c7b56947 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 19 May 2020 11:24:43 +0200
-Subject: [PATCH 7/8] virt: vbox: Log unknown ioctl requests as error
-
-Every now and then upstream adds new ioctls without notifying us,
-log unknown ioctl requests as an error to catch these.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/virt/vboxguest/vboxguest_core.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
-index ffd76b949276..e0e343d0ba93 100644
---- a/drivers/virt/vboxguest/vboxguest_core.c
-+++ b/drivers/virt/vboxguest/vboxguest_core.c
-@@ -1739,7 +1739,7 @@ int vbg_core_ioctl(struct vbg_session *session, unsigned int req, void *data)
- return vbg_ioctl_log(data);
- }
-
-- vbg_debug("VGDrvCommonIoCtl: Unknown req %#08x\n", req);
-+ vbg_err("Userspace made an unknown ioctl req %#08x\n", req);
- return -ENOTTY;
- }
-
---
-2.26.2
-
-From 10a3a8c4a13e608d24db0a4ed4a284470025346d Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 19 May 2020 18:08:07 +0200
-Subject: [PATCH 8/8] virt: vbox: Fix some comments which talk about the
- "session spinlock"
-
-The session lock is a mutex, not a spinlock, fix the comments to match.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/virt/vboxguest/vboxguest_core.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/virt/vboxguest/vboxguest_core.c b/drivers/virt/vboxguest/vboxguest_core.c
-index e0e343d0ba93..d99c19551d04 100644
---- a/drivers/virt/vboxguest/vboxguest_core.c
-+++ b/drivers/virt/vboxguest/vboxguest_core.c
-@@ -559,7 +559,7 @@ static int vbg_reset_host_event_filter(struct vbg_dev *gdev,
- * Changes the event filter mask for the given session.
- *
- * This is called in response to VBG_IOCTL_CHANGE_FILTER_MASK as well as to
-- * do session cleanup. Takes the session spinlock.
-+ * do session cleanup. Takes the session mutex.
- *
- * Return: 0 or negative errno value.
- * @gdev: The Guest extension device.
-@@ -811,7 +811,7 @@ static int vbg_acquire_session_capabilities(struct vbg_dev *gdev,
- }
-
- /**
-- * Sets the guest capabilities for a session. Takes the session spinlock.
-+ * Sets the guest capabilities for a session. Takes the session mutex.
- * Return: 0 or negative errno value.
- * @gdev: The Guest extension device.
- * @session: The session.
---
-2.26.2
-
diff --git a/vfio-pci-block-user-access-to-disabled-device-MMIO.patch b/vfio-pci-block-user-access-to-disabled-device-MMIO.patch
deleted file mode 100644
index f289b448f..000000000
--- a/vfio-pci-block-user-access-to-disabled-device-MMIO.patch
+++ /dev/null
@@ -1,857 +0,0 @@
-From MAILER-DAEMON Wed May 20 15:47:40 2020
-Subject: [PATCH v2 1/3] vfio/type1: Support faulting PFNMAP vmas
-From: Alex Williamson <alex.williamson@redhat.com>
-To: kvm@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org, cohuck@redhat.com, jgg@ziepe.ca
-Date: Tue, 05 May 2020 15:54:44 -0600
-Message-ID: <158871568480.15589.17339878308143043906.stgit@gimli.home>
-In-Reply-To: <158871401328.15589.17598154478222071285.stgit@gimli.home>
-References: <158871401328.15589.17598154478222071285.stgit@gimli.home>
-Sender: kvm-owner@vger.kernel.org
-List-ID: <kvm.vger.kernel.org>
-X-Mailing-List: kvm@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-With conversion to follow_pfn(), DMA mapping a PFNMAP range depends on
-the range being faulted into the vma. Add support to manually provide
-that, in the same way as done on KVM with hva_to_pfn_remapped().
-
-Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-Reviewed-by: Peter Xu <peterx@redhat.com>
----
- drivers/vfio/vfio_iommu_type1.c | 36 +++++++++++++++++++++++++++++++++---
- 1 file changed, 33 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
-index cc1d64765ce7..4a4cb7cd86b2 100644
---- a/drivers/vfio/vfio_iommu_type1.c
-+++ b/drivers/vfio/vfio_iommu_type1.c
-@@ -317,6 +317,32 @@ static int put_pfn(unsigned long pfn, int prot)
- return 0;
- }
-
-+static int follow_fault_pfn(struct vm_area_struct *vma, struct mm_struct *mm,
-+ unsigned long vaddr, unsigned long *pfn,
-+ bool write_fault)
-+{
-+ int ret;
-+
-+ ret = follow_pfn(vma, vaddr, pfn);
-+ if (ret) {
-+ bool unlocked = false;
-+
-+ ret = fixup_user_fault(NULL, mm, vaddr,
-+ FAULT_FLAG_REMOTE |
-+ (write_fault ? FAULT_FLAG_WRITE : 0),
-+ &unlocked);
-+ if (unlocked)
-+ return -EAGAIN;
-+
-+ if (ret)
-+ return ret;
-+
-+ ret = follow_pfn(vma, vaddr, pfn);
-+ }
-+
-+ return ret;
-+}
-+
- static int vaddr_get_pfn(struct mm_struct *mm, unsigned long vaddr,
- int prot, unsigned long *pfn)
- {
-@@ -339,12 +365,16 @@ static int vaddr_get_pfn(struct mm_struct *mm, unsigned long vaddr,
-
- vaddr = untagged_addr(vaddr);
-
-+retry:
- vma = find_vma_intersection(mm, vaddr, vaddr + 1);
-
- if (vma && vma->vm_flags & VM_PFNMAP) {
-- if (!follow_pfn(vma, vaddr, pfn) &&
-- is_invalid_reserved_pfn(*pfn))
-- ret = 0;
-+ ret = follow_fault_pfn(vma, mm, vaddr, pfn, prot & IOMMU_WRITE);
-+ if (ret == -EAGAIN)
-+ goto retry;
-+
-+ if (!ret && !is_invalid_reserved_pfn(*pfn))
-+ ret = -EFAULT;
- }
- done:
- up_read(&mm->mmap_sem);
-
-
-From MAILER-DAEMON Wed May 20 15:47:40 2020
-Subject: [PATCH v2 2/3] vfio-pci: Fault mmaps to enable vma tracking
-From: Alex Williamson <alex.williamson@redhat.com>
-To: kvm@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org, cohuck@redhat.com, jgg@ziepe.ca
-Date: Tue, 05 May 2020 15:54:53 -0600
-Message-ID: <158871569380.15589.16950418949340311053.stgit@gimli.home>
-In-Reply-To: <158871401328.15589.17598154478222071285.stgit@gimli.home>
-References: <158871401328.15589.17598154478222071285.stgit@gimli.home>
-Sender: kvm-owner@vger.kernel.org
-List-ID: <kvm.vger.kernel.org>
-X-Mailing-List: kvm@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-Rather than calling remap_pfn_range() when a region is mmap'd, setup
-a vm_ops handler to support dynamic faulting of the range on access.
-This allows us to manage a list of vmas actively mapping the area that
-we can later use to invalidate those mappings. The open callback
-invalidates the vma range so that all tracking is inserted in the
-fault handler and removed in the close handler.
-
-Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
-Reviewed-by: Peter Xu <peterx@redhat.com>
----
- drivers/vfio/pci/vfio_pci.c | 76 ++++++++++++++++++++++++++++++++++-
- drivers/vfio/pci/vfio_pci_private.h | 7 +++
- 2 files changed, 81 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
-index 6c6b37b5c04e..66a545a01f8f 100644
---- a/drivers/vfio/pci/vfio_pci.c
-+++ b/drivers/vfio/pci/vfio_pci.c
-@@ -1299,6 +1299,70 @@ static ssize_t vfio_pci_write(void *device_data, const char __user *buf,
- return vfio_pci_rw(device_data, (char __user *)buf, count, ppos, true);
- }
-
-+static int vfio_pci_add_vma(struct vfio_pci_device *vdev,
-+ struct vm_area_struct *vma)
-+{
-+ struct vfio_pci_mmap_vma *mmap_vma;
-+
-+ mmap_vma = kmalloc(sizeof(*mmap_vma), GFP_KERNEL);
-+ if (!mmap_vma)
-+ return -ENOMEM;
-+
-+ mmap_vma->vma = vma;
-+
-+ mutex_lock(&vdev->vma_lock);
-+ list_add(&mmap_vma->vma_next, &vdev->vma_list);
-+ mutex_unlock(&vdev->vma_lock);
-+
-+ return 0;
-+}
-+
-+/*
-+ * Zap mmaps on open so that we can fault them in on access and therefore
-+ * our vma_list only tracks mappings accessed since last zap.
-+ */
-+static void vfio_pci_mmap_open(struct vm_area_struct *vma)
-+{
-+ zap_vma_ptes(vma, vma->vm_start, vma->vm_end - vma->vm_start);
-+}
-+
-+static void vfio_pci_mmap_close(struct vm_area_struct *vma)
-+{
-+ struct vfio_pci_device *vdev = vma->vm_private_data;
-+ struct vfio_pci_mmap_vma *mmap_vma;
-+
-+ mutex_lock(&vdev->vma_lock);
-+ list_for_each_entry(mmap_vma, &vdev->vma_list, vma_next) {
-+ if (mmap_vma->vma == vma) {
-+ list_del(&mmap_vma->vma_next);
-+ kfree(mmap_vma);
-+ break;
-+ }
-+ }
-+ mutex_unlock(&vdev->vma_lock);
-+}
-+
-+static vm_fault_t vfio_pci_mmap_fault(struct vm_fault *vmf)
-+{
-+ struct vm_area_struct *vma = vmf->vma;
-+ struct vfio_pci_device *vdev = vma->vm_private_data;
-+
-+ if (vfio_pci_add_vma(vdev, vma))
-+ return VM_FAULT_OOM;
-+
-+ if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
-+ vma->vm_end - vma->vm_start, vma->vm_page_prot))
-+ return VM_FAULT_SIGBUS;
-+
-+ return VM_FAULT_NOPAGE;
-+}
-+
-+static const struct vm_operations_struct vfio_pci_mmap_ops = {
-+ .open = vfio_pci_mmap_open,
-+ .close = vfio_pci_mmap_close,
-+ .fault = vfio_pci_mmap_fault,
-+};
-+
- static int vfio_pci_mmap(void *device_data, struct vm_area_struct *vma)
- {
- struct vfio_pci_device *vdev = device_data;
-@@ -1357,8 +1421,14 @@ static int vfio_pci_mmap(void *device_data, struct vm_area_struct *vma)
- vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
- vma->vm_pgoff = (pci_resource_start(pdev, index) >> PAGE_SHIFT) + pgoff;
-
-- return remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
-- req_len, vma->vm_page_prot);
-+ /*
-+ * See remap_pfn_range(), called from vfio_pci_fault() but we can't
-+ * change vm_flags within the fault handler. Set them now.
-+ */
-+ vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
-+ vma->vm_ops = &vfio_pci_mmap_ops;
-+
-+ return 0;
- }
-
- static void vfio_pci_request(void *device_data, unsigned int count)
-@@ -1608,6 +1678,8 @@ static int vfio_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
- spin_lock_init(&vdev->irqlock);
- mutex_init(&vdev->ioeventfds_lock);
- INIT_LIST_HEAD(&vdev->ioeventfds_list);
-+ mutex_init(&vdev->vma_lock);
-+ INIT_LIST_HEAD(&vdev->vma_list);
-
- ret = vfio_add_group_dev(&pdev->dev, &vfio_pci_ops, vdev);
- if (ret) {
-diff --git a/drivers/vfio/pci/vfio_pci_private.h b/drivers/vfio/pci/vfio_pci_private.h
-index 36ec69081ecd..9b25f9f6ce1d 100644
---- a/drivers/vfio/pci/vfio_pci_private.h
-+++ b/drivers/vfio/pci/vfio_pci_private.h
-@@ -92,6 +92,11 @@ struct vfio_pci_vf_token {
- struct mutex lock;
- };
-
-+struct vfio_pci_mmap_vma {
-+ struct vm_area_struct *vma;
-+ struct list_head vma_next;
-+};
-+
- struct vfio_pci_device {
- struct pci_dev *pdev;
- void __iomem *barmap[PCI_STD_NUM_BARS];
-@@ -132,6 +137,8 @@ struct vfio_pci_device {
- struct list_head dummy_resources_list;
- struct mutex ioeventfds_lock;
- struct list_head ioeventfds_list;
-+ struct mutex vma_lock;
-+ struct list_head vma_list;
- };
-
- #define is_intx(vdev) (vdev->irq_type == VFIO_PCI_INTX_IRQ_INDEX)
-
-
-From MAILER-DAEMON Wed May 20 15:47:40 2020
-Subject: [PATCH v2 3/3] vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
-From: Alex Williamson <alex.williamson@redhat.com>
-To: kvm@vger.kernel.org
-Cc: linux-kernel@vger.kernel.org, cohuck@redhat.com, jgg@ziepe.ca
-Date: Tue, 05 May 2020 15:55:02 -0600
-Message-ID: <158871570274.15589.10563806532874116326.stgit@gimli.home>
-In-Reply-To: <158871401328.15589.17598154478222071285.stgit@gimli.home>
-References: <158871401328.15589.17598154478222071285.stgit@gimli.home>
-Sender: kvm-owner@vger.kernel.org
-List-ID: <kvm.vger.kernel.org>
-X-Mailing-List: kvm@vger.kernel.org
-MIME-Version: 1.0
-Content-Type: text/plain; charset="utf-8"
-Content-Transfer-Encoding: 7bit
-
-Accessing the disabled memory space of a PCI device would typically
-result in a master abort response on conventional PCI, or an
-unsupported request on PCI express. The user would generally see
-these as a -1 response for the read return data and the write would be
-silently discarded, possibly with an uncorrected, non-fatal AER error
-triggered on the host. Some systems however take it upon themselves
-to bring down the entire system when they see something that might
-indicate a loss of data, such as this discarded write to a disabled
-memory space.
-
-To avoid this, we want to try to block the user from accessing memory
-spaces while they're disabled. We start with a semaphore around the
-memory enable bit, where writers modify the memory enable state and
-must be serialized, while readers make use of the memory region and
-can access in parallel. Writers include both direct manipulation via
-the command register, as well as any reset path where the internal
-mechanics of the reset may both explicitly and implicitly disable
-memory access, and manipulation of the MSI-X configuration, where the
-MSI-X vector table resides in MMIO space of the device. Readers
-include the read and write file ops to access the vfio device fd
-offsets as well as memory mapped access. In the latter case, we make
-use of our new vma list support to zap, or invalidate, those memory
-mappings in order to force them to be faulted back in on access.
-
-Our semaphore usage will stall user access to MMIO spaces across
-internal operations like reset, but the user might experience new
-behavior when trying to access the MMIO space while disabled via the
-PCI command register. Access via read or write while disabled will
-return -EIO and access via memory maps will result in a SIGBUS. This
-is expected to be compatible with known use cases and potentially
-provides better error handling capabilities than present in the
-hardware, while avoiding the more readily accessible and severe
-platform error responses that might otherwise occur.
-
-Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
----
- drivers/vfio/pci/vfio_pci.c | 263 +++++++++++++++++++++++++++++++----
- drivers/vfio/pci/vfio_pci_config.c | 36 ++++-
- drivers/vfio/pci/vfio_pci_intrs.c | 18 ++
- drivers/vfio/pci/vfio_pci_private.h | 5 +
- drivers/vfio/pci/vfio_pci_rdwr.c | 12 ++
- 5 files changed, 300 insertions(+), 34 deletions(-)
-
-diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
-index 66a545a01f8f..49ae9faa6099 100644
---- a/drivers/vfio/pci/vfio_pci.c
-+++ b/drivers/vfio/pci/vfio_pci.c
-@@ -26,6 +26,7 @@
- #include <linux/vfio.h>
- #include <linux/vgaarb.h>
- #include <linux/nospec.h>
-+#include <linux/sched/mm.h>
-
- #include "vfio_pci_private.h"
-
-@@ -184,6 +185,7 @@ static void vfio_pci_probe_mmaps(struct vfio_pci_device *vdev)
-
- static void vfio_pci_try_bus_reset(struct vfio_pci_device *vdev);
- static void vfio_pci_disable(struct vfio_pci_device *vdev);
-+static int vfio_pci_try_zap_and_vma_lock_cb(struct pci_dev *pdev, void *data);
-
- /*
- * INTx masking requires the ability to disable INTx signaling via PCI_COMMAND
-@@ -736,6 +738,12 @@ int vfio_pci_register_dev_region(struct vfio_pci_device *vdev,
- return 0;
- }
-
-+struct vfio_devices {
-+ struct vfio_device **devices;
-+ int cur_index;
-+ int max_index;
-+};
-+
- static long vfio_pci_ioctl(void *device_data,
- unsigned int cmd, unsigned long arg)
- {
-@@ -984,8 +992,16 @@ static long vfio_pci_ioctl(void *device_data,
- return ret;
-
- } else if (cmd == VFIO_DEVICE_RESET) {
-- return vdev->reset_works ?
-- pci_try_reset_function(vdev->pdev) : -EINVAL;
-+ int ret;
-+
-+ if (!vdev->reset_works)
-+ return -EINVAL;
-+
-+ vfio_pci_zap_and_down_write_memory_lock(vdev);
-+ ret = pci_try_reset_function(vdev->pdev);
-+ up_write(&vdev->memory_lock);
-+
-+ return ret;
-
- } else if (cmd == VFIO_DEVICE_GET_PCI_HOT_RESET_INFO) {
- struct vfio_pci_hot_reset_info hdr;
-@@ -1065,8 +1081,9 @@ static long vfio_pci_ioctl(void *device_data,
- int32_t *group_fds;
- struct vfio_pci_group_entry *groups;
- struct vfio_pci_group_info info;
-+ struct vfio_devices devs = { .cur_index = 0 };
- bool slot = false;
-- int i, count = 0, ret = 0;
-+ int i, group_idx, mem_idx = 0, count = 0, ret = 0;
-
- minsz = offsetofend(struct vfio_pci_hot_reset, count);
-
-@@ -1118,9 +1135,9 @@ static long vfio_pci_ioctl(void *device_data,
- * user interface and store the group and iommu ID. This
- * ensures the group is held across the reset.
- */
-- for (i = 0; i < hdr.count; i++) {
-+ for (group_idx = 0; group_idx < hdr.count; group_idx++) {
- struct vfio_group *group;
-- struct fd f = fdget(group_fds[i]);
-+ struct fd f = fdget(group_fds[group_idx]);
- if (!f.file) {
- ret = -EBADF;
- break;
-@@ -1133,8 +1150,9 @@ static long vfio_pci_ioctl(void *device_data,
- break;
- }
-
-- groups[i].group = group;
-- groups[i].id = vfio_external_user_iommu_id(group);
-+ groups[group_idx].group = group;
-+ groups[group_idx].id =
-+ vfio_external_user_iommu_id(group);
- }
-
- kfree(group_fds);
-@@ -1153,13 +1171,63 @@ static long vfio_pci_ioctl(void *device_data,
- ret = vfio_pci_for_each_slot_or_bus(vdev->pdev,
- vfio_pci_validate_devs,
- &info, slot);
-- if (!ret)
-- /* User has access, do the reset */
-- ret = pci_reset_bus(vdev->pdev);
-+ if (ret)
-+ goto hot_reset_release;
-+
-+ devs.max_index = count;
-+ devs.devices = kcalloc(count, sizeof(struct vfio_device *),
-+ GFP_KERNEL);
-+ if (!devs.devices) {
-+ ret = -ENOMEM;
-+ goto hot_reset_release;
-+ }
-+
-+ /*
-+ * We need to get memory_lock for each device, but devices
-+ * can share mmap_sem, therefore we need to zap and hold
-+ * the vma_lock for each device, and only then get each
-+ * memory_lock.
-+ */
-+ ret = vfio_pci_for_each_slot_or_bus(vdev->pdev,
-+ vfio_pci_try_zap_and_vma_lock_cb,
-+ &devs, slot);
-+ if (ret)
-+ goto hot_reset_release;
-+
-+ for (; mem_idx < devs.cur_index; mem_idx++) {
-+ struct vfio_pci_device *tmp;
-+
-+ tmp = vfio_device_data(devs.devices[mem_idx]);
-+
-+ ret = down_write_trylock(&tmp->memory_lock);
-+ if (!ret) {
-+ ret = -EBUSY;
-+ goto hot_reset_release;
-+ }
-+ mutex_unlock(&tmp->vma_lock);
-+ }
-+
-+ /* User has access, do the reset */
-+ ret = pci_reset_bus(vdev->pdev);
-
- hot_reset_release:
-- for (i--; i >= 0; i--)
-- vfio_group_put_external_user(groups[i].group);
-+ for (i = 0; i < devs.cur_index; i++) {
-+ struct vfio_device *device;
-+ struct vfio_pci_device *tmp;
-+
-+ device = devs.devices[i];
-+ tmp = vfio_device_data(device);
-+
-+ if (i < mem_idx)
-+ up_write(&tmp->memory_lock);
-+ else
-+ mutex_unlock(&tmp->vma_lock);
-+ vfio_device_put(device);
-+ }
-+ kfree(devs.devices);
-+
-+ for (group_idx--; group_idx >= 0; group_idx--)
-+ vfio_group_put_external_user(groups[group_idx].group);
-
- kfree(groups);
- return ret;
-@@ -1299,8 +1367,107 @@ static ssize_t vfio_pci_write(void *device_data, const char __user *buf,
- return vfio_pci_rw(device_data, (char __user *)buf, count, ppos, true);
- }
-
--static int vfio_pci_add_vma(struct vfio_pci_device *vdev,
-- struct vm_area_struct *vma)
-+/* Return 1 on zap and vma_lock acquired, 0 on contention (only with @try) */
-+static int vfio_pci_zap_and_vma_lock(struct vfio_pci_device *vdev, bool try)
-+{
-+ struct vfio_pci_mmap_vma *mmap_vma, *tmp;
-+
-+ /*
-+ * Lock ordering:
-+ * vma_lock is nested under mmap_sem for vm_ops callback paths.
-+ * The memory_lock semaphore is used by both code paths calling
-+ * into this function to zap vmas and the vm_ops.fault callback
-+ * to protect the memory enable state of the device.
-+ *
-+ * When zapping vmas we need to maintain the mmap_sem => vma_lock
-+ * ordering, which requires using vma_lock to walk vma_list to
-+ * acquire an mm, then dropping vma_lock to get the mmap_sem and
-+ * reacquiring vma_lock. This logic is derived from similar
-+ * requirements in uverbs_user_mmap_disassociate().
-+ *
-+ * mmap_sem must always be the top-level lock when it is taken.
-+ * Therefore we can only hold the memory_lock write lock when
-+ * vma_list is empty, as we'd need to take mmap_sem to clear
-+ * entries. vma_list can only be guaranteed empty when holding
-+ * vma_lock, thus memory_lock is nested under vma_lock.
-+ *
-+ * This enables the vm_ops.fault callback to acquire vma_lock,
-+ * followed by memory_lock read lock, while already holding
-+ * mmap_sem without risk of deadlock.
-+ */
-+ while (1) {
-+ struct mm_struct *mm = NULL;
-+
-+ if (try) {
-+ if (!mutex_trylock(&vdev->vma_lock))
-+ return 0;
-+ } else {
-+ mutex_lock(&vdev->vma_lock);
-+ }
-+ while (!list_empty(&vdev->vma_list)) {
-+ mmap_vma = list_first_entry(&vdev->vma_list,
-+ struct vfio_pci_mmap_vma,
-+ vma_next);
-+ mm = mmap_vma->vma->vm_mm;
-+ if (mmget_not_zero(mm))
-+ break;
-+
-+ list_del(&mmap_vma->vma_next);
-+ kfree(mmap_vma);
-+ mm = NULL;
-+ }
-+ if (!mm)
-+ return 1;
-+ mutex_unlock(&vdev->vma_lock);
-+
-+ if (try) {
-+ if (!down_read_trylock(&mm->mmap_sem)) {
-+ mmput(mm);
-+ return 0;
-+ }
-+ } else {
-+ down_read(&mm->mmap_sem);
-+ }
-+ if (mmget_still_valid(mm)) {
-+ if (try) {
-+ if (!mutex_trylock(&vdev->vma_lock)) {
-+ up_read(&mm->mmap_sem);
-+ mmput(mm);
-+ return 0;
-+ }
-+ } else {
-+ mutex_lock(&vdev->vma_lock);
-+ }
-+ list_for_each_entry_safe(mmap_vma, tmp,
-+ &vdev->vma_list, vma_next) {
-+ struct vm_area_struct *vma = mmap_vma->vma;
-+
-+ if (vma->vm_mm != mm)
-+ continue;
-+
-+ list_del(&mmap_vma->vma_next);
-+ kfree(mmap_vma);
-+
-+ zap_vma_ptes(vma, vma->vm_start,
-+ vma->vm_end - vma->vm_start);
-+ }
-+ mutex_unlock(&vdev->vma_lock);
-+ }
-+ up_read(&mm->mmap_sem);
-+ mmput(mm);
-+ }
-+}
-+
-+void vfio_pci_zap_and_down_write_memory_lock(struct vfio_pci_device *vdev)
-+{
-+ vfio_pci_zap_and_vma_lock(vdev, false);
-+ down_write(&vdev->memory_lock);
-+ mutex_unlock(&vdev->vma_lock);
-+}
-+
-+/* Caller holds vma_lock */
-+static int __vfio_pci_add_vma(struct vfio_pci_device *vdev,
-+ struct vm_area_struct *vma)
- {
- struct vfio_pci_mmap_vma *mmap_vma;
-
-@@ -1309,10 +1476,7 @@ static int vfio_pci_add_vma(struct vfio_pci_device *vdev,
- return -ENOMEM;
-
- mmap_vma->vma = vma;
--
-- mutex_lock(&vdev->vma_lock);
- list_add(&mmap_vma->vma_next, &vdev->vma_list);
-- mutex_unlock(&vdev->vma_lock);
-
- return 0;
- }
-@@ -1346,15 +1510,32 @@ static vm_fault_t vfio_pci_mmap_fault(struct vm_fault *vmf)
- {
- struct vm_area_struct *vma = vmf->vma;
- struct vfio_pci_device *vdev = vma->vm_private_data;
-+ vm_fault_t ret = VM_FAULT_NOPAGE;
-
-- if (vfio_pci_add_vma(vdev, vma))
-- return VM_FAULT_OOM;
-+ mutex_lock(&vdev->vma_lock);
-+ down_read(&vdev->memory_lock);
-+
-+ if (!__vfio_pci_memory_enabled(vdev)) {
-+ ret = VM_FAULT_SIGBUS;
-+ mutex_unlock(&vdev->vma_lock);
-+ goto up_out;
-+ }
-+
-+ if (__vfio_pci_add_vma(vdev, vma)) {
-+ ret = VM_FAULT_OOM;
-+ mutex_unlock(&vdev->vma_lock);
-+ goto up_out;
-+ }
-+
-+ mutex_unlock(&vdev->vma_lock);
-
- if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
- vma->vm_end - vma->vm_start, vma->vm_page_prot))
-- return VM_FAULT_SIGBUS;
-+ ret = VM_FAULT_SIGBUS;
-
-- return VM_FAULT_NOPAGE;
-+up_out:
-+ up_read(&vdev->memory_lock);
-+ return ret;
- }
-
- static const struct vm_operations_struct vfio_pci_mmap_ops = {
-@@ -1680,6 +1861,7 @@ static int vfio_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
- INIT_LIST_HEAD(&vdev->ioeventfds_list);
- mutex_init(&vdev->vma_lock);
- INIT_LIST_HEAD(&vdev->vma_list);
-+ init_rwsem(&vdev->memory_lock);
-
- ret = vfio_add_group_dev(&pdev->dev, &vfio_pci_ops, vdev);
- if (ret) {
-@@ -1933,12 +2115,6 @@ static void vfio_pci_reflck_put(struct vfio_pci_reflck *reflck)
- kref_put_mutex(&reflck->kref, vfio_pci_reflck_release, &reflck_lock);
- }
-
--struct vfio_devices {
-- struct vfio_device **devices;
-- int cur_index;
-- int max_index;
--};
--
- static int vfio_pci_get_unused_devs(struct pci_dev *pdev, void *data)
- {
- struct vfio_devices *devs = data;
-@@ -1969,6 +2145,39 @@ static int vfio_pci_get_unused_devs(struct pci_dev *pdev, void *data)
- return 0;
- }
-
-+static int vfio_pci_try_zap_and_vma_lock_cb(struct pci_dev *pdev, void *data)
-+{
-+ struct vfio_devices *devs = data;
-+ struct vfio_device *device;
-+ struct vfio_pci_device *vdev;
-+
-+ if (devs->cur_index == devs->max_index)
-+ return -ENOSPC;
-+
-+ device = vfio_device_get_from_dev(&pdev->dev);
-+ if (!device)
-+ return -EINVAL;
-+
-+ if (pci_dev_driver(pdev) != &vfio_pci_driver) {
-+ vfio_device_put(device);
-+ return -EBUSY;
-+ }
-+
-+ vdev = vfio_device_data(device);
-+
-+ /*
-+ * Locking multiple devices is prone to deadlock, runaway and
-+ * unwind if we hit contention.
-+ */
-+ if (!vfio_pci_zap_and_vma_lock(vdev, true)) {
-+ vfio_device_put(device);
-+ return -EBUSY;
-+ }
-+
-+ devs->devices[devs->cur_index++] = device;
-+ return 0;
-+}
-+
- /*
- * If a bus or slot reset is available for the provided device and:
- * - All of the devices affected by that bus or slot reset are unused
-diff --git a/drivers/vfio/pci/vfio_pci_config.c b/drivers/vfio/pci/vfio_pci_config.c
-index 90c0b80f8acf..3dcddbd572e6 100644
---- a/drivers/vfio/pci/vfio_pci_config.c
-+++ b/drivers/vfio/pci/vfio_pci_config.c
-@@ -395,6 +395,14 @@ static inline void p_setd(struct perm_bits *p, int off, u32 virt, u32 write)
- *(__le32 *)(&p->write[off]) = cpu_to_le32(write);
- }
-
-+/* Caller should hold memory_lock semaphore */
-+bool __vfio_pci_memory_enabled(struct vfio_pci_device *vdev)
-+{
-+ u16 cmd = le16_to_cpu(*(__le16 *)&vdev->vconfig[PCI_COMMAND]);
-+
-+ return cmd & PCI_COMMAND_MEMORY;
-+}
-+
- /*
- * Restore the *real* BARs after we detect a FLR or backdoor reset.
- * (backdoor = some device specific technique that we didn't catch)
-@@ -556,13 +564,18 @@ static int vfio_basic_config_write(struct vfio_pci_device *vdev, int pos,
-
- new_cmd = le32_to_cpu(val);
-
-+ phys_io = !!(phys_cmd & PCI_COMMAND_IO);
-+ virt_io = !!(le16_to_cpu(*virt_cmd) & PCI_COMMAND_IO);
-+ new_io = !!(new_cmd & PCI_COMMAND_IO);
-+
- phys_mem = !!(phys_cmd & PCI_COMMAND_MEMORY);
- virt_mem = !!(le16_to_cpu(*virt_cmd) & PCI_COMMAND_MEMORY);
- new_mem = !!(new_cmd & PCI_COMMAND_MEMORY);
-
-- phys_io = !!(phys_cmd & PCI_COMMAND_IO);
-- virt_io = !!(le16_to_cpu(*virt_cmd) & PCI_COMMAND_IO);
-- new_io = !!(new_cmd & PCI_COMMAND_IO);
-+ if (!new_mem)
-+ vfio_pci_zap_and_down_write_memory_lock(vdev);
-+ else
-+ down_write(&vdev->memory_lock);
-
- /*
- * If the user is writing mem/io enable (new_mem/io) and we
-@@ -579,8 +592,11 @@ static int vfio_basic_config_write(struct vfio_pci_device *vdev, int pos,
- }
-
- count = vfio_default_config_write(vdev, pos, count, perm, offset, val);
-- if (count < 0)
-+ if (count < 0) {
-+ if (offset == PCI_COMMAND)
-+ up_write(&vdev->memory_lock);
- return count;
-+ }
-
- /*
- * Save current memory/io enable bits in vconfig to allow for
-@@ -591,6 +607,8 @@ static int vfio_basic_config_write(struct vfio_pci_device *vdev, int pos,
-
- *virt_cmd &= cpu_to_le16(~mask);
- *virt_cmd |= cpu_to_le16(new_cmd & mask);
-+
-+ up_write(&vdev->memory_lock);
- }
-
- /* Emulate INTx disable */
-@@ -828,8 +846,11 @@ static int vfio_exp_config_write(struct vfio_pci_device *vdev, int pos,
- pos - offset + PCI_EXP_DEVCAP,
- &cap);
-
-- if (!ret && (cap & PCI_EXP_DEVCAP_FLR))
-+ if (!ret && (cap & PCI_EXP_DEVCAP_FLR)) {
-+ vfio_pci_zap_and_down_write_memory_lock(vdev);
- pci_try_reset_function(vdev->pdev);
-+ up_write(&vdev->memory_lock);
-+ }
- }
-
- /*
-@@ -907,8 +928,11 @@ static int vfio_af_config_write(struct vfio_pci_device *vdev, int pos,
- pos - offset + PCI_AF_CAP,
- &cap);
-
-- if (!ret && (cap & PCI_AF_CAP_FLR) && (cap & PCI_AF_CAP_TP))
-+ if (!ret && (cap & PCI_AF_CAP_FLR) && (cap & PCI_AF_CAP_TP)) {
-+ vfio_pci_zap_and_down_write_memory_lock(vdev);
- pci_try_reset_function(vdev->pdev);
-+ up_write(&vdev->memory_lock);
-+ }
- }
-
- return count;
-diff --git a/drivers/vfio/pci/vfio_pci_intrs.c b/drivers/vfio/pci/vfio_pci_intrs.c
-index 2056f3f85f59..54102a7eb9d3 100644
---- a/drivers/vfio/pci/vfio_pci_intrs.c
-+++ b/drivers/vfio/pci/vfio_pci_intrs.c
-@@ -626,6 +626,8 @@ int vfio_pci_set_irqs_ioctl(struct vfio_pci_device *vdev, uint32_t flags,
- int (*func)(struct vfio_pci_device *vdev, unsigned index,
- unsigned start, unsigned count, uint32_t flags,
- void *data) = NULL;
-+ int ret;
-+ u16 cmd;
-
- switch (index) {
- case VFIO_PCI_INTX_IRQ_INDEX:
-@@ -673,5 +675,19 @@ int vfio_pci_set_irqs_ioctl(struct vfio_pci_device *vdev, uint32_t flags,
- if (!func)
- return -ENOTTY;
-
-- return func(vdev, index, start, count, flags, data);
-+ if (index == VFIO_PCI_MSIX_IRQ_INDEX) {
-+ down_write(&vdev->memory_lock);
-+ pci_read_config_word(vdev->pdev, PCI_COMMAND, &cmd);
-+ pci_write_config_word(vdev->pdev, PCI_COMMAND,
-+ cmd | PCI_COMMAND_MEMORY);
-+ }
-+
-+ ret = func(vdev, index, start, count, flags, data);
-+
-+ if (index == VFIO_PCI_MSIX_IRQ_INDEX) {
-+ pci_write_config_word(vdev->pdev, PCI_COMMAND, cmd);
-+ up_write(&vdev->memory_lock);
-+ }
-+
-+ return ret;
- }
-diff --git a/drivers/vfio/pci/vfio_pci_private.h b/drivers/vfio/pci/vfio_pci_private.h
-index 9b25f9f6ce1d..c4f25f1e80d7 100644
---- a/drivers/vfio/pci/vfio_pci_private.h
-+++ b/drivers/vfio/pci/vfio_pci_private.h
-@@ -139,6 +139,7 @@ struct vfio_pci_device {
- struct list_head ioeventfds_list;
- struct mutex vma_lock;
- struct list_head vma_list;
-+ struct rw_semaphore memory_lock;
- };
-
- #define is_intx(vdev) (vdev->irq_type == VFIO_PCI_INTX_IRQ_INDEX)
-@@ -181,6 +182,10 @@ extern int vfio_pci_register_dev_region(struct vfio_pci_device *vdev,
- extern int vfio_pci_set_power_state(struct vfio_pci_device *vdev,
- pci_power_t state);
-
-+extern bool __vfio_pci_memory_enabled(struct vfio_pci_device *vdev);
-+extern void vfio_pci_zap_and_down_write_memory_lock(struct vfio_pci_device
-+ *vdev);
-+
- #ifdef CONFIG_VFIO_PCI_IGD
- extern int vfio_pci_igd_init(struct vfio_pci_device *vdev);
- #else
-diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c
-index a87992892a9f..f58c45308682 100644
---- a/drivers/vfio/pci/vfio_pci_rdwr.c
-+++ b/drivers/vfio/pci/vfio_pci_rdwr.c
-@@ -162,6 +162,7 @@ ssize_t vfio_pci_bar_rw(struct vfio_pci_device *vdev, char __user *buf,
- size_t x_start = 0, x_end = 0;
- resource_size_t end;
- void __iomem *io;
-+ struct resource *res = &vdev->pdev->resource[bar];
- ssize_t done;
-
- if (pci_resource_start(pdev, bar))
-@@ -200,8 +201,19 @@ ssize_t vfio_pci_bar_rw(struct vfio_pci_device *vdev, char __user *buf,
- x_end = vdev->msix_offset + vdev->msix_size;
- }
-
-+ if (res->flags & IORESOURCE_MEM) {
-+ down_read(&vdev->memory_lock);
-+ if (!__vfio_pci_memory_enabled(vdev)) {
-+ up_read(&vdev->memory_lock);
-+ return -EIO;
-+ }
-+ }
-+
- done = do_io_rw(io, buf, pos, count, x_start, x_end, iswrite);
-
-+ if (res->flags & IORESOURCE_MEM)
-+ up_read(&vdev->memory_lock);
-+
- if (done >= 0)
- *ppos += done;
-
-
-