summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2020-02-20 05:09:48 +0100
committerThorsten Leemhuis <fedora@leemhuis.info>2020-02-20 05:09:48 +0100
commit77c19927fee464c77929f8c4290675379e5f9f32 (patch)
tree70757d27ff5706823c1c849ffed1e1f7a29097de
parent3353063738d9095d03c897c732de0d9386d98682 (diff)
parent742215ba5157f9c0cf261ea5bd3b4e728e3e8955 (diff)
downloadkernel-77c19927fee464c77929f8c4290675379e5f9f32.tar.gz
kernel-77c19927fee464c77929f8c4290675379e5f9f32.tar.xz
kernel-77c19927fee464c77929f8c4290675379e5f9f32.zip
Merge remote-tracking branch 'origin/f31' into f31-user-thl-vanilla-fedorakernel-5.5.5-250.vanilla.knurd.1.fc31
-rw-r--r--0001-crypto-ccp-Release-all-allocated-memory-if-sha-type-.patch37
-rw-r--r--0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch71
-rw-r--r--ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch905
-rw-r--r--PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch153
-rw-r--r--Raspberry-Pi-4-PCIe-support.patch1995
-rw-r--r--alsa-5.5.patch10881
-rw-r--r--alsa-5.6.patch100
-rw-r--r--arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch868
-rw-r--r--arm64-tegra186-enable-USB-on-Jetson-TX2.patch51
-rw-r--r--arm64-usb-host-xhci-tegra-set-MODULE_FIRMWARE-for-tegra186.patch36
-rw-r--r--bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch232
-rw-r--r--bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch30
-rw-r--r--configs/fedora/debug/CONFIG_REFCOUNT_FULL1
-rw-r--r--configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT1
-rw-r--r--configs/fedora/generic/CONFIG_AD72921
-rw-r--r--configs/fedora/generic/CONFIG_ADUX10201
-rw-r--r--configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED1
-rw-r--r--configs/fedora/generic/CONFIG_BACKLIGHT_QCOM_WLED1
-rw-r--r--configs/fedora/generic/CONFIG_BT_CMTP2
-rw-r--r--configs/fedora/generic/CONFIG_CAN_UCAN2
-rw-r--r--configs/fedora/generic/CONFIG_COMPAT_32BIT_TIME1
-rw-r--r--configs/fedora/generic/CONFIG_CONTEXT_TRACKING_FORCE (renamed from configs/fedora/generic/x86/x86_64/CONFIG_CONTEXT_TRACKING_FORCE)0
-rw-r--r--configs/fedora/generic/CONFIG_CPU_ISOLATION2
-rw-r--r--configs/fedora/generic/CONFIG_CROS_EC_SENSORHUB1
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B1
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S1
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER1
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_CURVE255191
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_DEV_AMLOGIC_GXL1
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_LIB_BLAKE2S1
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA1
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA20POLY13051
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_LIB_CURVE255191
-rw-r--r--configs/fedora/generic/CONFIG_CRYPTO_LIB_POLY13051
-rw-r--r--configs/fedora/generic/CONFIG_DEV_DAX_HMEM1
-rw-r--r--configs/fedora/generic/CONFIG_DP83869_PHY1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_AMD_DC_HDCP1
-rw-r--r--configs/fedora/generic/CONFIG_DRM_NOUVEAU_SVM (renamed from configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM)0
-rw-r--r--configs/fedora/generic/CONFIG_EFI_SOFT_RESERVE1
-rw-r--r--configs/fedora/generic/CONFIG_EROFS_FS2
-rw-r--r--configs/fedora/generic/CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT1
-rw-r--r--configs/fedora/generic/CONFIG_EROFS_FS_DEBUG1
-rw-r--r--configs/fedora/generic/CONFIG_EROFS_FS_POSIX_ACL1
-rw-r--r--configs/fedora/generic/CONFIG_EROFS_FS_SECURITY1
-rw-r--r--configs/fedora/generic/CONFIG_EROFS_FS_XATTR1
-rw-r--r--configs/fedora/generic/CONFIG_EROFS_FS_ZIP1
-rw-r--r--configs/fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC1
-rw-r--r--configs/fedora/generic/CONFIG_FSI_MASTER_ASPEED1
-rw-r--r--configs/fedora/generic/CONFIG_FSL_ENETC_MDIO1
-rw-r--r--configs/fedora/generic/CONFIG_FW_CACHE1
-rw-r--r--configs/fedora/generic/CONFIG_FXOS8700_I2C1
-rw-r--r--configs/fedora/generic/CONFIG_FXOS8700_SPI1
-rw-r--r--configs/fedora/generic/CONFIG_HEADERS_CHECK1
-rw-r--r--configs/fedora/generic/CONFIG_HEADER_TEST1
-rw-r--r--configs/fedora/generic/CONFIG_INFINIBAND_CXGB31
-rw-r--r--configs/fedora/generic/CONFIG_INPUT_KXTJ9_POLLED_MODE1
-rw-r--r--configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST1
-rw-r--r--configs/fedora/generic/CONFIG_KUNIT1
-rw-r--r--configs/fedora/generic/CONFIG_LEDS_EL152030001
-rw-r--r--configs/fedora/generic/CONFIG_LTC29831
-rw-r--r--configs/fedora/generic/CONFIG_MMC_SDHCI_MILBEAUT1
-rw-r--r--configs/fedora/generic/CONFIG_MSM_GPUCC_89981
-rw-r--r--configs/fedora/generic/CONFIG_MTD_NAND_CADENCE1
-rw-r--r--configs/fedora/generic/CONFIG_NDC_DIS_DYNAMIC_CACHING1
-rw-r--r--configs/fedora/generic/CONFIG_NET_DSA_MSCC_FELIX1
-rw-r--r--configs/fedora/generic/CONFIG_NET_DSA_TAG_OCELOT1
-rw-r--r--configs/fedora/generic/CONFIG_NET_VENDOR_XILINX1
-rw-r--r--configs/fedora/generic/CONFIG_NFC_PN532_UART1
-rw-r--r--configs/fedora/generic/CONFIG_NO_HZ_FULL2
-rw-r--r--configs/fedora/generic/CONFIG_NO_HZ_IDLE2
-rw-r--r--configs/fedora/generic/CONFIG_NVME_HWMON1
-rw-r--r--configs/fedora/generic/CONFIG_PCIEASPM_DEBUG1
-rw-r--r--configs/fedora/generic/CONFIG_PCIE_CADENCE_PLAT_HOST1
-rw-r--r--configs/fedora/generic/CONFIG_PINCTRL_EQUILIBRIUM1
-rw-r--r--configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDTCM1
-rw-r--r--configs/fedora/generic/CONFIG_REFCOUNT_FULL1
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_BEL_PFE1
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_LTC2947_I2C1
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_LTC2947_SPI1
-rw-r--r--configs/fedora/generic/CONFIG_SENSORS_TMP5131
-rw-r--r--configs/fedora/generic/CONFIG_SF_PDMA1
-rw-r--r--configs/fedora/generic/CONFIG_SND_HDA_INTEL_DETECT_DMIC1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_HW1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_I2C1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_ARNDALE_RT5631_ALC56311
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_FSL_MQS1
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_TAS25621
-rw-r--r--configs/fedora/generic/CONFIG_SND_SOC_TAS27701
-rw-r--r--configs/fedora/generic/CONFIG_SOUNDWIRE_INTEL1
-rw-r--r--configs/fedora/generic/CONFIG_SYMBOLIC_ERRNAME1
-rw-r--r--configs/fedora/generic/CONFIG_TCG_TIS_SPI_CR501
-rw-r--r--configs/fedora/generic/CONFIG_TICK_CPU_ACCOUNTING2
-rw-r--r--configs/fedora/generic/CONFIG_TIPC_CRYPTO1
-rw-r--r--configs/fedora/generic/CONFIG_TLS_TOE1
-rw-r--r--configs/fedora/generic/CONFIG_TRACE_EVENT_INJECT1
-rw-r--r--configs/fedora/generic/CONFIG_TYPEC_HD3SS32201
-rw-r--r--configs/fedora/generic/CONFIG_VEML60301
-rw-r--r--configs/fedora/generic/CONFIG_VIRT_CPU_ACCOUNTING_GEN2
-rw-r--r--configs/fedora/generic/CONFIG_W1_SLAVE_DS24301
-rw-r--r--configs/fedora/generic/CONFIG_WFX1
-rw-r--r--configs/fedora/generic/arm/CONFIG_AMLOGIC_THERMAL1
-rw-r--r--configs/fedora/generic/arm/CONFIG_ARCH_S321
-rw-r--r--configs/fedora/generic/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ1
-rw-r--r--configs/fedora/generic/arm/CONFIG_BCM2711_THERMAL1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_ALLWINNER1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS1
-rw-r--r--configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG1
-rw-r--r--configs/fedora/generic/arm/CONFIG_DRM_KOMEDA_ERROR_PRINT1
-rw-r--r--configs/fedora/generic/arm/CONFIG_DRM_V3D2
-rw-r--r--configs/fedora/generic/arm/CONFIG_FSL_RCPM1
-rw-r--r--configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM89741
-rw-r--r--configs/fedora/generic/arm/CONFIG_KEYBOARD_IMX_SC_KEY1
-rw-r--r--configs/fedora/generic/arm/CONFIG_MTD_M25P801
-rw-r--r--configs/fedora/generic/arm/CONFIG_PCIE_BRCMSTB1
-rw-r--r--configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_EP1
-rw-r--r--configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_HOST1
-rw-r--r--configs/fedora/generic/arm/CONFIG_PHY_DM816X_USB1
-rw-r--r--configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY1
-rw-r--r--configs/fedora/generic/arm/CONFIG_PHY_SUN50I_USB31
-rw-r--r--configs/fedora/generic/arm/CONFIG_PINCTRL_MSM89761
-rw-r--r--configs/fedora/generic/arm/CONFIG_PWM_STMPE2
-rw-r--r--configs/fedora/generic/arm/CONFIG_QCOM_OCMEM1
-rw-r--r--configs/fedora/generic/arm/CONFIG_QCS_Q6SSTOP_4041
-rw-r--r--configs/fedora/generic/arm/CONFIG_REFCOUNT_FULL1
-rw-r--r--configs/fedora/generic/arm/CONFIG_ROCKCHIP_OTP1
-rw-r--r--configs/fedora/generic/arm/CONFIG_SC_GCC_71801
-rw-r--r--configs/fedora/generic/arm/CONFIG_SND_SOC_ARNDALE1
-rw-r--r--configs/fedora/generic/arm/CONFIG_STMPE_ADC2
-rw-r--r--configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_AD7879_I2C1
-rw-r--r--configs/fedora/generic/arm/CONFIG_USB_OHCI_HCD_OMAP31
-rw-r--r--configs/fedora/generic/arm/CONFIG_USB_TEGRA_XUDC1
-rw-r--r--configs/fedora/generic/arm/CONFIG_VIDEO_SUN8I_DEINTERLACE1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_13193671
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_15424191
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_BACKLIGHT_QCOM_WLED1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CROSS_COMPILE_COMPAT_VDSO1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_HPRE1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_SEC21
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_POLY1305_NEON1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_FSL_DPAA2_QDMA1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_MDIO1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_QOS1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_HW_RANDOM_HISI_V21
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_MFD_QCOM_RPM2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_MSM_GPUCC_89981
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_MESON_A11
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CLK_RPM2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SDM845_LLCC1
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_QCOM_RPM2
-rw-r--r--configs/fedora/generic/arm/aarch64/CONFIG_ZYNQMP_FIRMWARE_DEBUG (renamed from configs/fedora/generic/CONFIG_ZYNQMP_FIRMWARE_DEBUG)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_AM335X_PHY_USB (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_AM335X_PHY_USB)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_ARCH_OMAP2PLUS_TYPICAL1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_ARM_OMAP2PLUS_CPUFREQ (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_OMAP2PLUS_CPUFREQ)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_ARM_TI_CPUFREQ (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_COMMON_CLK_PALMAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_COMMON_CLK_PALMAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_COMMON_CLK_TI_ADPLL1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_CURVE25519_NEON1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_DES (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_POLY1305_ARM1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DDR (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DDR)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DMA_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DMA_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DRA752_THERMAL1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_CONNECTOR_HDMI (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_CONNECTOR_HDMI)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_ENCODER_OPA362 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_ENCODER_OPA362)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_ENCODER_TPD12S015 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_ENCODER_TPD12S015)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_PANEL_DSI_CM (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_DSI_CM)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_EDAC_TI (renamed from configs/fedora/generic/arm/armv7/lpae/CONFIG_EDAC_TI)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_EXTCON_PALMAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_EXTCON_PALMAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_EXYNOS5422_DMC1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_GPIO_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_GPIO_PALMAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_PALMAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_GPIO_PISOSR1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_HDQ_MASTER_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_HDQ_MASTER_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_HWSPINLOCK_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_HWSPINLOCK_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_I2C_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_I2C_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_INFINIBAND_CXGB31
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_INPUT_PALMAS_PWRBUTTON (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_INPUT_PALMAS_PWRBUTTON)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_MFD_OMAP_USB_HOST1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_MFD_PALMAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_MFD_PALMAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_MFD_TI_AM335X_TSCADC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_MFD_TI_AM335X_TSCADC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_MMC_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_MMC_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2PLUS_MBOX (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2PLUS_MBOX)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DEBUG (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUG)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DEBUGFS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUGFS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DPI (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DPI)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DSI (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DSI)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_SDI (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_SDI)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_VENC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_VENC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP4_DSS_HDMI1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP5_DSS_HDMI1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP5_ERRATA_801819 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP5_ERRATA_801819)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP5_THERMAL (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP5_THERMAL)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_32K_TIMER (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_32K_TIMER)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_CONTROL_PHY (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_CONTROL_PHY)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_GPMC1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_GPMC_DEBUG (renamed from configs/fedora/generic/arm/CONFIG_OMAP_GPMC_DEBUG)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_IOMMU (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_IOMMU)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_IOMMU_DEBUG (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_IOMMU_DEBUG)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_MBOX_KFIFO_SIZE (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_MBOX_KFIFO_SIZE)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_OCP2SCP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_OCP2SCP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_REMOTEPROC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_REMOTEPROC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_RESET_CLOCKS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_RESET_CLOCKS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_USB2 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_USB2)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_OMAP_WATCHDOG (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_WATCHDOG)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_PALMAS_GPADC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_PALMAS_GPADC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_PCI_DRA7XX_HOST1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_PHY_MMP3_USB1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_PHY_TI_GMII_SEL (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_PHY_TI_GMII_SEL)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_PINCTRL_PALMAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_PINCTRL_PALMAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_PWM_OMAP_DMTIMER1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_PWM_TIEHRPWM (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIEHRPWM)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_PALMAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_PALMAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_PBIAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_PBIAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_TI_ABB (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_TI_ABB)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_RTC_DRV_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_RTC_DRV_PALMAS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_RTC_DRV_PALMAS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SERIAL_8250_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SERIAL_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_ARNDALE_RT5631_ALC56311
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_ABE_TWL6040 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_ABE_TWL6040)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_DMIC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_DMIC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_HDMI (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_HDMI)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_MCBSP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_MCBSP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_MCPDM (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_MCPDM)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SOC_AM43XX (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_AM43XX)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SOC_DRA7XX2
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SOC_HAS_OMAP2_SDRC1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SOC_HAS_REALTIME_COUNTER (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_HAS_REALTIME_COUNTER)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SOC_OMAP5 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_OMAP5)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SPI_OMAP24XX (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_OMAP24XX)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_SPI_TI_QSPI (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_TI_QSPI)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TEGRA30_EMC1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_ADC081C (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_ADC081C)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_AM335X_ADC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_AM335X_ADC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_CPPI41 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPPI41)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_CPSW (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPSW)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_CPSW_SWITCHDEV1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_CPTS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPTS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_CPTS_MOD (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPTS_MOD)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_DAVINCI_EMAC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_DAVINCI_EMAC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_EMIF (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_EMIF)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_EMIF_SRAM (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_EQEP1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_PIPE3 (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_PIPE3)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TI_PWMSS1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_TOUCHSCREEN_TI_AM335X_TSC (renamed from configs/fedora/generic/CONFIG_TOUCHSCREEN_TI_AM335X_TSC)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_DWC3_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_DWC3_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_EHCI_HCD_OMAP (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_EHCI_HCD_OMAP)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_INVENTRA_DMA (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_INVENTRA_DMA)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_AM335X_CHILD)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM35X (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_AM35X)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_OMAP2PLUS (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_OMAP2PLUS)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_USB_TI_CPPI41_DMA (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_TI_CPPI41_DMA)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_VIDEO_AM437X_VPFE (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_VIDEO_AM437X_VPFE)0
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_CAL1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE_DEBUG1
-rw-r--r--configs/fedora/generic/arm/armv7/CONFIG_WKUP_M3_RPROC (renamed from configs/fedora/generic/arm/armv7/armv7/CONFIG_WKUP_M3_RPROC)0
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_COMMON_CLK_MMP21
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_MACH_MMP3_DT1
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP4_DSS_HDMI_CEC (renamed from configs/fedora/generic/arm/armv7/CONFIG_OMAP4_DSS_HDMI_CEC)0
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIPWMSS1
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_HAS_OMAP2_SDRC1
-rw-r--r--configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_OMAP31
-rw-r--r--configs/fedora/generic/arm/armv7/lpae/CONFIG_AM335X_PHY_USB1
-rw-r--r--configs/fedora/generic/arm/armv7/lpae/CONFIG_DRM_OMAP1
-rw-r--r--configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_AM43XX1
-rw-r--r--configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_OMAP51
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_DEVICE_PRIVATE1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_FSI_MASTER_ASPEED1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_NVDIMM_DAX1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_NVDIMM_PFN1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_PPC_UV1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_SIMPLE_GPIO1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL_DETECT_DMIC1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_VIRT_CPU_ACCOUNTING_NATIVE1
-rw-r--r--configs/fedora/generic/powerpc/CONFIG_ZONE_DEVICE2
-rw-r--r--configs/fedora/generic/s390x/CONFIG_INFINIBAND_CXGB31
-rw-r--r--configs/fedora/generic/s390x/CONFIG_NO_HZ_FULL1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_NO_HZ_IDLE1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_S390_UNWIND_SELFTEST1
-rw-r--r--configs/fedora/generic/s390x/CONFIG_VIRT_CPU_ACCOUNTING_GEN1
-rw-r--r--configs/fedora/generic/x86/CONFIG_BYTCRC_PMIC_OPREGION1
-rw-r--r--configs/fedora/generic/x86/CONFIG_CHTCRC_PMIC_OPREGION1
-rw-r--r--configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION1
-rw-r--r--configs/fedora/generic/x86/CONFIG_HYPERV_TESTING1
-rw-r--r--configs/fedora/generic/x86/CONFIG_PINCTRL_EQUILIBRIUM1
-rw-r--r--configs/fedora/generic/x86/CONFIG_PINCTRL_TIGERLAKE1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SFI2
-rw-r--r--configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC1
-rw-r--r--configs/fedora/generic/x86/CONFIG_SYSTEM76_ACPI1
-rw-r--r--configs/fedora/generic/x86/CONFIG_X86_IOPL_IOPERM1
-rw-r--r--configs/fedora/generic/x86/i686/CONFIG_M486SX1
-rw-r--r--configs/fedora/generic/x86/i686/CONFIG_NO_HZ_FULL1
-rw-r--r--configs/fedora/generic/x86/i686/CONFIG_NO_HZ_IDLE1
-rw-r--r--configs/fedora/generic/x86/i686/CONFIG_TICK_CPU_ACCOUNTING1
-rw-r--r--configs/fedora/generic/x86/i686/CONFIG_VIRT_CPU_ACCOUNTING_GEN1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_CALGARY_IOMMU1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_CPU_ISOLATION1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_BLAKE2S_x861
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_CURVE25519_X861
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_FULL1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_IDLE1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_TICK_CPU_ACCOUNTING1
-rw-r--r--configs/fedora/generic/x86/x86_64/CONFIG_VIRT_CPU_ACCOUNTING_GEN1
-rw-r--r--drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch129
-rw-r--r--efi-secureboot.patch33
-rw-r--r--gpio-max77620-Use-correct-unit-for-debounce-times.patch475
-rw-r--r--kernel-aarch64-debug-fedora.config153
-rw-r--r--kernel-aarch64-fedora.config153
-rw-r--r--kernel-armv7hl-debug-fedora.config152
-rw-r--r--kernel-armv7hl-fedora.config152
-rw-r--r--kernel-armv7hl-lpae-debug-fedora.config253
-rw-r--r--kernel-armv7hl-lpae-fedora.config253
-rw-r--r--kernel-i686-debug-fedora.config95
-rw-r--r--kernel-i686-fedora.config95
-rw-r--r--kernel-ppc64le-debug-fedora.config104
-rw-r--r--kernel-ppc64le-fedora.config104
-rw-r--r--kernel-s390x-debug-fedora.config91
-rw-r--r--kernel-s390x-fedora.config91
-rw-r--r--kernel-x86_64-debug-fedora.config94
-rw-r--r--kernel-x86_64-fedora.config94
-rw-r--r--kernel.spec461
-rw-r--r--media-rc-prevent-memory-leak-in-cx23888_ir_probe.patch103
-rw-r--r--mfd-max77620-Do-not-allocate-IRQs-upfront.patch183
-rw-r--r--s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch66
-rw-r--r--secureboot_ppc.cerbin0 -> 899 bytes
-rw-r--r--secureboot_s390.cerbin0 -> 899 bytes
-rw-r--r--sources4
-rw-r--r--usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch53
-rw-r--r--usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch91
349 files changed, 6449 insertions, 12625 deletions
diff --git a/0001-crypto-ccp-Release-all-allocated-memory-if-sha-type-.patch b/0001-crypto-ccp-Release-all-allocated-memory-if-sha-type-.patch
deleted file mode 100644
index fc8bde000..000000000
--- a/0001-crypto-ccp-Release-all-allocated-memory-if-sha-type-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 128c66429247add5128c03dc1e144ca56f05a4e2 Mon Sep 17 00:00:00 2001
-From: Navid Emamdoost <navid.emamdoost@gmail.com>
-Date: Thu, 19 Sep 2019 11:04:48 -0500
-Subject: [PATCH] crypto: ccp - Release all allocated memory if sha type is
- invalid
-
-Release all allocated memory if sha type is invalid:
-In ccp_run_sha_cmd, if the type of sha is invalid, the allocated
-hmac_buf should be released.
-
-v2: fix the goto.
-
-Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
-Acked-by: Gary R Hook <gary.hook@amd.com>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- drivers/crypto/ccp/ccp-ops.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/crypto/ccp/ccp-ops.c b/drivers/crypto/ccp/ccp-ops.c
-index c8da8eb160da..422193690fd4 100644
---- a/drivers/crypto/ccp/ccp-ops.c
-+++ b/drivers/crypto/ccp/ccp-ops.c
-@@ -1777,8 +1777,9 @@ ccp_run_sha_cmd(struct ccp_cmd_queue *cmd_q, struct ccp_cmd *cmd)
- LSB_ITEM_SIZE);
- break;
- default:
-+ kfree(hmac_buf);
- ret = -EINVAL;
-- goto e_ctx;
-+ goto e_data;
- }
-
- memset(&hmac_cmd, 0, sizeof(hmac_cmd));
---
-2.23.0
-
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
new file mode 100644
index 000000000..e87612358
--- /dev/null
+++ b/0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
@@ -0,0 +1,71 @@
+From 14d329da03ea1145efce866b127b10ea6390b5e1 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
+
+Now if DEFAULT_OFF set to y, kmemleak_init will start the cleanup_work
+workqueue. Then late_init call will set kmemleak_initialized to 1, the
+cleaup workqueue will try to do cleanup, triggering:
+
+[24.738773] ==================================================================
+[24.742784] BUG: KASAN: global-out-of-bounds in __kmemleak_do_cleanup+0x166/0x180
+[24.744144] Key type ._fscrypt registered
+[24.745680] Read of size 8 at addr ffffffff88746c90 by task kworker/3:1/171
+[24.745687]
+[24.745697] CPU: 3 PID: 171 Comm: kworker/3:1 Not tainted 5.3.0-v5.3-12475-gcbafe18 #1
+[24.745701] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
+[24.745710] Workqueue: events kmemleak_do_cleanup
+[24.745717] Call Trace:
+[24.745736] dump_stack+0x7c/0xc0
+[24.745755] print_address_description.constprop.4+0x1f/0x300
+[24.751562] Key type .fscrypt registered
+[24.754370] __kasan_report.cold.8+0x76/0xb2
+[24.754388] ? __kmemleak_do_cleanup+0x166/0x180
+[24.754407] kasan_report+0xe/0x20
+[24.778543] __kmemleak_do_cleanup+0x166/0x180
+[24.780795] process_one_work+0x919/0x17d0
+[24.782929] ? pwq_dec_nr_in_flight+0x320/0x320
+[24.785092] worker_thread+0x87/0xb40
+[24.786948] ? __kthread_parkme+0xc3/0x190
+[24.789217] ? process_one_work+0x17d0/0x17d0
+[24.791414] kthread+0x333/0x3f0
+[24.793031] ? kthread_create_worker_on_cpu+0xc0/0xc0
+[24.795473] ret_from_fork+0x3a/0x50
+[24.797303]
+[24.798091] The buggy address belongs to the variable:
+[24.800634] mem_pool_free_count+0x10/0x40
+[24.802656]
+[24.803434] Memory state around the buggy address:
+[24.805793] ffffffff88746b80: 04 fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
+[24.809177] ffffffff88746c00: 00 fa fa fa fa fa fa fa 00 00 fa fa fa fa fa fa
+[24.812407] >ffffffff88746c80: 04 fa fa fa fa fa fa fa 00 00 fa fa fa fa fa fa
+[24.815638] ^
+[24.817372] ffffffff88746d00: 00 00 fa fa fa fa fa fa 00 00 00 00 00 00 00 00
+[24.820740] ffffffff88746d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+[24.824021] ==================================================================
+
+Fixes: c5665868183f ("mm: kmemleak: use the memory pool for early allocations")
+Signed-off-by: Murphy Zhou <jencce.kernel@gmail.com>
+---
+ mm/kmemleak.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/mm/kmemleak.c b/mm/kmemleak.c
+index 03a8d84badad..b9baf617fe35 100644
+--- a/mm/kmemleak.c
++++ b/mm/kmemleak.c
+@@ -1946,6 +1946,11 @@ void __init kmemleak_init(void)
+ */
+ static int __init kmemleak_late_init(void)
+ {
++ if (!kmemleak_skip_disable) {
++ kmemleak_disable();
++ return 0;
++ }
++
+ kmemleak_initialized = 1;
+
+ debugfs_create_file("kmemleak", 0644, NULL, NULL, &kmemleak_fops);
+--
+2.21.0
+
diff --git a/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch b/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch
new file mode 100644
index 000000000..86824875b
--- /dev/null
+++ b/ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch
@@ -0,0 +1,905 @@
+From patchwork Tue Jan 7 18:15:54 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
+X-Patchwork-Id: 11321573
+Return-Path:
+ <SRS0=75uJ=24=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 6D8381398
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:16: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 0478120848
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:16:24 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="SQ2gKFhN";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=gmx.net header.i=@gmx.net header.b="BJDhWiM+"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0478120848
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=gmx.net
+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=YkqzhAYhCTWbi2xiP7xxu+Dn8Q8DmCRb4IJ4Bu0zhz8=; b=SQ2gKFhNqib/g5IS6Ax5bJ6+91
+ NnToAV0XRtMvD+Mv//d/rvzEQuagdTXc7G1qFGgWXJVH3dbQAnlgt/iNOwtDxAT/4PcAn4h5HFAag
+ 66kkhMcZAbA7JExXlnqfMil9fKX3gFJPxRophEP+3IPQkJpQyaYcSgCT7q1qWI0ea7WoySKITupFB
+ /zqJdAB1FovALLqUMblrq+3yz5V5mtmXHbZ9XlaH2vZivUkozyl7y2lTwVupfEMEOX3tMsZKKw7kO
+ 3zP1295r9jZD5AxI56MIxKUhe09ZgdaStZfRckzxKLVvphRbmbdj/a5lDLwebJ01BvFOZMnhxpSiD
+ oPP03MfQ==;
+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 1iotOw-00044e-SA; Tue, 07 Jan 2020 18:16:22 +0000
+Received: from mout.gmx.net ([212.227.15.19])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1iotOo-0003u6-Ni
+ for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
+ s=badeba3b8450; t=1578420965;
+ bh=u7twVNjh2D9zy5OC10Di3QMaWd8qSsrGW9KSWjAYn3g=;
+ h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
+ b=BJDhWiM+5P9ZadhIRk4bTNFKVwW+JTvjQQxBte6Z9/lEi/hUMLjX6X6wI0UsdG/9q
+ F4Cwa0tCAECdod5u4KiSRbsYOd1o4Z/dYru23Wk+v5LX/L1GSxqimU6Rt6Y750q8m7
+ H8qhNz2GpltKbfQYfiCht8+4Noq2Ir1n+/dUhyGU=
+X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
+Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
+ (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
+ 1M6llE-1im9Zy3f6U-008MHP; Tue, 07 Jan 2020 19:16:05 +0100
+From: Stefan Wahren <wahrenst@gmx.net>
+To: Zhang Rui <rui.zhang@intel.com>,
+ Daniel Lezcano <daniel.lezcano@linaro.org>,
+ Amit Kucheria <amit.kucheria@verdurent.com>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
+Subject: [PATCH V3 1/4] dt-bindings: Add Broadcom AVS RO thermal
+Date: Tue, 7 Jan 2020 19:15:54 +0100
+Message-Id: <1578420957-32229-2-git-send-email-wahrenst@gmx.net>
+X-Mailer: git-send-email 2.7.4
+In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+X-Provags-ID: V03:K1:JNoVLD/m7l4v/En9GYWWvMF90Sn/VtIIReEvqeT1ahKtoJ1LkyQ
+ iAtYBYTb+NwFUEidrSbyieU8GW35aLLzyYQnuJTNqPmnSbG2PnoXvhwHuDsxvWSwUy6mkwH
+ 8ZEA1Til7h0N3jLmIx+k620EBhcirK4sOEO1dRoCyQ0YuU8w1s6WymV1wzmIWI654AscZ9o
+ J8IrwX+k75qsiQ2SovoOg==
+X-Spam-Flag: NO
+X-UI-Out-Filterresults: notjunk:1;V03:K0:1m7ABTNKeYs=:dwivK5EisaHNhkVyhbAPYp
+ kvAhhRRErs0LcQc8ZbpEAx/yq5NZ5xne4VViuO86ljYW/FoCw48Pz8APxSxRAFasQ5XgUJLP5
+ TwCvRfPRrdfLO3tE5KvLJTW7FJPetXyuRGB9vpPgp8f7UmdUL542Li3JvUZ33oouVIjMEPek6
+ eJ7EymgiCWO2bamuE79cyu30HsDd1LGBBQrzvFwQleMU8BbbLmaiQtIfSxdPKqyjHm+bvLtDP
+ uK/ei0MTgAsXPpgIdHoGsb71RQ0HY5PtjoLmMsNb3Nvcu9FNWgu+ybES1IfFGXvrkd1C8fgCB
+ Q5VlqL1b7kUD0EHnh7rjg8rGKBiaqdQCE0rsj3GJDHLnhxpSblechYL1CIMYh0+YmL8VtDREe
+ qzbJ3wdWDTKF1F8njEuuvjb05/C/4X6IzbpEWS5uxJ9wVdqWX2b6MpQQ7x7H4B88IHb0/IU+D
+ vdYY8z+R3R5MkQzZJngkBLWIif2N/omDDhmHv+9TJcHmvbZJaDpHIfZ0rdtGe50zbA3DaQjjs
+ bDwDylhHw0I+Hc8nBJUH7PN84Fiiime6VMByUd9PFiy9cpm2bP6AwEi1Mwefb1URWcmgwnYEe
+ JmxWZoJ8JfGcW8ITKWyEuka8Ux5E2Ci1R82cWYUo5brxrZvFcYg2pUnUwpOysMZzLKCUWy2FL
+ QwuEZfTk676yMpqbF1y0Xsuf+c9Q9pOvwzC3N+VKiDm3UOdnS5kmkaDAtRFJVCderrdeMv11a
+ S2iZm2wNIvmHXsogK8savP05nVqWUbyf8h2vR0jlTRBz2kAyQmtZrJyPLBjww/6Vrx7SeElxk
+ alcdmtEi3tdo6eMkRsFebFaCUPqItnfbJbHbXJ4udFSh4fsjduS3UppT4JbCCzqm+XNGVrUqR
+ BT9vCmRbySk5wIT3D0Eg76wFeIZv4OSRzQguvVF9jkBp1Rpg++L8ryT16Wlox17PM5Er2T8Hn
+ DvtQYG2N0H4cY1aJW/zPeQBWHH1uSqJfAew37CAL+skNaSTa0vFcZ767XBCfg6RLfXyKh85qm
+ Gt8gRY7Js2eGw9uR74OlrgJ4TIun187UAelKzqsGADORGyoHo1fMJuk0Mdiowqu+iX5qn3+cE
+ hCcZPwE2VuH0H9J8fUNRrotICpKdurbLvl40ubrd7Ke2b80dNLZfLbLnOKHSQyYy7TFJ8FgZ0
+ eSlGh0KXP7kZU1n2gIGKqpYdthjTXDHyHw9QqRUStYpd/WtcY5d4gxnomwYCghPPhaIzjeHkD
+ ifQLPwagP2YYxjG2ZH8f8ZQSh3kEP4r9bbTGpIw==
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200107_101615_067475_AF11981B
+X-CRM114-Status: GOOD ( 11.10 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.2 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 [212.227.15.19 listed in list.dnswl.org]
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider (wahrenst[at]gmx.net)
+ -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_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: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
+ Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
+ linux-pm@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
+
+Since the BCM2711 doesn't have a AVS TMON block, the thermal information
+must be retrieved from the AVS ring oscillator block. This block is part
+of the AVS monitor which contains a bunch of raw sensors.
+
+Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
+Reviewed-by: Rob Herring <robh@kernel.org>
+Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+ .../bindings/thermal/brcm,avs-ro-thermal.yaml | 45 ++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
+
+--
+2.7.4
+
+diff --git a/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
+new file mode 100644
+index 0000000..98e7b57
+--- /dev/null
++++ b/Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.yaml
+@@ -0,0 +1,45 @@
++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/thermal/brcm,avs-ro-thermal.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: Broadcom AVS ring oscillator thermal
++
++maintainers:
++ - Stefan Wahren <wahrenst@gmx.net>
++
++description: |+
++ The thermal node should be the child of a syscon node with the
++ required property:
++
++ - compatible: Should be one of the following:
++ "brcm,bcm2711-avs-monitor", "syscon", "simple-mfd"
++
++ Refer to the the bindings described in
++ Documentation/devicetree/bindings/mfd/syscon.txt
++
++properties:
++ compatible:
++ const: brcm,bcm2711-thermal
++
++ reg:
++ maxItems: 1
++
++required:
++ - compatible
++ - reg
++
++examples:
++ - |
++ avs-monitor@7d5d2000 {
++ compatible = "brcm,bcm2711-avs-monitor",
++ "syscon", "simple-mfd";
++ reg = <0x7d5d2000 0xf00>;
++
++ thermal: thermal {
++ compatible = "brcm,bcm2711-thermal";
++ #thermal-sensor-cells = <0>;
++ };
++ };
++...
+
+From patchwork Tue Jan 7 18:15:55 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
+X-Patchwork-Id: 11321579
+Return-Path:
+ <SRS0=75uJ=24=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 4EEC4138D
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:17:14 +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 1A18F20848
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:17:14 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="WN1BmRCI";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=gmx.net header.i=@gmx.net header.b="JbSBDGbs"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A18F20848
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=gmx.net
+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=rd33uxZir356e7wb2uZqLp6zepYzCUaWcTH20TBa6Qk=; b=WN1BmRCI/FB6C4+ssKo3wCeIYT
+ 5K0oT/RSBHeB2bGbPVTr2hxGUgjDDUXvnyAUw5RMItV3h54Q8JS41AP+v6VpB99bd0X+8HrC3rHa9
+ ZD6AcP0l8Qovx8Tk427GW5beomc7Z0mUK9NY2xfcEc81gfGAOa0+cOMBAoj7OSqAe3qXB4e/X0uWO
+ Z8MrJvtd7wZzzvsXaEKac7C+gzrIZbm108W/rSS2205m8+TdzBCWB1PK23JgnqLZDzWt2Z0bfBI+W
+ Yy4G5buoin/9QXdofS3uI/23A833iKxHljZL12/xWtwCy70/sqWVvTv13U3aKNh5SzqQ2zBi4nT+1
+ ed+Q4ktg==;
+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 1iotPk-0004my-Pu; Tue, 07 Jan 2020 18:17:12 +0000
+Received: from mout.gmx.net ([212.227.15.18])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1iotOp-0003ud-1M
+ for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
+ s=badeba3b8450; t=1578420965;
+ bh=4mbXLn8R9HTqHSqjDYTVnf33y1TLbPgq1QZsQUXuORI=;
+ h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
+ b=JbSBDGbsT0C/YiJLKHHclDX+IekngU601r/NZUXbm7pEwIYsEG9Fpom2kM2knFKu6
+ P8bgl9yGKGMF3bKRLNYwPzCNgXdBIDyzI8MsZOrBpZG4jgG62ofrIuBWMuCDJ2if7S
+ 9nt5L4RoIxNX7cPNA8tE7jX2d15dzT534YUlWCzQ=
+X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
+Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
+ (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
+ 1M7sDg-1il3eJ1VuE-0053xL; Tue, 07 Jan 2020 19:16:05 +0100
+From: Stefan Wahren <wahrenst@gmx.net>
+To: Zhang Rui <rui.zhang@intel.com>,
+ Daniel Lezcano <daniel.lezcano@linaro.org>,
+ Amit Kucheria <amit.kucheria@verdurent.com>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
+Subject: [PATCH V3 2/4] thermal: Add BCM2711 thermal driver
+Date: Tue, 7 Jan 2020 19:15:55 +0100
+Message-Id: <1578420957-32229-3-git-send-email-wahrenst@gmx.net>
+X-Mailer: git-send-email 2.7.4
+In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+X-Provags-ID: V03:K1:yFvB7JDgtfyjUut8k1Chkrb/ErSVsg3EvQyWqLPXb8cBJL7dcQK
+ dsv56Ee8bmn70zRFQcp+ZxoKnJOLsQX8yr4SSStLpZInOQB1eFljwNlqO1yvOMTchBW9aNV
+ 8K/3K5y1XYvkIucOrqA4mcg/Abn6C2HRj+YX30kIzWXSZJYVPfGO7BlReGxXXeOS3RN/0+v
+ AxjdzIeF7ITk0B2E8IlXg==
+X-Spam-Flag: NO
+X-UI-Out-Filterresults: notjunk:1;V03:K0:jTzlGkSo9bo=:dlU7pPc0rf9QUy9ZULoDP9
+ 8GSLL1VdjzaySpcK+jGdXJmnrTtTdrwOVCM13Yj+OFiXY9BhB02v3Y1/GACb0zByQF6m5R+HY
+ E9rP1h/ZotZ106drpf22Cq8qEcdAIN5naIaEYooguO0tmeziCzo2zdEeRvJQpiw0XPxJzNMRM
+ 6r/2TRXgeXb53bBysAa4tCjXgXGwqtbF0WKTAsWBjogBF/6lwK2AgGFC8X4mY7XOv8GZOq+EO
+ eCr92WcgDG5MIwJF7G+Q/SWbTCV+S7Fs8D52Iy3YYtdNKYJa8Mq2PmZs+zx2feLAmwfSxGctw
+ EuEMw9cv1bA2tVzuUn7GiFQYGlJpxGvvCrxvU6F99yw9ECI3c3zIOHKmsXPlWMBQo9AuD/0rF
+ P//MLHaS7rzJds2En+JKdP/bAR2XxC/qCtHnF7VIxMkbrXUU69CYWVTAz5gaxFv5CtBY5kqmi
+ /AkDqAJimergmP6IIVtmEpgO5aE2KcbFFWtqt8e+OshhR/JDJ6JP8+kZUnbV9e0nY2cUJQqeT
+ n30n/BPVfHDvMlXeHpI//Eo90SBCEVY9BRd90Q/9tmyRckXcLt+mK9USdZAkyrq7X+eXNlB2b
+ QPHkn7XPbEso/0K2GzZCEO+kh5IKoYf4o53VM++6q7SDY48oU7MGG29P36RlK40W4wxgYcnbQ
+ G6ofOpVasFvQlsfoWZAy3tMP3h7pzSXTMzfb+oBl+20O/5R32GpSWt/jO/Rfhyk+Ho+MGiQwA
+ TqHZK+xG6BWesd9jIKv+A0n/NnxbHfylDpSRa0x4Al27WH1GQcN70HE+B91a58+3NmNd8cl1u
+ nR++5B6h+UhxHjwY3mJFn6JaJE9tzHZYUcYYH6JeUq03cFXZC9Fxdns96ofekPi24KiO9T49q
+ byceV+B8w4shzosvTwbuExqTP6JvIQU0VGVNzFhWlFvoMardYHn0PWKlIy16TPVaRXEL7yl2U
+ +TRzGy2pXi4g1TkFMGGmRU17UYWsREIKw3+RqOSuq8riGSWZrUgVbk2wJLp/0kS4pLMUzaF/a
+ QMemNPTBJfdX15J9IiNHnOMDGmEdpRucbFs9HYRn4HhWDMl1TskP5nyUiG8p+7ET3PLjS+r4K
+ IFzT7g2tghwbdcDkMOjwK1CFXVblw2fUa5gjZoLCAb+psUornL0pyskLONpUQDgX+FONMdu5C
+ gXIa+nu2CgDmi+mxoDIx4hSim5yfx1eGeryexRr5UiX4wdT0jXDx3nyfK+z9DTgBbIwY0D0qM
+ gN5jbjyZRfDrlBl1cMJHAWyDEdL42xvNhWkeV0Q==
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200107_101615_404914_F8328398
+X-CRM114-Status: GOOD ( 17.41 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.2 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 [212.227.15.18 listed in list.dnswl.org]
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider (wahrenst[at]gmx.net)
+ -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_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: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
+ Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
+ linux-pm@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 thermal sensor driver for the Broadcom BCM2711 SoC,
+which is placed on the Raspberry Pi 4. The driver only provides
+SoC temperature reading so far.
+
+Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+ drivers/thermal/broadcom/Kconfig | 7 ++
+ drivers/thermal/broadcom/Makefile | 1 +
+ drivers/thermal/broadcom/bcm2711_thermal.c | 129 +++++++++++++++++++++++++++++
+ 3 files changed, 137 insertions(+)
+ create mode 100644 drivers/thermal/broadcom/bcm2711_thermal.c
+
+--
+2.7.4
+
+diff --git a/drivers/thermal/broadcom/Kconfig b/drivers/thermal/broadcom/Kconfig
+index cf43e15..061f1db 100644
+--- a/drivers/thermal/broadcom/Kconfig
++++ b/drivers/thermal/broadcom/Kconfig
+@@ -1,4 +1,11 @@
+ # SPDX-License-Identifier: GPL-2.0-only
++config BCM2711_THERMAL
++ tristate "Broadcom AVS RO thermal sensor driver"
++ depends on ARCH_BCM2835 || COMPILE_TEST
++ depends on THERMAL_OF && MFD_SYSCON
++ help
++ Support for thermal sensors on Broadcom BCM2711 SoCs.
++
+ config BCM2835_THERMAL
+ tristate "Thermal sensors on bcm2835 SoC"
+ depends on ARCH_BCM2835 || COMPILE_TEST
+diff --git a/drivers/thermal/broadcom/Makefile b/drivers/thermal/broadcom/Makefile
+index 490ab1f..c917b24 100644
+--- a/drivers/thermal/broadcom/Makefile
++++ b/drivers/thermal/broadcom/Makefile
+@@ -1,4 +1,5 @@
+ # SPDX-License-Identifier: GPL-2.0-only
++obj-$(CONFIG_BCM2711_THERMAL) += bcm2711_thermal.o
+ obj-$(CONFIG_BCM2835_THERMAL) += bcm2835_thermal.o
+ obj-$(CONFIG_BRCMSTB_THERMAL) += brcmstb_thermal.o
+ obj-$(CONFIG_BCM_NS_THERMAL) += ns-thermal.o
+diff --git a/drivers/thermal/broadcom/bcm2711_thermal.c b/drivers/thermal/broadcom/bcm2711_thermal.c
+new file mode 100644
+index 0000000..b1d3c4d
+--- /dev/null
++++ b/drivers/thermal/broadcom/bcm2711_thermal.c
+@@ -0,0 +1,129 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * Broadcom AVS RO thermal sensor driver
++ *
++ * based on brcmstb_thermal
++ *
++ * Copyright (C) 2020 Stefan Wahren
++ */
++
++#include <linux/bitops.h>
++#include <linux/clk.h>
++#include <linux/device.h>
++#include <linux/err.h>
++#include <linux/io.h>
++#include <linux/kernel.h>
++#include <linux/mfd/syscon.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++#include <linux/of_device.h>
++#include <linux/regmap.h>
++#include <linux/thermal.h>
++
++#include "../thermal_hwmon.h"
++
++#define AVS_RO_TEMP_STATUS 0x200
++ #define AVS_RO_TEMP_STATUS_valid_msk (BIT(16) | BIT(10))
++ #define AVS_RO_TEMP_STATUS_data_msk GENMASK(9, 0)
++
++struct bcm2711_thermal_priv {
++ struct regmap *regmap;
++ struct device *dev;
++ struct thermal_zone_device *thermal;
++};
++
++static int bcm2711_get_temp(void *data, int *temp)
++{
++ struct bcm2711_thermal_priv *priv = data;
++ int slope = thermal_zone_get_slope(priv->thermal);
++ int offset = thermal_zone_get_offset(priv->thermal);
++ u32 val;
++ int ret;
++ long t;
++
++ ret = regmap_read(priv->regmap, AVS_RO_TEMP_STATUS, &val);
++ if (ret)
++ return ret;
++
++ if (!(val & AVS_RO_TEMP_STATUS_valid_msk)) {
++ dev_err(priv->dev, "reading not valid\n");
++ return -EIO;
++ }
++
++ val &= AVS_RO_TEMP_STATUS_data_msk;
++
++ /* Convert a HW code to a temperature reading (millidegree celsius) */
++ t = slope * val + offset;
++ if (t < 0)
++ *temp = 0;
++ else
++ *temp = t;
++
++ return 0;
++}
++
++static const struct thermal_zone_of_device_ops bcm2711_thermal_of_ops = {
++ .get_temp = bcm2711_get_temp,
++};
++
++static const struct of_device_id bcm2711_thermal_id_table[] = {
++ { .compatible = "brcm,bcm2711-thermal" },
++ {},
++};
++MODULE_DEVICE_TABLE(of, bcm2711_thermal_id_table);
++
++static int bcm2711_thermal_probe(struct platform_device *pdev)
++{
++ struct thermal_zone_device *thermal;
++ struct bcm2711_thermal_priv *priv;
++ struct device *dev = &pdev->dev;
++ struct device_node *parent;
++ struct regmap *regmap;
++ int ret;
++
++ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
++ if (!priv)
++ return -ENOMEM;
++
++ /* get regmap from syscon node */
++ parent = of_get_parent(dev->of_node); /* parent should be syscon node */
++ regmap = syscon_node_to_regmap(parent);
++ of_node_put(parent);
++ if (IS_ERR(regmap)) {
++ ret = PTR_ERR(regmap);
++ dev_err(dev, "failed to get regmap: %d\n", ret);
++ return ret;
++ }
++ priv->regmap = regmap;
++ priv->dev = dev;
++
++ thermal = devm_thermal_zone_of_sensor_register(dev, 0, priv,
++ &bcm2711_thermal_of_ops);
++ if (IS_ERR(thermal)) {
++ ret = PTR_ERR(thermal);
++ dev_err(dev, "could not register sensor: %d\n", ret);
++ return ret;
++ }
++
++ priv->thermal = thermal;
++
++ thermal->tzp->no_hwmon = false;
++ ret = thermal_add_hwmon_sysfs(thermal);
++ if (ret)
++ return ret;
++
++ return 0;
++}
++
++static struct platform_driver bcm2711_thermal_driver = {
++ .probe = bcm2711_thermal_probe,
++ .driver = {
++ .name = "bcm2711_thermal",
++ .of_match_table = bcm2711_thermal_id_table,
++ },
++};
++module_platform_driver(bcm2711_thermal_driver);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Stefan Wahren");
++MODULE_DESCRIPTION("Broadcom AVS RO thermal sensor driver");
+
+From patchwork Tue Jan 7 18:15:56 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
+X-Patchwork-Id: 11321577
+Return-Path:
+ <SRS0=75uJ=24=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 1E3DA138D
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:17:03 +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 D9D1920848
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:17: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="ik3qMsDb";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=gmx.net header.i=@gmx.net header.b="dq7Bd9O5"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D9D1920848
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=gmx.net
+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=3Jmn1DTkt6iHJo4nKs/bZbMCywPz9fpkSPNvdSNQuD0=; b=ik3qMsDbyY7oIjPW5+6nccv1h7
+ oTVZ+0E3fy/IjWBwKY5FfojiU4G096Dur2GDb1EeYQdJPYEusJkMhhogib+k9m2wcU+Ho8h2EZeKF
+ Jll43seK5zjOJwQO8N/Jv0wOd2UqlWswRCLEoAUgGbDEU5gYR8Ue2MPlCFqJMBEeZ8KC3SeWIfYgi
+ fLTUD74gERNQ7YL6u8uEq8Nx6BUgyW0/HUQ3Km8r9DMV7NbRoKm07M+5sKldGxSqxMRWUkW1aq9YV
+ cQW+XybMtNHLfcTOJYOvyQApYP0CK8q+I+xtd4SM150gTyCKEhDUAk+UFEUnJ9pDgTeh6yGqQqv5I
+ BmWUq8aQ==;
+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 1iotPZ-0004bP-3J; Tue, 07 Jan 2020 18:17:01 +0000
+Received: from mout.gmx.net ([212.227.15.18])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1iotOp-0003ue-1N
+ for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:18 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
+ s=badeba3b8450; t=1578420966;
+ bh=aWglA2PfdwtIHtm2mDExM6LOMnFuWnZiRAiujdoAMW8=;
+ h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
+ b=dq7Bd9O5pRIoP35pWiEbr3vIwPVUIZdztKslWibSe4sYkKnlLAbn2Tly+3mecxMX4
+ plidbchinnJHsr1byo3468d32bXORW9ghvyBGxOn50Zs4URcLnZ6Mj9sUeBhkRs9yz
+ afE9G4bQQvpFS9Aa/ELtd1yj+QyiHuLkxDC5oxSA=
+X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
+Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
+ (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
+ 1MoO2E-1jUaw13WDg-00onqT; Tue, 07 Jan 2020 19:16:05 +0100
+From: Stefan Wahren <wahrenst@gmx.net>
+To: Zhang Rui <rui.zhang@intel.com>,
+ Daniel Lezcano <daniel.lezcano@linaro.org>,
+ Amit Kucheria <amit.kucheria@verdurent.com>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
+Subject: [PATCH V3 3/4] ARM: dts: bcm2711: Enable thermal
+Date: Tue, 7 Jan 2020 19:15:56 +0100
+Message-Id: <1578420957-32229-4-git-send-email-wahrenst@gmx.net>
+X-Mailer: git-send-email 2.7.4
+In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+X-Provags-ID: V03:K1:nnCaGh26y5WZ7Y+Du8wo80ycqs5dd0zUOiU8IyxmRBut3vh+kbS
+ hWpSdRT6jUdGy0zdQC4p0GWbndKZlE8PcisuGyj1O6JS+PZF0lvHyqMgg93jy1GqVcINVAT
+ m9kwkGNF9DR+OKHvvajSgRYV5gRp3BIZpN7jBioSwAr2xEZCwI3aFYzZL0/nM1tdwZi08do
+ f9kojNp6jUr4vT/oaeL8g==
+X-Spam-Flag: NO
+X-UI-Out-Filterresults: notjunk:1;V03:K0:eypfnYKWbbQ=:3vD1OpSV55xSk4yzLYUc8F
+ ss17pikWe3sKTkGoI3BFvSL2dMCJntwyDYvcMBefgSpGcgd2z3eK3CjpAhx5Z35UkdK7cr6ep
+ lsMn51ut2iKyCZ1FGpPY5mDJroBPqJFUDxNCh0BAQJn/Vyd5aWvtIStBX8vhSZeSLwOpkgYtq
+ INAm+O2AD+nw7gqpqya1+fc2pMPvW9S2I6sYSLCuOP1gqJraZSDDgUp8hn2DbLlhVPgD5MSet
+ VUMc8Crizcnnhu+3dx1SJtxS/Vykaw4X0YVr5/sV3mNPI9sqSWpndRywGkJfhs6ruCBSTZPqD
+ lR/PwjRR58iwZ2J2O3oBfahA9dQYEQNQqxsQxIcJ296R7AyEpq8PePDjT6Z0qKPaIP1KiR9/8
+ bq+HA6Be/peO7fvhwDxJNy0yQSnXJDjLqu8Gop7ybALxiK+c+alVEtyBJwd7wL+FCdL3hNnHi
+ gGsohKQNAHfMWgJXcnYBqr/mcSjQf07IYNuidrfs7biH4SIVMneDFBM+bDyXpPKaHrAf3f8AJ
+ 6RwAQAuSBoGRrR6lOKFx63o3tmAI4R/vfyosXbLXm8nheUTCB3tmW+/J++QiCrafqCA8rzZCF
+ eZgIaNncjMxPxyUmV608AjOWEnE6xf0cXC57Cw6mOq19oVtp3qesCkDvbyaAskyCX2IXZJ7hp
+ R4RpokH33Uhu6IaIyGV2LuP3GZK9YmAOG1CZc6l5u7se8WRN7N1n2HkLLe2u6DM/WjZmdT7HR
+ uOAbQn7NWoke1DXdnj57eY3h0Y+OJlYvhkdh7pWVUiWRLRqOOnD+ME2CRRRqD6RlKuSilEpeu
+ qvPT2/eJFvIL4pejhNNrPB2C3RiHhHmyeUbQo+2Na5X/sLn3vwhfDac57ev5NKIeD7FPGPgzr
+ 4YF/E/rSQhXylqhqwomJMyE77jIsa09OD73gY0UYIW38Z3bfj1MlNpM3Dzq68Uy7ILcunYJgS
+ JYdohNePZWLE8JBRj3z04HdTs4ogtDQLrJZEoPqWJwyYXpIblHXV3hcEm99M6ZiBCVeJQz2st
+ narTYNER7iY19YC1Bc/z0ahz5Y/DiKEZI1KwPjmqzwl9DtgiFpahgvJ/htv/UFTl6UZHKBM9g
+ k/uJbVQbreofaRz730uheNJu0ruz6QvWSAMa21Ge+vl84CGbcDOtC2ydUXhbjpVYa12n5Eg5A
+ pQS244oqQTS3hWqK8xrFNm4jmBcCDAPGv3xVBW1Jg6pRqybLzta5jN+FfPaMbWh0yVV5VO6qu
+ tKLGAzCzdsJVRK3ly7+y1msAZ7D0THx91qoghfQ==
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200107_101615_402374_8C4F49A4
+X-CRM114-Status: GOOD ( 10.05 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider (wahrenst[at]gmx.net)
+ -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [212.227.15.18 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_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: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
+ Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
+ linux-pm@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 enables thermal for the BCM2711 (used on Raspberry Pi 4) by adding
+the AVS monitor and a subnode for the thermal part.
+
+Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
+Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+ arch/arm/boot/dts/bcm2711.dtsi | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--
+2.7.4
+
+diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
+index 961bed8..96f341d 100644
+--- a/arch/arm/boot/dts/bcm2711.dtsi
++++ b/arch/arm/boot/dts/bcm2711.dtsi
+@@ -66,6 +66,17 @@
+ IRQ_TYPE_LEVEL_HIGH)>;
+ };
+
++ avs_monitor: avs-monitor@7d5d2000 {
++ compatible = "brcm,bcm2711-avs-monitor",
++ "syscon", "simple-mfd";
++ reg = <0x7d5d2000 0xf00>;
++
++ thermal: thermal {
++ compatible = "brcm,bcm2711-thermal";
++ #thermal-sensor-cells = <0>;
++ };
++ };
++
+ dma: dma@7e007000 {
+ compatible = "brcm,bcm2835-dma";
+ reg = <0x7e007000 0xb00>;
+@@ -363,6 +374,7 @@
+
+ &cpu_thermal {
+ coefficients = <(-487) 410040>;
++ thermal-sensors = <&thermal>;
+ };
+
+ &dsi0 {
+
+From patchwork Tue Jan 7 18:15:57 2020
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+X-Patchwork-Submitter: Stefan Wahren <wahrenst@gmx.net>
+X-Patchwork-Id: 11321575
+Return-Path:
+ <SRS0=75uJ=24=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 E84E3138D
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:16:44 +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 C25C220848
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Tue, 7 Jan 2020 18:16: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="EHM8n8KN";
+ dkim=fail reason="signature verification failed" (1024-bit key)
+ header.d=gmx.net header.i=@gmx.net header.b="Idmw230V"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C25C220848
+Authentication-Results: mail.kernel.org;
+ dmarc=none (p=none dis=none) header.from=gmx.net
+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=FI3zHZWFfRXQ5XfvKcNW0c7MrnTDIP/1CsQtLlw0qhk=; b=EHM8n8KNF/sE/U53eeci7J27D/
+ L6VFKJctUZqFEOfeRIf3CEPuX3Pk7huocVD4K/yvqJnuSIC9Sje4gjYORUjtz0xEW8CKjxjf5sbo4
+ iYEtnBsDYtEQWwTsMvpNbOtR9yZQiY7fMcQK8nhC4R5A9vtv43ytxgkV84YVL5SLBHhGZjzUmuRb9
+ FKBtltjzocTcD8mbcVN6Lvjcu/a4J5A+/LHRH7nzuQ7ChaJ9Mw/y7zJHcaBuEOhba/3Dzd9+03jLD
+ oOExZgjTpNtAXsLye/WHt/BTHen3PFAjAAMLvLPE6fEStapg1ZuOa2ueopvmsCSgQ7KMmBHUkX5NX
+ 8kfsNepQ==;
+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 1iotPH-0004Mo-B2; Tue, 07 Jan 2020 18:16:43 +0000
+Received: from mout.gmx.net ([212.227.15.19])
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1iotOo-0003u5-Ni
+ for linux-arm-kernel@lists.infradead.org; Tue, 07 Jan 2020 18:16:16 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
+ s=badeba3b8450; t=1578420966;
+ bh=ywvSvkZtxIFgQK2uzodzJ55BZghcFbFAXSLbAwo36wY=;
+ h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
+ b=Idmw230VWPBhZW2v+dAYw62P6JElxPEL/uqCuoHO0gDvDK3VOnfVdcv9d1ALNkZ2+
+ Y+8kPpr9BiXxUfm8bw+Xmjv/SzBxlFpg2EK/a8Hg1b+OzEQC+AII1OlGsc5FjmhCdA
+ PYd0h0yBiUAl3qCFDZaEL6GR5SqLeAQ2sKdGgVLY=
+X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
+Received: from localhost.localdomain ([37.4.249.154]) by mail.gmx.com
+ (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id
+ 1M1HZo-1irdDo1LiM-002s6V; Tue, 07 Jan 2020 19:16:06 +0100
+From: Stefan Wahren <wahrenst@gmx.net>
+To: Zhang Rui <rui.zhang@intel.com>,
+ Daniel Lezcano <daniel.lezcano@linaro.org>,
+ Amit Kucheria <amit.kucheria@verdurent.com>,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>
+Subject: [PATCH V3 4/4] ARM: configs: Build BCM2711 thermal as module
+Date: Tue, 7 Jan 2020 19:15:57 +0100
+Message-Id: <1578420957-32229-5-git-send-email-wahrenst@gmx.net>
+X-Mailer: git-send-email 2.7.4
+In-Reply-To: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+References: <1578420957-32229-1-git-send-email-wahrenst@gmx.net>
+X-Provags-ID: V03:K1:KgT8/xCsDfTXBG/ZvIRxjN+W6EAwuQgL8jv7F25Vy4z+LXj8G1P
+ FvRXVhgSwOlulZ964d6rnvX7HL7dcwoY5KFt4EhM20cYoQ7YJ90EDHTamYirCxIqbox1UqU
+ ONycfR3lNn3uKEv5yBZAPy3RJBy/loio9XdwmoBs6tYkYaaVTtIztndrmforVufG7I03eQv
+ W3OI55XFGJevmqp5FLjsQ==
+X-Spam-Flag: NO
+X-UI-Out-Filterresults: notjunk:1;V03:K0:XO0bOe0Ep8o=:kSgMi1gYunuPgzCu/XiJe8
+ 55cXkb2VEpp+0ZB7lgktyFvshluW/8SnuuoMm0yhsBOUju5moUy3EZx62VduAycSWKQ78+NnI
+ nuuYaeMimJEZFIkXd/bIo8qA7TQgY5Ai7wFwAtnufeOK6yhqeXld+O6drS9SE7OUPwiRaFLvX
+ a4z3zZIJ/WSdgxfIjZJl+1A8tbqJu7QHtc7BvlrnNqu0L7T9RP/4wKZFs+iqJxgb56ONYX6aW
+ eJEAdrGioHnjoWK1N2opYc6mYPThXU7WIGI67W1LEp4sdfzemZwQzCuEX4itQkAnL2DeCQ5Ga
+ TB3twKe/JfrKyCgWbB1LzE4zIekmdDkNCLP1O1ry0t5+zdTGCZqjgF0aW1XQwp7nUNAKqvnkR
+ oGFH00fcZrTjP7GTsAHM1SFbj/j8S4XbS2KGdNqEc+X3ozKoe941uA4inBhtY+DCHFbDc82RB
+ saG1XiaXGsPKwjXuAqFoy+XoGrMHnHWh5g9mP7Zd8K8eY9UW2y2qLVLlIfRct6viL+vCIg5bq
+ bBOs7WNQuQK66Q8JwSFVNkWe5cjQ4sjCurxBOCJu6414eyACNqp75abbUH3UXbZ1ZWeQB05gV
+ pAQjr6XZtxFBUpzRIscP1mp92bxLC60clMvMwMY7L3J2tmJzvf+8KaEZ46/AXpMn/5UHILhV8
+ RHgsmsQOZtPYbgegdxdoBc4kR22+31P9QayG4NNZpKN6TEFlqDfoNUbNez4dIJleG22IlSiAm
+ HnfbzPvVXjeK2JiZBcfGTDhAuoGbB8Fj+2eQ26gxDe6zKM6e+8/ggitNae4Dbbw0frlGYT/H6
+ Wawodx5tZYYdi+XZ6h7xR7gVz+qUtDxU3/g+269QUGswvjIS+a6z7lzkEuyK7V6ieV8u7Eh4X
+ sN1khUObrdWcgax2sqRsD0RD05hMRw3yVlf9xuWpUo/SWo+mVR/rXK6YkXDiRCL5kmMzaJ/ZF
+ b4PktMNM1fUynsV780QqPYKWWfAdvMlDCWnofVBqBUPHArgmZeAkiFzfCcecwEBz+jAxwUZmE
+ ANzUWQENqeKB/qYYpxtBwoBTpfvKT9aAuk83/Xxf8kHjFo2JE0BLWXqe+/i6FQUtXR4VmNd2G
+ UVWlOQJHCJCaXerv7dUwcdFH2tluzwimauf3xv9Suhg06gzqG2AzZefj6DSqfSFAESG+a1r9m
+ u1k2ZLky+lFSekVHbbxsc5W/2rXnl7YvbHVJ1NqvR0HhNJjn7ISBZGvzeJz7kFQCKjXZiQA76
+ XprBZmCVmQkyOoIyjE6h4g5xdzecqsXUyniZ7MA==
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20200107_101615_064044_029A3653
+X-CRM114-Status: GOOD ( 10.12 )
+X-Spam-Score: -0.2 (/)
+X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary:
+ Content analysis details: (-0.2 points)
+ pts rule name description
+ ---- ----------------------
+ --------------------------------------------------
+ 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
+ provider (wahrenst[at]gmx.net)
+ -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_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
+ no trust [212.227.15.19 listed in list.dnswl.org]
+ -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: devicetree@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com,
+ Stefan Wahren <wahrenst@gmx.net>, linux-arm-kernel@lists.infradead.org,
+ linux-pm@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 builds the BCM2711 thermal driver as module for the Raspberry Pi 4.
+
+Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Tested-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+ arch/arm/configs/multi_v7_defconfig | 1 +
+ arch/arm64/configs/defconfig | 1 +
+ 2 files changed, 2 insertions(+)
+
+--
+2.7.4
+
+diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
+index 3f1b96d..f5d19cc 100644
+--- a/arch/arm/configs/multi_v7_defconfig
++++ b/arch/arm/configs/multi_v7_defconfig
+@@ -496,6 +496,7 @@ CONFIG_IMX_THERMAL=y
+ CONFIG_ROCKCHIP_THERMAL=y
+ CONFIG_RCAR_THERMAL=y
+ CONFIG_ARMADA_THERMAL=y
++CONFIG_BCM2711_THERMAL=m
+ CONFIG_BCM2835_THERMAL=m
+ CONFIG_BRCMSTB_THERMAL=m
+ CONFIG_ST_THERMAL_MEMMAP=y
+diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
+index 6a83ba2..b2f6673 100644
+--- a/arch/arm64/configs/defconfig
++++ b/arch/arm64/configs/defconfig
+@@ -442,6 +442,7 @@ CONFIG_ROCKCHIP_THERMAL=m
+ CONFIG_RCAR_THERMAL=y
+ CONFIG_RCAR_GEN3_THERMAL=y
+ CONFIG_ARMADA_THERMAL=y
++CONFIG_BCM2711_THERMAL=m
+ CONFIG_BCM2835_THERMAL=m
+ CONFIG_BRCMSTB_THERMAL=m
+ CONFIG_EXYNOS_THERMAL=y
diff --git a/PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch b/PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch
deleted file mode 100644
index 001fa32dc..000000000
--- a/PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From mboxrd@z Thu Jan 1 00:00:00 1970
-Return-Path: <SRS0=e2dy=XH=vger.kernel.org=selinux-owner@kernel.org>
-X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
- aws-us-west-2-korg-lkml-1.web.codeaurora.org
-X-Spam-Level:
-X-Spam-Status: No, score=-15.0 required=3.0
- tests=HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,
- MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT
- autolearn=ham autolearn_force=no version=3.4.0
-Received: from mail.kernel.org (mail.kernel.org [198.145.29.99])
- by smtp.lore.kernel.org (Postfix) with ESMTP id 0CE63C4CEC5
- for <selinux@archiver.kernel.org>; Thu, 12 Sep 2019 13:30:40 +0000 (UTC)
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by mail.kernel.org (Postfix) with ESMTP id DC0B020CC7
- for <selinux@archiver.kernel.org>; Thu, 12 Sep 2019 13:30:39 +0000 (UTC)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1732192AbfILNaj (ORCPT <rfc822;selinux@archiver.kernel.org>);
- Thu, 12 Sep 2019 09:30:39 -0400
-Received: from mx1.redhat.com ([209.132.183.28]:52278 "EHLO mx1.redhat.com"
- rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP
- id S1731687AbfILNaj (ORCPT <rfc822;selinux@vger.kernel.org>);
- Thu, 12 Sep 2019 09:30:39 -0400
-Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197])
- (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
- (No client certificate requested)
- by mx1.redhat.com (Postfix) with ESMTPS id 97CC359465
- for <selinux@vger.kernel.org>; Thu, 12 Sep 2019 13:30:38 +0000 (UTC)
-Received: by mail-qt1-f197.google.com with SMTP id c8so13609684qtd.20
- for <selinux@vger.kernel.org>; Thu, 12 Sep 2019 06:30:38 -0700 (PDT)
-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=S/MIBrjCy5DTvfqPzJTJqDQQH1pDu780wgGyHs56w4k=;
- b=H7fZr4X/c4ge0SXeHHRXrq3U4J60PWfSRqdCphTWxKjyLvBs8nktbJczT562oH7Hxv
- hdvVjKgAzNxIXFdQetnmveDXojtHFrE21PNdo5ONQIyh35oZyrJB4ewZdUrNfbrvDc2y
- ElMr/HoKEX5pY+GMJE4nzeBotlfCWU9BoAxJPUhzKA9Oib+AqDzQ0hCGH6pQY9RXRXBV
- IMH21FE5dxQGtLHNCJXVxE14edDeRo8qQFWQw6ooogK7JvduuJrWBn3BmCbKz1YLTNZE
- 9wRXvaHFVGNhr79JrRcItTp6Sx+tZ3XY46CV+Wi6Rq1fu8MePP9zFdIQXw9wqyd+UgLa
- AIlw==
-X-Gm-Message-State: APjAAAXpWx500L+bZRH8M7OzuSb0aBlsvvjaBYCGvSkzojpa2nRWjtk0
- cjKEj45ivsUgPW2Bbi6CGEtspqM4wmwb72z+ajR4hy5OjMT3KRh6W71HFbVPrlLYQTvse11Ax2d
- wGOma7U/qIGDDYkjh/Q==
-X-Received: by 2002:ac8:7b2e:: with SMTP id l14mr8094193qtu.11.1568295037636;
- Thu, 12 Sep 2019 06:30:37 -0700 (PDT)
-X-Google-Smtp-Source: APXvYqzybFpoaFyGZXafGEdtHCL3XllpHltaXggcIZEb7De49V/kJzm1pU6vpg1gN8HtgnB3cilLuA==
-X-Received: by 2002:ac8:7b2e:: with SMTP id l14mr8094176qtu.11.1568295037442;
- Thu, 12 Sep 2019 06:30:37 -0700 (PDT)
-Received: from localhost.localdomain ([12.133.141.2])
- by smtp.gmail.com with ESMTPSA id h68sm11848865qkd.35.2019.09.12.06.30.35
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Thu, 12 Sep 2019 06:30:36 -0700 (PDT)
-From: Jonathan Lebon <jlebon@redhat.com>
-To: selinux@vger.kernel.org
-Cc: Jonathan Lebon <jlebon@redhat.com>,
- Victor Kamensky <kamensky@cisco.com>
-Subject: [PATCH v2] selinux: allow labeling before policy is loaded
-Date: Thu, 12 Sep 2019 09:30:07 -0400
-Message-Id: <20190912133007.27545-1-jlebon@redhat.com>
-X-Mailer: git-send-email 2.21.0
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-Sender: selinux-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <selinux.vger.kernel.org>
-X-Mailing-List: selinux@vger.kernel.org
-Archived-At: <https://lore.kernel.org/selinux/20190912133007.27545-1-jlebon@redhat.com/>
-List-Archive: <https://lore.kernel.org/selinux/>
-List-Post: <mailto:selinux@vger.kernel.org>
-
-Currently, the SELinux LSM prevents one from setting the
-`security.selinux` xattr on an inode without a policy first being
-loaded. However, this restriction is problematic: it makes it impossible
-to have newly created files with the correct label before actually
-loading the policy.
-
-This is relevant in distributions like Fedora, where the policy is
-loaded by systemd shortly after pivoting out of the initrd. In such
-instances, all files created prior to pivoting will be unlabeled. One
-then has to relabel them after pivoting, an operation which inherently
-races with other processes trying to access those same files.
-
-Going further, there are use cases for creating the entire root
-filesystem on first boot from the initrd (e.g. Container Linux supports
-this today[1], and we'd like to support it in Fedora CoreOS as well[2]).
-One can imagine doing this in two ways: at the block device level (e.g.
-laying down a disk image), or at the filesystem level. In the former,
-labeling can simply be part of the image. But even in the latter
-scenario, one still really wants to be able to set the right labels when
-populating the new filesystem.
-
-This patch enables this by changing behaviour in the following two ways:
-1. allow `setxattr` if we're not initialized
-2. don't try to set the in-core inode SID if we're not initialized;
- instead leave it as `LABEL_INVALID` so that revalidation may be
- attempted at a later time
-
-Note the first hunk of this patch is mostly the same as a previously
-discussed one[3], though it was part of a larger series which wasn't
-accepted.
-
-Co-developed-by: Victor Kamensky <kamensky@cisco.com>
-Signed-off-by: Victor Kamensky <kamensky@cisco.com>
-Signed-off-by: Jonathan Lebon <jlebon@redhat.com>
-
-[1] https://coreos.com/os/docs/latest/root-filesystem-placement.html
-[2] https://github.com/coreos/fedora-coreos-tracker/issues/94
-[3] https://www.spinics.net/lists/linux-initramfs/msg04593.html
-
----
-
-v2:
- - return early in selinux_inode_setxattr if policy hasn't been loaded
-
----
-
- security/selinux/hooks.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
-index 94de51628..dbe96c707 100644
---- a/security/selinux/hooks.c
-+++ b/security/selinux/hooks.c
-@@ -3142,6 +3142,9 @@ static int selinux_inode_setxattr(struct dentry *dentry, const char *name,
- return dentry_has_perm(current_cred(), dentry, FILE__SETATTR);
- }
-
-+ if (!selinux_state.initialized)
-+ return (inode_owner_or_capable(inode) ? 0 : -EPERM);
-+
- sbsec = inode->i_sb->s_security;
- if (!(sbsec->flags & SBLABEL_MNT))
- return -EOPNOTSUPP;
-@@ -3225,6 +3228,15 @@ static void selinux_inode_post_setxattr(struct dentry *dentry, const char *name,
- return;
- }
-
-+ if (!selinux_state.initialized) {
-+ /* If we haven't even been initialized, then we can't validate
-+ * against a policy, so leave the label as invalid. It may
-+ * resolve to a valid label on the next revalidation try if
-+ * we've since initialized.
-+ */
-+ return;
-+ }
-+
- rc = security_context_to_sid_force(&selinux_state, value, size,
- &newsid);
- if (rc) {
---
-2.21.0
-
-
diff --git a/Raspberry-Pi-4-PCIe-support.patch b/Raspberry-Pi-4-PCIe-support.patch
new file mode 100644
index 000000000..d87f6f512
--- /dev/null
+++ b/Raspberry-Pi-4-PCIe-support.patch
@@ -0,0 +1,1995 @@
+From patchwork Mon Dec 16 11:01:07 2019
+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: 11293801
+Return-Path:
+ <SRS0=BOSQ=2G=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 1A73D930
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:01:44 +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 B59B620700
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:01:43 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="cb79RIet"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B59B620700
+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=BIaxi8TW6/7kc2+ri3jCQvUDcvRqu4DcRQH+PcSrqFE=; b=cb79RIetq9xDMB
+ WjzGeSpWqqJFBoypJgtl/f0hMNvDJo23OqyPAA3XiHnd/1OiFVtIaHj0rl0/7mBUqLfVJzym3AJq8
+ MbvE4H5sbjLxLskuQnjMJoITqCzh1fly6HBgLOQJRHZU3rLBVnkbRPgRv+nRt5Nqi5M3aJp1a3qsL
+ 8hPhH1PkGeofP4XjfWvnfl7nhg21+dC3Bxu86pb1aKPogRL6Rw4FGwOawF3ySHMGue4t9OfGcUh+B
+ NI08Au81lvrfZys52Hfb5S7BXmj8vd/1fGqW97GjBdZcHjdUNMfFHHlC4SmLwJqvKdVWpgJH01sdP
+ 29RmPOdzQSiBF+WIhx2w==;
+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 1igo8E-0003Jg-15; Mon, 16 Dec 2019 11:01:42 +0000
+Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1igo80-00036F-By; Mon, 16 Dec 2019 11:01:30 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx1.suse.de (Postfix) with ESMTP id 0A418ABF4;
+ Mon, 16 Dec 2019 11:01:27 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ bcm-kernel-feedback-list@broadcom.com,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ Bjorn Helgaas <bhelgaas@google.com>
+Subject: [PATCH v5 1/6] dt-bindings: PCI: Add bindings for brcmstb's PCIe
+ device
+Date: Mon, 16 Dec 2019 12:01:07 +0100
+Message-Id: <20191216110113.30436-2-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.24.0
+In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20191216_030128_695398_7DDDD9AA
+X-CRM114-Status: GOOD ( 12.44 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.2 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: Mark Rutland <mark.rutland@arm.com>, Rob Herring <robh@kernel.org>,
+ mbrugger@suse.com, devicetree@vger.kernel.org, linux-pci@vger.kernel.org,
+ phil@raspberrypi.org, jeremy.linton@arm.com,
+ Rob Herring <robh+dt@kernel.org>,
+ wahrenst@gmx.net, james.quinlan@broadcom.com,
+ linux-arm-kernel@lists.infradead.org, linux-rpi-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
+
+From: Jim Quinlan <james.quinlan@broadcom.com>
+
+The DT bindings description of the brcmstb PCIe device is described.
+This node can only be used for now on the Raspberry Pi 4.
+
+Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
+Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Reviewed-by: Rob Herring <robh@kernel.org>
+Reviewed-by: Andrew Murray <andrew.murray@arm.com>
+---
+
+Changes since v2:
+ - Add pci reference schema
+ - Drop all default properties
+ - Assume msi-controller and msi-parent are properly defined
+ - Add num entries on multiple properties
+ - use unevaluatedProperties
+ - Update required properties
+ - Fix license
+
+Changes since v1:
+ - Fix commit Subject
+ - Remove linux,pci-domain
+
+This was based on Jim's original submission[1], converted to yaml and
+adapted to the RPi4 case.
+
+[1] https://patchwork.kernel.org/patch/10605937/
+
+ .../bindings/pci/brcm,stb-pcie.yaml | 97 +++++++++++++++++++
+ 1 file changed, 97 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
+
+diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
+new file mode 100644
+index 000000000000..77d3e81a437b
+--- /dev/null
++++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
+@@ -0,0 +1,97 @@
++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/pci/brcm,stb-pcie.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: Brcmstb PCIe Host Controller Device Tree Bindings
++
++maintainers:
++ - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
++
++allOf:
++ - $ref: /schemas/pci/pci-bus.yaml#
++
++properties:
++ compatible:
++ const: brcm,bcm2711-pcie # The Raspberry Pi 4
++
++ reg:
++ maxItems: 1
++
++ interrupts:
++ minItems: 1
++ maxItems: 2
++ items:
++ - description: PCIe host controller
++ - description: builtin MSI controller
++
++ interrupt-names:
++ minItems: 1
++ maxItems: 2
++ items:
++ - const: pcie
++ - const: msi
++
++ ranges:
++ maxItems: 1
++
++ dma-ranges:
++ maxItems: 1
++
++ clocks:
++ maxItems: 1
++
++ clock-names:
++ items:
++ - const: sw_pcie
++
++ msi-controller:
++ description: Identifies the node as an MSI controller.
++
++ msi-parent:
++ description: MSI controller the device is capable of using.
++
++ brcm,enable-ssc:
++ description: Indicates usage of spread-spectrum clocking.
++ type: boolean
++
++required:
++ - reg
++ - dma-ranges
++ - "#interrupt-cells"
++ - interrupts
++ - interrupt-names
++ - interrupt-map-mask
++ - interrupt-map
++ - msi-controller
++
++unevaluatedProperties: false
++
++examples:
++ - |
++ #include <dt-bindings/interrupt-controller/irq.h>
++ #include <dt-bindings/interrupt-controller/arm-gic.h>
++
++ scb {
++ #address-cells = <2>;
++ #size-cells = <1>;
++ pcie0: pcie@7d500000 {
++ compatible = "brcm,bcm2711-pcie";
++ reg = <0x0 0x7d500000 0x9310>;
++ device_type = "pci";
++ #address-cells = <3>;
++ #size-cells = <2>;
++ #interrupt-cells = <1>;
++ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
++ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "pcie", "msi";
++ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
++ interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
++ msi-parent = <&pcie0>;
++ msi-controller;
++ ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>;
++ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>;
++ brcm,enable-ssc;
++ };
++ };
+
+From patchwork Mon Dec 16 11:01:08 2019
+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: 11293815
+Return-Path:
+ <SRS0=BOSQ=2G=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 72D3D930
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02:03 +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 3F7AB207FF
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02:03 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="ISsHC9fH"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3F7AB207FF
+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=UdJf8Rwrz/6hs1077s5n/9efhkcR9FHAvuF0K/vLN8Y=; b=ISsHC9fHRq+60M
+ 7gtGwBg+WQQOYb9jdFmwMcxGe0qeWpPaGIHMIEsnIe4XD9FwQCB/DOlaEd0YroSKG9wx+ltXjqRP6
+ corbkj+3N2CbLy6xpcmwrU7Mbjs2kt7wAx86+oeF2HHVgt0LIa3b38nMkD9IIKU9cNsE/eBW8QAOz
+ wBlxik6IpMapnTNb5x/QmfGMTJUfmL0t8wz7HK1aJtKRj8U99KmswxLykSrniOXw8EBd+NnZxjV5W
+ 6sD8LTIHp/B5zbN06MCX9sggOhONO7PjnEkmJM68Jzwu/O+6k8MHEfGBRdTLXvkoDmW1uFhIt/u79
+ nZo/2ZcH3xzpGMNR//gA==;
+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 1igo8W-0003bB-8M; Mon, 16 Dec 2019 11:02:00 +0000
+Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1igo81-00036I-17; Mon, 16 Dec 2019 11:01:31 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx1.suse.de (Postfix) with ESMTP id B9907ACA7;
+ Mon, 16 Dec 2019 11:01:27 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
+ Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Subject: [PATCH v5 2/6] ARM: dts: bcm2711: Enable PCIe controller
+Date: Mon, 16 Dec 2019 12:01:08 +0100
+Message-Id: <20191216110113.30436-3-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.24.0
+In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20191216_030129_211513_E7F95430
+X-CRM114-Status: GOOD ( 12.22 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.2 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: devicetree@vger.kernel.org, f.fainelli@gmail.com,
+ linux-pci@vger.kernel.org,
+ phil@raspberrypi.org, jeremy.linton@arm.com, mbrugger@suse.com,
+ bcm-kernel-feedback-list@broadcom.com, wahrenst@gmx.net,
+ james.quinlan@broadcom.com, linux-arm-kernel@lists.infradead.org,
+ linux-rpi-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
+
+This enables bcm2711's PCIe bus, which is hardwired to a VIA
+Technologies XHCI USB 3.0 controller.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+
+Changes since v4:
+ - Rebase commit taking into account genet support series
+
+Changes since v3:
+ - Remove unwarranted comment
+
+Changes since v2:
+ - Remove unused interrupt-map
+ - correct dma-ranges to it's full size, non power of 2 bus DMA
+ constraints now supported in linux-next[1]
+ - add device_type
+ - rename alias from pcie_0 to pcie0
+
+Changes since v1:
+ - remove linux,pci-domain
+
+[1] https://lkml.org/lkml/2019/11/21/235
+
+ arch/arm/boot/dts/bcm2711.dtsi | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
+index e2f6ffb00aa9..b56388ce1216 100644
+--- a/arch/arm/boot/dts/bcm2711.dtsi
++++ b/arch/arm/boot/dts/bcm2711.dtsi
+@@ -331,7 +331,36 @@ scb {
+ #address-cells = <2>;
+ #size-cells = <1>;
+
+- ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>;
++ ranges = <0x0 0x7c000000 0x0 0xfc000000 0x03800000>,
++ <0x6 0x00000000 0x6 0x00000000 0x40000000>;
++
++ pcie0: pcie@7d500000 {
++ compatible = "brcm,bcm2711-pcie";
++ reg = <0x0 0x7d500000 0x9310>;
++ device_type = "pci";
++ #address-cells = <3>;
++ #interrupt-cells = <1>;
++ #size-cells = <2>;
++ interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
++ <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "pcie", "msi";
++ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
++ interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143
++ IRQ_TYPE_LEVEL_HIGH>;
++ msi-controller;
++ msi-parent = <&pcie0>;
++
++ ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000
++ 0x0 0x04000000>;
++ /*
++ * The wrapper around the PCIe block has a bug
++ * preventing it from accessing beyond the first 3GB of
++ * memory.
++ */
++ dma-ranges = <0x02000000 0x0 0x00000000 0x0 0x00000000
++ 0x0 0xc0000000>;
++ brcm,enable-ssc;
++ };
+
+ genet: ethernet@7d580000 {
+ compatible = "brcm,bcm2711-genet-v5";
+
+From patchwork Mon Dec 16 11:01:09 2019
+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: 11293817
+Return-Path:
+ <SRS0=BOSQ=2G=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 5258B138C
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02:16 +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 2BC2C206EC
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02:16 +0000 (UTC)
+Authentication-Results: mail.kernel.org;
+ dkim=pass (2048-bit key) header.d=lists.infradead.org
+ header.i=@lists.infradead.org header.b="ESaFz97K"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2BC2C206EC
+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=+5ayi0cziQL3ZyCMj3iZr+38A6c8osp+1etjz8lMcs0=; b=ESaFz97K8D7L5Q
+ eP6cOr4xBwD8JGVEOalDJHmTA7YrfsYPlyqEmoV5jf6647ddqM+dXZE2HpqGgiKBSvQmg3bbSh92t
+ DokvbV8Iglu0LlQvliFFakzKq3z/SEtdiQ67DhNsyC8/6150TSWOQ3bgblVRH3pBCettQmRRCdSPG
+ S0nb5uLQ0mpfLJvfcpN6lDJepIxpaCo4My4i5OPN5rCVQgW0b181kKQ0CiOpn6+RHsZ8TZQT3oGLt
+ lXuYTni2GgcysGX3UNYbzsex6v8wqmSxchH+qpnwdJw7G/oxFcNTvVQ5BIjU62CZmX6qC+RjOwwnB
+ LwtY7yRrtR/lXNVBKOFQ==;
+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 1igo8l-0003rT-Fs; Mon, 16 Dec 2019 11:02:15 +0000
+Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1igo82-00036x-Ea; Mon, 16 Dec 2019 11:01:34 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx1.suse.de (Postfix) with ESMTP id 25A22ACC6;
+ Mon, 16 Dec 2019 11:01:29 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
+ Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ bcm-kernel-feedback-list@broadcom.com,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Subject: [PATCH v5 3/6] PCI: brcmstb: Add Broadcom STB PCIe host controller
+ driver
+Date: Mon, 16 Dec 2019 12:01:09 +0100
+Message-Id: <20191216110113.30436-4-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.24.0
+In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20191216_030130_800432_3B8FE2E4
+X-CRM114-Status: GOOD ( 18.27 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.2 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: mbrugger@suse.com, linux-pci@vger.kernel.org, phil@raspberrypi.org,
+ jeremy.linton@arm.com, wahrenst@gmx.net, james.quinlan@broadcom.com,
+ Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org,
+ linux-rpi-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
+
+From: Jim Quinlan <james.quinlan@broadcom.com>
+
+This adds a basic driver for Broadcom's STB PCIe controller, for now
+aimed at Raspberry Pi 4's SoC, bcm2711.
+
+Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
+Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Reviewed-by: Andrew Murray <andrew.murray@arm.com>
+Reviewed-by: Jeremy Linton <jeremy.linton@arm.com>
+---
+
+Changes since v3:
+ - Update commit message
+ - rollback roundup_pow_two usage, it'll be updated later down the line
+ - Remove comment in register definition
+
+Changes since v2:
+ - Correct rc_bar2_offset sign
+ - Invert IRQ clear and masking in setup code
+ - Use bitfield.h, redo all register ops while keeping the register
+ names intact
+ - Remove all SHIFT register definitions
+ - Get rid of all _RB writes
+ - Get rid of of_data
+ - Don't iterate over inexisting dma-ranges
+ - Add comment regarding dma-ranges validation
+ - Small cosmetic cleanups
+ - Fix license mismatch
+ - Set driver Kconfig tristate
+ - Didn't add any comment about the controller not being I/O coherent
+ for now as I wait for Jeremy's reply
+
+Changes since v1:
+ - Fix Kconfig
+ - Remove pci domain check
+ - Remove all MSI related code
+ - Remove supend/resume code
+ - Simplify link state wait routine
+ - Prefix all functions
+ - Use of_device_get_match_data()
+ - Use devm_clk_get_optional()
+ - Get rid of irq variable
+ - Use STB all over the driver
+ - Simplify map_bus() function
+ - Fix license mismatch
+ - Remove unused register definitions
+ - Small cleanups, spell errors
+
+This is based on Jim's original submission[1] but adapted and tailored
+specifically to bcm2711's needs (that's the Raspberry Pi 4). Support for
+the rest of the brcmstb family will soon follow once we get support for
+multiple dma-ranges in dma/direct.
+
+[1] https://patchwork.kernel.org/patch/10605959/
+
+ drivers/pci/controller/Kconfig | 8 +
+ drivers/pci/controller/Makefile | 1 +
+ drivers/pci/controller/pcie-brcmstb.c | 748 ++++++++++++++++++++++++++
+ 3 files changed, 757 insertions(+)
+ create mode 100644 drivers/pci/controller/pcie-brcmstb.c
+
+diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
+index c77069c8ee5d..27504f108ee5 100644
+--- a/drivers/pci/controller/Kconfig
++++ b/drivers/pci/controller/Kconfig
+@@ -253,6 +253,14 @@ config VMD
+ To compile this driver as a module, choose M here: the
+ module will be called vmd.
+
++config PCIE_BRCMSTB
++ tristate "Broadcom Brcmstb PCIe host controller"
++ depends on ARCH_BCM2835 || COMPILE_TEST
++ depends on OF
++ help
++ Say Y here to enable PCIe host controller support for
++ Broadcom STB based SoCs, like the Raspberry Pi 4.
++
+ config PCI_HYPERV_INTERFACE
+ tristate "Hyper-V PCI Interface"
+ depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
+diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile
+index 3d4f597f15ce..01b2502a5323 100644
+--- a/drivers/pci/controller/Makefile
++++ b/drivers/pci/controller/Makefile
+@@ -28,6 +28,7 @@ obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
+ obj-$(CONFIG_PCIE_MOBIVEIL) += pcie-mobiveil.o
+ obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o
+ obj-$(CONFIG_VMD) += vmd.o
++obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o
+ # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
+ obj-y += dwc/
+
+diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
+new file mode 100644
+index 000000000000..dd681164faa0
+--- /dev/null
++++ b/drivers/pci/controller/pcie-brcmstb.c
+@@ -0,0 +1,748 @@
++// SPDX-License-Identifier: GPL-2.0+
++/* Copyright (C) 2009 - 2019 Broadcom */
++
++#include <linux/bitfield.h>
++#include <linux/clk.h>
++#include <linux/compiler.h>
++#include <linux/delay.h>
++#include <linux/init.h>
++#include <linux/interrupt.h>
++#include <linux/io.h>
++#include <linux/ioport.h>
++#include <linux/irqdomain.h>
++#include <linux/kernel.h>
++#include <linux/list.h>
++#include <linux/log2.h>
++#include <linux/module.h>
++#include <linux/of_address.h>
++#include <linux/of_irq.h>
++#include <linux/of_pci.h>
++#include <linux/of_platform.h>
++#include <linux/pci.h>
++#include <linux/printk.h>
++#include <linux/sizes.h>
++#include <linux/slab.h>
++#include <linux/string.h>
++#include <linux/types.h>
++
++#include "../pci.h"
++
++/* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */
++#define BRCM_PCIE_CAP_REGS 0x00ac
++
++/* Broadcom STB PCIe Register Offsets */
++#define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1 0x0188
++#define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK 0xc
++#define PCIE_RC_CFG_VENDOR_SPCIFIC_REG1_LITTLE_ENDIAN 0x0
++
++#define PCIE_RC_CFG_PRIV1_ID_VAL3 0x043c
++#define PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK 0xffffff
++
++#define PCIE_RC_DL_MDIO_ADDR 0x1100
++#define PCIE_RC_DL_MDIO_WR_DATA 0x1104
++#define PCIE_RC_DL_MDIO_RD_DATA 0x1108
++
++#define PCIE_MISC_MISC_CTRL 0x4008
++#define PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK 0x1000
++#define PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK 0x2000
++#define PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_MASK 0x300000
++#define PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_128 0x0
++#define PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK 0xf8000000
++
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LO 0x400c
++#define PCIE_MEM_WIN0_LO(win) \
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LO + ((win) * 4)
++
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_HI 0x4010
++#define PCIE_MEM_WIN0_HI(win) \
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_HI + ((win) * 4)
++
++#define PCIE_MISC_RC_BAR1_CONFIG_LO 0x402c
++#define PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK 0x1f
++
++#define PCIE_MISC_RC_BAR2_CONFIG_LO 0x4034
++#define PCIE_MISC_RC_BAR2_CONFIG_LO_SIZE_MASK 0x1f
++#define PCIE_MISC_RC_BAR2_CONFIG_HI 0x4038
++
++#define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c
++#define PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f
++
++#define PCIE_MISC_PCIE_CTRL 0x4064
++#define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 0x1
++
++#define PCIE_MISC_PCIE_STATUS 0x4068
++#define PCIE_MISC_PCIE_STATUS_PCIE_PORT_MASK 0x80
++#define PCIE_MISC_PCIE_STATUS_PCIE_DL_ACTIVE_MASK 0x20
++#define PCIE_MISC_PCIE_STATUS_PCIE_PHYLINKUP_MASK 0x10
++#define PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK 0x40
++
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT 0x4070
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_LIMIT_MASK 0xfff00000
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK 0xfff0
++#define PCIE_MEM_WIN0_BASE_LIMIT(win) \
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT + ((win) * 4)
++
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI 0x4080
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI_BASE_MASK 0xff
++#define PCIE_MEM_WIN0_BASE_HI(win) \
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI + ((win) * 8)
++
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI 0x4084
++#define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI_LIMIT_MASK 0xff
++#define PCIE_MEM_WIN0_LIMIT_HI(win) \
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8)
++
++#define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204
++#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK 0x2
++#define PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000
++
++#define PCIE_MSI_INTR2_STATUS 0x4500
++#define PCIE_MSI_INTR2_CLR 0x4508
++#define PCIE_MSI_INTR2_MASK_SET 0x4510
++#define PCIE_MSI_INTR2_MASK_CLR 0x4514
++
++#define PCIE_EXT_CFG_DATA 0x8000
++
++#define PCIE_EXT_CFG_INDEX 0x9000
++#define PCIE_EXT_BUSNUM_SHIFT 20
++#define PCIE_EXT_SLOT_SHIFT 15
++#define PCIE_EXT_FUNC_SHIFT 12
++
++#define PCIE_RGR1_SW_INIT_1 0x9210
++#define PCIE_RGR1_SW_INIT_1_PERST_MASK 0x1
++#define PCIE_RGR1_SW_INIT_1_INIT_MASK 0x2
++
++/* PCIe parameters */
++#define BRCM_NUM_PCIE_OUT_WINS 0x4
++
++/* MDIO registers */
++#define MDIO_PORT0 0x0
++#define MDIO_DATA_MASK 0x7fffffff
++#define MDIO_PORT_MASK 0xf0000
++#define MDIO_REGAD_MASK 0xffff
++#define MDIO_CMD_MASK 0xfff00000
++#define MDIO_CMD_READ 0x1
++#define MDIO_CMD_WRITE 0x0
++#define MDIO_DATA_DONE_MASK 0x80000000
++#define MDIO_RD_DONE(x) (((x) & MDIO_DATA_DONE_MASK) ? 1 : 0)
++#define MDIO_WT_DONE(x) (((x) & MDIO_DATA_DONE_MASK) ? 0 : 1)
++#define SSC_REGS_ADDR 0x1100
++#define SET_ADDR_OFFSET 0x1f
++#define SSC_CNTL_OFFSET 0x2
++#define SSC_CNTL_OVRD_EN_MASK 0x8000
++#define SSC_CNTL_OVRD_VAL_MASK 0x4000
++#define SSC_STATUS_OFFSET 0x1
++#define SSC_STATUS_SSC_MASK 0x400
++#define SSC_STATUS_PLL_LOCK_MASK 0x800
++
++/* Internal PCIe Host Controller Information.*/
++struct brcm_pcie {
++ struct device *dev;
++ void __iomem *base;
++ struct clk *clk;
++ struct pci_bus *root_bus;
++ struct device_node *np;
++ bool ssc;
++ int gen;
++};
++
++/*
++ * This is to convert the size of the inbound "BAR" region to the
++ * non-linear values of PCIE_X_MISC_RC_BAR[123]_CONFIG_LO.SIZE
++ */
++static int brcm_pcie_encode_ibar_size(u64 size)
++{
++ int log2_in = ilog2(size);
++
++ if (log2_in >= 12 && log2_in <= 15)
++ /* Covers 4KB to 32KB (inclusive) */
++ return (log2_in - 12) + 0x1c;
++ else if (log2_in >= 16 && log2_in <= 35)
++ /* Covers 64KB to 32GB, (inclusive) */
++ return log2_in - 15;
++ /* Something is awry so disable */
++ return 0;
++}
++
++static u32 brcm_pcie_mdio_form_pkt(int port, int regad, int cmd)
++{
++ u32 pkt = 0;
++
++ pkt |= FIELD_PREP(MDIO_PORT_MASK, port);
++ pkt |= FIELD_PREP(MDIO_REGAD_MASK, regad);
++ pkt |= FIELD_PREP(MDIO_CMD_MASK, cmd);
++
++ return pkt;
++}
++
++/* negative return value indicates error */
++static int brcm_pcie_mdio_read(void __iomem *base, u8 port, u8 regad, u32 *val)
++{
++ int tries;
++ u32 data;
++
++ writel(brcm_pcie_mdio_form_pkt(port, regad, MDIO_CMD_READ),
++ base + PCIE_RC_DL_MDIO_ADDR);
++ readl(base + PCIE_RC_DL_MDIO_ADDR);
++
++ data = readl(base + PCIE_RC_DL_MDIO_RD_DATA);
++ for (tries = 0; !MDIO_RD_DONE(data) && tries < 10; tries++) {
++ udelay(10);
++ data = readl(base + PCIE_RC_DL_MDIO_RD_DATA);
++ }
++
++ *val = FIELD_GET(MDIO_DATA_MASK, data);
++ return MDIO_RD_DONE(data) ? 0 : -EIO;
++}
++
++/* negative return value indicates error */
++static int brcm_pcie_mdio_write(void __iomem *base, u8 port,
++ u8 regad, u16 wrdata)
++{
++ int tries;
++ u32 data;
++
++ writel(brcm_pcie_mdio_form_pkt(port, regad, MDIO_CMD_WRITE),
++ base + PCIE_RC_DL_MDIO_ADDR);
++ readl(base + PCIE_RC_DL_MDIO_ADDR);
++ writel(MDIO_DATA_DONE_MASK | wrdata, base + PCIE_RC_DL_MDIO_WR_DATA);
++
++ data = readl(base + PCIE_RC_DL_MDIO_WR_DATA);
++ for (tries = 0; !MDIO_WT_DONE(data) && tries < 10; tries++) {
++ udelay(10);
++ data = readl(base + PCIE_RC_DL_MDIO_WR_DATA);
++ }
++
++ return MDIO_WT_DONE(data) ? 0 : -EIO;
++}
++
++/*
++ * Configures device for Spread Spectrum Clocking (SSC) mode; a negative
++ * return value indicates error.
++ */
++static int brcm_pcie_set_ssc(struct brcm_pcie *pcie)
++{
++ int pll, ssc;
++ int ret;
++ u32 tmp;
++
++ ret = brcm_pcie_mdio_write(pcie->base, MDIO_PORT0, SET_ADDR_OFFSET,
++ SSC_REGS_ADDR);
++ if (ret < 0)
++ return ret;
++
++ ret = brcm_pcie_mdio_read(pcie->base, MDIO_PORT0,
++ SSC_CNTL_OFFSET, &tmp);
++ if (ret < 0)
++ return ret;
++
++ u32p_replace_bits(&tmp, 1, SSC_CNTL_OVRD_EN_MASK);
++ u32p_replace_bits(&tmp, 1, SSC_CNTL_OVRD_VAL_MASK);
++ ret = brcm_pcie_mdio_write(pcie->base, MDIO_PORT0,
++ SSC_CNTL_OFFSET, tmp);
++ if (ret < 0)
++ return ret;
++
++ usleep_range(1000, 2000);
++ ret = brcm_pcie_mdio_read(pcie->base, MDIO_PORT0,
++ SSC_STATUS_OFFSET, &tmp);
++ if (ret < 0)
++ return ret;
++
++ ssc = FIELD_GET(SSC_STATUS_SSC_MASK, tmp);
++ pll = FIELD_GET(SSC_STATUS_PLL_LOCK_MASK, tmp);
++
++ return ssc && pll ? 0 : -EIO;
++}
++
++/* Limits operation to a specific generation (1, 2, or 3) */
++static void brcm_pcie_set_gen(struct brcm_pcie *pcie, int gen)
++{
++ u16 lnkctl2 = readw(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2);
++ u32 lnkcap = readl(pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP);
++
++ lnkcap = (lnkcap & ~PCI_EXP_LNKCAP_SLS) | gen;
++ writel(lnkcap, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCAP);
++
++ lnkctl2 = (lnkctl2 & ~0xf) | gen;
++ writew(lnkctl2, pcie->base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKCTL2);
++}
++
++static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie,
++ unsigned int win, u64 cpu_addr,
++ u64 pcie_addr, u64 size)
++{
++ u32 cpu_addr_mb_high, limit_addr_mb_high;
++ phys_addr_t cpu_addr_mb, limit_addr_mb;
++ int high_addr_shift;
++ u32 tmp;
++
++ /* Set the base of the pcie_addr window */
++ writel(lower_32_bits(pcie_addr), pcie->base + PCIE_MEM_WIN0_LO(win));
++ writel(upper_32_bits(pcie_addr), pcie->base + PCIE_MEM_WIN0_HI(win));
++
++ /* Write the addr base & limit lower bits (in MBs) */
++ cpu_addr_mb = cpu_addr / SZ_1M;
++ limit_addr_mb = (cpu_addr + size - 1) / SZ_1M;
++
++ tmp = readl(pcie->base + PCIE_MEM_WIN0_BASE_LIMIT(win));
++ u32p_replace_bits(&tmp, cpu_addr_mb,
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK);
++ u32p_replace_bits(&tmp, limit_addr_mb,
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_LIMIT_MASK);
++ writel(tmp, pcie->base + PCIE_MEM_WIN0_BASE_LIMIT(win));
++
++ /* Write the cpu & limit addr upper bits */
++ high_addr_shift =
++ HWEIGHT32(PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK);
++
++ cpu_addr_mb_high = cpu_addr_mb >> high_addr_shift;
++ tmp = readl(pcie->base + PCIE_MEM_WIN0_BASE_HI(win));
++ u32p_replace_bits(&tmp, cpu_addr_mb_high,
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI_BASE_MASK);
++ writel(tmp, pcie->base + PCIE_MEM_WIN0_BASE_HI(win));
++
++ limit_addr_mb_high = limit_addr_mb >> high_addr_shift;
++ tmp = readl(pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win));
++ u32p_replace_bits(&tmp, limit_addr_mb_high,
++ PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI_LIMIT_MASK);
++ writel(tmp, pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win));
++}
++
++/* The controller is capable of serving in both RC and EP roles */
++static bool brcm_pcie_rc_mode(struct brcm_pcie *pcie)
++{
++ void __iomem *base = pcie->base;
++ u32 val = readl(base + PCIE_MISC_PCIE_STATUS);
++
++ return !!FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_PORT_MASK, val);
++}
++
++static bool brcm_pcie_link_up(struct brcm_pcie *pcie)
++{
++ u32 val = readl(pcie->base + PCIE_MISC_PCIE_STATUS);
++ u32 dla = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_DL_ACTIVE_MASK, val);
++ u32 plu = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_PHYLINKUP_MASK, val);
++
++ return dla && plu;
++}
++
++/* Configuration space read/write support */
++static inline int brcm_pcie_cfg_index(int busnr, int devfn, int reg)
++{
++ return ((PCI_SLOT(devfn) & 0x1f) << PCIE_EXT_SLOT_SHIFT)
++ | ((PCI_FUNC(devfn) & 0x07) << PCIE_EXT_FUNC_SHIFT)
++ | (busnr << PCIE_EXT_BUSNUM_SHIFT)
++ | (reg & ~3);
++}
++
++static void __iomem *brcm_pcie_map_conf(struct pci_bus *bus, unsigned int devfn,
++ int where)
++{
++ struct brcm_pcie *pcie = bus->sysdata;
++ void __iomem *base = pcie->base;
++ int idx;
++
++ /* Accesses to the RC go right to the RC registers if slot==0 */
++ if (pci_is_root_bus(bus))
++ return PCI_SLOT(devfn) ? NULL : base + where;
++
++ /* For devices, write to the config space index register */
++ idx = brcm_pcie_cfg_index(bus->number, devfn, 0);
++ writel(idx, pcie->base + PCIE_EXT_CFG_INDEX);
++ return base + PCIE_EXT_CFG_DATA + where;
++}
++
++static struct pci_ops brcm_pcie_ops = {
++ .map_bus = brcm_pcie_map_conf,
++ .read = pci_generic_config_read,
++ .write = pci_generic_config_write,
++};
++
++static inline void brcm_pcie_bridge_sw_init_set(struct brcm_pcie *pcie, u32 val)
++{
++ u32 tmp;
++
++ tmp = readl(pcie->base + PCIE_RGR1_SW_INIT_1);
++ u32p_replace_bits(&tmp, val, PCIE_RGR1_SW_INIT_1_INIT_MASK);
++ writel(tmp, pcie->base + PCIE_RGR1_SW_INIT_1);
++}
++
++static inline void brcm_pcie_perst_set(struct brcm_pcie *pcie, u32 val)
++{
++ u32 tmp;
++
++ tmp = readl(pcie->base + PCIE_RGR1_SW_INIT_1);
++ u32p_replace_bits(&tmp, val, PCIE_RGR1_SW_INIT_1_PERST_MASK);
++ writel(tmp, pcie->base + PCIE_RGR1_SW_INIT_1);
++}
++
++static inline int brcm_pcie_get_rc_bar2_size_and_offset(struct brcm_pcie *pcie,
++ u64 *rc_bar2_size,
++ u64 *rc_bar2_offset)
++{
++ struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
++ struct device *dev = pcie->dev;
++ struct resource_entry *entry;
++
++ entry = resource_list_first_type(&bridge->dma_ranges, IORESOURCE_MEM);
++ if (!entry)
++ return -ENODEV;
++
++ *rc_bar2_offset = -entry->offset;
++ *rc_bar2_size = 1ULL << fls64(entry->res->end - entry->res->start);
++
++ /*
++ * We validate the inbound memory view even though we should trust
++ * whatever the device-tree provides. This is because of an HW issue on
++ * early Raspberry Pi 4's revisions (bcm2711). It turns out its
++ * firmware has to dynamically edit dma-ranges due to a bug on the
++ * PCIe controller integration, which prohibits any access above the
++ * lower 3GB of memory. Given this, we decided to keep the dma-ranges
++ * in check, avoiding hard to debug device-tree related issues in the
++ * future:
++ *
++ * The PCIe host controller by design must set the inbound viewport to
++ * be a contiguous arrangement of all of the system's memory. In
++ * addition, its size mut be a power of two. To further complicate
++ * matters, the viewport must start on a pcie-address that is aligned
++ * on a multiple of its size. If a portion of the viewport does not
++ * represent system memory -- e.g. 3GB of memory requires a 4GB
++ * viewport -- we can map the outbound memory in or after 3GB and even
++ * though the viewport will overlap the outbound memory the controller
++ * will know to send outbound memory downstream and everything else
++ * upstream.
++ *
++ * For example:
++ *
++ * - The best-case scenario, memory up to 3GB, is to place the inbound
++ * region in the first 4GB of pcie-space, as some legacy devices can
++ * only address 32bits. We would also like to put the MSI under 4GB
++ * as well, since some devices require a 32bit MSI target address.
++ *
++ * - If the system memory is 4GB or larger we cannot start the inbound
++ * region at location 0 (since we have to allow some space for
++ * outbound memory @ 3GB). So instead it will start at the 1x
++ * multiple of its size
++ */
++ if (!*rc_bar2_size || *rc_bar2_offset % *rc_bar2_size ||
++ (*rc_bar2_offset < SZ_4G && *rc_bar2_offset > SZ_2G)) {
++ dev_err(dev, "Invalid rc_bar2_offset/size: size 0x%llx, off 0x%llx\n",
++ *rc_bar2_size, *rc_bar2_offset);
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++static int brcm_pcie_setup(struct brcm_pcie *pcie)
++{
++ struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
++ u64 rc_bar2_offset, rc_bar2_size;
++ void __iomem *base = pcie->base;
++ struct device *dev = pcie->dev;
++ struct resource_entry *entry;
++ unsigned int scb_size_val;
++ bool ssc_good = false;
++ struct resource *res;
++ int num_out_wins = 0;
++ u16 nlw, cls, lnksta;
++ int i, ret;
++ u32 tmp;
++
++ /* Reset the bridge */
++ brcm_pcie_bridge_sw_init_set(pcie, 1);
++
++ usleep_range(100, 200);
++
++ /* Take the bridge out of reset */
++ brcm_pcie_bridge_sw_init_set(pcie, 0);
++
++ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
++ tmp &= ~PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK;
++ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
++ /* Wait for SerDes to be stable */
++ usleep_range(100, 200);
++
++ /* Set SCB_MAX_BURST_SIZE, CFG_READ_UR_MODE, SCB_ACCESS_EN */
++ u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK);
++ u32p_replace_bits(&tmp, 1, PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK);
++ u32p_replace_bits(&tmp, PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_128,
++ PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_MASK);
++ writel(tmp, base + PCIE_MISC_MISC_CTRL);
++
++ ret = brcm_pcie_get_rc_bar2_size_and_offset(pcie, &rc_bar2_size,
++ &rc_bar2_offset);
++ if (ret)
++ return ret;
++
++ tmp = lower_32_bits(rc_bar2_offset);
++ u32p_replace_bits(&tmp, brcm_pcie_encode_ibar_size(rc_bar2_size),
++ PCIE_MISC_RC_BAR2_CONFIG_LO_SIZE_MASK);
++ writel(tmp, base + PCIE_MISC_RC_BAR2_CONFIG_LO);
++ writel(upper_32_bits(rc_bar2_offset),
++ base + PCIE_MISC_RC_BAR2_CONFIG_HI);
++
++ scb_size_val = rc_bar2_size ?
++ ilog2(rc_bar2_size) - 15 : 0xf; /* 0xf is 1GB */
++ tmp = readl(base + PCIE_MISC_MISC_CTRL);
++ u32p_replace_bits(&tmp, scb_size_val,
++ PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK);
++ writel(tmp, base + PCIE_MISC_MISC_CTRL);
++
++ /* disable the PCIe->GISB memory window (RC_BAR1) */
++ tmp = readl(base + PCIE_MISC_RC_BAR1_CONFIG_LO);
++ tmp &= ~PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK;
++ writel(tmp, base + PCIE_MISC_RC_BAR1_CONFIG_LO);
++
++ /* disable the PCIe->SCB memory window (RC_BAR3) */
++ tmp = readl(base + PCIE_MISC_RC_BAR3_CONFIG_LO);
++ tmp &= ~PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK;
++ writel(tmp, base + PCIE_MISC_RC_BAR3_CONFIG_LO);
++
++ /* Mask all interrupts since we are not handling any yet */
++ writel(0xffffffff, pcie->base + PCIE_MSI_INTR2_MASK_SET);
++
++ /* clear any interrupts we find on boot */
++ writel(0xffffffff, pcie->base + PCIE_MSI_INTR2_CLR);
++
++ if (pcie->gen)
++ brcm_pcie_set_gen(pcie, pcie->gen);
++
++ /* Unassert the fundamental reset */
++ brcm_pcie_perst_set(pcie, 0);
++
++ /*
++ * Give the RC/EP time to wake up, before trying to configure RC.
++ * Intermittently check status for link-up, up to a total of 100ms.
++ */
++ for (i = 0; i < 100 && !brcm_pcie_link_up(pcie); i += 5)
++ msleep(5);
++
++ if (!brcm_pcie_link_up(pcie)) {
++ dev_err(dev, "link down\n");
++ return -ENODEV;
++ }
++
++ if (!brcm_pcie_rc_mode(pcie)) {
++ dev_err(dev, "PCIe misconfigured; is in EP mode\n");
++ return -EINVAL;
++ }
++
++ resource_list_for_each_entry(entry, &bridge->windows) {
++ res = entry->res;
++
++ if (resource_type(res) != IORESOURCE_MEM)
++ continue;
++
++ if (num_out_wins >= BRCM_NUM_PCIE_OUT_WINS) {
++ dev_err(pcie->dev, "too many outbound wins\n");
++ return -EINVAL;
++ }
++
++ brcm_pcie_set_outbound_win(pcie, num_out_wins, res->start,
++ res->start - entry->offset,
++ res->end - res->start + 1);
++ num_out_wins++;
++ }
++
++ /*
++ * For config space accesses on the RC, show the right class for
++ * a PCIe-PCIe bridge (the default setting is to be EP mode).
++ */
++ tmp = readl(base + PCIE_RC_CFG_PRIV1_ID_VAL3);
++ u32p_replace_bits(&tmp, 0x060400,
++ PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK);
++ writel(tmp, base + PCIE_RC_CFG_PRIV1_ID_VAL3);
++
++ if (pcie->ssc) {
++ ret = brcm_pcie_set_ssc(pcie);
++ if (ret == 0)
++ ssc_good = true;
++ else
++ dev_err(dev, "failed attempt to enter ssc mode\n");
++ }
++
++ lnksta = readw(base + BRCM_PCIE_CAP_REGS + PCI_EXP_LNKSTA);
++ cls = FIELD_GET(PCI_EXP_LNKSTA_CLS, lnksta);
++ nlw = FIELD_GET(PCI_EXP_LNKSTA_NLW, lnksta);
++ dev_info(dev, "link up, %s x%u %s\n",
++ PCIE_SPEED2STR(cls + PCI_SPEED_133MHz_PCIX_533),
++ nlw, ssc_good ? "(SSC)" : "(!SSC)");
++
++ /* PCIe->SCB endian mode for BAR */
++ tmp = readl(base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1);
++ u32p_replace_bits(&tmp, PCIE_RC_CFG_VENDOR_SPCIFIC_REG1_LITTLE_ENDIAN,
++ PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK);
++ writel(tmp, base + PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1);
++
++ /*
++ * Refclk from RC should be gated with CLKREQ# input when ASPM L0s,L1
++ * is enabled => setting the CLKREQ_DEBUG_ENABLE field to 1.
++ */
++ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
++ tmp |= PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK;
++ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
++
++ return 0;
++}
++
++/* L23 is a low-power PCIe link state */
++static void brcm_pcie_enter_l23(struct brcm_pcie *pcie)
++{
++ void __iomem *base = pcie->base;
++ int l23, i;
++ u32 tmp;
++
++ /* Assert request for L23 */
++ tmp = readl(base + PCIE_MISC_PCIE_CTRL);
++ u32p_replace_bits(&tmp, 1, PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK);
++ writel(tmp, base + PCIE_MISC_PCIE_CTRL);
++
++ /* Wait up to 36 msec for L23 */
++ tmp = readl(base + PCIE_MISC_PCIE_STATUS);
++ l23 = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK, tmp);
++ for (i = 0; i < 15 && !l23; i++) {
++ usleep_range(2000, 2400);
++ tmp = readl(base + PCIE_MISC_PCIE_STATUS);
++ l23 = FIELD_GET(PCIE_MISC_PCIE_STATUS_PCIE_LINK_IN_L23_MASK,
++ tmp);
++ }
++
++ if (!l23)
++ dev_err(pcie->dev, "failed to enter low-power link state\n");
++}
++
++static void brcm_pcie_turn_off(struct brcm_pcie *pcie)
++{
++ void __iomem *base = pcie->base;
++ int tmp;
++
++ if (brcm_pcie_link_up(pcie))
++ brcm_pcie_enter_l23(pcie);
++ /* Assert fundamental reset */
++ brcm_pcie_perst_set(pcie, 1);
++
++ /* Deassert request for L23 in case it was asserted */
++ tmp = readl(base + PCIE_MISC_PCIE_CTRL);
++ u32p_replace_bits(&tmp, 0, PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK);
++ writel(tmp, base + PCIE_MISC_PCIE_CTRL);
++
++ /* Turn off SerDes */
++ tmp = readl(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
++ u32p_replace_bits(&tmp, 1, PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK);
++ writel(tmp, base + PCIE_MISC_HARD_PCIE_HARD_DEBUG);
++
++ /* Shutdown PCIe bridge */
++ brcm_pcie_bridge_sw_init_set(pcie, 1);
++}
++
++static void __brcm_pcie_remove(struct brcm_pcie *pcie)
++{
++ brcm_pcie_turn_off(pcie);
++ clk_disable_unprepare(pcie->clk);
++ clk_put(pcie->clk);
++}
++
++static int brcm_pcie_remove(struct platform_device *pdev)
++{
++ struct brcm_pcie *pcie = platform_get_drvdata(pdev);
++
++ pci_stop_root_bus(pcie->root_bus);
++ pci_remove_root_bus(pcie->root_bus);
++ __brcm_pcie_remove(pcie);
++
++ return 0;
++}
++
++static int brcm_pcie_probe(struct platform_device *pdev)
++{
++ struct device_node *np = pdev->dev.of_node;
++ struct pci_host_bridge *bridge;
++ struct brcm_pcie *pcie;
++ struct pci_bus *child;
++ struct resource *res;
++ int ret;
++
++ bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
++ if (!bridge)
++ return -ENOMEM;
++
++ pcie = pci_host_bridge_priv(bridge);
++ pcie->dev = &pdev->dev;
++ pcie->np = np;
++
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ pcie->base = devm_ioremap_resource(&pdev->dev, res);
++ if (IS_ERR(pcie->base))
++ return PTR_ERR(pcie->base);
++
++ pcie->clk = devm_clk_get_optional(&pdev->dev, "sw_pcie");
++ if (IS_ERR(pcie->clk))
++ return PTR_ERR(pcie->clk);
++
++ ret = of_pci_get_max_link_speed(np);
++ pcie->gen = (ret < 0) ? 0 : ret;
++
++ pcie->ssc = of_property_read_bool(np, "brcm,enable-ssc");
++
++ ret = pci_parse_request_of_pci_ranges(pcie->dev, &bridge->windows,
++ &bridge->dma_ranges, NULL);
++ if (ret)
++ return ret;
++
++ ret = clk_prepare_enable(pcie->clk);
++ if (ret) {
++ dev_err(&pdev->dev, "could not enable clock\n");
++ return ret;
++ }
++
++ ret = brcm_pcie_setup(pcie);
++ if (ret)
++ goto fail;
++
++ bridge->dev.parent = &pdev->dev;
++ bridge->busnr = 0;
++ bridge->ops = &brcm_pcie_ops;
++ bridge->sysdata = pcie;
++ bridge->map_irq = of_irq_parse_and_map_pci;
++ bridge->swizzle_irq = pci_common_swizzle;
++
++ ret = pci_scan_root_bus_bridge(bridge);
++ if (ret < 0) {
++ dev_err(pcie->dev, "Scanning root bridge failed\n");
++ goto fail;
++ }
++
++ pci_assign_unassigned_bus_resources(bridge->bus);
++ list_for_each_entry(child, &bridge->bus->children, node)
++ pcie_bus_configure_settings(child);
++ pci_bus_add_devices(bridge->bus);
++ platform_set_drvdata(pdev, pcie);
++ pcie->root_bus = bridge->bus;
++
++ return 0;
++fail:
++ __brcm_pcie_remove(pcie);
++ return ret;
++}
++
++static const struct of_device_id brcm_pcie_match[] = {
++ { .compatible = "brcm,bcm2711-pcie" },
++ {},
++};
++MODULE_DEVICE_TABLE(of, brcm_pcie_match);
++
++static struct platform_driver brcm_pcie_driver = {
++ .probe = brcm_pcie_probe,
++ .remove = brcm_pcie_remove,
++ .driver = {
++ .name = "brcm-pcie",
++ .of_match_table = brcm_pcie_match,
++ },
++};
++module_platform_driver(brcm_pcie_driver);
++
++MODULE_LICENSE("GPL");
++MODULE_DESCRIPTION("Broadcom STB PCIe RC driver");
++MODULE_AUTHOR("Broadcom");
+
+From patchwork Mon Dec 16 11:01:10 2019
+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: 11293819
+Return-Path:
+ <SRS0=BOSQ=2G=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 0FB1A930
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02: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 DA5D2206EC
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02: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="L57a4G/z"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DA5D2206EC
+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=iItojdIKeV2oJC/4nHltnSdo0OFytKQEQSG83gc3mIo=; b=L57a4G/zV1L3EX
+ zFjTyLpmW4uweymZSoPuNKRbbLfHfV8GJzdk0+AIcGY8T/0LDSubyqm52QwbEIKIZF6q1tYQMV01x
+ dCx/B3rV8B0EcUM/RedeUUqXgMXKYn7pdmzUYR2jRB1NEOucFv6xZA1Ap8ZF1k7A2oACSkf/SBoXA
+ PKbjs2hB/33AoX7kK98vVxVctzuUBE2CkGB419pPh1eXx3QyybSGYoBsNLsQ1BFfL3YwCV2unHoCx
+ h4QSzJ7vBkuNHDVCdq/t6NRFs98dk6ooDHlISOhJW6F3bdR36Vx1/+5tC1MBjm/Wy1oZmLGR+MeSo
+ 0J11yccg2BRitcgEv2gw==;
+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 1igo8u-00043K-US; Mon, 16 Dec 2019 11:02:24 +0000
+Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1igo83-00037J-Ob; Mon, 16 Dec 2019 11:01:35 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx1.suse.de (Postfix) with ESMTP id 502A3AC7D;
+ Mon, 16 Dec 2019 11:01:30 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: andrew.murray@arm.com, maz@kernel.org, linux-kernel@vger.kernel.org,
+ Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ bcm-kernel-feedback-list@broadcom.com,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Subject: [PATCH v5 4/6] PCI: brcmstb: Add MSI support
+Date: Mon, 16 Dec 2019 12:01:10 +0100
+Message-Id: <20191216110113.30436-5-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.24.0
+In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20191216_030132_128008_DE7B462C
+X-CRM114-Status: GOOD ( 23.12 )
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.2 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: mbrugger@suse.com, linux-pci@vger.kernel.org, phil@raspberrypi.org,
+ jeremy.linton@arm.com, wahrenst@gmx.net, james.quinlan@broadcom.com,
+ Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org,
+ linux-rpi-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
+
+From: Jim Quinlan <james.quinlan@broadcom.com>
+
+This adds MSI support to the Broadcom STB PCIe host controller. The MSI
+controller is physically located within the PCIe block, however, there
+is no reason why the MSI controller could not be moved elsewhere in the
+future. MSIX is not supported by the HW.
+
+Since the internal Brcmstb MSI controller is intertwined with the PCIe
+controller, it is not its own platform device but rather part of the
+PCIe platform device.
+
+Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
+Co-developed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+Reviewed-by: Marc Zyngier <maz@kernel.org>
+Reviewed-by: Andrew Murray <andrew.murray@arm.com>
+---
+
+Changes since v3 (kept Marc's reviewed by as changes seem small enough):
+ - Use define to access MSI_DATA_CONFIG_VAL
+ - Update commit message
+
+Changes since v2:
+ - Use standard APIs on register operations
+ - Get rid of revision code
+ - Update rules to msi_target_addr selection
+ - Remove unwarranted MSI_FLAG_PCI_MSIX
+ - Small cosmetic changes
+
+Changes since v1:
+ - Move revision code and some registers to this patch
+ - Use PCIE_MSI_IRQ_DOMAIN in Kconfig
+ - Remove redundant register read from ISR
+ - Fail probe on MSI init error
+ - Get rid of msi_internal
+ - Use bitmap family of functions
+ - Use edge triggered setup
+ - Add comment regarding MultiMSI
+ - Simplify compose_msi_msg to avoid reg read
+
+This is based on Jim's original submission[1] with some slight changes
+regarding how pcie->msi_target_addr is decided.
+
+[1] https://patchwork.kernel.org/patch/10605955/
+
+ drivers/pci/controller/Kconfig | 1 +
+ drivers/pci/controller/pcie-brcmstb.c | 261 +++++++++++++++++++++++++-
+ 2 files changed, 261 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
+index 27504f108ee5..918e283bbff1 100644
+--- a/drivers/pci/controller/Kconfig
++++ b/drivers/pci/controller/Kconfig
+@@ -257,6 +257,7 @@ config PCIE_BRCMSTB
+ tristate "Broadcom Brcmstb PCIe host controller"
+ depends on ARCH_BCM2835 || COMPILE_TEST
+ depends on OF
++ depends on PCI_MSI_IRQ_DOMAIN
+ help
+ Say Y here to enable PCIe host controller support for
+ Broadcom STB based SoCs, like the Raspberry Pi 4.
+diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
+index dd681164faa0..7ba06a0e1a71 100644
+--- a/drivers/pci/controller/pcie-brcmstb.c
++++ b/drivers/pci/controller/pcie-brcmstb.c
+@@ -2,6 +2,7 @@
+ /* Copyright (C) 2009 - 2019 Broadcom */
+
+ #include <linux/bitfield.h>
++#include <linux/bitops.h>
+ #include <linux/clk.h>
+ #include <linux/compiler.h>
+ #include <linux/delay.h>
+@@ -9,11 +10,13 @@
+ #include <linux/interrupt.h>
+ #include <linux/io.h>
+ #include <linux/ioport.h>
++#include <linux/irqchip/chained_irq.h>
+ #include <linux/irqdomain.h>
+ #include <linux/kernel.h>
+ #include <linux/list.h>
+ #include <linux/log2.h>
+ #include <linux/module.h>
++#include <linux/msi.h>
+ #include <linux/of_address.h>
+ #include <linux/of_irq.h>
+ #include <linux/of_pci.h>
+@@ -67,6 +70,12 @@
+ #define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c
+ #define PCIE_MISC_RC_BAR3_CONFIG_LO_SIZE_MASK 0x1f
+
++#define PCIE_MISC_MSI_BAR_CONFIG_LO 0x4044
++#define PCIE_MISC_MSI_BAR_CONFIG_HI 0x4048
++
++#define PCIE_MISC_MSI_DATA_CONFIG 0x404c
++#define PCIE_MISC_MSI_DATA_CONFIG_VAL 0xffe06540
++
+ #define PCIE_MISC_PCIE_CTRL 0x4064
+ #define PCIE_MISC_PCIE_CTRL_PCIE_L23_REQUEST_MASK 0x1
+
+@@ -114,6 +123,11 @@
+
+ /* PCIe parameters */
+ #define BRCM_NUM_PCIE_OUT_WINS 0x4
++#define BRCM_INT_PCI_MSI_NR 32
++
++/* MSI target adresses */
++#define BRCM_MSI_TARGET_ADDR_LT_4GB 0x0fffffffcULL
++#define BRCM_MSI_TARGET_ADDR_GT_4GB 0xffffffffcULL
+
+ /* MDIO registers */
+ #define MDIO_PORT0 0x0
+@@ -135,6 +149,19 @@
+ #define SSC_STATUS_SSC_MASK 0x400
+ #define SSC_STATUS_PLL_LOCK_MASK 0x800
+
++struct brcm_msi {
++ struct device *dev;
++ void __iomem *base;
++ struct device_node *np;
++ struct irq_domain *msi_domain;
++ struct irq_domain *inner_domain;
++ struct mutex lock; /* guards the alloc/free operations */
++ u64 target_addr;
++ int irq;
++ /* used indicates which MSI interrupts have been alloc'd */
++ unsigned long used;
++};
++
+ /* Internal PCIe Host Controller Information.*/
+ struct brcm_pcie {
+ struct device *dev;
+@@ -144,6 +171,8 @@ struct brcm_pcie {
+ struct device_node *np;
+ bool ssc;
+ int gen;
++ u64 msi_target_addr;
++ struct brcm_msi *msi;
+ };
+
+ /*
+@@ -309,6 +338,214 @@ static void brcm_pcie_set_outbound_win(struct brcm_pcie *pcie,
+ writel(tmp, pcie->base + PCIE_MEM_WIN0_LIMIT_HI(win));
+ }
+
++static struct irq_chip brcm_msi_irq_chip = {
++ .name = "BRCM STB PCIe MSI",
++ .irq_ack = irq_chip_ack_parent,
++ .irq_mask = pci_msi_mask_irq,
++ .irq_unmask = pci_msi_unmask_irq,
++};
++
++static struct msi_domain_info brcm_msi_domain_info = {
++ /* Multi MSI is supported by the controller, but not by this driver */
++ .flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS),
++ .chip = &brcm_msi_irq_chip,
++};
++
++static void brcm_pcie_msi_isr(struct irq_desc *desc)
++{
++ struct irq_chip *chip = irq_desc_get_chip(desc);
++ unsigned long status, virq;
++ struct brcm_msi *msi;
++ struct device *dev;
++ u32 bit;
++
++ chained_irq_enter(chip, desc);
++ msi = irq_desc_get_handler_data(desc);
++ dev = msi->dev;
++
++ status = readl(msi->base + PCIE_MSI_INTR2_STATUS);
++ for_each_set_bit(bit, &status, BRCM_INT_PCI_MSI_NR) {
++ virq = irq_find_mapping(msi->inner_domain, bit);
++ if (virq)
++ generic_handle_irq(virq);
++ else
++ dev_dbg(dev, "unexpected MSI\n");
++ }
++
++ chained_irq_exit(chip, desc);
++}
++
++static void brcm_msi_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
++{
++ struct brcm_msi *msi = irq_data_get_irq_chip_data(data);
++
++ msg->address_lo = lower_32_bits(msi->target_addr);
++ msg->address_hi = upper_32_bits(msi->target_addr);
++ msg->data = (0xffff & PCIE_MISC_MSI_DATA_CONFIG_VAL) | data->hwirq;
++}
++
++static int brcm_msi_set_affinity(struct irq_data *irq_data,
++ const struct cpumask *mask, bool force)
++{
++ return -EINVAL;
++}
++
++static void brcm_msi_ack_irq(struct irq_data *data)
++{
++ struct brcm_msi *msi = irq_data_get_irq_chip_data(data);
++
++ writel(1 << data->hwirq, msi->base + PCIE_MSI_INTR2_CLR);
++}
++
++
++static struct irq_chip brcm_msi_bottom_irq_chip = {
++ .name = "BRCM STB MSI",
++ .irq_compose_msi_msg = brcm_msi_compose_msi_msg,
++ .irq_set_affinity = brcm_msi_set_affinity,
++ .irq_ack = brcm_msi_ack_irq,
++};
++
++static int brcm_msi_alloc(struct brcm_msi *msi)
++{
++ int hwirq;
++
++ mutex_lock(&msi->lock);
++ hwirq = bitmap_find_free_region(&msi->used, BRCM_INT_PCI_MSI_NR, 0);
++ mutex_unlock(&msi->lock);
++
++ return hwirq;
++}
++
++static void brcm_msi_free(struct brcm_msi *msi, unsigned long hwirq)
++{
++ mutex_lock(&msi->lock);
++ bitmap_release_region(&msi->used, hwirq, 0);
++ mutex_unlock(&msi->lock);
++}
++
++static int brcm_irq_domain_alloc(struct irq_domain *domain, unsigned int virq,
++ unsigned int nr_irqs, void *args)
++{
++ struct brcm_msi *msi = domain->host_data;
++ int hwirq;
++
++ hwirq = brcm_msi_alloc(msi);
++
++ if (hwirq < 0)
++ return hwirq;
++
++ irq_domain_set_info(domain, virq, (irq_hw_number_t)hwirq,
++ &brcm_msi_bottom_irq_chip, domain->host_data,
++ handle_edge_irq, NULL, NULL);
++ return 0;
++}
++
++static void brcm_irq_domain_free(struct irq_domain *domain,
++ unsigned int virq, unsigned int nr_irqs)
++{
++ struct irq_data *d = irq_domain_get_irq_data(domain, virq);
++ struct brcm_msi *msi = irq_data_get_irq_chip_data(d);
++
++ brcm_msi_free(msi, d->hwirq);
++}
++
++static const struct irq_domain_ops msi_domain_ops = {
++ .alloc = brcm_irq_domain_alloc,
++ .free = brcm_irq_domain_free,
++};
++
++static int brcm_allocate_domains(struct brcm_msi *msi)
++{
++ struct fwnode_handle *fwnode = of_node_to_fwnode(msi->np);
++ struct device *dev = msi->dev;
++
++ msi->inner_domain = irq_domain_add_linear(NULL, BRCM_INT_PCI_MSI_NR,
++ &msi_domain_ops, msi);
++ if (!msi->inner_domain) {
++ dev_err(dev, "failed to create IRQ domain\n");
++ return -ENOMEM;
++ }
++
++ msi->msi_domain = pci_msi_create_irq_domain(fwnode,
++ &brcm_msi_domain_info,
++ msi->inner_domain);
++ if (!msi->msi_domain) {
++ dev_err(dev, "failed to create MSI domain\n");
++ irq_domain_remove(msi->inner_domain);
++ return -ENOMEM;
++ }
++
++ return 0;
++}
++
++static void brcm_free_domains(struct brcm_msi *msi)
++{
++ irq_domain_remove(msi->msi_domain);
++ irq_domain_remove(msi->inner_domain);
++}
++
++static void brcm_msi_remove(struct brcm_pcie *pcie)
++{
++ struct brcm_msi *msi = pcie->msi;
++
++ if (!msi)
++ return;
++ irq_set_chained_handler(msi->irq, NULL);
++ irq_set_handler_data(msi->irq, NULL);
++ brcm_free_domains(msi);
++}
++
++static void brcm_msi_set_regs(struct brcm_msi *msi)
++{
++ writel(0xffffffff, msi->base + PCIE_MSI_INTR2_MASK_CLR);
++
++ /*
++ * The 0 bit of PCIE_MISC_MSI_BAR_CONFIG_LO is repurposed to MSI
++ * enable, which we set to 1.
++ */
++ writel(lower_32_bits(msi->target_addr) | 0x1,
++ msi->base + PCIE_MISC_MSI_BAR_CONFIG_LO);
++ writel(upper_32_bits(msi->target_addr),
++ msi->base + PCIE_MISC_MSI_BAR_CONFIG_HI);
++
++ writel(PCIE_MISC_MSI_DATA_CONFIG_VAL,
++ msi->base + PCIE_MISC_MSI_DATA_CONFIG);
++}
++
++static int brcm_pcie_enable_msi(struct brcm_pcie *pcie)
++{
++ struct brcm_msi *msi;
++ int irq, ret;
++ struct device *dev = pcie->dev;
++
++ irq = irq_of_parse_and_map(dev->of_node, 1);
++ if (irq <= 0) {
++ dev_err(dev, "cannot map MSI interrupt\n");
++ return -ENODEV;
++ }
++
++ msi = devm_kzalloc(dev, sizeof(struct brcm_msi), GFP_KERNEL);
++ if (!msi)
++ return -ENOMEM;
++
++ msi->dev = dev;
++ msi->base = pcie->base;
++ msi->np = pcie->np;
++ msi->target_addr = pcie->msi_target_addr;
++ msi->irq = irq;
++
++ ret = brcm_allocate_domains(msi);
++ if (ret)
++ return ret;
++
++ irq_set_chained_handler_and_data(msi->irq, brcm_pcie_msi_isr, msi);
++
++ brcm_msi_set_regs(msi);
++ pcie->msi = msi;
++
++ return 0;
++}
++
+ /* The controller is capable of serving in both RC and EP roles */
+ static bool brcm_pcie_rc_mode(struct brcm_pcie *pcie)
+ {
+@@ -490,6 +727,18 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie)
+ PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK);
+ writel(tmp, base + PCIE_MISC_MISC_CTRL);
+
++ /*
++ * We ideally want the MSI target address to be located in the 32bit
++ * addressable memory area. Some devices might depend on it. This is
++ * possible either when the inbound window is located above the lower
++ * 4GB or when the inbound area is smaller than 4GB (taking into
++ * account the rounding-up we're forced to perform).
++ */
++ if (rc_bar2_offset >= SZ_4G || (rc_bar2_size + rc_bar2_offset) < SZ_4G)
++ pcie->msi_target_addr = BRCM_MSI_TARGET_ADDR_LT_4GB;
++ else
++ pcie->msi_target_addr = BRCM_MSI_TARGET_ADDR_GT_4GB;
++
+ /* disable the PCIe->GISB memory window (RC_BAR1) */
+ tmp = readl(base + PCIE_MISC_RC_BAR1_CONFIG_LO);
+ tmp &= ~PCIE_MISC_RC_BAR1_CONFIG_LO_SIZE_MASK;
+@@ -639,6 +888,7 @@ static void brcm_pcie_turn_off(struct brcm_pcie *pcie)
+
+ static void __brcm_pcie_remove(struct brcm_pcie *pcie)
+ {
++ brcm_msi_remove(pcie);
+ brcm_pcie_turn_off(pcie);
+ clk_disable_unprepare(pcie->clk);
+ clk_put(pcie->clk);
+@@ -657,7 +907,7 @@ static int brcm_pcie_remove(struct platform_device *pdev)
+
+ static int brcm_pcie_probe(struct platform_device *pdev)
+ {
+- struct device_node *np = pdev->dev.of_node;
++ struct device_node *np = pdev->dev.of_node, *msi_np;
+ struct pci_host_bridge *bridge;
+ struct brcm_pcie *pcie;
+ struct pci_bus *child;
+@@ -701,6 +951,15 @@ static int brcm_pcie_probe(struct platform_device *pdev)
+ if (ret)
+ goto fail;
+
++ msi_np = of_parse_phandle(pcie->np, "msi-parent", 0);
++ if (pci_msi_enabled() && msi_np == pcie->np) {
++ ret = brcm_pcie_enable_msi(pcie);
++ if (ret) {
++ dev_err(pcie->dev, "probe of internal MSI failed");
++ goto fail;
++ }
++ }
++
+ bridge->dev.parent = &pdev->dev;
+ bridge->busnr = 0;
+ bridge->ops = &brcm_pcie_ops;
+
+From patchwork Mon Dec 16 11:01:12 2019
+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: 11293821
+Return-Path:
+ <SRS0=BOSQ=2G=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 224E3930
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02: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 F26AB206EC
+ for <patchwork-linux-arm@patchwork.kernel.org>;
+ Mon, 16 Dec 2019 11:02: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="eMDipuhg"
+DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F26AB206EC
+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=89gvO/q/aU2KdnEtpUR7fViPlJcU9Hv2PR7UHxNLFTg=; b=eMDipuhg+M9lCx
+ 8ENnzwQAiTmaNTilNadUK3F2Z1K6tk8e2VJcgmacOjfEF5yQspDGCxaemBhqrfFpIVaPIgd6D+2Ru
+ 5oQaG8pyaOReVRpAa2xgws20vpYXVku0j4jel8gsAEXtyMKIFMqqUgQGKCTatNP4An1aMP6c5EC5z
+ mkmzodfHSJPOATqU55l6AcamhGlfLO/xNXUEIFVQz891R1m8FQO6pnryIa7IYr3d3TkinptRk6hFO
+ 60i+H50v2/NzmROaDORveKAO9a6APoqlzLK9sj8ehy3lVItSguKco7jnrBapYOPYcNgdMp2PrnkHq
+ QFDUmvLZNnAqN+ez5NkA==;
+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 1igo9D-0004J8-3H; Mon, 16 Dec 2019 11:02:43 +0000
+Received: from mx2.suse.de ([195.135.220.15] helo=mx1.suse.de)
+ by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
+ id 1igo86-00039m-4x; Mon, 16 Dec 2019 11:01:36 +0000
+X-Virus-Scanned: by amavisd-new at test-mx.suse.de
+Received: from relay2.suse.de (unknown [195.135.220.254])
+ by mx1.suse.de (Postfix) with ESMTP id BD4CDACD7;
+ Mon, 16 Dec 2019 11:01:32 +0000 (UTC)
+From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+To: andrew.murray@arm.com,
+ maz@kernel.org,
+ linux-kernel@vger.kernel.org
+Subject: [PATCH v5 6/6] arm64: defconfig: Enable Broadcom's STB PCIe
+ controller
+Date: Mon, 16 Dec 2019 12:01:12 +0100
+Message-Id: <20191216110113.30436-7-nsaenzjulienne@suse.de>
+X-Mailer: git-send-email 2.24.0
+In-Reply-To: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+References: <20191216110113.30436-1-nsaenzjulienne@suse.de>
+MIME-Version: 1.0
+X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
+X-CRM114-CacheID: sfid-20191216_030134_339113_ECC8A7D7
+X-CRM114-Status: UNSURE ( 8.26 )
+X-CRM114-Notice: Please train this message.
+X-Spam-Score: -2.3 (--)
+X-Spam-Report: SpamAssassin version 3.4.2 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: linux-arm-kernel@lists.infradead.org, f.fainelli@gmail.com,
+ linux-pci@vger.kernel.org, phil@raspberrypi.org, jeremy.linton@arm.com,
+ mbrugger@suse.com, wahrenst@gmx.net, james.quinlan@broadcom.com,
+ Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>,
+ Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
+ linux-rpi-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
+
+For now mainly used in the Raspberry Pi 4.
+
+Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
+---
+ arch/arm64/configs/defconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
+index 2646fc76b8db..2b80980ef576 100644
+--- a/arch/arm64/configs/defconfig
++++ b/arch/arm64/configs/defconfig
+@@ -192,6 +192,7 @@ CONFIG_PCIE_ALTERA_MSI=y
+ CONFIG_PCI_HOST_THUNDER_PEM=y
+ CONFIG_PCI_HOST_THUNDER_ECAM=y
+ CONFIG_PCIE_ROCKCHIP_HOST=m
++CONFIG_PCIE_BRCMSTB=m
+ CONFIG_PCI_LAYERSCAPE=y
+ CONFIG_PCI_HISI=y
+ CONFIG_PCIE_QCOM=y
diff --git a/alsa-5.5.patch b/alsa-5.5.patch
deleted file mode 100644
index 92af336ef..000000000
--- a/alsa-5.5.patch
+++ /dev/null
@@ -1,10881 +0,0 @@
-From 79b0618304c9a7512aba223ae187a8405656aa8e Mon Sep 17 00:00:00 2001
-From: Colin Ian King <colin.king@canonical.com>
-Date: Sun, 25 Nov 2018 23:12:08 +0000
-Subject: [PATCH 001/109] ALSA: usb-audio: fix spelling mistake "Frequence" ->
- "Frequency"
-
-There are spelling mistakes in equalizer name fields, fix them.
-
-Signed-off-by: Colin Ian King <colin.king@canonical.com>
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 940f457392e684bf0005628f6a155040648c5894)
-Bugzilla: 1772498
----
- sound/usb/mixer_us16x08.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/sound/usb/mixer_us16x08.c b/sound/usb/mixer_us16x08.c
-index f0e8e1539450..aea3b4ad7ded 100644
---- a/sound/usb/mixer_us16x08.c
-+++ b/sound/usb/mixer_us16x08.c
-@@ -1109,7 +1109,7 @@ static const struct snd_us16x08_control_params eq_controls[] = {
- .control_id = SND_US16X08_ID_EQLOWFREQ,
- .type = USB_MIXER_U8,
- .num_channels = 16,
-- .name = "EQ Low Frequence",
-+ .name = "EQ Low Frequency",
- },
- { /* EQ mid low gain */
- .kcontrol_new = &snd_us16x08_eq_gain_ctl,
-@@ -1123,7 +1123,7 @@ static const struct snd_us16x08_control_params eq_controls[] = {
- .control_id = SND_US16X08_ID_EQLOWMIDFREQ,
- .type = USB_MIXER_U8,
- .num_channels = 16,
-- .name = "EQ MidLow Frequence",
-+ .name = "EQ MidLow Frequency",
- },
- { /* EQ mid low Q */
- .kcontrol_new = &snd_us16x08_eq_mid_width_ctl,
-@@ -1144,7 +1144,7 @@ static const struct snd_us16x08_control_params eq_controls[] = {
- .control_id = SND_US16X08_ID_EQHIGHMIDFREQ,
- .type = USB_MIXER_U8,
- .num_channels = 16,
-- .name = "EQ MidHigh Frequence",
-+ .name = "EQ MidHigh Frequency",
- },
- { /* EQ mid high Q */
- .kcontrol_new = &snd_us16x08_eq_mid_width_ctl,
-@@ -1165,7 +1165,7 @@ static const struct snd_us16x08_control_params eq_controls[] = {
- .control_id = SND_US16X08_ID_EQHIGHFREQ,
- .type = USB_MIXER_U8,
- .num_channels = 16,
-- .name = "EQ High Frequence",
-+ .name = "EQ High Frequency",
- },
- };
-
---
-2.24.1
-
-From 17bbbd02508acda4df32c4f0668434dccb56bdca Mon Sep 17 00:00:00 2001
-From: Saurav Girepunje <saurav.girepunje@gmail.com>
-Date: Tue, 29 Oct 2019 23:22:00 +0530
-Subject: [PATCH 002/109] ALSA: usb-audio: sound: usb: usb true/false for bool
- return type
-
-Use true/false for bool type return in uac_clock_source_is_valid().
-
-Signed-off-by: Saurav Girepunje <saurav.girepunje@gmail.com>
-Link: https://lore.kernel.org/r/20191029175200.GA7320@saurav
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 1d4961d9eb1aaa498dfb44779b7e4b95d79112d0)
-Bugzilla: 1772498
----
- sound/usb/clock.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/sound/usb/clock.c b/sound/usb/clock.c
-index 6b8c14f9b5d4..018b1ecb5404 100644
---- a/sound/usb/clock.c
-+++ b/sound/usb/clock.c
-@@ -165,21 +165,21 @@ static bool uac_clock_source_is_valid(struct snd_usb_audio *chip,
- snd_usb_find_clock_source_v3(chip->ctrl_intf, source_id);
-
- if (!cs_desc)
-- return 0;
-+ return false;
- bmControls = le32_to_cpu(cs_desc->bmControls);
- } else { /* UAC_VERSION_1/2 */
- struct uac_clock_source_descriptor *cs_desc =
- snd_usb_find_clock_source(chip->ctrl_intf, source_id);
-
- if (!cs_desc)
-- return 0;
-+ return false;
- bmControls = cs_desc->bmControls;
- }
-
- /* If a clock source can't tell us whether it's valid, we assume it is */
- if (!uac_v2v3_control_is_readable(bmControls,
- UAC2_CS_CONTROL_CLOCK_VALID))
-- return 1;
-+ return true;
-
- err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_CUR,
- USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_IN,
-@@ -191,10 +191,10 @@ static bool uac_clock_source_is_valid(struct snd_usb_audio *chip,
- dev_warn(&dev->dev,
- "%s(): cannot get clock validity for id %d\n",
- __func__, source_id);
-- return 0;
-+ return false;
- }
-
-- return !!data;
-+ return data ? true : false;
- }
-
- static int __uac_clock_find_source(struct snd_usb_audio *chip, int entity_id,
---
-2.24.1
-
-From 042dd0cc1f179d52acfea699239b87ef93dbd70d Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Thu, 14 Nov 2019 17:56:13 +0100
-Subject: [PATCH 003/109] ALSA: usb-audio: Add skip_validation option
-
-The unit descriptor validation may lead to a probe error when the
-device provides a buggy descriptor or the validator detected
-incorrectly. For identifying such an error and band-aiding, give a
-new module option, skip_validation. With this option, the driver
-ignores the validation errors with the hexdump of the unit
-descriptor, so we can check it in a bit more details.
-
-Link: https://lore.kernel.org/r/20191114165613.7422-2-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit f35ef592477c5347b8f780a5f0d4970671e22c61)
-Bugzilla: 1772498
----
- sound/usb/card.c | 3 +++
- sound/usb/usbaudio.h | 1 +
- sound/usb/validate.c | 23 ++++++++++++++++++++---
- 3 files changed, 24 insertions(+), 3 deletions(-)
-
-diff --git a/sound/usb/card.c b/sound/usb/card.c
-index db91dc76cc91..9f743ebae615 100644
---- a/sound/usb/card.c
-+++ b/sound/usb/card.c
-@@ -74,6 +74,7 @@ static bool autoclock = true;
- static char *quirk_alias[SNDRV_CARDS];
-
- bool snd_usb_use_vmalloc = true;
-+bool snd_usb_skip_validation;
-
- module_param_array(index, int, NULL, 0444);
- MODULE_PARM_DESC(index, "Index value for the USB audio adapter.");
-@@ -96,6 +97,8 @@ module_param_array(quirk_alias, charp, NULL, 0444);
- MODULE_PARM_DESC(quirk_alias, "Quirk aliases, e.g. 0123abcd:5678beef.");
- module_param_named(use_vmalloc, snd_usb_use_vmalloc, bool, 0444);
- MODULE_PARM_DESC(use_vmalloc, "Use vmalloc for PCM intermediate buffers (default: yes).");
-+module_param_named(skip_validation, snd_usb_skip_validation, bool, 0444);
-+MODULE_PARM_DESC(skip_validation, "Skip unit descriptor validation (default: no).");
-
- /*
- * we keep the snd_usb_audio_t instances by ourselves for merging
-diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h
-index e360680f45f3..6fe3ab582ec6 100644
---- a/sound/usb/usbaudio.h
-+++ b/sound/usb/usbaudio.h
-@@ -121,5 +121,6 @@ int snd_usb_lock_shutdown(struct snd_usb_audio *chip);
- void snd_usb_unlock_shutdown(struct snd_usb_audio *chip);
-
- extern bool snd_usb_use_vmalloc;
-+extern bool snd_usb_skip_validation;
-
- #endif /* __USBAUDIO_H */
-diff --git a/sound/usb/validate.c b/sound/usb/validate.c
-index 5a3c4f7882b0..c43d8c3895a9 100644
---- a/sound/usb/validate.c
-+++ b/sound/usb/validate.c
-@@ -322,11 +322,28 @@ static bool validate_desc(unsigned char *hdr, int protocol,
-
- bool snd_usb_validate_audio_desc(void *p, int protocol)
- {
-- return validate_desc(p, protocol, audio_validators);
-+ unsigned char *c = p;
-+ bool valid;
-+
-+ valid = validate_desc(p, protocol, audio_validators);
-+ if (!valid && snd_usb_skip_validation) {
-+ print_hex_dump(KERN_ERR, "USB-audio: buggy audio desc: ",
-+ DUMP_PREFIX_NONE, 16, 1, c, c[0], true);
-+ valid = true;
-+ }
-+ return valid;
- }
-
- bool snd_usb_validate_midi_desc(void *p)
- {
-- return validate_desc(p, UAC_VERSION_1, midi_validators);
-+ unsigned char *c = p;
-+ bool valid;
-+
-+ valid = validate_desc(p, UAC_VERSION_1, midi_validators);
-+ if (!valid && snd_usb_skip_validation) {
-+ print_hex_dump(KERN_ERR, "USB-audio: buggy midi desc: ",
-+ DUMP_PREFIX_NONE, 16, 1, c, c[0], true);
-+ valid = true;
-+ }
-+ return valid;
- }
--
---
-2.24.1
-
-From 8d5568b5492d468acd4a49eefccaaed28dc62d22 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Tue, 22 Oct 2019 19:43:12 +0200
-Subject: [PATCH 004/109] ALSA: hda: add Intel DSP configuration / probe code
-
-For distributions, we need one place where we can decide
-which driver will be activated for the auto-configation of the
-Intel's HDA hardware with DSP. Actually, we cover three drivers:
-
-* Legacy HDA
-* Intel SST
-* Intel Sound Open Firmware (SOF)
-
-All those drivers registers similar PCI IDs, so the first
-driver probed from the PCI stack can win. But... it is not
-guaranteed that the correct driver wins.
-
-This commit changes Intel's NHLT ACPI module to a common
-DSP probe module for the Intel's hardware. All above sound
-drivers calls this code. The user can force another behaviour
-using the module parameter 'dsp_driver' located in
-the 'snd-intel-dspcfg' module.
-
-This change allows to add specific dmi checks for the specific
-systems. The examples are taken from the pull request:
-
- https://github.com/thesofproject/linux/pull/927
-
-Tested on Lenovo Carbon X1 7th gen.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191022174313.29087-1-perex@perex.cz
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 82d9d54a6c0ee8b12211fa4e59fd940a2da4e063)
-Bugzilla: 1772498
----
- include/sound/intel-dsp-config.h | 34 +++++
- sound/hda/Kconfig | 10 +-
- sound/hda/Makefile | 5 +-
- sound/hda/intel-dsp-config.c | 249 +++++++++++++++++++++++++++++++
- sound/hda/intel-nhlt.c | 3 -
- sound/pci/hda/Kconfig | 11 +-
- sound/pci/hda/hda_intel.c | 49 ++----
- sound/soc/intel/Kconfig | 2 +-
- sound/soc/intel/skylake/skl.c | 19 +--
- sound/soc/sof/intel/Kconfig | 2 +-
- sound/soc/sof/sof-pci-dev.c | 6 +
- 11 files changed, 322 insertions(+), 68 deletions(-)
- create mode 100644 include/sound/intel-dsp-config.h
- create mode 100644 sound/hda/intel-dsp-config.c
-
-diff --git a/include/sound/intel-dsp-config.h b/include/sound/intel-dsp-config.h
-new file mode 100644
-index 000000000000..c36622bee3f8
---- /dev/null
-+++ b/include/sound/intel-dsp-config.h
-@@ -0,0 +1,34 @@
-+/* SPDX-License-Identifier: GPL-2.0-only */
-+/*
-+ * intel-dsp-config.h - Intel DSP config
-+ *
-+ * Copyright (c) 2019 Jaroslav Kysela <perex@perex.cz>
-+ */
-+
-+#ifndef __INTEL_DSP_CONFIG_H__
-+#define __INTEL_DSP_CONFIG_H__
-+
-+struct pci_dev;
-+
-+enum {
-+ SND_INTEL_DSP_DRIVER_ANY = 0,
-+ SND_INTEL_DSP_DRIVER_LEGACY,
-+ SND_INTEL_DSP_DRIVER_SST,
-+ SND_INTEL_DSP_DRIVER_SOF,
-+ SND_INTEL_DSP_DRIVER_LAST = SND_INTEL_DSP_DRIVER_SOF
-+};
-+
-+#if IS_ENABLED(CONFIG_SND_INTEL_DSP_CONFIG)
-+
-+int snd_intel_dsp_driver_probe(struct pci_dev *pci);
-+
-+#else
-+
-+static inline int snd_intel_dsp_driver_probe(struct pci_dev *pci)
-+{
-+ return SND_INTEL_DSP_DRIVER_ANY;
-+}
-+
-+#endif
-+
-+#endif
-diff --git a/sound/hda/Kconfig b/sound/hda/Kconfig
-index 3d33fc1757ba..b0c88fe040ee 100644
---- a/sound/hda/Kconfig
-+++ b/sound/hda/Kconfig
-@@ -34,6 +34,12 @@ config SND_HDA_PREALLOC_SIZE
- via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too.
-
- config SND_INTEL_NHLT
-- tristate
-+ bool
- # this config should be selected only for Intel ACPI platforms.
-- # A fallback is provided so that the code compiles in all cases.
-\ No newline at end of file
-+ # A fallback is provided so that the code compiles in all cases.
-+
-+config SND_INTEL_DSP_CONFIG
-+ tristate
-+ select SND_INTEL_NHLT if ACPI
-+ # this config should be selected only for Intel DSP platforms.
-+ # A fallback is provided so that the code compiles in all cases.
-diff --git a/sound/hda/Makefile b/sound/hda/Makefile
-index 8560f6ef1b19..601e617918b8 100644
---- a/sound/hda/Makefile
-+++ b/sound/hda/Makefile
-@@ -14,5 +14,6 @@ obj-$(CONFIG_SND_HDA_CORE) += snd-hda-core.o
- #extended hda
- obj-$(CONFIG_SND_HDA_EXT_CORE) += ext/
-
--snd-intel-nhlt-objs := intel-nhlt.o
--obj-$(CONFIG_SND_INTEL_NHLT) += snd-intel-nhlt.o
-+snd-intel-dspcfg-objs := intel-dsp-config.o
-+snd-intel-dspcfg-$(CONFIG_SND_INTEL_NHLT) += intel-nhlt.o
-+obj-$(CONFIG_SND_INTEL_DSP_CONFIG) += snd-intel-dspcfg.o
-diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c
-new file mode 100644
-index 000000000000..d9f6d9e872b4
---- /dev/null
-+++ b/sound/hda/intel-dsp-config.c
-@@ -0,0 +1,249 @@
-+// SPDX-License-Identifier: GPL-2.0
-+// Copyright (c) 2019 Jaroslav Kysela <perex@perex.cz>
-+
-+#include <linux/bits.h>
-+#include <linux/dmi.h>
-+#include <linux/module.h>
-+#include <linux/pci.h>
-+#include <sound/core.h>
-+#include <sound/intel-dsp-config.h>
-+#include <sound/intel-nhlt.h>
-+
-+static int dsp_driver;
-+
-+module_param(dsp_driver, int, 0444);
-+MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF)");
-+
-+#define FLAG_SST BIT(0)
-+#define FLAG_SOF BIT(1)
-+#define FLAG_SOF_ONLY_IF_DMIC BIT(16)
-+
-+struct config_entry {
-+ u32 flags;
-+ u16 device;
-+ const struct dmi_system_id *dmi_table;
-+};
-+
-+/*
-+ * configuration table
-+ * - the order of similar PCI ID entries is important!
-+ * - the first successful match will win
-+ */
-+static const struct config_entry config_table[] = {
-+/* Cometlake-LP */
-+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_LP)
-+ {
-+ /* prefer SST */
-+ .flags = FLAG_SST,
-+ .device = 0x02c8,
-+ },
-+#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP)
-+ {
-+ .flags = FLAG_SOF,
-+ .device = 0x02c8,
-+ },
-+#endif
-+/* Cometlake-H */
-+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_H)
-+ {
-+ .flags = FLAG_SST,
-+ .device = 0x06c8,
-+ },
-+#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)
-+ {
-+ .flags = FLAG_SOF,
-+ .device = 0x06c8,
-+ },
-+#endif
-+/* Merrifield */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD)
-+ {
-+ .flags = FLAG_SOF,
-+ .device = 0x119a,
-+ },
-+#endif
-+/* Broxton-T */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0x1a98,
-+ },
-+#endif
-+/* Geminilake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE)
-+ {
-+ .flags = FLAG_SOF,
-+ .device = 0x3198,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
-+ },
-+#endif
-+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_GLK)
-+ {
-+ .flags = FLAG_SST,
-+ .device = 0x3198,
-+ },
-+#endif
-+/* Icelake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0x34c8,
-+ },
-+#endif
-+/* Elkhart Lake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_ELKHARTLAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0x4b55,
-+ },
-+#endif
-+/* Appololake (Broxton-P) */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
-+ {
-+ .flags = FLAG_SOF,
-+ .device = 0x5a98,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Up Squared",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "AAEON"),
-+ DMI_MATCH(DMI_BOARD_NAME, "UP-APL01"),
-+ }
-+ },
-+ {}
-+ }
-+ },
-+#endif
-+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL)
-+ {
-+ .flags = FLAG_SST,
-+ .device = 0x5a98,
-+ },
-+#endif
-+/* Cannonlake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_CANNONLAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0x9dc8,
-+ },
-+#endif
-+/* Sunrise Point-LP */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0x9d70,
-+ },
-+#endif
-+/* Kabylake-LP */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0x9d71,
-+ },
-+#endif
-+/* Tigerlake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_TIGERLAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0xa0c8,
-+ },
-+#endif
-+/* Coffelake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE)
-+ {
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0xa348,
-+ },
-+#endif
-+};
-+
-+static const struct config_entry *snd_intel_dsp_find_config
-+ (struct pci_dev *pci, const struct config_entry *table, u32 len)
-+{
-+ u16 device;
-+
-+ device = pci->device;
-+ for (; len > 0; len--, table++) {
-+ if (table->device != device)
-+ continue;
-+ if (table->dmi_table && !dmi_check_system(table->dmi_table))
-+ continue;
-+ return table;
-+ }
-+ return NULL;
-+}
-+
-+static int snd_intel_dsp_check_dmic(struct pci_dev *pci)
-+{
-+ struct nhlt_acpi_table *nhlt;
-+ int ret = 0;
-+
-+ nhlt = intel_nhlt_init(&pci->dev);
-+ if (nhlt) {
-+ if (intel_nhlt_get_dmic_geo(&pci->dev, nhlt))
-+ ret = 1;
-+ intel_nhlt_free(nhlt);
-+ }
-+ return ret;
-+}
-+
-+int snd_intel_dsp_driver_probe(struct pci_dev *pci)
-+{
-+ const struct config_entry *cfg;
-+
-+ if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST)
-+ return dsp_driver;
-+
-+ /* Intel vendor only */
-+ if (snd_BUG_ON(pci->vendor != 0x8086))
-+ return SND_INTEL_DSP_DRIVER_ANY;
-+
-+ /*
-+ * detect DSP by checking class/subclass/prog-id information
-+ * class=04 subclass 03 prog-if 00: no DSP, use legacy driver
-+ * class=04 subclass 01 prog-if 00: DSP is present
-+ * (and may be required e.g. for DMIC or SSP support)
-+ * class=04 subclass 03 prog-if 80: use DSP or legacy mode
-+ */
-+ if (pci->class == 0x040300)
-+ return SND_INTEL_DSP_DRIVER_LEGACY;
-+ if (pci->class != 0x040100 && pci->class != 0x040380) {
-+ dev_err(&pci->dev, "Unknown PCI class/subclass/prog-if information (0x%06x) found, selecting HDA legacy driver\n", pci->class);
-+ return SND_INTEL_DSP_DRIVER_LEGACY;
-+ }
-+
-+ dev_info(&pci->dev, "DSP detected with PCI class/subclass/prog-if info 0x%06x\n", pci->class);
-+
-+ /* find the configuration for the specific device */
-+ cfg = snd_intel_dsp_find_config(pci, config_table, ARRAY_SIZE(config_table));
-+ if (!cfg)
-+ return SND_INTEL_DSP_DRIVER_ANY;
-+
-+ if (cfg->flags & FLAG_SOF) {
-+ if (cfg->flags & FLAG_SOF_ONLY_IF_DMIC) {
-+ if (snd_intel_dsp_check_dmic(pci)) {
-+ dev_info(&pci->dev, "Digital mics found on Skylake+ platform, using SOF driver\n");
-+ return SND_INTEL_DSP_DRIVER_SOF;
-+ }
-+ } else {
-+ return SND_INTEL_DSP_DRIVER_SOF;
-+ }
-+ }
-+
-+ if (cfg->flags & FLAG_SST)
-+ return SND_INTEL_DSP_DRIVER_SST;
-+
-+ return SND_INTEL_DSP_DRIVER_LEGACY;
-+}
-+EXPORT_SYMBOL_GPL(snd_intel_dsp_driver_probe);
-+
-+MODULE_LICENSE("GPL v2");
-+MODULE_DESCRIPTION("Intel DSP config driver");
-diff --git a/sound/hda/intel-nhlt.c b/sound/hda/intel-nhlt.c
-index daede96f28ee..097ff6c10099 100644
---- a/sound/hda/intel-nhlt.c
-+++ b/sound/hda/intel-nhlt.c
-@@ -102,6 +102,3 @@ int intel_nhlt_get_dmic_geo(struct device *dev, struct nhlt_acpi_table *nhlt)
- return dmic_geo;
- }
- EXPORT_SYMBOL_GPL(intel_nhlt_get_dmic_geo);
--
--MODULE_LICENSE("GPL v2");
--MODULE_DESCRIPTION("Intel NHLT driver");
-diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig
-index dae47a45b2b8..bd48335d09d7 100644
---- a/sound/pci/hda/Kconfig
-+++ b/sound/pci/hda/Kconfig
-@@ -12,7 +12,7 @@ config SND_HDA_INTEL
- tristate "HD Audio PCI"
- depends on SND_PCI
- select SND_HDA
-- select SND_INTEL_NHLT if ACPI
-+ select SND_INTEL_DSP_CONFIG
- help
- Say Y here to include support for Intel "High Definition
- Audio" (Azalia) and its compatible devices.
-@@ -23,15 +23,6 @@ config SND_HDA_INTEL
- To compile this driver as a module, choose M here: the module
- will be called snd-hda-intel.
-
--config SND_HDA_INTEL_DETECT_DMIC
-- bool "DMIC detection and probe abort"
-- depends on SND_HDA_INTEL
-- help
-- Say Y to detect digital microphones on SKL+ devices. DMICs
-- cannot be handled by the HDaudio legacy driver and are
-- currently only supported by the SOF driver.
-- If unsure say N.
--
- config SND_HDA_TEGRA
- tristate "NVIDIA Tegra HD Audio"
- depends on ARCH_TEGRA
-diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
-index 85beb172d810..2888f710e7e1 100644
---- a/sound/pci/hda/hda_intel.c
-+++ b/sound/pci/hda/hda_intel.c
-@@ -46,7 +46,7 @@
- #include <sound/initval.h>
- #include <sound/hdaudio.h>
- #include <sound/hda_i915.h>
--#include <sound/intel-nhlt.h>
-+#include <sound/intel-dsp-config.h>
- #include <linux/vgaarb.h>
- #include <linux/vga_switcheroo.h>
- #include <linux/firmware.h>
-@@ -124,7 +124,7 @@ static char *patch[SNDRV_CARDS];
- static bool beep_mode[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] =
- CONFIG_SND_HDA_INPUT_BEEP_MODE};
- #endif
--static bool dmic_detect = IS_ENABLED(CONFIG_SND_HDA_INTEL_DETECT_DMIC);
-+static bool dsp_driver = 1;
-
- module_param_array(index, int, NULL, 0444);
- MODULE_PARM_DESC(index, "Index value for Intel HD audio interface.");
-@@ -159,8 +159,9 @@ module_param_array(beep_mode, bool, NULL, 0444);
- MODULE_PARM_DESC(beep_mode, "Select HDA Beep registration mode "
- "(0=off, 1=on) (default=1).");
- #endif
--module_param(dmic_detect, bool, 0444);
--MODULE_PARM_DESC(dmic_detect, "DMIC detect on SKL+ platforms");
-+module_param(dsp_driver, bool, 0444);
-+MODULE_PARM_DESC(dsp_driver, "Allow DSP driver selection (bypass this driver) "
-+ "(0=off, 1=on) (default=1)");
-
- #ifdef CONFIG_PM
- static int param_set_xint(const char *val, const struct kernel_param *kp);
-@@ -2030,25 +2031,6 @@ static const struct hda_controller_ops pci_hda_ops = {
- .position_check = azx_position_check,
- };
-
--static int azx_check_dmic(struct pci_dev *pci, struct azx *chip)
--{
-- struct nhlt_acpi_table *nhlt;
-- int ret = 0;
--
-- if (chip->driver_type == AZX_DRIVER_SKL &&
-- pci->class != 0x040300) {
-- nhlt = intel_nhlt_init(&pci->dev);
-- if (nhlt) {
-- if (intel_nhlt_get_dmic_geo(&pci->dev, nhlt)) {
-- ret = -ENODEV;
-- dev_info(&pci->dev, "Digital mics found on Skylake+ platform, aborting probe\n");
-- }
-- intel_nhlt_free(nhlt);
-- }
-- }
-- return ret;
--}
--
- static int azx_probe(struct pci_dev *pci,
- const struct pci_device_id *pci_id)
- {
-@@ -2066,6 +2048,16 @@ static int azx_probe(struct pci_dev *pci,
- return -ENOENT;
- }
-
-+ /*
-+ * stop probe if another Intel's DSP driver should be activated
-+ */
-+ if (dsp_driver) {
-+ err = snd_intel_dsp_driver_probe(pci);
-+ if (err != SND_INTEL_DSP_DRIVER_ANY &&
-+ err != SND_INTEL_DSP_DRIVER_LEGACY)
-+ return -ENODEV;
-+ }
-+
- err = snd_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE,
- 0, &card);
- if (err < 0) {
-@@ -2079,17 +2071,6 @@ static int azx_probe(struct pci_dev *pci,
- card->private_data = chip;
- hda = container_of(chip, struct hda_intel, chip);
-
-- /*
-- * stop probe if digital microphones detected on Skylake+ platform
-- * with the DSP enabled. This is an opt-in behavior defined at build
-- * time or at run-time with a module parameter
-- */
-- if (dmic_detect) {
-- err = azx_check_dmic(pci, chip);
-- if (err < 0)
-- goto out_free;
-- }
--
- pci_set_drvdata(pci, card);
-
- err = register_vga_switcheroo(chip);
-diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
-index ef493cae78ff..c15230cec851 100644
---- a/sound/soc/intel/Kconfig
-+++ b/sound/soc/intel/Kconfig
-@@ -218,7 +218,7 @@ config SND_SOC_INTEL_SKYLAKE_COMMON
- select SND_SOC_INTEL_SST
- select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
- select SND_SOC_ACPI_INTEL_MATCH
-- select SND_INTEL_NHLT if ACPI
-+ select SND_INTEL_DSP_CONFIG
- help
- If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
- GeminiLake or CannonLake platform with the DSP enabled in the BIOS
-diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
-index 141dbbf975ac..58ba3e9469ba 100644
---- a/sound/soc/intel/skylake/skl.c
-+++ b/sound/soc/intel/skylake/skl.c
-@@ -27,6 +27,7 @@
- #include <sound/hda_i915.h>
- #include <sound/hda_codec.h>
- #include <sound/intel-nhlt.h>
-+#include <sound/intel-dsp-config.h>
- #include "skl.h"
- #include "skl-sst-dsp.h"
- #include "skl-sst-ipc.h"
-@@ -987,22 +988,10 @@ static int skl_probe(struct pci_dev *pci,
-
- switch (skl_pci_binding) {
- case SND_SKL_PCI_BIND_AUTO:
-- /*
-- * detect DSP by checking class/subclass/prog-id information
-- * class=04 subclass 03 prog-if 00: no DSP, use legacy driver
-- * class=04 subclass 01 prog-if 00: DSP is present
-- * (and may be required e.g. for DMIC or SSP support)
-- * class=04 subclass 03 prog-if 80: use DSP or legacy mode
-- */
-- if (pci->class == 0x040300) {
-- dev_info(&pci->dev, "The DSP is not enabled on this platform, aborting probe\n");
-+ err = snd_intel_dsp_driver_probe(pci);
-+ if (err != SND_INTEL_DSP_DRIVER_ANY &&
-+ err != SND_INTEL_DSP_DRIVER_SST)
- return -ENODEV;
-- }
-- if (pci->class != 0x040100 && pci->class != 0x040380) {
-- dev_err(&pci->dev, "Unknown PCI class/subclass/prog-if information (0x%06x) found, aborting probe\n", pci->class);
-- return -ENODEV;
-- }
-- dev_info(&pci->dev, "DSP detected with PCI class/subclass/prog-if info 0x%06x\n", pci->class);
- break;
- case SND_SKL_PCI_BIND_LEGACY:
- dev_info(&pci->dev, "Module parameter forced binding with HDaudio legacy, aborting probe\n");
-diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig
-index 8421b97d949e..d6d65e70eebb 100644
---- a/sound/soc/sof/intel/Kconfig
-+++ b/sound/soc/sof/intel/Kconfig
-@@ -304,7 +304,7 @@ config SND_SOC_SOF_HDA
- tristate
- select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
- select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
-- select SND_INTEL_NHLT if ACPI
-+ select SND_INTEL_DSP_CONFIG
- help
- This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
-diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
-index d66412a77873..3a9e0e2a150d 100644
---- a/sound/soc/sof/sof-pci-dev.c
-+++ b/sound/soc/sof/sof-pci-dev.c
-@@ -12,6 +12,7 @@
- #include <linux/module.h>
- #include <linux/pci.h>
- #include <linux/pm_runtime.h>
-+#include <sound/intel-dsp-config.h>
- #include <sound/soc-acpi.h>
- #include <sound/soc-acpi-intel-match.h>
- #include <sound/sof.h>
-@@ -277,6 +278,11 @@ static int sof_pci_probe(struct pci_dev *pci,
- const struct snd_sof_dsp_ops *ops;
- int ret;
-
-+ ret = snd_intel_dsp_driver_probe(pci);
-+ if (ret != SND_INTEL_DSP_DRIVER_ANY &&
-+ ret != SND_INTEL_DSP_DRIVER_SOF)
-+ return -ENODEV;
-+
- dev_dbg(&pci->dev, "PCI DSP detected");
-
- /* get ops for platform */
---
-2.24.1
-
-From 08086a70efd7f4db4645e2a7b60b2aba4b620b18 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Tue, 22 Oct 2019 19:43:13 +0200
-Subject: [PATCH 005/109] ALSA: hda: fix intel DSP config
-
-Reshuffle list of devices by historical order and add correct
-information as needed.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Link: https://lore.kernel.org/r/20191022174313.29087-2-perex@perex.cz
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit cc8f81c7e625168a60843b2b39e3a327cf5170fe)
-Bugzilla: 1772498
----
- sound/hda/intel-dsp-config.c | 220 ++++++++++++++++++++++++++---------
- 1 file changed, 164 insertions(+), 56 deletions(-)
-
-diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c
-index d9f6d9e872b4..0b2a7201a46a 100644
---- a/sound/hda/intel-dsp-config.c
-+++ b/sound/hda/intel-dsp-config.c
-@@ -30,45 +30,98 @@ struct config_entry {
- * - the first successful match will win
- */
- static const struct config_entry config_table[] = {
--/* Cometlake-LP */
--#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_LP)
-+/* Merrifield */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD)
- {
-- /* prefer SST */
-- .flags = FLAG_SST,
-- .device = 0x02c8,
-+ .flags = FLAG_SOF,
-+ .device = 0x119a,
- },
--#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP)
-+#endif
-+/* Broxton-T */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
- {
- .flags = FLAG_SOF,
-- .device = 0x02c8,
-+ .device = 0x1a98,
- },
- #endif
--/* Cometlake-H */
--#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_H)
-+/*
-+ * Apollolake (Broxton-P)
-+ * the legacy HDaudio driver is used except on Up Squared (SOF) and
-+ * Chromebooks (SST)
-+ */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
- {
-- .flags = FLAG_SST,
-- .device = 0x06c8,
-+ .flags = FLAG_SOF,
-+ .device = 0x5a98,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Up Squared",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "AAEON"),
-+ DMI_MATCH(DMI_BOARD_NAME, "UP-APL01"),
-+ }
-+ },
-+ {}
-+ }
- },
--#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)
-+#endif
-+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL)
- {
-- .flags = FLAG_SOF,
-- .device = 0x06c8,
-+ .flags = FLAG_SST,
-+ .device = 0x5a98,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
- },
- #endif
--/* Merrifield */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD)
-+/*
-+ * Skylake and Kabylake use legacy HDaudio driver except for Google
-+ * Chromebooks (SST)
-+ */
-+
-+/* Sunrise Point-LP */
-+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_SKL)
- {
-- .flags = FLAG_SOF,
-- .device = 0x119a,
-+ .flags = FLAG_SST,
-+ .device = 0x9d70,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
- },
- #endif
--/* Broxton-T */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
-+/* Kabylake-LP */
-+#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL)
- {
-- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-- .device = 0x1a98,
-+ .flags = FLAG_SST,
-+ .device = 0x9d71,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
- },
- #endif
-+
-+/*
-+ * Geminilake uses legacy HDaudio driver except for Google
-+ * Chromebooks
-+ */
- /* Geminilake */
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE)
- {
-@@ -85,84 +138,139 @@ static const struct config_entry config_table[] = {
- }
- },
- #endif
--#if IS_ENABLED(CONFIG_SND_SOC_INTEL_GLK)
-+
-+/*
-+ * CoffeeLake, CannonLake, CometLake, IceLake, TigerLake use legacy
-+ * HDaudio driver except for Google Chromebooks and when DMICs are
-+ * present. Two cases are required since Coreboot does not expose NHLT
-+ * tables.
-+ *
-+ * When the Chromebook quirk is not present, it's based on information
-+ * that no such device exists. When the quirk is present, it could be
-+ * either based on product information or a placeholder.
-+ */
-+
-+/* Cannonlake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_CANNONLAKE)
- {
-- .flags = FLAG_SST,
-- .device = 0x3198,
-+ .flags = FLAG_SOF,
-+ .device = 0x9dc8,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
- },
--#endif
--/* Icelake */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE)
- {
- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-- .device = 0x34c8,
-+ .device = 0x9dc8,
- },
- #endif
--/* Elkhart Lake */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_ELKHARTLAKE)
-+
-+/* Coffelake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE)
-+ {
-+ .flags = FLAG_SOF,
-+ .device = 0xa348,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
-+ },
- {
- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-- .device = 0x4b55,
-+ .device = 0xa348,
- },
- #endif
--/* Appololake (Broxton-P) */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
-+
-+/* Cometlake-LP */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP)
- {
- .flags = FLAG_SOF,
-- .device = 0x5a98,
-+ .device = 0x02c8,
- .dmi_table = (const struct dmi_system_id []) {
- {
-- .ident = "Up Squared",
-+ .ident = "Google Chromebooks",
- .matches = {
-- DMI_MATCH(DMI_SYS_VENDOR, "AAEON"),
-- DMI_MATCH(DMI_BOARD_NAME, "UP-APL01"),
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
- }
- },
- {}
- }
- },
--#endif
--#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL)
- {
-- .flags = FLAG_SST,
-- .device = 0x5a98,
-+ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-+ .device = 0x02c8,
- },
- #endif
--/* Cannonlake */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_CANNONLAKE)
-+/* Cometlake-H */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)
- {
- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-- .device = 0x9dc8,
-+ .device = 0x06c8,
- },
- #endif
--/* Sunrise Point-LP */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE)
-+
-+/* Icelake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE)
- {
-- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-- .device = 0x9d70,
-+ .flags = FLAG_SOF,
-+ .device = 0x34c8,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
- },
--#endif
--/* Kabylake-LP */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE)
- {
- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-- .device = 0x9d71,
-+ .device = 0x34c8,
- },
- #endif
-+
- /* Tigerlake */
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_TIGERLAKE)
-+ {
-+ .flags = FLAG_SOF,
-+ .device = 0xa0c8,
-+ .dmi_table = (const struct dmi_system_id []) {
-+ {
-+ .ident = "Google Chromebooks",
-+ .matches = {
-+ DMI_MATCH(DMI_SYS_VENDOR, "Google"),
-+ }
-+ },
-+ {}
-+ }
-+ },
-+
- {
- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
- .device = 0xa0c8,
- },
- #endif
--/* Coffelake */
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE)
-+
-+/* Elkhart Lake */
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_ELKHARTLAKE)
- {
- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC,
-- .device = 0xa348,
-+ .device = 0x4b55,
- },
- #endif
-+
- };
-
- static const struct config_entry *snd_intel_dsp_find_config
---
-2.24.1
-
-From 5cd51df6f836090343aadd7ea4eacfde511660ad Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Mon, 28 Oct 2019 17:46:24 +0100
-Subject: [PATCH 006/109] ASoC: intel - fix the card names
-
-Those strings are exposed to the user space as the
-card name thus used in the GUIs. The common
-standard is to avoid '_' here. The worst case
-is 'sof-skl_hda_card' string.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
-Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191028164624.14334-1-perex@perex.cz
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit d745cc1ab65945b2d17ec9c5652f38299c054649)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 2 +-
- sound/soc/intel/boards/skl_hda_dsp_generic.c | 2 +-
- sound/soc/intel/boards/sof_rt5682.c | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-index 67b276a65a8d..8ad31c91fc75 100644
---- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-+++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-@@ -626,7 +626,7 @@ static int kabylake_card_late_probe(struct snd_soc_card *card)
- * kabylake audio machine driver for MAX98927 + RT5514 + RT5663
- */
- static struct snd_soc_card kabylake_audio_card = {
-- .name = "kbl_r5514_5663_max",
-+ .name = "kbl-r5514-5663-max",
- .owner = THIS_MODULE,
- .dai_link = kabylake_dais,
- .num_links = ARRAY_SIZE(kabylake_dais),
-diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c
-index 1778acdc367c..e8d676c192f6 100644
---- a/sound/soc/intel/boards/skl_hda_dsp_generic.c
-+++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c
-@@ -90,7 +90,7 @@ skl_hda_add_dai_link(struct snd_soc_card *card, struct snd_soc_dai_link *link)
- }
-
- static struct snd_soc_card hda_soc_card = {
-- .name = "skl_hda_card",
-+ .name = "hda-dsp",
- .owner = THIS_MODULE,
- .dai_link = skl_hda_be_dai_links,
- .dapm_widgets = skl_hda_widgets,
-diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c
-index 4f6e58c3954a..320a9b9273db 100644
---- a/sound/soc/intel/boards/sof_rt5682.c
-+++ b/sound/soc/intel/boards/sof_rt5682.c
-@@ -370,7 +370,7 @@ static int dmic_init(struct snd_soc_pcm_runtime *rtd)
-
- /* sof audio machine driver for rt5682 codec */
- static struct snd_soc_card sof_audio_card_rt5682 = {
-- .name = "sof_rt5682",
-+ .name = "rt5682", /* the sof- prefix is added by the core */
- .owner = THIS_MODULE,
- .controls = sof_controls,
- .num_controls = ARRAY_SIZE(sof_controls),
---
-2.24.1
-
-From 6d7c3f54de921a90a4ec08f5c9570222d9f647f3 Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Mon, 28 Oct 2019 14:06:34 +0100
-Subject: [PATCH 007/109] ALSA: hda: Allow non-Intel device probe gracefully
-
-The recent addition of snd_intel_dsp_driver_probe() check caused a
-spurious kernel warning when the driver is loaded for a non-Intel
-hardware due to snd_BUG_ON(). Moreover, for such a hardware, we
-should always return SND_INTEL_DSP_DRIVER_ANY, not check the
-dsp_driver option at all.
-
-This patch fixes these issues for non-Intel devices.
-
-Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code")
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-Link: https://lore.kernel.org/r/20191028130634.3501-1-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 91636a82044a2821201b54faac4d1d2425260842)
-Bugzilla: 1772498
----
- sound/hda/intel-dsp-config.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c
-index 0b2a7201a46a..be1df80ed013 100644
---- a/sound/hda/intel-dsp-config.c
-+++ b/sound/hda/intel-dsp-config.c
-@@ -307,13 +307,13 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci)
- {
- const struct config_entry *cfg;
-
-- if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST)
-- return dsp_driver;
--
- /* Intel vendor only */
-- if (snd_BUG_ON(pci->vendor != 0x8086))
-+ if (pci->vendor != 0x8086)
- return SND_INTEL_DSP_DRIVER_ANY;
-
-+ if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST)
-+ return dsp_driver;
-+
- /*
- * detect DSP by checking class/subclass/prog-id information
- * class=04 subclass 03 prog-if 00: no DSP, use legacy driver
---
-2.24.1
-
-From d1e23b8b780640a6bcf75c854857034c45cd99f2 Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Tue, 5 Nov 2019 09:18:06 +0100
-Subject: [PATCH 008/109] ALSA: hda: Disable regmap internal locking
-
-Since we apply the own mutex (bus->cmd_mutex) in HDA core side, the
-internal locking in regmap is superfluous. This patch adds the flag
-to indicate that.
-
-Also, an infamous side-effect by this change is that it disables the
-regmap debugfs, too, and this is seen rather good; the regmap debugfs
-isn't quite useful for HD-audio as it provides the very sparse
-registers and its debugfs access tends to lead to the way too high
-resource usages or sometimes hang up. So it'd be rather safe to
-disable it altogether.
-
-Link: https://lore.kernel.org/r/2029139028.10333037.1572874551626.JavaMail.zimbra@redhat.com
-Link: https://lore.kernel.org/r/20191105081806.4896-1-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 42ec336f1f9d54049811b749f729e9e01c152ade)
-Bugzilla: 1772498
----
- sound/hda/hdac_regmap.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/hda/hdac_regmap.c b/sound/hda/hdac_regmap.c
-index 286361ecd640..906b1e20bae0 100644
---- a/sound/hda/hdac_regmap.c
-+++ b/sound/hda/hdac_regmap.c
-@@ -363,6 +363,7 @@ static const struct regmap_config hda_regmap_cfg = {
- .reg_write = hda_reg_write,
- .use_single_read = true,
- .use_single_write = true,
-+ .disable_locking = true,
- };
-
- /**
---
-2.24.1
-
-From 0f9c61a795f0ad4faab0582c7b792cebd85976c2 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:09 +0200
-Subject: [PATCH 009/109] ALSA: hda/hdmi - implement mst_no_extra_pcms flag
-
-To support the DP-MST multiple streams via single connector feature,
-the HDMI driver was extended with the concept of backup PCMs. See
-commit 9152085defb6 ("ALSA: hda - add DP MST audio support").
-
-This implementation works fine with snd_hda_intel.c as PCM topology
-is fully managed within the single driver.
-
-When the HDA codec driver is used from ASoC components, the concept
-of backup PCMs no longer fits. For ASoC topologies, the physical
-HDMI converters are presented as backend DAIs and these should match
-with hardware capabilities. The ASoC topology may define arbitrary
-PCMs (i.e. frontend DAIs) and have processing elements before eventual
-routing to the HDMI BE DAIs. With backup PCMs, the link between
-FE and BE DAIs would become dynamic and change when monitors are
-(un)plugged. This would lead to modifying the topology every time
-hotplug events happen, which is not currently possible in ASoC and
-there does not seem to be any obvious benefits from this design.
-
-To overcome above problems and enable the HDMI driver to be used
-from ASoC, this patch adds a new mode (mst_no_extra_pcms flags) to
-patch_hdmi.c. In this mode, the codec driver does not assume
-the backup PCMs to be created.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-2-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 2a2edfbbfee47947dd05f5860c66c0e80ee5e09d)
-Bugzilla: 1772498
----
- include/sound/hda_codec.h | 1 +
- sound/pci/hda/patch_hdmi.c | 19 ++++++++++++++-----
- 2 files changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/include/sound/hda_codec.h b/include/sound/hda_codec.h
-index 9a0393cf024c..ac18f428eda6 100644
---- a/include/sound/hda_codec.h
-+++ b/include/sound/hda_codec.h
-@@ -254,6 +254,7 @@ struct hda_codec {
- unsigned int force_pin_prefix:1; /* Add location prefix */
- unsigned int link_down_at_suspend:1; /* link down at runtime suspend */
- unsigned int relaxed_resume:1; /* don't resume forcibly for jack */
-+ unsigned int mst_no_extra_pcms:1; /* no backup PCMs for DP-MST */
-
- #ifdef CONFIG_PM
- unsigned long power_on_acct;
-diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
-index 8ac805a634f4..1a29453bc26f 100644
---- a/sound/pci/hda/patch_hdmi.c
-+++ b/sound/pci/hda/patch_hdmi.c
-@@ -2082,15 +2082,24 @@ static bool is_hdmi_pcm_attached(struct hdac_device *hdac, int pcm_idx)
- static int generic_hdmi_build_pcms(struct hda_codec *codec)
- {
- struct hdmi_spec *spec = codec->spec;
-- int idx;
-+ int idx, pcm_num;
-
- /*
- * for non-mst mode, pcm number is the same as before
-- * for DP MST mode, pcm number is (nid number + dev_num - 1)
-- * dev_num is the device entry number in a pin
-- *
-+ * for DP MST mode without extra PCM, pcm number is same
-+ * for DP MST mode with extra PCMs, pcm number is
-+ * (nid number + dev_num - 1)
-+ * dev_num is the device entry number in a pin
- */
-- for (idx = 0; idx < spec->num_nids + spec->dev_num - 1; idx++) {
-+
-+ if (codec->mst_no_extra_pcms)
-+ pcm_num = spec->num_nids;
-+ else
-+ pcm_num = spec->num_nids + spec->dev_num - 1;
-+
-+ codec_dbg(codec, "hdmi: pcm_num set to %d\n", pcm_num);
-+
-+ for (idx = 0; idx < pcm_num; idx++) {
- struct hda_pcm *info;
- struct hda_pcm_stream *pstr;
-
---
-2.24.1
-
-From 33115cd895693c04723026e19a9eee0f34c4b853 Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Mon, 11 Nov 2019 20:09:37 +0100
-Subject: [PATCH 010/109] ALSA: hda/hdmi - Clean up Intel platform-specific
- fixup checks
-
-Introduce a new flag in hdmi_spec to indicate the Intel platform-
-specific fixups so that we can get rid of the lengthy codec ID
-checks. The flag is set in intel_hsw_common_init() commonly.
-
-Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111190937.19186-1-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit cb45722b289b54476b68883985c2824c69a7fba9)
-Bugzilla: 1772498
----
- sound/pci/hda/patch_hdmi.c | 27 +++++----------------------
- 1 file changed, 5 insertions(+), 22 deletions(-)
-
-diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
-index 1a29453bc26f..3f97a04de197 100644
---- a/sound/pci/hda/patch_hdmi.c
-+++ b/sound/pci/hda/patch_hdmi.c
-@@ -38,25 +38,6 @@ static bool static_hdmi_pcm;
- module_param(static_hdmi_pcm, bool, 0644);
- MODULE_PARM_DESC(static_hdmi_pcm, "Don't restrict PCM parameters per ELD info");
-
--#define is_haswell(codec) ((codec)->core.vendor_id == 0x80862807)
--#define is_broadwell(codec) ((codec)->core.vendor_id == 0x80862808)
--#define is_skylake(codec) ((codec)->core.vendor_id == 0x80862809)
--#define is_broxton(codec) ((codec)->core.vendor_id == 0x8086280a)
--#define is_kabylake(codec) ((codec)->core.vendor_id == 0x8086280b)
--#define is_geminilake(codec) (((codec)->core.vendor_id == 0x8086280d) || \
-- ((codec)->core.vendor_id == 0x80862800))
--#define is_cannonlake(codec) ((codec)->core.vendor_id == 0x8086280c)
--#define is_icelake(codec) ((codec)->core.vendor_id == 0x8086280f)
--#define is_tigerlake(codec) ((codec)->core.vendor_id == 0x80862812)
--#define is_haswell_plus(codec) (is_haswell(codec) || is_broadwell(codec) \
-- || is_skylake(codec) || is_broxton(codec) \
-- || is_kabylake(codec) || is_geminilake(codec) \
-- || is_cannonlake(codec) || is_icelake(codec) \
-- || is_tigerlake(codec))
--#define is_valleyview(codec) ((codec)->core.vendor_id == 0x80862882)
--#define is_cherryview(codec) ((codec)->core.vendor_id == 0x80862883)
--#define is_valleyview_plus(codec) (is_valleyview(codec) || is_cherryview(codec))
--
- struct hdmi_spec_per_cvt {
- hda_nid_t cvt_nid;
- int assigned;
-@@ -163,6 +144,7 @@ struct hdmi_spec {
-
- bool dyn_pin_out;
- bool dyn_pcm_assign;
-+ bool intel_hsw_fixup; /* apply Intel platform-specific fixups */
- /*
- * Non-generic VIA/NVIDIA specific
- */
-@@ -926,7 +908,7 @@ static int hdmi_setup_stream(struct hda_codec *codec, hda_nid_t cvt_nid,
- return err;
- }
-
-- if (is_haswell_plus(codec)) {
-+ if (spec->intel_hsw_fixup) {
-
- /*
- * on recent platforms IEC Coding Type is required for HBR
-@@ -1714,7 +1696,7 @@ static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid)
- * To simplify the implementation, malloc all
- * the virtual pins in the initialization statically
- */
-- if (is_haswell_plus(codec)) {
-+ if (spec->intel_hsw_fixup) {
- /*
- * On Intel platforms, device entries number is
- * changed dynamically. If there is a DP MST
-@@ -1763,7 +1745,7 @@ static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid)
- per_pin->dev_id = i;
- per_pin->non_pcm = false;
- snd_hda_set_dev_select(codec, pin_nid, i);
-- if (is_haswell_plus(codec))
-+ if (spec->intel_hsw_fixup)
- intel_haswell_fixup_connect_list(codec, pin_nid);
- err = hdmi_read_pin_conn(codec, pin_idx);
- if (err < 0)
-@@ -2832,6 +2814,7 @@ static int intel_hsw_common_init(struct hda_codec *codec, hda_nid_t vendor_nid,
- spec->vendor_nid = vendor_nid;
- spec->port_map = port_map;
- spec->port_num = port_num;
-+ spec->intel_hsw_fixup = true;
-
- intel_haswell_enable_all_pins(codec, true);
- intel_haswell_fixup_enable_dp12(codec);
---
-2.24.1
-
-From 75ce7bbf2d5d1de529a07eca217e02a9897d0277 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Fri, 15 Nov 2019 14:44:47 +0200
-Subject: [PATCH 011/109] ALSA: hda: hdmi - fix port numbering for ICL and TGL
- platforms
-
-Semantics of port#0 differ between ICL and TGL:
-
- ICL port#0 -> never used for HDAudio
- ICL port#1 -> should be mapped to first pin (0x04)
- TGL port#0 -> typically not used, but HW has the support,
- so should be mapped to first pin (0x04)
- TGL port#1 -> should be mapped to 2nd pin (0x06)
-
-Refactor the port mapping logic to allow to take the above
-differences into account. Fixes issues with HDAudio on some
-TGL platforms.
-
-Co-developed-by: Pan Xiuli <xiuli.pan@linux.intel.com>
-Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Link: https://lore.kernel.org/r/20191115124449.20512-2-kai.vehmanen@linux.intel.com
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit d577cf76fa3192f9e656bb101aa54d25a6a71347)
-Bugzilla: 1772498
----
- sound/pci/hda/patch_hdmi.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
-index 3f97a04de197..75f0d2799847 100644
---- a/sound/pci/hda/patch_hdmi.c
-+++ b/sound/pci/hda/patch_hdmi.c
-@@ -2671,7 +2671,7 @@ static int intel_pin2port(void *audio_ptr, int pin_nid)
- */
- for (i = 0; i < spec->port_num; i++) {
- if (pin_nid == spec->port_map[i])
-- return i + 1;
-+ return i;
- }
-
- /* return -1 if pin number exceeds our expectation */
-@@ -2691,9 +2691,9 @@ static int intel_port2pin(struct hda_codec *codec, int port)
- return port + intel_base_nid(codec) - 1;
- }
-
-- if (port < 1 || port > spec->port_num)
-+ if (port < 0 || port >= spec->port_num)
- return 0;
-- return spec->port_map[port - 1];
-+ return spec->port_map[port];
- }
-
- static void intel_pin_eld_notify(void *audio_ptr, int port, int pipe)
-@@ -2845,9 +2845,9 @@ static int patch_i915_icl_hdmi(struct hda_codec *codec)
- {
- /*
- * pin to port mapping table where the value indicate the pin number and
-- * the index indicate the port number with 1 base.
-+ * the index indicate the port number.
- */
-- static const int map[] = {0x4, 0x6, 0x8, 0xa, 0xb};
-+ static const int map[] = {0x0, 0x4, 0x6, 0x8, 0xa, 0xb};
-
- return intel_hsw_common_init(codec, 0x02, map, ARRAY_SIZE(map));
- }
-@@ -2856,7 +2856,7 @@ static int patch_i915_tgl_hdmi(struct hda_codec *codec)
- {
- /*
- * pin to port mapping table where the value indicate the pin number and
-- * the index indicate the port number with 1 base.
-+ * the index indicate the port number.
- */
- static const int map[] = {0x4, 0x6, 0x8, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf};
-
---
-2.24.1
-
-From a8196a93444f3ff34e15c254f68ee046bef27109 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Fri, 15 Nov 2019 14:44:48 +0200
-Subject: [PATCH 012/109] ALSA: hda: hdmi - remove redundant code comments
-
-Remove unnecessary comments related to pin mapping on
-Intel platforms.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Link: https://lore.kernel.org/r/20191115124449.20512-3-kai.vehmanen@linux.intel.com
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit c8e3eb9be57f91751aeb9397118755390dbff9a4)
-Bugzilla: 1772498
----
- sound/pci/hda/patch_hdmi.c | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
-index 75f0d2799847..2044bbb830f9 100644
---- a/sound/pci/hda/patch_hdmi.c
-+++ b/sound/pci/hda/patch_hdmi.c
-@@ -2662,7 +2662,7 @@ static int intel_pin2port(void *audio_ptr, int pin_nid)
- base_nid = intel_base_nid(codec);
- if (WARN_ON(pin_nid < base_nid || pin_nid >= base_nid + 3))
- return -1;
-- return pin_nid - base_nid + 1; /* intel port is 1-based */
-+ return pin_nid - base_nid + 1;
- }
-
- /*
-@@ -2674,7 +2674,6 @@ static int intel_pin2port(void *audio_ptr, int pin_nid)
- return i;
- }
-
-- /* return -1 if pin number exceeds our expectation */
- codec_info(codec, "Can't find the HDMI/DP port for pin %d\n", pin_nid);
- return -1;
- }
-@@ -2687,7 +2686,6 @@ static int intel_port2pin(struct hda_codec *codec, int port)
- /* we assume only from port-B to port-D */
- if (port < 1 || port > 3)
- return 0;
-- /* intel port is 1-based */
- return port + intel_base_nid(codec) - 1;
- }
-
-@@ -2863,7 +2861,6 @@ static int patch_i915_tgl_hdmi(struct hda_codec *codec)
- return intel_hsw_common_init(codec, 0x02, map, ARRAY_SIZE(map));
- }
-
--
- /* Intel Baytrail and Braswell; with eld notifier */
- static int patch_i915_byt_hdmi(struct hda_codec *codec)
- {
---
-2.24.1
-
-From ad0389ef5e486a09a98cbfacd2bf56090b1346f1 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Fri, 15 Nov 2019 14:44:49 +0200
-Subject: [PATCH 013/109] ALSA: hda - remove forced polling workaround for CFL
- and CNL
-
-Remove the workarounds added in commit fa763f1b2858 ("ALSA:
-hda - Force polling mode on CNL for fixing codec communication")
-and commit a8d7bde23e71 ("ALSA: hda - Force polling mode on CFL
-for fixing codec communication").
-
-The workarounds are no longer needed after the more generic
-change done in commit 2756d9143aa5 ("ALSA: hda - Fix intermittent
-CORB/RIRB stall on Intel chips"). This change applies to a larger
-set of hardware and covers CFL and CNL as well.
-
-Similar change was already done to SOF DSP HDA driver with
-no regressions detected.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Link: https://lore.kernel.org/r/20191115124449.20512-4-kai.vehmanen@linux.intel.com
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit ee906c6b9c6e7e4ad749f5cfdf65768455f4bf43)
-Bugzilla: 1772498
----
- sound/pci/hda/hda_intel.c | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
-index 2888f710e7e1..e2c08517a24c 100644
---- a/sound/pci/hda/hda_intel.c
-+++ b/sound/pci/hda/hda_intel.c
-@@ -370,8 +370,6 @@ enum {
- ((pci)->device == 0x160c))
-
- #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98)
--#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348)
--#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8)
-
- static char *driver_short_names[] = {
- [AZX_DRIVER_ICH] = "HDA Intel",
-@@ -1764,10 +1762,6 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci,
- if (!azx_snoop(chip))
- azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV_UC;
-
-- /* Workaround for a communication error on CFL (bko#199007) and CNL */
-- if (IS_CFL(pci) || IS_CNL(pci))
-- azx_bus(chip)->polling_mode = 1;
--
- if (chip->driver_type == AZX_DRIVER_NVIDIA) {
- dev_dbg(chip->card->dev, "Enable delay in RIRB handling\n");
- chip->bus.needs_damn_long_delay = 1;
---
-2.24.1
-
-From 588faa6b4c0d18c504e6c32863ef82b63b6531ec Mon Sep 17 00:00:00 2001
-From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
-Date: Tue, 15 Oct 2019 14:44:09 +0900
-Subject: [PATCH 014/109] ASoC: sof: include types.h at header.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Content-Transfer-Encoding: 8bit
-
-Without <types.h> we will get these error
-
-linux/include/sound/sof/header.h:125:2: error: unknown type name ‘uint32_t’uint32_t size;
-linux/include/sound/sof/header.h:136:2: error: unknown type name ‘uint32_t’uint32_t size;
-linux/include/sound/sof/header.h:137:2: error: unknown type name ‘uint32_t’uint32_t cmd;
-...
-linux/include/sound/sof/dai-imx.h:18:2: error: unknown type name ‘uint16_t’uint16_t reserved1;
-linux/include/sound/sof/dai-imx.h:30:2: error: unknown type name ‘uint16_t’uint16_t tdm_slot_width;
-linux/include/sound/sof/dai-imx.h:31:2: error: unknown type name ‘uint16_t’uint16_t reserved2;
-
-Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
-Link: https://lore.kernel.org/r/87a7a24l7r.wl-kuninori.morimoto.gx@renesas.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 03048217624a9472c1c7a205c8ea9bf8d4026e59)
-Bugzilla: 1772498
----
- include/sound/sof/header.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/sound/sof/header.h b/include/sound/sof/header.h
-index 10f00c08dbb7..332143ff7278 100644
---- a/include/sound/sof/header.h
-+++ b/include/sound/sof/header.h
-@@ -9,6 +9,7 @@
- #ifndef __INCLUDE_SOUND_SOF_HEADER_H__
- #define __INCLUDE_SOUND_SOF_HEADER_H__
-
-+#include <linux/types.h>
- #include <uapi/sound/sof/abi.h>
-
- /** \addtogroup sof_uapi uAPI
---
-2.24.1
-
-From 0378a1586c604515d4084c29ae689b5700315b7f Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 27 Sep 2019 15:05:28 -0500
-Subject: [PATCH 015/109] ASoC: SOF: trace: move to opt-in with Kconfig and
- module parameter
-
-In a number of debug cases, the DMA-based trace can add problems
-(e.g. with HDaudio channel allocation). It also generates additional
-traffic on the bus and if the DMA handling is unreliable will prevent
-audio use-cases from working normally. Using the trace also requires
-tools to be installed on the target.
-
-The trace can be instead handled as dynamic debug. We can use a
-Kconfig to force the trace to be enabled in all cases, or use a module
-parameter to enable it on a need-basis, e.g. by setting "options
-snd_sof sof_debug=0x1" in a /etc/modprobe.d file.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20190927200538.660-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 2ab4c50f6955514150f83b47b7aee3ba5fe3ac1d)
-Bugzilla: 1772498
----
- sound/soc/sof/Kconfig | 8 ++++++++
- sound/soc/sof/core.c | 25 +++++++++++++++++++------
- sound/soc/sof/sof-priv.h | 13 +++++++++----
- sound/soc/sof/trace.c | 17 ++++++++++++++++-
- 4 files changed, 52 insertions(+), 11 deletions(-)
-
-diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig
-index bb8036ae567e..cc592bcadae7 100644
---- a/sound/soc/sof/Kconfig
-+++ b/sound/soc/sof/Kconfig
-@@ -142,6 +142,14 @@ config SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE
- Say Y if you want to enable caching the memory windows.
- If unsure, select "N".
-
-+config SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE
-+ bool "SOF enable firmware trace"
-+ help
-+ The firmware trace can be enabled either at build-time with
-+ this option, or dynamically by setting flags in the SOF core
-+ module parameter (similar to dynamic debug)
-+ If unsure, select "N".
-+
- config SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST
- bool "SOF enable IPC flood test"
- help
-diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c
-index 12aec140819a..1e7addfc0f61 100644
---- a/sound/soc/sof/core.c
-+++ b/sound/soc/sof/core.c
-@@ -16,6 +16,11 @@
- #include "sof-priv.h"
- #include "ops.h"
-
-+/* see SOF_DBG_ flags */
-+int sof_core_debug;
-+module_param_named(sof_debug, sof_core_debug, int, 0444);
-+MODULE_PARM_DESC(sof_debug, "SOF core debug options (0x0 all off)");
-+
- /* SOF defaults if not provided by the platform in ms */
- #define TIMEOUT_DEFAULT_IPC_MS 500
- #define TIMEOUT_DEFAULT_BOOT_MS 2000
-@@ -397,12 +402,20 @@ static int sof_probe_continue(struct snd_sof_dev *sdev)
- goto fw_run_err;
- }
-
-- /* init DMA trace */
-- ret = snd_sof_init_trace(sdev);
-- if (ret < 0) {
-- /* non fatal */
-- dev_warn(sdev->dev,
-- "warning: failed to initialize trace %d\n", ret);
-+ if (IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE) ||
-+ (sof_core_debug & SOF_DBG_ENABLE_TRACE)) {
-+ sdev->dtrace_is_supported = true;
-+
-+ /* init DMA trace */
-+ ret = snd_sof_init_trace(sdev);
-+ if (ret < 0) {
-+ /* non fatal */
-+ dev_warn(sdev->dev,
-+ "warning: failed to initialize trace %d\n",
-+ ret);
-+ }
-+ } else {
-+ dev_dbg(sdev->dev, "SOF firmware trace disabled\n");
- }
-
- /* hereafter all FW boot flows are for PM reasons */
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 7b329bd99674..e68f3cb78cda 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -28,10 +28,14 @@
- #include <uapi/sound/sof/fw.h>
-
- /* debug flags */
--#define SOF_DBG_REGS BIT(1)
--#define SOF_DBG_MBOX BIT(2)
--#define SOF_DBG_TEXT BIT(3)
--#define SOF_DBG_PCI BIT(4)
-+#define SOF_DBG_ENABLE_TRACE BIT(0)
-+#define SOF_DBG_REGS BIT(1)
-+#define SOF_DBG_MBOX BIT(2)
-+#define SOF_DBG_TEXT BIT(3)
-+#define SOF_DBG_PCI BIT(4)
-+
-+/* global debug state set by SOF_DBG_ flags */
-+extern int sof_core_debug;
-
- /* max BARs mmaped devices can use */
- #define SND_SOF_BARS 8
-@@ -443,6 +447,7 @@ struct snd_sof_dev {
- int dma_trace_pages;
- wait_queue_head_t trace_sleep;
- u32 host_offset;
-+ u32 dtrace_is_supported; /* set with Kconfig or module parameter */
- u32 dtrace_is_enabled;
- u32 dtrace_error;
- u32 dtrace_draining;
-diff --git a/sound/soc/sof/trace.c b/sound/soc/sof/trace.c
-index 4c3cff031fd6..b0e4556c8536 100644
---- a/sound/soc/sof/trace.c
-+++ b/sound/soc/sof/trace.c
-@@ -162,6 +162,9 @@ int snd_sof_init_trace_ipc(struct snd_sof_dev *sdev)
- struct sof_ipc_reply ipc_reply;
- int ret;
-
-+ if (!sdev->dtrace_is_supported)
-+ return 0;
-+
- if (sdev->dtrace_is_enabled || !sdev->dma_trace_pages)
- return -EINVAL;
-
-@@ -222,6 +225,9 @@ int snd_sof_init_trace(struct snd_sof_dev *sdev)
- {
- int ret;
-
-+ if (!sdev->dtrace_is_supported)
-+ return 0;
-+
- /* set false before start initialization */
- sdev->dtrace_is_enabled = false;
-
-@@ -277,6 +283,9 @@ EXPORT_SYMBOL(snd_sof_init_trace);
- int snd_sof_trace_update_pos(struct snd_sof_dev *sdev,
- struct sof_ipc_dma_trace_posn *posn)
- {
-+ if (!sdev->dtrace_is_supported)
-+ return 0;
-+
- if (sdev->dtrace_is_enabled && sdev->host_offset != posn->host_offset) {
- sdev->host_offset = posn->host_offset;
- wake_up(&sdev->trace_sleep);
-@@ -293,6 +302,9 @@ int snd_sof_trace_update_pos(struct snd_sof_dev *sdev,
- /* an error has occurred within the DSP that prevents further trace */
- void snd_sof_trace_notify_for_error(struct snd_sof_dev *sdev)
- {
-+ if (!sdev->dtrace_is_supported)
-+ return;
-+
- if (sdev->dtrace_is_enabled) {
- dev_err(sdev->dev, "error: waking up any trace sleepers\n");
- sdev->dtrace_error = true;
-@@ -305,7 +317,7 @@ void snd_sof_release_trace(struct snd_sof_dev *sdev)
- {
- int ret;
-
-- if (!sdev->dtrace_is_enabled)
-+ if (!sdev->dtrace_is_supported || !sdev->dtrace_is_enabled)
- return;
-
- ret = snd_sof_dma_trace_trigger(sdev, SNDRV_PCM_TRIGGER_STOP);
-@@ -326,6 +338,9 @@ EXPORT_SYMBOL(snd_sof_release_trace);
-
- void snd_sof_free_trace(struct snd_sof_dev *sdev)
- {
-+ if (!sdev->dtrace_is_supported)
-+ return;
-+
- snd_sof_release_trace(sdev);
-
- snd_dma_free_pages(&sdev->dmatb);
---
-2.24.1
-
-From 2e85462e14f0f736f4cace881c704ac8fa050475 Mon Sep 17 00:00:00 2001
-From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
-Date: Fri, 27 Sep 2019 15:05:29 -0500
-Subject: [PATCH 016/109] ASoC: SOF: ipc: retain DSP context after FW
- exception.
-
-Add config option to prevent DSP entering D3 after any FW exception.
-This can then be used to dump FW context for debug.
-
-Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20190927200538.660-5-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 9a06508bf7824ba34f2e1e9e08df505ac14a44c2)
-Bugzilla: 1772498
----
- sound/soc/sof/Kconfig | 8 ++++++++
- sound/soc/sof/debug.c | 16 ++++++++++++++++
- sound/soc/sof/ipc.c | 4 +---
- sound/soc/sof/sof-priv.h | 2 ++
- 4 files changed, 27 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig
-index cc592bcadae7..56a3ab66b46b 100644
---- a/sound/soc/sof/Kconfig
-+++ b/sound/soc/sof/Kconfig
-@@ -158,6 +158,14 @@ config SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST
- Say Y if you want to enable IPC flood test.
- If unsure, select "N".
-
-+config SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT
-+ bool "SOF retain DSP context on any FW exceptions"
-+ help
-+ This option keeps the DSP in D0 state so that firmware debug
-+ information can be retained and dumped to userspace.
-+ Say Y if you want to retain DSP context for FW exceptions.
-+ If unsure, select "N".
-+
- endif ## SND_SOC_SOF_DEBUG
-
- endif ## SND_SOC_SOF_OPTIONS
-diff --git a/sound/soc/sof/debug.c b/sound/soc/sof/debug.c
-index 5529e8eeca46..d2b3b99d3a20 100644
---- a/sound/soc/sof/debug.c
-+++ b/sound/soc/sof/debug.c
-@@ -463,3 +463,19 @@ void snd_sof_free_debug(struct snd_sof_dev *sdev)
- debugfs_remove_recursive(sdev->debugfs_root);
- }
- EXPORT_SYMBOL_GPL(snd_sof_free_debug);
-+
-+void snd_sof_handle_fw_exception(struct snd_sof_dev *sdev)
-+{
-+ if (IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT) ||
-+ (sof_core_debug & SOF_DBG_RETAIN_CTX)) {
-+ /* should we prevent DSP entering D3 ? */
-+ dev_info(sdev->dev, "info: preventing DSP entering D3 state to preserve context\n");
-+ pm_runtime_get_noresume(sdev->dev);
-+ }
-+
-+ /* dump vital information to the logs */
-+ snd_sof_dsp_dbg_dump(sdev, SOF_DBG_REGS | SOF_DBG_MBOX);
-+ snd_sof_ipc_dump(sdev);
-+ snd_sof_trace_notify_for_error(sdev);
-+}
-+EXPORT_SYMBOL(snd_sof_handle_fw_exception);
-diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c
-index 8984d965037d..bc292f071a4f 100644
---- a/sound/soc/sof/ipc.c
-+++ b/sound/soc/sof/ipc.c
-@@ -210,9 +210,7 @@ static int tx_wait_done(struct snd_sof_ipc *ipc, struct snd_sof_ipc_msg *msg,
- if (ret == 0) {
- dev_err(sdev->dev, "error: ipc timed out for 0x%x size %d\n",
- hdr->cmd, hdr->size);
-- snd_sof_dsp_dbg_dump(ipc->sdev, SOF_DBG_REGS | SOF_DBG_MBOX);
-- snd_sof_ipc_dump(ipc->sdev);
-- snd_sof_trace_notify_for_error(ipc->sdev);
-+ snd_sof_handle_fw_exception(ipc->sdev);
- ret = -ETIMEDOUT;
- } else {
- /* copy the data returned from DSP */
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index e68f3cb78cda..a769687b576d 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -33,6 +33,7 @@
- #define SOF_DBG_MBOX BIT(2)
- #define SOF_DBG_TEXT BIT(3)
- #define SOF_DBG_PCI BIT(4)
-+#define SOF_DBG_RETAIN_CTX BIT(5) /* prevent DSP D3 on FW exception */
-
- /* global debug state set by SOF_DBG_ flags */
- extern int sof_core_debug;
-@@ -589,6 +590,7 @@ void snd_sof_get_status(struct snd_sof_dev *sdev, u32 panic_code,
- struct sof_ipc_panic_info *panic_info,
- void *stack, size_t stack_words);
- int snd_sof_init_trace_ipc(struct snd_sof_dev *sdev);
-+void snd_sof_handle_fw_exception(struct snd_sof_dev *sdev);
-
- /*
- * Platform specific ops.
---
-2.24.1
-
-From d55d009f0d9c4ef5c4b693b1f5ec6a0ae1f84c1d Mon Sep 17 00:00:00 2001
-From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Date: Fri, 27 Sep 2019 15:05:32 -0500
-Subject: [PATCH 017/109] ASoC: SOF: core: check for mandatory fw_ready op
- during SOF probe
-
-fw_ready should be a mandatory op. Make sure fw_ready ops is set
-during probe.
-
-Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20190927200538.660-8-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 8692d498d675e2e1433274c5f03b855824f3f35d)
-Bugzilla: 1772498
----
- sound/soc/sof/core.c | 3 ++-
- sound/soc/sof/ipc.c | 6 ------
- sound/soc/sof/sof-priv.h | 2 +-
- 3 files changed, 3 insertions(+), 8 deletions(-)
-
-diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c
-index 1e7addfc0f61..8a23739aa545 100644
---- a/sound/soc/sof/core.c
-+++ b/sound/soc/sof/core.c
-@@ -504,7 +504,8 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data)
- if (!sof_ops(sdev) || !sof_ops(sdev)->probe || !sof_ops(sdev)->run ||
- !sof_ops(sdev)->block_read || !sof_ops(sdev)->block_write ||
- !sof_ops(sdev)->send_msg || !sof_ops(sdev)->load_firmware ||
-- !sof_ops(sdev)->ipc_msg_data || !sof_ops(sdev)->ipc_pcm_params)
-+ !sof_ops(sdev)->ipc_msg_data || !sof_ops(sdev)->ipc_pcm_params ||
-+ !sof_ops(sdev)->fw_ready)
- return -EINVAL;
-
- INIT_LIST_HEAD(&sdev->pcm_list);
-diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c
-index bc292f071a4f..dfe429f9e33f 100644
---- a/sound/soc/sof/ipc.c
-+++ b/sound/soc/sof/ipc.c
-@@ -787,12 +787,6 @@ struct snd_sof_ipc *snd_sof_ipc_init(struct snd_sof_dev *sdev)
- struct snd_sof_ipc *ipc;
- struct snd_sof_ipc_msg *msg;
-
-- /* check if mandatory ops required for ipc are defined */
-- if (!sof_ops(sdev)->fw_ready) {
-- dev_err(sdev->dev, "error: ipc mandatory ops not defined\n");
-- return NULL;
-- }
--
- ipc = devm_kzalloc(sdev->dev, sizeof(*ipc), GFP_KERNEL);
- if (!ipc)
- return NULL;
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index a769687b576d..eb919527dd21 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -133,7 +133,7 @@ struct snd_sof_dsp_ops {
- * FW ready checks for ABI compatibility and creates
- * memory windows at first boot
- */
-- int (*fw_ready)(struct snd_sof_dev *sdev, u32 msg_id); /* optional */
-+ int (*fw_ready)(struct snd_sof_dev *sdev, u32 msg_id); /* mandatory */
-
- /* connect pcm substream to a host stream */
- int (*pcm_open)(struct snd_sof_dev *sdev,
---
-2.24.1
-
-From bed2180906afe06547bc434b4101da52ef5ef912 Mon Sep 17 00:00:00 2001
-From: Marcin Rajwa <marcin.rajwa@linux.intel.com>
-Date: Fri, 27 Sep 2019 15:05:33 -0500
-Subject: [PATCH 018/109] ASoC: SOF: ipc: introduce no_stream_position in
- sof_ipc_stream_params struct
-
-The host period bytes value needs to be passed to firmware.
-However current implementation uses this field for different
-purpose - to indicate whether FW should send stream position
-to the host. Therefore this patch introduces another field
-"no_stream_position", a boolean value aimed to store information
-about position tracking. This way host_period_bytes preserves its
-original value.
-
-Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20190927200538.660-9-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit e3ebfd0ab5b4880bfb6a9f32614c2e389cc3da56)
-Bugzilla: 1772498
----
- include/sound/sof/stream.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/sound/sof/stream.h b/include/sound/sof/stream.h
-index 0b71b381b952..7facefb541b3 100644
---- a/include/sound/sof/stream.h
-+++ b/include/sound/sof/stream.h
-@@ -83,10 +83,10 @@ struct sof_ipc_stream_params {
- uint16_t sample_valid_bytes;
- uint16_t sample_container_bytes;
-
-- /* for notifying host period has completed - 0 means no period IRQ */
- uint32_t host_period_bytes;
-+ uint16_t no_stream_position; /**< 1 means don't send stream position */
-
-- uint32_t reserved[2];
-+ uint16_t reserved[3];
- uint16_t chmap[SOF_IPC_MAX_CHANNELS]; /**< channel map - SOF_CHMAP_ */
- } __packed;
-
---
-2.24.1
-
-From 621e4be575f4ab56711478b4306ea7ba78cc922a Mon Sep 17 00:00:00 2001
-From: Marcin Rajwa <marcin.rajwa@linux.intel.com>
-Date: Fri, 27 Sep 2019 15:05:34 -0500
-Subject: [PATCH 019/109] ASoC: SOF: Intel: hda: fix reset of host_period_bytes
-
-This patch prevents the reset of host period bytes
-and uses no_stream_position to record requests
-for stream position.
-
-Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20190927200538.660-10-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit f567ff6c76f7e9b317248fcab7a0eb3ef432dc9e)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-pcm.c | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda-pcm.c b/sound/soc/sof/intel/hda-pcm.c
-index 9b730f183529..575f5f5877d8 100644
---- a/sound/soc/sof/intel/hda-pcm.c
-+++ b/sound/soc/sof/intel/hda-pcm.c
-@@ -89,6 +89,7 @@ int hda_dsp_pcm_hw_params(struct snd_sof_dev *sdev,
- struct hdac_ext_stream *stream = stream_to_hdac_ext_stream(hstream);
- struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata;
- struct snd_dma_buffer *dmab;
-+ struct sof_ipc_fw_version *v = &sdev->fw_ready.version;
- int ret;
- u32 size, rate, bits;
-
-@@ -116,9 +117,17 @@ int hda_dsp_pcm_hw_params(struct snd_sof_dev *sdev,
- /* disable SPIB, to enable buffer wrap for stream */
- hda_dsp_stream_spib_config(sdev, stream, HDA_DSP_SPIB_DISABLE, 0);
-
-- /* set host_period_bytes to 0 if no IPC position */
-- if (hda && hda->no_ipc_position)
-- ipc_params->host_period_bytes = 0;
-+ /* update no_stream_position flag for ipc params */
-+ if (hda && hda->no_ipc_position) {
-+ /* For older ABIs set host_period_bytes to zero to inform
-+ * FW we don't want position updates. Newer versions use
-+ * no_stream_position for this purpose.
-+ */
-+ if (v->abi_version < SOF_ABI_VER(3, 10, 0))
-+ ipc_params->host_period_bytes = 0;
-+ else
-+ ipc_params->no_stream_position = 1;
-+ }
-
- ipc_params->stream_tag = hstream->stream_tag;
-
---
-2.24.1
-
-From 244e3dece4e48b1aac798f9b1bf49565697cba87 Mon Sep 17 00:00:00 2001
-From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
-Date: Fri, 27 Sep 2019 15:05:37 -0500
-Subject: [PATCH 020/109] ASoC: SOF: Intel: Add context data to any IPC
- timeout.
-
-Helps with FW debug as it provides DSP IPC processing context.
-
-Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20190927200538.660-13-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 3a9e204d4e36904a464a2e53206b053a7ffc7bad)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/bdw.c | 22 +++++++++++++++++++++-
- sound/soc/sof/intel/byt.c | 23 ++++++++++++++++++++++-
- 2 files changed, 43 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c
-index 80e2826fb447..f395d0638876 100644
---- a/sound/soc/sof/intel/bdw.c
-+++ b/sound/soc/sof/intel/bdw.c
-@@ -247,7 +247,7 @@ static void bdw_dump(struct snd_sof_dev *sdev, u32 flags)
- struct sof_ipc_dsp_oops_xtensa xoops;
- struct sof_ipc_panic_info panic_info;
- u32 stack[BDW_STACK_DUMP_SIZE];
-- u32 status, panic;
-+ u32 status, panic, imrx, imrd;
-
- /* now try generic SOF status messages */
- status = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IPCD);
-@@ -256,6 +256,26 @@ static void bdw_dump(struct snd_sof_dev *sdev, u32 flags)
- BDW_STACK_DUMP_SIZE);
- snd_sof_get_status(sdev, status, panic, &xoops, &panic_info, stack,
- BDW_STACK_DUMP_SIZE);
-+
-+ /* provide some context for firmware debug */
-+ imrx = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IMRX);
-+ imrd = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IMRD);
-+ dev_err(sdev->dev,
-+ "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n",
-+ panic & SHIM_IPCX_BUSY ? "yes" : "no",
-+ panic & SHIM_IPCX_DONE ? "yes" : "no", panic);
-+ dev_err(sdev->dev,
-+ "error: mask host: pending %s complete %s raw 0x%8.8x\n",
-+ imrx & SHIM_IMRX_BUSY ? "yes" : "no",
-+ imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx);
-+ dev_err(sdev->dev,
-+ "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n",
-+ status & SHIM_IPCD_BUSY ? "yes" : "no",
-+ status & SHIM_IPCD_DONE ? "yes" : "no", status);
-+ dev_err(sdev->dev,
-+ "error: mask DSP: pending %s complete %s raw 0x%8.8x\n",
-+ imrd & SHIM_IMRD_BUSY ? "yes" : "no",
-+ imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd);
- }
-
- /*
-diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c
-index 41008c974ac6..3138d9a2c621 100644
---- a/sound/soc/sof/intel/byt.c
-+++ b/sound/soc/sof/intel/byt.c
-@@ -146,7 +146,7 @@ static void byt_dump(struct snd_sof_dev *sdev, u32 flags)
- struct sof_ipc_dsp_oops_xtensa xoops;
- struct sof_ipc_panic_info panic_info;
- u32 stack[BYT_STACK_DUMP_SIZE];
-- u32 status, panic;
-+ u32 status, panic, imrd, imrx;
-
- /* now try generic SOF status messages */
- status = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IPCD);
-@@ -155,6 +155,27 @@ static void byt_dump(struct snd_sof_dev *sdev, u32 flags)
- BYT_STACK_DUMP_SIZE);
- snd_sof_get_status(sdev, status, panic, &xoops, &panic_info, stack,
- BYT_STACK_DUMP_SIZE);
-+
-+ /* provide some context for firmware debug */
-+ imrx = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IMRX);
-+ imrd = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IMRD);
-+ dev_err(sdev->dev,
-+ "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n",
-+ panic & SHIM_IPCX_BUSY ? "yes" : "no",
-+ panic & SHIM_IPCX_DONE ? "yes" : "no", panic);
-+ dev_err(sdev->dev,
-+ "error: mask host: pending %s complete %s raw 0x%8.8x\n",
-+ imrx & SHIM_IMRX_BUSY ? "yes" : "no",
-+ imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx);
-+ dev_err(sdev->dev,
-+ "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n",
-+ status & SHIM_IPCD_BUSY ? "yes" : "no",
-+ status & SHIM_IPCD_DONE ? "yes" : "no", status);
-+ dev_err(sdev->dev,
-+ "error: mask DSP: pending %s complete %s raw 0x%8.8x\n",
-+ imrd & SHIM_IMRD_BUSY ? "yes" : "no",
-+ imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd);
-+
- }
-
- /*
---
-2.24.1
-
-From 2ce45551453d13f25f89c4273934efd179c34195 Mon Sep 17 00:00:00 2001
-From: Jaska Uimonen <jaska.uimonen@linux.intel.com>
-Date: Tue, 8 Oct 2019 11:44:41 -0500
-Subject: [PATCH 021/109] ASoC: SOF: enable dual control for pga
-
-Currently sof pga element supports only 1 kcontrol and you can't create
-for example a mixer element with combined volume slider and mute switch.
-So enable sof pga to have more than 1 kcontrol associated with it. Also
-check for possible NULL tlv pointer as switch element might not have it.
-
-Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-8-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit a68c6b6cc77b841dc37c17a5d9a7074e26801af5)
-Bugzilla: 1772498
----
- sound/soc/sof/topology.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index fa299e078156..96c20c889fa4 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -1581,7 +1581,7 @@ static int sof_widget_load_pga(struct snd_soc_component *scomp, int index,
- if (!volume)
- return -ENOMEM;
-
-- if (le32_to_cpu(tw->num_kcontrols) != 1) {
-+ if (!le32_to_cpu(tw->num_kcontrols)) {
- dev_err(sdev->dev, "error: invalid kcontrol count %d for volume\n",
- tw->num_kcontrols);
- ret = -EINVAL;
-@@ -1618,7 +1618,8 @@ static int sof_widget_load_pga(struct snd_soc_component *scomp, int index,
- swidget->private = volume;
-
- list_for_each_entry(scontrol, &sdev->kcontrol_list, list) {
-- if (scontrol->comp_id == swidget->comp_id) {
-+ if (scontrol->comp_id == swidget->comp_id &&
-+ scontrol->volume_table) {
- min_step = scontrol->min_volume_step;
- max_step = scontrol->max_volume_step;
- volume->min_value = scontrol->volume_table[min_step];
---
-2.24.1
-
-From 1abf144571f2f8791c1d6b5f9242da41e3ed8c2e Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 8 Oct 2019 11:44:36 -0500
-Subject: [PATCH 022/109] Revert "ASoC: SOF: Force polling mode on CFL and CNL"
-
-This reverts commit 64ca9d9fcb3e3c86b1417e3d17a90b43dd660f81.
-
-The workaround is no longer needed after configuring HDAC
-bus with sync_write=1.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 902fd492d5ea2c02666ddadc1da977ca94e6b52c)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda.c | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
-index 3c4b604412f0..ff3fa8670fd8 100644
---- a/sound/soc/sof/intel/hda.c
-+++ b/sound/soc/sof/intel/hda.c
-@@ -32,9 +32,6 @@
- /* platform specific devices */
- #include "shim.h"
-
--#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348)
--#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8)
--
- #define EXCEPT_MAX_HDR_SIZE 0x400
-
- /*
-@@ -262,10 +259,6 @@ static int hda_init(struct snd_sof_dev *sdev)
- /* HDA bus init */
- sof_hda_bus_init(bus, &pci->dev);
-
-- /* Workaround for a communication error on CFL (bko#199007) and CNL */
-- if (IS_CFL(pci) || IS_CNL(pci))
-- bus->polling_mode = 1;
--
- bus->use_posbuf = 1;
- bus->bdl_pos_adj = 0;
- bus->sync_write = 1;
---
-2.24.1
-
-From 7947c07881d4fa46b74c5884d5e0a5ecbd2825b3 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Tue, 8 Oct 2019 11:44:37 -0500
-Subject: [PATCH 023/109] ASoC: SOF: acpi: add debug module param
-
-Add debug parameter for snd-sof-acpi.
-
-One of the usages for this debug parameter to disable pm_runtime,
-which can be useful for platform bringup, or keep the parent device
-active while enabling pm_runtime for child devices (e.g. with
-SoundWire or MFD). This can also be useful to measure suspend-resume
-latencies or child devices.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 70b0c75ae1e3d35f829b5fe7ae5692efae63ca71)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-acpi-dev.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/sof/sof-acpi-dev.c b/sound/soc/sof/sof-acpi-dev.c
-index ea7b8b895412..df318f50dd0b 100644
---- a/sound/soc/sof/sof-acpi-dev.c
-+++ b/sound/soc/sof/sof-acpi-dev.c
-@@ -29,6 +29,12 @@ static char *tplg_path;
- module_param(tplg_path, charp, 0444);
- MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology.");
-
-+static int sof_acpi_debug;
-+module_param_named(sof_acpi_debug, sof_acpi_debug, int, 0444);
-+MODULE_PARM_DESC(sof_acpi_debug, "SOF ACPI debug options (0x0 all off)");
-+
-+#define SOF_ACPI_DISABLE_PM_RUNTIME BIT(0)
-+
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_HASWELL)
- static const struct sof_dev_desc sof_acpi_haswell_desc = {
- .machines = snd_soc_acpi_intel_haswell_machines,
-@@ -121,6 +127,9 @@ static const struct dev_pm_ops sof_acpi_pm = {
-
- static void sof_acpi_probe_complete(struct device *dev)
- {
-+ if (sof_acpi_debug & SOF_ACPI_DISABLE_PM_RUNTIME)
-+ return;
-+
- /* allow runtime_pm */
- pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS);
- pm_runtime_use_autosuspend(dev);
-@@ -221,7 +230,8 @@ static int sof_acpi_probe(struct platform_device *pdev)
-
- static int sof_acpi_remove(struct platform_device *pdev)
- {
-- pm_runtime_disable(&pdev->dev);
-+ if (!(sof_acpi_debug & SOF_ACPI_DISABLE_PM_RUNTIME))
-+ pm_runtime_disable(&pdev->dev);
-
- /* call sof helper for DSP hardware remove */
- snd_sof_device_remove(&pdev->dev);
---
-2.24.1
-
-From 21db8b682a3384a910d054fd8795b6dec380d700 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Tue, 8 Oct 2019 11:44:38 -0500
-Subject: [PATCH 024/109] ASoC: SOF: pci: add debug module param
-
-Add debug parameter for snd-sof-pci.
-
-One of the usages for this debug parameter to disable pm_runtime,
-which can be useful for platform bringup, or keep the parent device
-active while enabling pm_runtime for child devices (e.g. with
-SoundWire or MFD). This can also be useful to measure suspend-resume
-latencies or child devices.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-5-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 8b160dc2a92c83a566b0596c79febb5933f9a6b5)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-pci-dev.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
-index 3a9e0e2a150d..be5a8da504c5 100644
---- a/sound/soc/sof/sof-pci-dev.c
-+++ b/sound/soc/sof/sof-pci-dev.c
-@@ -30,6 +30,12 @@ static char *tplg_path;
- module_param(tplg_path, charp, 0444);
- MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology.");
-
-+static int sof_pci_debug;
-+module_param_named(sof_pci_debug, sof_pci_debug, int, 0444);
-+MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)");
-+
-+#define SOF_PCI_DISABLE_PM_RUNTIME BIT(0)
-+
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
- static const struct sof_dev_desc bxt_desc = {
- .machines = snd_soc_acpi_intel_bxt_machines,
-@@ -250,6 +256,9 @@ static void sof_pci_probe_complete(struct device *dev)
- {
- dev_dbg(dev, "Completing SOF PCI probe");
-
-+ if (sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME)
-+ return;
-+
- /* allow runtime_pm */
- pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS);
- pm_runtime_use_autosuspend(dev);
-@@ -376,7 +385,8 @@ static void sof_pci_remove(struct pci_dev *pci)
- snd_sof_device_remove(&pci->dev);
-
- /* follow recommendation in pci-driver.c to increment usage counter */
-- pm_runtime_get_noresume(&pci->dev);
-+ if (!(sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME))
-+ pm_runtime_get_noresume(&pci->dev);
-
- /* release pci regions and disable device */
- pci_release_regions(pci);
---
-2.24.1
-
-From 7b65ba0fedde4554a709dce46318543f07b8fd5a Mon Sep 17 00:00:00 2001
-From: Jaska Uimonen <jaska.uimonen@linux.intel.com>
-Date: Tue, 8 Oct 2019 11:44:43 -0500
-Subject: [PATCH 025/109] ASoC: SOF: acpi led support for switch controls
-
-Currently sof doesn't support acpi leds with mute switches. So implement
-acpi leds following quite shamelessly existing HDA implementation by
-Takashi Iwai.
-
-Mute leds can be enabled in topology by adding led and direction token
-in switch control private data.
-
-Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-10-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 5d43001ae43606dc525f55c482c545afba01bb55)
-Bugzilla: 1772498
----
- include/uapi/sound/sof/tokens.h | 4 ++++
- sound/soc/sof/control.c | 32 ++++++++++++++++++++++++++++++++
- sound/soc/sof/sof-priv.h | 9 +++++++++
- sound/soc/sof/topology.c | 13 +++++++++++++
- 4 files changed, 58 insertions(+)
-
-diff --git a/include/uapi/sound/sof/tokens.h b/include/uapi/sound/sof/tokens.h
-index 8f996857fb24..28ef01a67765 100644
---- a/include/uapi/sound/sof/tokens.h
-+++ b/include/uapi/sound/sof/tokens.h
-@@ -114,4 +114,8 @@
- #define SOF_TKN_IMX_ESAI_FIRST_TOKEN 1100
- /* TODO: Add ESAI tokens */
-
-+/* Led control for mute switches */
-+#define SOF_TKN_MUTE_LED_USE 1300
-+#define SOF_TKN_MUTE_LED_DIRECTION 1301
-+
- #endif
-diff --git a/sound/soc/sof/control.c b/sound/soc/sof/control.c
-index 2b8711eda362..b73d4587c5da 100644
---- a/sound/soc/sof/control.c
-+++ b/sound/soc/sof/control.c
-@@ -11,8 +11,37 @@
- /* Mixer Controls */
-
- #include <linux/pm_runtime.h>
-+#include <linux/leds.h>
- #include "sof-priv.h"
-
-+static void update_mute_led(struct snd_sof_control *scontrol,
-+ struct snd_kcontrol *kcontrol,
-+ struct snd_ctl_elem_value *ucontrol)
-+{
-+ unsigned int temp = 0;
-+ unsigned int mask;
-+ int i;
-+
-+ mask = 1U << snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
-+
-+ for (i = 0; i < scontrol->num_channels; i++) {
-+ if (ucontrol->value.integer.value[i]) {
-+ temp |= mask;
-+ break;
-+ }
-+ }
-+
-+ if (temp == scontrol->led_ctl.led_value)
-+ return;
-+
-+ scontrol->led_ctl.led_value = temp;
-+
-+ if (!scontrol->led_ctl.direction)
-+ ledtrig_audio_set(LED_AUDIO_MUTE, temp ? LED_OFF : LED_ON);
-+ else
-+ ledtrig_audio_set(LED_AUDIO_MICMUTE, temp ? LED_OFF : LED_ON);
-+}
-+
- static inline u32 mixer_to_ipc(unsigned int value, u32 *volume_map, int size)
- {
- if (value >= size)
-@@ -118,6 +147,9 @@ int snd_sof_switch_put(struct snd_kcontrol *kcontrol,
- cdata->chanv[i].value = value;
- }
-
-+ if (scontrol->led_ctl.use_led)
-+ update_mute_led(scontrol, kcontrol, ucontrol);
-+
- /* notify DSP of mixer updates */
- if (pm_runtime_active(sdev->dev))
- snd_sof_ipc_set_get_comp_data(sdev->ipc, scontrol,
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index eb919527dd21..9729deafec08 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -15,6 +15,7 @@
-
- #include <sound/hdaudio.h>
- #include <sound/soc.h>
-+#include <sound/control.h>
-
- #include <sound/sof.h>
- #include <sound/sof/stream.h> /* needs to be included before control.h */
-@@ -310,6 +311,12 @@ struct snd_sof_pcm {
- bool prepared[2]; /* PCM_PARAMS set successfully */
- };
-
-+struct snd_sof_led_control {
-+ unsigned int use_led;
-+ unsigned int direction;
-+ unsigned int led_value;
-+};
-+
- /* ALSA SOF Kcontrol device */
- struct snd_sof_control {
- struct snd_sof_dev *sdev;
-@@ -324,6 +331,8 @@ struct snd_sof_control {
- u32 *volume_table; /* volume table computed from tlv data*/
-
- struct list_head list; /* list in sdev control list */
-+
-+ struct snd_sof_led_control led_ctl;
- };
-
- /* ASoC SOF DAPM widget */
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 96c20c889fa4..a1493961b51c 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -494,6 +494,11 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
- }
-
- out:
-+ /* set up possible led control from mixer private data */
-+ ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens,
-+ ARRAY_SIZE(led_tokens), mc->priv.array,
-+ le32_to_cpu(mc->priv.size));
-+
- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n",
- scontrol->comp_id, scontrol->num_channels);
-
-@@ -840,6 +845,14 @@ static const struct sof_topology_token dmic_pdm_tokens[] = {
- static const struct sof_topology_token hda_tokens[] = {
- };
-
-+/* Leds */
-+static const struct sof_topology_token led_tokens[] = {
-+ {SOF_TKN_MUTE_LED_USE, SND_SOC_TPLG_TUPLE_TYPE_WORD, get_token_u32,
-+ offsetof(struct snd_sof_led_control, use_led), 0},
-+ {SOF_TKN_MUTE_LED_DIRECTION, SND_SOC_TPLG_TUPLE_TYPE_WORD,
-+ get_token_u32, offsetof(struct snd_sof_led_control, direction), 0},
-+};
-+
- static void sof_parse_uuid_tokens(struct snd_soc_component *scomp,
- void *object,
- const struct sof_topology_token *tokens,
---
-2.24.1
-
-From 0017ac5f09b9a689a6f1b2ec3f0aa2f95753a1c1 Mon Sep 17 00:00:00 2001
-From: Daniel Baluta <daniel.baluta@nxp.com>
-Date: Tue, 8 Oct 2019 11:44:39 -0500
-Subject: [PATCH 026/109] ASoC: SOF: imx: Describe ESAI parameters to be sent
- to DSP
-
-Introduce sof_ipc_dai_esai_params to keep information that
-we get from topology and we send to DSP FW.
-
-Also bump the ABI minor to reflect the changes on DSP FW.
-
-Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-6-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit b4be427683cf6debda331a5d6a4af34885851d19)
-Bugzilla: 1772498
----
- include/sound/sof/dai-imx.h | 34 +++++++++++++++++++++++++++++++++
- include/sound/sof/dai.h | 2 ++
- include/uapi/sound/sof/abi.h | 2 +-
- include/uapi/sound/sof/tokens.h | 3 +--
- 4 files changed, 38 insertions(+), 3 deletions(-)
- create mode 100644 include/sound/sof/dai-imx.h
-
-diff --git a/include/sound/sof/dai-imx.h b/include/sound/sof/dai-imx.h
-new file mode 100644
-index 000000000000..e02fb0b0fae1
---- /dev/null
-+++ b/include/sound/sof/dai-imx.h
-@@ -0,0 +1,34 @@
-+/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
-+/*
-+ * Copyright 2019 NXP
-+ *
-+ * Author: Daniel Baluta <daniel.baluta@nxp.com>
-+ */
-+
-+#ifndef __INCLUDE_SOUND_SOF_DAI_IMX_H__
-+#define __INCLUDE_SOUND_SOF_DAI_IMX_H__
-+
-+#include <sound/sof/header.h>
-+
-+/* ESAI Configuration Request - SOF_IPC_DAI_ESAI_CONFIG */
-+struct sof_ipc_dai_esai_params {
-+ struct sof_ipc_hdr hdr;
-+
-+ /* MCLK */
-+ uint16_t reserved1;
-+ uint16_t mclk_id;
-+ uint32_t mclk_direction;
-+
-+ uint32_t mclk_rate; /* MCLK frequency in Hz */
-+ uint32_t fsync_rate; /* FSYNC frequency in Hz */
-+ uint32_t bclk_rate; /* BCLK frequency in Hz */
-+
-+ /* TDM */
-+ uint32_t tdm_slots;
-+ uint32_t rx_slots;
-+ uint32_t tx_slots;
-+ uint16_t tdm_slot_width;
-+ uint16_t reserved2; /* alignment */
-+} __packed;
-+
-+#endif
-diff --git a/include/sound/sof/dai.h b/include/sound/sof/dai.h
-index 0f1235022146..c229565767e5 100644
---- a/include/sound/sof/dai.h
-+++ b/include/sound/sof/dai.h
-@@ -11,6 +11,7 @@
-
- #include <sound/sof/header.h>
- #include <sound/sof/dai-intel.h>
-+#include <sound/sof/dai-imx.h>
-
- /*
- * DAI Configuration.
-@@ -73,6 +74,7 @@ struct sof_ipc_dai_config {
- struct sof_ipc_dai_dmic_params dmic;
- struct sof_ipc_dai_hda_params hda;
- struct sof_ipc_dai_alh_params alh;
-+ struct sof_ipc_dai_esai_params esai;
- };
- } __packed;
-
-diff --git a/include/uapi/sound/sof/abi.h b/include/uapi/sound/sof/abi.h
-index a0fe0d4c4b66..ebfdc20ca081 100644
---- a/include/uapi/sound/sof/abi.h
-+++ b/include/uapi/sound/sof/abi.h
-@@ -26,7 +26,7 @@
-
- /* SOF ABI version major, minor and patch numbers */
- #define SOF_ABI_MAJOR 3
--#define SOF_ABI_MINOR 10
-+#define SOF_ABI_MINOR 11
- #define SOF_ABI_PATCH 0
-
- /* SOF ABI version number. Format within 32bit word is MMmmmppp */
-diff --git a/include/uapi/sound/sof/tokens.h b/include/uapi/sound/sof/tokens.h
-index 28ef01a67765..d65406f34361 100644
---- a/include/uapi/sound/sof/tokens.h
-+++ b/include/uapi/sound/sof/tokens.h
-@@ -111,8 +111,7 @@
- /* TODO: Add SAI tokens */
-
- /* ESAI */
--#define SOF_TKN_IMX_ESAI_FIRST_TOKEN 1100
--/* TODO: Add ESAI tokens */
-+#define SOF_TKN_IMX_ESAI_MCLK_ID 1100
-
- /* Led control for mute switches */
- #define SOF_TKN_MUTE_LED_USE 1300
---
-2.24.1
-
-From 8a031dfe901dd997df316c2138153edff7af5731 Mon Sep 17 00:00:00 2001
-From: Daniel Baluta <daniel.baluta@nxp.com>
-Date: Tue, 8 Oct 2019 11:44:40 -0500
-Subject: [PATCH 027/109] ASoC: SOF: imx: Read ESAI parameters and send them to
- DSP
-
-ESAI parameters are read for topology file, packed into
-sof_ipc_dai_esai_parms struct and then sent to DSP.
-
-Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-7-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit a4eff5f86c9c5e7d07d880bd86ce8faad19d7063)
-Bugzilla: 1772498
----
- sound/soc/sof/pcm.c | 8 +++++
- sound/soc/sof/topology.c | 69 ++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 75 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
-index 2b876d497447..b0f4217433e5 100644
---- a/sound/soc/sof/pcm.c
-+++ b/sound/soc/sof/pcm.c
-@@ -691,6 +691,14 @@ static int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd,
- case SOF_DAI_INTEL_ALH:
- /* do nothing for ALH dai_link */
- break;
-+ case SOF_DAI_IMX_ESAI:
-+ channels->min = dai->dai_config->esai.tdm_slots;
-+ channels->max = dai->dai_config->esai.tdm_slots;
-+
-+ dev_dbg(sdev->dev,
-+ "channels_min: %d channels_max: %d\n",
-+ channels->min, channels->max);
-+ break;
- default:
- dev_err(sdev->dev, "error: invalid DAI type %d\n",
- dai->dai_config->type);
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index a1493961b51c..b2cf450f763f 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -804,6 +804,13 @@ static const struct sof_topology_token dmic_tokens[] = {
-
- };
-
-+/* ESAI */
-+static const struct sof_topology_token esai_tokens[] = {
-+ {SOF_TKN_IMX_ESAI_MCLK_ID,
-+ SND_SOC_TPLG_TUPLE_TYPE_SHORT, get_token_u16,
-+ offsetof(struct sof_ipc_dai_esai_params, mclk_id), 0},
-+};
-+
- /*
- * DMIC PDM Tokens
- * SOF_TKN_INTEL_DMIC_PDM_CTRL_ID should be the first token
-@@ -2550,8 +2557,66 @@ static int sof_link_esai_load(struct snd_soc_component *scomp, int index,
- struct snd_soc_tplg_hw_config *hw_config,
- struct sof_ipc_dai_config *config)
- {
-- /*TODO: Add implementation */
-- return 0;
-+ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-+ struct snd_soc_tplg_private *private = &cfg->priv;
-+ struct sof_ipc_reply reply;
-+ u32 size = sizeof(*config);
-+ int ret;
-+
-+ /* handle master/slave and inverted clocks */
-+ sof_dai_set_format(hw_config, config);
-+
-+ /* init IPC */
-+ memset(&config->esai, 0, sizeof(struct sof_ipc_dai_esai_params));
-+ config->hdr.size = size;
-+
-+ ret = sof_parse_tokens(scomp, &config->esai, esai_tokens,
-+ ARRAY_SIZE(esai_tokens), private->array,
-+ le32_to_cpu(private->size));
-+ if (ret != 0) {
-+ dev_err(sdev->dev, "error: parse esai tokens failed %d\n",
-+ le32_to_cpu(private->size));
-+ return ret;
-+ }
-+
-+ config->esai.mclk_rate = le32_to_cpu(hw_config->mclk_rate);
-+ config->esai.bclk_rate = le32_to_cpu(hw_config->bclk_rate);
-+ config->esai.fsync_rate = le32_to_cpu(hw_config->fsync_rate);
-+ config->esai.mclk_direction = hw_config->mclk_direction;
-+ config->esai.tdm_slots = le32_to_cpu(hw_config->tdm_slots);
-+ config->esai.tdm_slot_width = le32_to_cpu(hw_config->tdm_slot_width);
-+ config->esai.rx_slots = le32_to_cpu(hw_config->rx_slots);
-+ config->esai.tx_slots = le32_to_cpu(hw_config->tx_slots);
-+
-+ dev_info(sdev->dev,
-+ "tplg: config ESAI%d fmt 0x%x mclk %d width %d slots %d mclk id %d\n",
-+ config->dai_index, config->format,
-+ config->esai.mclk_rate, config->esai.tdm_slot_width,
-+ config->esai.tdm_slots, config->esai.mclk_id);
-+
-+ if (config->esai.tdm_slots < 1 || config->esai.tdm_slots > 8) {
-+ dev_err(sdev->dev, "error: invalid channel count for ESAI%d\n",
-+ config->dai_index);
-+ return -EINVAL;
-+ }
-+
-+ /* send message to DSP */
-+ ret = sof_ipc_tx_message(sdev->ipc,
-+ config->hdr.cmd, config, size, &reply,
-+ sizeof(reply));
-+ if (ret < 0) {
-+ dev_err(sdev->dev, "error: failed to set DAI config for ESAI%d\n",
-+ config->dai_index);
-+ return ret;
-+ }
-+
-+ /* set config for all DAI's with name matching the link name */
-+ ret = sof_set_dai_config(sdev, size, link, config);
-+ if (ret < 0)
-+ dev_err(sdev->dev, "error: failed to save DAI config for ESAI%d\n",
-+ config->dai_index);
-+
-+ return ret;
- }
-
- static int sof_link_dmic_load(struct snd_soc_component *scomp, int index,
---
-2.24.1
-
-From 752cbeda2b3ac929a9b0891fa3a8fdd9a8bcc5d5 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 11 Oct 2019 11:43:09 -0500
-Subject: [PATCH 028/109] ASoC: SOF: Intel: byt: fix operator precedence
- warnings
-
-Address cppcheck warnings
-
-sound/soc/sof/intel/byt.c:163:26: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- panic & SHIM_IPCX_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/byt.c:164:26: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- panic & SHIM_IPCX_DONE ? "yes" : "no", panic);
- ^
-
-sound/soc/sof/intel/byt.c:167:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrx & SHIM_IMRX_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/byt.c:168:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx);
- ^
-
-sound/soc/sof/intel/byt.c:171:27: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- status & SHIM_IPCD_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/byt.c:172:27: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- status & SHIM_IPCD_DONE ? "yes" : "no", status);
- ^
-
-sound/soc/sof/intel/byt.c:175:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrd & SHIM_IMRD_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/byt.c:176:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd);
- ^
-
-Fixes: 3a9e204d4e369 ("ASoC: SOF: Intel: Add context data to any IPC timeout.")
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191011164312.7988-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit f9f618e7128e834db3f54d290a926c4a71104e02)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/byt.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c
-index 3138d9a2c621..84d6069b5075 100644
---- a/sound/soc/sof/intel/byt.c
-+++ b/sound/soc/sof/intel/byt.c
-@@ -161,20 +161,20 @@ static void byt_dump(struct snd_sof_dev *sdev, u32 flags)
- imrd = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IMRD);
- dev_err(sdev->dev,
- "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n",
-- panic & SHIM_IPCX_BUSY ? "yes" : "no",
-- panic & SHIM_IPCX_DONE ? "yes" : "no", panic);
-+ (panic & SHIM_IPCX_BUSY) ? "yes" : "no",
-+ (panic & SHIM_IPCX_DONE) ? "yes" : "no", panic);
- dev_err(sdev->dev,
- "error: mask host: pending %s complete %s raw 0x%8.8x\n",
-- imrx & SHIM_IMRX_BUSY ? "yes" : "no",
-- imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx);
-+ (imrx & SHIM_IMRX_BUSY) ? "yes" : "no",
-+ (imrx & SHIM_IMRX_DONE) ? "yes" : "no", imrx);
- dev_err(sdev->dev,
- "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n",
-- status & SHIM_IPCD_BUSY ? "yes" : "no",
-- status & SHIM_IPCD_DONE ? "yes" : "no", status);
-+ (status & SHIM_IPCD_BUSY) ? "yes" : "no",
-+ (status & SHIM_IPCD_DONE) ? "yes" : "no", status);
- dev_err(sdev->dev,
- "error: mask DSP: pending %s complete %s raw 0x%8.8x\n",
-- imrd & SHIM_IMRD_BUSY ? "yes" : "no",
-- imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd);
-+ (imrd & SHIM_IMRD_BUSY) ? "yes" : "no",
-+ (imrd & SHIM_IMRD_DONE) ? "yes" : "no", imrd);
-
- }
-
---
-2.24.1
-
-From a825e9f8825891dfd84867f2916b0b69cda0de6a Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 11 Oct 2019 11:43:10 -0500
-Subject: [PATCH 029/109] ASoC: SOF: Intel: bdw: fix operator precedence
- warnings
-
-Address cppcheck warnings
-
-sound/soc/sof/intel/bdw.c:265:26: style: Clarify calculation precedence
-for '&' and '?'. [clarifyCalculation]
- panic & SHIM_IPCX_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/bdw.c:266:26: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- panic & SHIM_IPCX_DONE ? "yes" : "no", panic);
- ^
-
-sound/soc/sof/intel/bdw.c:269:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrx & SHIM_IMRX_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/bdw.c:270:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx);
- ^
-
-sound/soc/sof/intel/bdw.c:273:27: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- status & SHIM_IPCD_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/bdw.c:274:27: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- status & SHIM_IPCD_DONE ? "yes" : "no", status);
- ^
-
-sound/soc/sof/intel/bdw.c:277:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrd & SHIM_IMRD_BUSY ? "yes" : "no",
- ^
-
-sound/soc/sof/intel/bdw.c:278:25: style: Clarify calculation
-precedence for '&' and '?'. [clarifyCalculation]
- imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd);
- ^
-
-Fixes: 3a9e204d4e369 ("ASoC: SOF: Intel: Add context data to any IPC timeout.")
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191011164312.7988-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 7ad03a2c848f6fb0a8dea656c9c161929696878e)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/bdw.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c
-index f395d0638876..bf961a8798a7 100644
---- a/sound/soc/sof/intel/bdw.c
-+++ b/sound/soc/sof/intel/bdw.c
-@@ -262,20 +262,20 @@ static void bdw_dump(struct snd_sof_dev *sdev, u32 flags)
- imrd = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IMRD);
- dev_err(sdev->dev,
- "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n",
-- panic & SHIM_IPCX_BUSY ? "yes" : "no",
-- panic & SHIM_IPCX_DONE ? "yes" : "no", panic);
-+ (panic & SHIM_IPCX_BUSY) ? "yes" : "no",
-+ (panic & SHIM_IPCX_DONE) ? "yes" : "no", panic);
- dev_err(sdev->dev,
- "error: mask host: pending %s complete %s raw 0x%8.8x\n",
-- imrx & SHIM_IMRX_BUSY ? "yes" : "no",
-- imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx);
-+ (imrx & SHIM_IMRX_BUSY) ? "yes" : "no",
-+ (imrx & SHIM_IMRX_DONE) ? "yes" : "no", imrx);
- dev_err(sdev->dev,
- "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n",
-- status & SHIM_IPCD_BUSY ? "yes" : "no",
-- status & SHIM_IPCD_DONE ? "yes" : "no", status);
-+ (status & SHIM_IPCD_BUSY) ? "yes" : "no",
-+ (status & SHIM_IPCD_DONE) ? "yes" : "no", status);
- dev_err(sdev->dev,
- "error: mask DSP: pending %s complete %s raw 0x%8.8x\n",
-- imrd & SHIM_IMRD_BUSY ? "yes" : "no",
-- imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd);
-+ (imrd & SHIM_IMRD_BUSY) ? "yes" : "no",
-+ (imrd & SHIM_IMRD_DONE) ? "yes" : "no", imrd);
- }
-
- /*
---
-2.24.1
-
-From b130f3834c22757c7d8da463e77bc80c31035cd8 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 11 Oct 2019 11:43:11 -0500
-Subject: [PATCH 030/109] ASoC: SOF: topology: remove always-true redundant
- test
-
-Address cppcheck warning:
-
-sound/soc/sof/topology.c:2322:6: style: Condition 'pcm' is always true
-[knownConditionTrueFalse]
- if (pcm) {
- ^
-
-sound/soc/sof/topology.c:2311:6: note: Assuming that condition '!pcm'
-is not redundant
- if (!pcm)
- ^
-
-sound/soc/sof/topology.c:2322:6: note: Condition 'pcm' is always true
- if (pcm) {
- ^
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191011164312.7988-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 494e8f65da24d550a5e7c6a85b9433ffb181705c)
-Bugzilla: 1772498
----
- sound/soc/sof/topology.c | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index b2cf450f763f..4fa38719c703 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -2309,10 +2309,9 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index,
- spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].comp_id = COMP_ID_UNASSIGNED;
- spcm->stream[SNDRV_PCM_STREAM_CAPTURE].comp_id = COMP_ID_UNASSIGNED;
-
-- if (pcm) {
-- spcm->pcm = *pcm;
-- dev_dbg(sdev->dev, "tplg: load pcm %s\n", pcm->dai_name);
-- }
-+ spcm->pcm = *pcm;
-+ dev_dbg(sdev->dev, "tplg: load pcm %s\n", pcm->dai_name);
-+
- dai_drv->dobj.private = spcm;
- list_add(&spcm->list, &sdev->pcm_list);
-
---
-2.24.1
-
-From b23994307d4c6bea1226d7d84c78de8f5a5f9afd Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 11 Oct 2019 11:43:12 -0500
-Subject: [PATCH 031/109] ASoC: SOF: topology: check errors when parsing LED
- tokens
-
-sof_parse_tokens() returns a value that is checked on every call
-except for LED tokens, fix with explicit test.
-
-Detected with cppcheck warning:
-
-sound/soc/sof/topology.c:973:6: style: Variable 'ret' is assigned a
-value that is never used. [unreadVariable]
- ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens,
- ^
-
-Fixes: 5d43001ae4360 ("ASoC: SOF: acpi led support for switch controls")
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191011164312.7988-5-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 8a3ab38c36926ddbda3d2a3086c0a741fa175cff)
-Bugzilla: 1772498
----
- sound/soc/sof/topology.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 4fa38719c703..6a4b59a0d8e6 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -498,6 +498,11 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
- ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens,
- ARRAY_SIZE(led_tokens), mc->priv.array,
- le32_to_cpu(mc->priv.size));
-+ if (ret != 0) {
-+ dev_err(sdev->dev, "error: parse led tokens failed %d\n",
-+ le32_to_cpu(mc->priv.size));
-+ return ret;
-+ }
-
- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n",
- scontrol->comp_id, scontrol->num_channels);
---
-2.24.1
-
-From 0fce4bacf9c669391c8e149a1d50feeea8e7b45a Mon Sep 17 00:00:00 2001
-From: YueHaibing <yuehaibing@huawei.com>
-Date: Mon, 14 Oct 2019 17:13:08 +0800
-Subject: [PATCH 032/109] ASoC: SOF: Fix randbuild error
-
-When LEDS_TRIGGER_AUDIO is m and SND_SOC_SOF is y,
-
-sound/soc/sof/control.o: In function `snd_sof_switch_put':
-control.c:(.text+0x587): undefined reference to `ledtrig_audio_set'
-control.c:(.text+0x593): undefined reference to `ledtrig_audio_set'
-
-Reported-by: Hulk Robot <hulkci@huawei.com>
-Fixes: 5d43001ae436 ("ASoC: SOF: acpi led support for switch controls")
-Signed-off-by: YueHaibing <yuehaibing@huawei.com>
-Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191014091308.23688-1-yuehaibing@huawei.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 9899a7a869935c4c93247b290ac7a70e0deab202)
-Bugzilla: 1772498
----
- sound/soc/sof/control.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/sound/soc/sof/control.c b/sound/soc/sof/control.c
-index b73d4587c5da..7baf7f1507c3 100644
---- a/sound/soc/sof/control.c
-+++ b/sound/soc/sof/control.c
-@@ -36,10 +36,12 @@ static void update_mute_led(struct snd_sof_control *scontrol,
-
- scontrol->led_ctl.led_value = temp;
-
-+#if IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO)
- if (!scontrol->led_ctl.direction)
- ledtrig_audio_set(LED_AUDIO_MUTE, temp ? LED_OFF : LED_ON);
- else
- ledtrig_audio_set(LED_AUDIO_MICMUTE, temp ? LED_OFF : LED_ON);
-+#endif
- }
-
- static inline u32 mixer_to_ipc(unsigned int value, u32 *volume_map, int size)
---
-2.24.1
-
-From c0ad6198c8bf64123877e61ebff462fff7c37402 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Tue, 22 Oct 2019 14:28:43 -0500
-Subject: [PATCH 033/109] ASoC: SOF: Intel: hda-loader: improve error handling
-
-If a ROM timeout is detected, we still stop the DMA but will return
-the initial error should the DMA stop also fail.
-
-Likewise the cleanup is handled regardless of the status, but we
-return the initial error.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191022192844.21022-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 76dc6a2b312d15c91ff4b4d171e98cdc73ba3745)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-loader.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c
-index 356bb134ae93..e24b99fd7d39 100644
---- a/sound/soc/sof/intel/hda-loader.c
-+++ b/sound/soc/sof/intel/hda-loader.c
-@@ -253,10 +253,16 @@ static int cl_copy_fw(struct snd_sof_dev *sdev, struct hdac_ext_stream *stream)
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_BASEFW_TIMEOUT_US);
-
-+ /*
-+ * even in case of errors we still need to stop the DMAs,
-+ * but we return the initial error should the DMA stop also fail
-+ */
-+
- ret = cl_trigger(sdev, stream, SNDRV_PCM_TRIGGER_STOP);
- if (ret < 0) {
- dev_err(sdev->dev, "error: DMA trigger stop failed\n");
-- return ret;
-+ if (!status)
-+ status = ret;
- }
-
- return status;
-@@ -340,13 +346,15 @@ int hda_dsp_cl_boot_firmware(struct snd_sof_dev *sdev)
- /*
- * Perform codeloader stream cleanup.
- * This should be done even if firmware loading fails.
-+ * If the cleanup also fails, we return the initial error
- */
- ret1 = cl_cleanup(sdev, &sdev->dmab, stream);
- if (ret1 < 0) {
- dev_err(sdev->dev, "error: Code loader DSP cleanup failed\n");
-
- /* set return value to indicate cleanup failure */
-- ret = ret1;
-+ if (!ret)
-+ ret = ret1;
- }
-
- /*
---
-2.24.1
-
-From e057b265445a38082f2f566809c98b4615cadbb6 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Tue, 22 Oct 2019 14:28:44 -0500
-Subject: [PATCH 034/109] ASoC: SOF: Intel: hda: add dev_err() traces for
- snd_sof_dsp_read_poll_timeout()
-
-Such traces should be extremely rare but extremely useful for debug.
-
-Report errors for all calls to sdn_sof_dsp_read_poll_timeout(), but
-only on negative values for consistency.
-
-Add traces that enable each timeout to be uniquely identified.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191022192844.21022-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 6a414489e0f3309a221f26b3d11c19d1a96a3635)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 30 +++++++++++++++++++++++++++---
- sound/soc/sof/intel/hda-loader.c | 13 ++++++++++++-
- sound/soc/sof/intel/hda-stream.c | 24 ++++++++++++++++++++----
- 3 files changed, 59 insertions(+), 8 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index fb55a3c5afd0..3ea401646e0c 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -42,6 +42,12 @@ int hda_dsp_core_reset_enter(struct snd_sof_dev *sdev, unsigned int core_mask)
- ((adspcs & reset) == reset),
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_RESET_TIMEOUT_US);
-+ if (ret < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n",
-+ __func__);
-+ return ret;
-+ }
-
- /* has core entered reset ? */
- adspcs = snd_sof_dsp_read(sdev, HDA_DSP_BAR,
-@@ -77,6 +83,13 @@ int hda_dsp_core_reset_leave(struct snd_sof_dev *sdev, unsigned int core_mask)
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_RESET_TIMEOUT_US);
-
-+ if (ret < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n",
-+ __func__);
-+ return ret;
-+ }
-+
- /* has core left reset ? */
- adspcs = snd_sof_dsp_read(sdev, HDA_DSP_BAR,
- HDA_DSP_REG_ADSPCS);
-@@ -151,8 +164,12 @@ int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask)
- (adspcs & cpa) == cpa,
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_RESET_TIMEOUT_US);
-- if (ret < 0)
-- dev_err(sdev->dev, "error: timeout on core powerup\n");
-+ if (ret < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n",
-+ __func__);
-+ return ret;
-+ }
-
- /* did core power up ? */
- adspcs = snd_sof_dsp_read(sdev, HDA_DSP_BAR,
-@@ -171,17 +188,24 @@ int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask)
- int hda_dsp_core_power_down(struct snd_sof_dev *sdev, unsigned int core_mask)
- {
- u32 adspcs;
-+ int ret;
-
- /* update bits */
- snd_sof_dsp_update_bits_unlocked(sdev, HDA_DSP_BAR,
- HDA_DSP_REG_ADSPCS,
- HDA_DSP_ADSPCS_SPA_MASK(core_mask), 0);
-
-- return snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR,
-+ ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR,
- HDA_DSP_REG_ADSPCS, adspcs,
- !(adspcs & HDA_DSP_ADSPCS_SPA_MASK(core_mask)),
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_PD_TIMEOUT * USEC_PER_MSEC);
-+ if (ret < 0)
-+ dev_err(sdev->dev,
-+ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n",
-+ __func__);
-+
-+ return ret;
- }
-
- bool hda_dsp_core_is_enabled(struct snd_sof_dev *sdev,
-diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c
-index e24b99fd7d39..1782f5092639 100644
---- a/sound/soc/sof/intel/hda-loader.c
-+++ b/sound/soc/sof/intel/hda-loader.c
-@@ -126,7 +126,8 @@ static int cl_dsp_init(struct snd_sof_dev *sdev, const void *fwdata,
- HDA_DSP_INIT_TIMEOUT_US);
-
- if (ret < 0) {
-- dev_err(sdev->dev, "error: waiting for HIPCIE done\n");
-+ dev_err(sdev->dev, "error: %s: timeout for HIPCIE done\n",
-+ __func__);
- goto err;
- }
-
-@@ -152,6 +153,10 @@ static int cl_dsp_init(struct snd_sof_dev *sdev, const void *fwdata,
- if (!ret)
- return 0;
-
-+ dev_err(sdev->dev,
-+ "error: %s: timeout HDA_DSP_SRAM_REG_ROM_STATUS read\n",
-+ __func__);
-+
- err:
- hda_dsp_dump(sdev, SOF_DBG_REGS | SOF_DBG_PCI | SOF_DBG_MBOX);
- hda_dsp_core_reset_power_down(sdev, chip->cores_mask);
-@@ -258,6 +263,12 @@ static int cl_copy_fw(struct snd_sof_dev *sdev, struct hdac_ext_stream *stream)
- * but we return the initial error should the DMA stop also fail
- */
-
-+ if (status < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: timeout HDA_DSP_SRAM_REG_ROM_STATUS read\n",
-+ __func__);
-+ }
-+
- ret = cl_trigger(sdev, stream, SNDRV_PCM_TRIGGER_STOP);
- if (ret < 0) {
- dev_err(sdev->dev, "error: DMA trigger stop failed\n");
-diff --git a/sound/soc/sof/intel/hda-stream.c b/sound/soc/sof/intel/hda-stream.c
-index 0c11fceb28a7..29ab43281670 100644
---- a/sound/soc/sof/intel/hda-stream.c
-+++ b/sound/soc/sof/intel/hda-stream.c
-@@ -275,8 +275,12 @@ int hda_dsp_stream_trigger(struct snd_sof_dev *sdev,
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_STREAM_RUN_TIMEOUT);
-
-- if (ret)
-+ if (ret < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: cmd %d: timeout on STREAM_SD_OFFSET read\n",
-+ __func__, cmd);
- return ret;
-+ }
-
- hstream->running = true;
- break;
-@@ -294,8 +298,12 @@ int hda_dsp_stream_trigger(struct snd_sof_dev *sdev,
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_STREAM_RUN_TIMEOUT);
-
-- if (ret)
-+ if (ret < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: cmd %d: timeout on STREAM_SD_OFFSET read\n",
-+ __func__, cmd);
- return ret;
-+ }
-
- snd_sof_dsp_write(sdev, HDA_DSP_HDA_BAR, sd_offset +
- SOF_HDA_ADSP_REG_CL_SD_STS,
-@@ -356,8 +364,12 @@ int hda_dsp_stream_hw_params(struct snd_sof_dev *sdev,
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_STREAM_RUN_TIMEOUT);
-
-- if (ret)
-+ if (ret < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: timeout on STREAM_SD_OFFSET read1\n",
-+ __func__);
- return ret;
-+ }
-
- snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR,
- sd_offset + SOF_HDA_ADSP_REG_CL_SD_STS,
-@@ -418,8 +430,12 @@ int hda_dsp_stream_hw_params(struct snd_sof_dev *sdev,
- HDA_DSP_REG_POLL_INTERVAL_US,
- HDA_DSP_STREAM_RUN_TIMEOUT);
-
-- if (ret)
-+ if (ret < 0) {
-+ dev_err(sdev->dev,
-+ "error: %s: timeout on STREAM_SD_OFFSET read2\n",
-+ __func__);
- return ret;
-+ }
-
- snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR,
- sd_offset + SOF_HDA_ADSP_REG_CL_SD_STS,
---
-2.24.1
-
-From 9ab29db3973a89c482f1ae7bee4d7800d77f45c2 Mon Sep 17 00:00:00 2001
-From: Pan Xiuli <xiuli.pan@linux.intel.com>
-Date: Tue, 22 Oct 2019 14:47:05 -0500
-Subject: [PATCH 035/109] ASoC: SOF: Intel: initial support to JasperLake.
-
-Add Kconfig, PCI ID and chip info for JSL platform.
-The DSP only has 2 cores for this platform.
-
-Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191022194705.23347-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 6fd9903527bf103167004022a0199b8fac1b8b29)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++
- sound/soc/sof/intel/cnl.c | 17 +++++++++++++++++
- sound/soc/sof/intel/hda.h | 1 +
- sound/soc/sof/sof-pci-dev.c | 22 ++++++++++++++++++++++
- 4 files changed, 56 insertions(+)
-
-diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig
-index d6d65e70eebb..a40e10dc80d5 100644
---- a/sound/soc/sof/intel/Kconfig
-+++ b/sound/soc/sof/intel/Kconfig
-@@ -29,6 +29,7 @@ config SND_SOC_SOF_INTEL_PCI
- select SND_SOC_SOF_COMETLAKE_H if SND_SOC_SOF_COMETLAKE_H_SUPPORT
- select SND_SOC_SOF_TIGERLAKE if SND_SOC_SOF_TIGERLAKE_SUPPORT
- select SND_SOC_SOF_ELKHARTLAKE if SND_SOC_SOF_ELKHARTLAKE_SUPPORT
-+ select SND_SOC_SOF_JASPERLAKE if SND_SOC_SOF_JASPERLAKE_SUPPORT
- help
- This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
-@@ -252,6 +253,21 @@ config SND_SOC_SOF_ELKHARTLAKE
- This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
-
-+config SND_SOC_SOF_JASPERLAKE_SUPPORT
-+ bool "SOF support for JasperLake"
-+ help
-+ This adds support for Sound Open Firmware for Intel(R) platforms
-+ using the JasperLake processors.
-+ Say Y if you have such a device.
-+ If unsure select "N".
-+
-+config SND_SOC_SOF_JASPERLAKE
-+ tristate
-+ select SND_SOC_SOF_HDA_COMMON
-+ help
-+ This option is not user-selectable but automagically handled by
-+ 'select' statements at a higher level
-+
- config SND_SOC_SOF_HDA_COMMON
- tristate
- select SND_SOC_SOF_INTEL_COMMON
-diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c
-index 4ddd73762d81..5b97bdfba823 100644
---- a/sound/soc/sof/intel/cnl.c
-+++ b/sound/soc/sof/intel/cnl.c
-@@ -327,3 +327,20 @@ const struct sof_intel_dsp_desc ehl_chip_info = {
- .ssp_base_offset = CNL_SSP_BASE_OFFSET,
- };
- EXPORT_SYMBOL(ehl_chip_info);
-+
-+const struct sof_intel_dsp_desc jsl_chip_info = {
-+ /* Jasperlake */
-+ .cores_num = 2,
-+ .init_core_mask = 1,
-+ .cores_mask = HDA_DSP_CORE_MASK(0) |
-+ HDA_DSP_CORE_MASK(1),
-+ .ipc_req = CNL_DSP_REG_HIPCIDR,
-+ .ipc_req_mask = CNL_DSP_REG_HIPCIDR_BUSY,
-+ .ipc_ack = CNL_DSP_REG_HIPCIDA,
-+ .ipc_ack_mask = CNL_DSP_REG_HIPCIDA_DONE,
-+ .ipc_ctl = CNL_DSP_REG_HIPCCTL,
-+ .rom_init_timeout = 300,
-+ .ssp_count = ICL_SSP_COUNT,
-+ .ssp_base_offset = CNL_SSP_BASE_OFFSET,
-+};
-+EXPORT_SYMBOL(jsl_chip_info);
-diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
-index 23e430d3e056..ea02bf40cb25 100644
---- a/sound/soc/sof/intel/hda.h
-+++ b/sound/soc/sof/intel/hda.h
-@@ -604,5 +604,6 @@ extern const struct sof_intel_dsp_desc skl_chip_info;
- extern const struct sof_intel_dsp_desc icl_chip_info;
- extern const struct sof_intel_dsp_desc tgl_chip_info;
- extern const struct sof_intel_dsp_desc ehl_chip_info;
-+extern const struct sof_intel_dsp_desc jsl_chip_info;
-
- #endif
-diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
-index be5a8da504c5..e0b150f29e81 100644
---- a/sound/soc/sof/sof-pci-dev.c
-+++ b/sound/soc/sof/sof-pci-dev.c
-@@ -246,6 +246,24 @@ static const struct sof_dev_desc ehl_desc = {
- };
- #endif
-
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_JASPERLAKE)
-+static const struct sof_dev_desc jsl_desc = {
-+ .machines = snd_soc_acpi_intel_jsl_machines,
-+ .resindex_lpe_base = 0,
-+ .resindex_pcicfg_base = -1,
-+ .resindex_imr_base = -1,
-+ .irqindex_host_ipc = -1,
-+ .resindex_dma_base = -1,
-+ .chip_info = &jsl_chip_info,
-+ .default_fw_path = "intel/sof",
-+ .default_tplg_path = "intel/sof-tplg",
-+ .nocodec_fw_filename = "sof-jsl.ri",
-+ .nocodec_tplg_filename = "sof-jsl-nocodec.tplg",
-+ .ops = &sof_cnl_ops,
-+ .arch_ops = &sof_xtensa_arch_ops
-+};
-+#endif
-+
- static const struct dev_pm_ops sof_pci_pm = {
- SET_SYSTEM_SLEEP_PM_OPS(snd_sof_suspend, snd_sof_resume)
- SET_RUNTIME_PM_OPS(snd_sof_runtime_suspend, snd_sof_runtime_resume,
-@@ -429,6 +447,10 @@ static const struct pci_device_id sof_pci_ids[] = {
- { PCI_DEVICE(0x8086, 0x34C8),
- .driver_data = (unsigned long)&icl_desc},
- #endif
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_JASPERLAKE)
-+ { PCI_DEVICE(0x8086, 0x38c8),
-+ .driver_data = (unsigned long)&jsl_desc},
-+#endif
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP)
- { PCI_DEVICE(0x8086, 0x02c8),
- .driver_data = (unsigned long)&cml_desc},
---
-2.24.1
-
-From 8944590a924791652dc14b2e7cffb7102f366ad5 Mon Sep 17 00:00:00 2001
-From: Pan Xiuli <xiuli.pan@linux.intel.com>
-Date: Tue, 22 Oct 2019 14:47:04 -0500
-Subject: [PATCH 036/109] ASoC: Intel: common: add ACPI matching tables for JSL
-
-There are no upstream machine drivers just yet so just add dummy table
-for compilation in nocodec-mode.
-
-Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
-Link: https://lore.kernel.org/r/20191022194705.23347-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 4f0637eae56f02ef648de5ed839d572259d396e9)
-Bugzilla: 1772498
----
- include/sound/soc-acpi-intel-match.h | 1 +
- sound/soc/intel/common/Makefile | 1 +
- .../intel/common/soc-acpi-intel-jsl-match.c | 18 ++++++++++++++++++
- 3 files changed, 20 insertions(+)
- create mode 100644 sound/soc/intel/common/soc-acpi-intel-jsl-match.c
-
-diff --git a/include/sound/soc-acpi-intel-match.h b/include/sound/soc-acpi-intel-match.h
-index 6c9929abd90b..4e44782862df 100644
---- a/include/sound/soc-acpi-intel-match.h
-+++ b/include/sound/soc-acpi-intel-match.h
-@@ -27,6 +27,7 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_icl_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_tgl_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_ehl_machines[];
-+extern struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[];
-
- /*
- * generic table used for HDA codec-based platforms, possibly with
-diff --git a/sound/soc/intel/common/Makefile b/sound/soc/intel/common/Makefile
-index 18d9630ae9a2..eafe95ead49b 100644
---- a/sound/soc/intel/common/Makefile
-+++ b/sound/soc/intel/common/Makefile
-@@ -9,6 +9,7 @@ snd-soc-acpi-intel-match-objs := soc-acpi-intel-byt-match.o soc-acpi-intel-cht-m
- soc-acpi-intel-bxt-match.o soc-acpi-intel-glk-match.o \
- soc-acpi-intel-cnl-match.o soc-acpi-intel-icl-match.o \
- soc-acpi-intel-tgl-match.o soc-acpi-intel-ehl-match.o \
-+ soc-acpi-intel-jsl-match.o \
- soc-acpi-intel-hda-match.o
-
- obj-$(CONFIG_SND_SOC_INTEL_SST) += snd-soc-sst-dsp.o snd-soc-sst-ipc.o
-diff --git a/sound/soc/intel/common/soc-acpi-intel-jsl-match.c b/sound/soc/intel/common/soc-acpi-intel-jsl-match.c
-new file mode 100644
-index 000000000000..1c68a04f0c6e
---- /dev/null
-+++ b/sound/soc/intel/common/soc-acpi-intel-jsl-match.c
-@@ -0,0 +1,18 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * soc-apci-intel-jsl-match.c - tables and support for JSL ACPI enumeration.
-+ *
-+ * Copyright (c) 2019, Intel Corporation.
-+ *
-+ */
-+
-+#include <sound/soc-acpi.h>
-+#include <sound/soc-acpi-intel-match.h>
-+
-+struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[] = {
-+ {},
-+};
-+EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_jsl_machines);
-+
-+MODULE_LICENSE("GPL v2");
-+MODULE_DESCRIPTION("Intel Common ACPI Match module");
---
-2.24.1
-
-From 4ab80912a87e828850601ac1d0d2804467e3e7f9 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Thu, 24 Oct 2019 16:03:17 -0500
-Subject: [PATCH 037/109] ASoC: SOF: define INFO_ flags in dsp_ops
-
-Currently the INFO_ flags such as PAUSE/NO_PERIOD_WAKEUP are defined
-in the SOF PCM core, which doesn't scale. To account for platform
-variations, these flags need to be set in DSP ops.
-
-This patch only moves the definitions and does not change any
-functionality.
-
-Reviewed-by: Jaska Uimonen <jaska.uimonen@intel.com>
-Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191024210318.30068-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 27e322fabd508ba73ced625fc41f0b7ceee26416)
-Bugzilla: 1772498
----
- sound/soc/sof/imx/imx8.c | 7 +++++++
- sound/soc/sof/intel/apl.c | 7 +++++++
- sound/soc/sof/intel/bdw.c | 9 ++++++++-
- sound/soc/sof/intel/byt.c | 21 +++++++++++++++++++++
- sound/soc/sof/intel/cnl.c | 7 +++++++
- sound/soc/sof/pcm.c | 8 +++-----
- sound/soc/sof/sof-priv.h | 3 +++
- 7 files changed, 56 insertions(+), 6 deletions(-)
-
-diff --git a/sound/soc/sof/imx/imx8.c b/sound/soc/sof/imx/imx8.c
-index 69785f688ddf..aef6ca167b9c 100644
---- a/sound/soc/sof/imx/imx8.c
-+++ b/sound/soc/sof/imx/imx8.c
-@@ -391,6 +391,13 @@ struct snd_sof_dsp_ops sof_imx8_ops = {
- /* DAI drivers */
- .drv = imx8_dai,
- .num_drv = 1, /* we have only 1 ESAI interface on i.MX8 */
-+
-+ /* ALSA HW info flags */
-+ .hw_info = SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_PAUSE |
-+ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP
- };
- EXPORT_SYMBOL(sof_imx8_ops);
-
-diff --git a/sound/soc/sof/intel/apl.c b/sound/soc/sof/intel/apl.c
-index 8dc7a5558da4..15d26e8d90a9 100644
---- a/sound/soc/sof/intel/apl.c
-+++ b/sound/soc/sof/intel/apl.c
-@@ -97,6 +97,13 @@ const struct snd_sof_dsp_ops sof_apl_ops = {
- .runtime_resume = hda_dsp_runtime_resume,
- .runtime_idle = hda_dsp_runtime_idle,
- .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume,
-+
-+ /* ALSA HW info flags */
-+ .hw_info = SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_PAUSE |
-+ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
- };
- EXPORT_SYMBOL(sof_apl_ops);
-
-diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c
-index bf961a8798a7..7b4cd1f456bf 100644
---- a/sound/soc/sof/intel/bdw.c
-+++ b/sound/soc/sof/intel/bdw.c
-@@ -591,7 +591,14 @@ const struct snd_sof_dsp_ops sof_bdw_ops = {
-
- /* DAI drivers */
- .drv = bdw_dai,
-- .num_drv = ARRAY_SIZE(bdw_dai)
-+ .num_drv = ARRAY_SIZE(bdw_dai),
-+
-+ /* ALSA HW info flags */
-+ .hw_info = SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_PAUSE |
-+ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
- };
- EXPORT_SYMBOL(sof_bdw_ops);
-
-diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c
-index 84d6069b5075..514cf4b9ebf4 100644
---- a/sound/soc/sof/intel/byt.c
-+++ b/sound/soc/sof/intel/byt.c
-@@ -533,6 +533,13 @@ const struct snd_sof_dsp_ops sof_tng_ops = {
- /* DAI drivers */
- .drv = byt_dai,
- .num_drv = 3, /* we have only 3 SSPs on byt*/
-+
-+ /* ALSA HW info flags */
-+ .hw_info = SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_PAUSE |
-+ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
- };
- EXPORT_SYMBOL(sof_tng_ops);
-
-@@ -694,6 +701,13 @@ const struct snd_sof_dsp_ops sof_byt_ops = {
- /* DAI drivers */
- .drv = byt_dai,
- .num_drv = 3, /* we have only 3 SSPs on byt*/
-+
-+ /* ALSA HW info flags */
-+ .hw_info = SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_PAUSE |
-+ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
- };
- EXPORT_SYMBOL(sof_byt_ops);
-
-@@ -754,6 +768,13 @@ const struct snd_sof_dsp_ops sof_cht_ops = {
- .drv = byt_dai,
- /* all 6 SSPs may be available for cherrytrail */
- .num_drv = ARRAY_SIZE(byt_dai),
-+
-+ /* ALSA HW info flags */
-+ .hw_info = SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_PAUSE |
-+ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
- };
- EXPORT_SYMBOL(sof_cht_ops);
-
-diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c
-index 5b97bdfba823..e9cdcc040fb5 100644
---- a/sound/soc/sof/intel/cnl.c
-+++ b/sound/soc/sof/intel/cnl.c
-@@ -255,6 +255,13 @@ const struct snd_sof_dsp_ops sof_cnl_ops = {
- .runtime_resume = hda_dsp_runtime_resume,
- .runtime_idle = hda_dsp_runtime_idle,
- .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume,
-+
-+ /* ALSA HW info flags */
-+ .hw_info = SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_PAUSE |
-+ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
- };
- EXPORT_SYMBOL(sof_cnl_ops);
-
-diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
-index b0f4217433e5..b33928e1385b 100644
---- a/sound/soc/sof/pcm.c
-+++ b/sound/soc/sof/pcm.c
-@@ -435,6 +435,7 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
- struct snd_soc_component *component =
- snd_soc_rtdcom_lookup(rtd, DRV_NAME);
- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component);
-+ const struct snd_sof_dsp_ops *ops = sof_ops(sdev);
- struct snd_sof_pcm *spcm;
- struct snd_soc_tplg_stream_caps *caps;
- int ret;
-@@ -464,11 +465,8 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
- le32_to_cpu(caps->period_size_min));
-
- /* set runtime config */
-- runtime->hw.info = SNDRV_PCM_INFO_MMAP |
-- SNDRV_PCM_INFO_MMAP_VALID |
-- SNDRV_PCM_INFO_INTERLEAVED |
-- SNDRV_PCM_INFO_PAUSE |
-- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP;
-+ runtime->hw.info = ops->hw_info; /* platform-specific */
-+
- runtime->hw.formats = le64_to_cpu(caps->formats);
- runtime->hw.period_bytes_min = le32_to_cpu(caps->period_size_min);
- runtime->hw.period_bytes_max = le32_to_cpu(caps->period_size_max);
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 9729deafec08..26ea5099bf4e 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -211,6 +211,9 @@ struct snd_sof_dsp_ops {
- /* DAI ops */
- struct snd_soc_dai_driver *drv;
- int num_drv;
-+
-+ /* ALSA HW info flags, will be stored in snd_pcm_runtime.hw.info */
-+ u32 hw_info;
- };
-
- /* DSP architecture specific callbacks for oops and stack dumps */
---
-2.24.1
-
-From 70c1d574a342bb625ac80e233531188121ecb526 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Thu, 24 Oct 2019 16:03:18 -0500
-Subject: [PATCH 038/109] ASoC: SOF: Intel: only support INFO_BATCH for legacy
- platforms
-
-The current position update is not precise enough for PulseAudio to
-work reliably with the timer-based scheduling on Baytrail,
-Cherrytrail, Broadwell.
-
-Disable the NO_PERIOD_WAKEUP capability and use BATCH to signal that
-the position is only reliable and updated during period_elapsed
-events.
-
-This will be reverted when the firmware provides a more accurate
-position for those platforms.
-
-Reviewed-by: Jaska Uimonen <jaska.uimonen@intel.com>
-Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191024210318.30068-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 4c02a7bd43e22f4de53ad55b94d24e4388f712f0)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/bdw.c | 2 +-
- sound/soc/sof/intel/byt.c | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c
-index 7b4cd1f456bf..141dad554764 100644
---- a/sound/soc/sof/intel/bdw.c
-+++ b/sound/soc/sof/intel/bdw.c
-@@ -598,7 +598,7 @@ const struct snd_sof_dsp_ops sof_bdw_ops = {
- SNDRV_PCM_INFO_MMAP_VALID |
- SNDRV_PCM_INFO_INTERLEAVED |
- SNDRV_PCM_INFO_PAUSE |
-- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
-+ SNDRV_PCM_INFO_BATCH,
- };
- EXPORT_SYMBOL(sof_bdw_ops);
-
-diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c
-index 514cf4b9ebf4..a39a90d61b8f 100644
---- a/sound/soc/sof/intel/byt.c
-+++ b/sound/soc/sof/intel/byt.c
-@@ -539,7 +539,7 @@ const struct snd_sof_dsp_ops sof_tng_ops = {
- SNDRV_PCM_INFO_MMAP_VALID |
- SNDRV_PCM_INFO_INTERLEAVED |
- SNDRV_PCM_INFO_PAUSE |
-- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
-+ SNDRV_PCM_INFO_BATCH,
- };
- EXPORT_SYMBOL(sof_tng_ops);
-
-@@ -707,7 +707,7 @@ const struct snd_sof_dsp_ops sof_byt_ops = {
- SNDRV_PCM_INFO_MMAP_VALID |
- SNDRV_PCM_INFO_INTERLEAVED |
- SNDRV_PCM_INFO_PAUSE |
-- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
-+ SNDRV_PCM_INFO_BATCH,
- };
- EXPORT_SYMBOL(sof_byt_ops);
-
-@@ -774,7 +774,7 @@ const struct snd_sof_dsp_ops sof_cht_ops = {
- SNDRV_PCM_INFO_MMAP_VALID |
- SNDRV_PCM_INFO_INTERLEAVED |
- SNDRV_PCM_INFO_PAUSE |
-- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP,
-+ SNDRV_PCM_INFO_BATCH,
- };
- EXPORT_SYMBOL(sof_cht_ops);
-
---
-2.24.1
-
-From ba899e9f4bddd20463b3ba20ba77918ada567e5a Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Mon, 28 Oct 2019 18:33:29 +0100
-Subject: [PATCH 039/109] ASoC: SOF - remove the dead code (skylake/kabylake)
-
-Appearently the CONFIG_SND_SOC_SOF_KABYLAKE and CONFIG_SND_SOC_SOF_SKYLAKE
-options are not present in Kconfig and 'struct snd_sof_dsp_ops sof_skl_ops'
-is not declared in the code, too.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Cc: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191028173329.29538-1-perex@perex.cz
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit c3ad1092e1069f27d0ca110dcaada8a5435ea3e0)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda.h | 1 -
- sound/soc/sof/sof-pci-dev.c | 44 -------------------------------------
- 2 files changed, 45 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
-index ea02bf40cb25..8e03d876a0ac 100644
---- a/sound/soc/sof/intel/hda.h
-+++ b/sound/soc/sof/intel/hda.h
-@@ -596,7 +596,6 @@ extern struct snd_soc_dai_driver skl_dai[];
- */
- extern const struct snd_sof_dsp_ops sof_apl_ops;
- extern const struct snd_sof_dsp_ops sof_cnl_ops;
--extern const struct snd_sof_dsp_ops sof_skl_ops;
-
- extern const struct sof_intel_dsp_desc apl_chip_info;
- extern const struct sof_intel_dsp_desc cnl_chip_info;
-diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
-index e0b150f29e81..067acf389af7 100644
---- a/sound/soc/sof/sof-pci-dev.c
-+++ b/sound/soc/sof/sof-pci-dev.c
-@@ -174,42 +174,6 @@ static const struct sof_dev_desc icl_desc = {
- };
- #endif
-
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE)
--static const struct sof_dev_desc skl_desc = {
-- .machines = snd_soc_acpi_intel_skl_machines,
-- .resindex_lpe_base = 0,
-- .resindex_pcicfg_base = -1,
-- .resindex_imr_base = -1,
-- .irqindex_host_ipc = -1,
-- .resindex_dma_base = -1,
-- .chip_info = &skl_chip_info,
-- .default_fw_path = "intel/sof",
-- .default_tplg_path = "intel/sof-tplg",
-- .nocodec_fw_filename = "sof-skl.ri",
-- .nocodec_tplg_filename = "sof-skl-nocodec.tplg",
-- .ops = &sof_skl_ops,
-- .arch_ops = &sof_xtensa_arch_ops
--};
--#endif
--
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE)
--static const struct sof_dev_desc kbl_desc = {
-- .machines = snd_soc_acpi_intel_kbl_machines,
-- .resindex_lpe_base = 0,
-- .resindex_pcicfg_base = -1,
-- .resindex_imr_base = -1,
-- .irqindex_host_ipc = -1,
-- .resindex_dma_base = -1,
-- .chip_info = &skl_chip_info,
-- .default_fw_path = "intel/sof",
-- .default_tplg_path = "intel/sof-tplg",
-- .nocodec_fw_filename = "sof-kbl.ri",
-- .nocodec_tplg_filename = "sof-kbl-nocodec.tplg",
-- .ops = &sof_skl_ops,
-- .arch_ops = &sof_xtensa_arch_ops
--};
--#endif
--
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_TIGERLAKE)
- static const struct sof_dev_desc tgl_desc = {
- .machines = snd_soc_acpi_intel_tgl_machines,
-@@ -435,14 +399,6 @@ static const struct pci_device_id sof_pci_ids[] = {
- { PCI_DEVICE(0x8086, 0xa348),
- .driver_data = (unsigned long)&cfl_desc},
- #endif
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE)
-- { PCI_DEVICE(0x8086, 0x9d71),
-- .driver_data = (unsigned long)&kbl_desc},
--#endif
--#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE)
-- { PCI_DEVICE(0x8086, 0x9d70),
-- .driver_data = (unsigned long)&skl_desc},
--#endif
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE)
- { PCI_DEVICE(0x8086, 0x34C8),
- .driver_data = (unsigned long)&icl_desc},
---
-2.24.1
-
-From daeba620beb2a67339b7043c2804cf7f1833dbef Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:10 +0200
-Subject: [PATCH 040/109] ASoC: hdac_hda: add support for HDMI/DP as a HDA
- codec
-
-Handle all HDA codecs using same logic, including HDMI/DP.
-
-Call to snd_hda_codec_build_controls() is delayed for HDMI/DP HDA
-devices. This is needed to discover the PCM device numbers as
-defined in topology.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-3-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 608b8c36c37114289e3ea328783161f542fdf71d)
-Bugzilla: 1772498
----
- sound/soc/codecs/hdac_hda.c | 114 ++++++++++++++++++++++++++++++++----
- sound/soc/codecs/hdac_hda.h | 13 +++-
- 2 files changed, 114 insertions(+), 13 deletions(-)
-
-diff --git a/sound/soc/codecs/hdac_hda.c b/sound/soc/codecs/hdac_hda.c
-index d78f4d856aaf..43110151e928 100644
---- a/sound/soc/codecs/hdac_hda.c
-+++ b/sound/soc/codecs/hdac_hda.c
-@@ -14,13 +14,11 @@
- #include <sound/pcm_params.h>
- #include <sound/soc.h>
- #include <sound/hdaudio_ext.h>
-+#include <sound/hda_i915.h>
- #include <sound/hda_codec.h>
- #include <sound/hda_register.h>
--#include "hdac_hda.h"
-
--#define HDAC_ANALOG_DAI_ID 0
--#define HDAC_DIGITAL_DAI_ID 1
--#define HDAC_ALT_ANALOG_DAI_ID 2
-+#include "hdac_hda.h"
-
- #define STUB_FORMATS (SNDRV_PCM_FMTBIT_S8 | \
- SNDRV_PCM_FMTBIT_U8 | \
-@@ -32,6 +30,11 @@
- SNDRV_PCM_FMTBIT_U32_LE | \
- SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE)
-
-+#define STUB_HDMI_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |\
-+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |\
-+ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |\
-+ SNDRV_PCM_RATE_192000)
-+
- static int hdac_hda_dai_open(struct snd_pcm_substream *substream,
- struct snd_soc_dai *dai);
- static void hdac_hda_dai_close(struct snd_pcm_substream *substream,
-@@ -121,7 +124,46 @@ static struct snd_soc_dai_driver hdac_hda_dais[] = {
- .formats = STUB_FORMATS,
- .sig_bits = 24,
- },
--}
-+},
-+{
-+ .id = HDAC_HDMI_0_DAI_ID,
-+ .name = "intel-hdmi-hifi1",
-+ .ops = &hdac_hda_dai_ops,
-+ .playback = {
-+ .stream_name = "hifi1",
-+ .channels_min = 1,
-+ .channels_max = 32,
-+ .rates = STUB_HDMI_RATES,
-+ .formats = STUB_FORMATS,
-+ .sig_bits = 24,
-+ },
-+},
-+{
-+ .id = HDAC_HDMI_1_DAI_ID,
-+ .name = "intel-hdmi-hifi2",
-+ .ops = &hdac_hda_dai_ops,
-+ .playback = {
-+ .stream_name = "hifi2",
-+ .channels_min = 1,
-+ .channels_max = 32,
-+ .rates = STUB_HDMI_RATES,
-+ .formats = STUB_FORMATS,
-+ .sig_bits = 24,
-+ },
-+},
-+{
-+ .id = HDAC_HDMI_2_DAI_ID,
-+ .name = "intel-hdmi-hifi3",
-+ .ops = &hdac_hda_dai_ops,
-+ .playback = {
-+ .stream_name = "hifi3",
-+ .channels_min = 1,
-+ .channels_max = 32,
-+ .rates = STUB_HDMI_RATES,
-+ .formats = STUB_FORMATS,
-+ .sig_bits = 24,
-+ },
-+},
-
- };
-
-@@ -135,10 +177,11 @@ static int hdac_hda_dai_set_tdm_slot(struct snd_soc_dai *dai,
-
- hda_pvt = snd_soc_component_get_drvdata(component);
- pcm = &hda_pvt->pcm[dai->id];
-+
- if (tx_mask)
-- pcm[dai->id].stream_tag[SNDRV_PCM_STREAM_PLAYBACK] = tx_mask;
-+ pcm->stream_tag[SNDRV_PCM_STREAM_PLAYBACK] = tx_mask;
- else
-- pcm[dai->id].stream_tag[SNDRV_PCM_STREAM_CAPTURE] = rx_mask;
-+ pcm->stream_tag[SNDRV_PCM_STREAM_CAPTURE] = rx_mask;
-
- return 0;
- }
-@@ -278,6 +321,12 @@ static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt,
- struct hda_pcm *cpcm;
- const char *pcm_name;
-
-+ /*
-+ * map DAI ID to the closest matching PCM name, using the naming
-+ * scheme used by hda-codec snd_hda_gen_build_pcms() and for
-+ * HDMI in hda_codec patch_hdmi.c)
-+ */
-+
- switch (dai->id) {
- case HDAC_ANALOG_DAI_ID:
- pcm_name = "Analog";
-@@ -288,13 +337,22 @@ static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt,
- case HDAC_ALT_ANALOG_DAI_ID:
- pcm_name = "Alt Analog";
- break;
-+ case HDAC_HDMI_0_DAI_ID:
-+ pcm_name = "HDMI 0";
-+ break;
-+ case HDAC_HDMI_1_DAI_ID:
-+ pcm_name = "HDMI 1";
-+ break;
-+ case HDAC_HDMI_2_DAI_ID:
-+ pcm_name = "HDMI 2";
-+ break;
- default:
- dev_err(&hcodec->core.dev, "invalid dai id %d\n", dai->id);
- return NULL;
- }
-
- list_for_each_entry(cpcm, &hcodec->pcm_list_head, list) {
-- if (strpbrk(cpcm->name, pcm_name))
-+ if (strstr(cpcm->name, pcm_name))
- return cpcm;
- }
-
-@@ -302,6 +360,18 @@ static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt,
- return NULL;
- }
-
-+static bool is_hdmi_codec(struct hda_codec *hcodec)
-+{
-+ struct hda_pcm *cpcm;
-+
-+ list_for_each_entry(cpcm, &hcodec->pcm_list_head, list) {
-+ if (cpcm->pcm_type == HDA_PCM_TYPE_HDMI)
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
- static int hdac_hda_codec_probe(struct snd_soc_component *component)
- {
- struct hdac_hda_priv *hda_pvt =
-@@ -322,6 +392,15 @@ static int hdac_hda_codec_probe(struct snd_soc_component *component)
-
- snd_hdac_ext_bus_link_get(hdev->bus, hlink);
-
-+ /*
-+ * Ensure any HDA display is powered at codec probe.
-+ * After snd_hda_codec_device_new(), display power is
-+ * managed by runtime PM.
-+ */
-+ if (hda_pvt->need_display_power)
-+ snd_hdac_display_power(hdev->bus,
-+ HDA_CODEC_IDX_CONTROLLER, true);
-+
- ret = snd_hda_codec_device_new(hcodec->bus, component->card->snd_card,
- hdev->addr, hcodec);
- if (ret < 0) {
-@@ -366,20 +445,31 @@ static int hdac_hda_codec_probe(struct snd_soc_component *component)
- dev_dbg(&hdev->dev, "no patch file found\n");
- }
-
-+ /* configure codec for 1:1 PCM:DAI mapping */
-+ hcodec->mst_no_extra_pcms = 1;
-+
- ret = snd_hda_codec_parse_pcms(hcodec);
- if (ret < 0) {
- dev_err(&hdev->dev, "unable to map pcms to dai %d\n", ret);
- goto error;
- }
-
-- ret = snd_hda_codec_build_controls(hcodec);
-- if (ret < 0) {
-- dev_err(&hdev->dev, "unable to create controls %d\n", ret);
-- goto error;
-+ /* HDMI controls need to be created in machine drivers */
-+ if (!is_hdmi_codec(hcodec)) {
-+ ret = snd_hda_codec_build_controls(hcodec);
-+ if (ret < 0) {
-+ dev_err(&hdev->dev, "unable to create controls %d\n",
-+ ret);
-+ goto error;
-+ }
- }
-
- hcodec->core.lazy_cache = true;
-
-+ if (hda_pvt->need_display_power)
-+ snd_hdac_display_power(hdev->bus,
-+ HDA_CODEC_IDX_CONTROLLER, false);
-+
- /*
- * hdac_device core already sets the state to active and calls
- * get_noresume. So enable runtime and set the device to suspend.
-diff --git a/sound/soc/codecs/hdac_hda.h b/sound/soc/codecs/hdac_hda.h
-index 6b1bd4f428e7..e145cec085b8 100644
---- a/sound/soc/codecs/hdac_hda.h
-+++ b/sound/soc/codecs/hdac_hda.h
-@@ -6,6 +6,16 @@
- #ifndef __HDAC_HDA_H__
- #define __HDAC_HDA_H__
-
-+enum {
-+ HDAC_ANALOG_DAI_ID = 0,
-+ HDAC_DIGITAL_DAI_ID,
-+ HDAC_ALT_ANALOG_DAI_ID,
-+ HDAC_HDMI_0_DAI_ID,
-+ HDAC_HDMI_1_DAI_ID,
-+ HDAC_HDMI_2_DAI_ID,
-+ HDAC_LAST_DAI_ID = HDAC_HDMI_2_DAI_ID,
-+};
-+
- struct hdac_hda_pcm {
- int stream_tag[2];
- unsigned int format_val[2];
-@@ -13,7 +23,8 @@ struct hdac_hda_pcm {
-
- struct hdac_hda_priv {
- struct hda_codec codec;
-- struct hdac_hda_pcm pcm[2];
-+ struct hdac_hda_pcm pcm[HDAC_LAST_DAI_ID];
-+ bool need_display_power;
- };
-
- #define hdac_to_hda_priv(_hdac) \
---
-2.24.1
-
-From c8494550b526e38b4db5ad1b3248d5713984ee72 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:35 -0500
-Subject: [PATCH 041/109] ASoC: SOF: Intel: Baytrail: clarify mutual exclusion
- with Atom/SST driver
-
-Some distros select all options blindly, which leads to confusion and
-bug reports. Since SOF does not support Baytrail-CR for now, and
-UCM/topology files are still being propagated to downstream distros,
-make SOF on Baytrail an opt-in option that first require distros to
-opt-out of existing defaults.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit df7257e544faf838c3e7ad6b4e89ffe59e87f5e1)
-Bugzilla: 1772498
----
- sound/soc/intel/Kconfig | 3 +++
- sound/soc/sof/intel/Kconfig | 10 +++++++++-
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
-index c15230cec851..658eff2daf4e 100644
---- a/sound/soc/intel/Kconfig
-+++ b/sound/soc/intel/Kconfig
-@@ -104,6 +104,9 @@ config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
- If you have a Intel Baytrail or Cherrytrail platform with an I2S
- codec, then enable this option by saying Y or m. This is a
- recommended option
-+ This option is mutually exclusive with the SOF support on
-+ Baytrail/Cherrytrail. If you want to enable SOF on
-+ Baytrail/Cherrytrail, you need to deselect this option first.
-
- config SND_SOC_INTEL_SKYLAKE
- tristate "All Skylake/SST Platforms"
-diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig
-index a40e10dc80d5..6e9a2633871f 100644
---- a/sound/soc/sof/intel/Kconfig
-+++ b/sound/soc/sof/intel/Kconfig
-@@ -62,10 +62,18 @@ if SND_SOC_SOF_INTEL_ACPI
-
- config SND_SOC_SOF_BAYTRAIL_SUPPORT
- bool "SOF support for Baytrail, Braswell and Cherrytrail"
-+ depends on SND_SST_ATOM_HIFI2_PLATFORM_ACPI=n
- help
- This adds support for Sound Open Firmware for Intel(R) platforms
- using the Baytrail, Braswell or Cherrytrail processors.
-- Say Y if you have such a device.
-+ This option is mutually exclusive with the Atom/SST and Baytrail
-+ legacy drivers. If you want to enable SOF on Baytrail/Cherrytrail,
-+ you need to deselect those options first.
-+ SOF does not support Baytrail-CR for now, so this option is not
-+ recommended for distros. At some point all legacy drivers will be
-+ deprecated but not before all userspace firmware/topology/UCM files
-+ are made available to downstream distros.
-+ Say Y if you want to enable SOF on Baytrail/Cherrytrail
- If unsure select "N".
-
- config SND_SOC_SOF_BAYTRAIL
---
-2.24.1
-
-From a83dca7b0d30f65ef5a06c46ce2140ead3a3443e Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:38 -0500
-Subject: [PATCH 042/109] ASoC: SOF: Kconfig: add EXPERT dependency for
- developer options, clarify help
-
-Some distros select all possible options, despite existing warnings to
-be careful. This leads to e.g. user reports that the HDaudio codec and
-DMIC are not handled by SOF.
-
-Add an explicit menu item to unlock developer options, and make them
-dependent on CONFIG_EXPERT. Hopefully with this double-lock these
-options will only be selected by developers.
-
-GitHub issue: https://github.com/thesofproject/sof/issues/1885
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-5-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 70ae4eb540af32ee6a6260143ccae6054ebd433f)
-Bugzilla: 1772498
----
- sound/soc/sof/Kconfig | 25 ++++++++++++++++---------
- 1 file changed, 16 insertions(+), 9 deletions(-)
-
-diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig
-index 56a3ab66b46b..6435eb531668 100644
---- a/sound/soc/sof/Kconfig
-+++ b/sound/soc/sof/Kconfig
-@@ -14,7 +14,6 @@ config SND_SOC_SOF_PCI
- depends on PCI
- select SND_SOC_SOF
- select SND_SOC_ACPI if ACPI
-- select SND_SOC_SOF_OPTIONS
- select SND_SOC_SOF_INTEL_PCI if SND_SOC_SOF_INTEL_TOPLEVEL
- help
- This adds support for PCI enumeration. This option is
-@@ -27,7 +26,6 @@ config SND_SOC_SOF_ACPI
- depends on ACPI || COMPILE_TEST
- select SND_SOC_SOF
- select SND_SOC_ACPI if ACPI
-- select SND_SOC_SOF_OPTIONS
- select SND_SOC_SOF_INTEL_ACPI if SND_SOC_SOF_INTEL_TOPLEVEL
- select IOSF_MBI if X86 && PCI
- help
-@@ -40,19 +38,23 @@ config SND_SOC_SOF_OF
- tristate "SOF OF enumeration support"
- depends on OF || COMPILE_TEST
- select SND_SOC_SOF
-- select SND_SOC_SOF_OPTIONS
- help
- This adds support for Device Tree enumeration. This option is
- required to enable i.MX8 devices.
- Say Y if you need this option. If unsure select "N".
-
--config SND_SOC_SOF_OPTIONS
-- tristate
-+config SND_SOC_SOF_DEVELOPER_SUPPORT
-+ bool "SOF developer options support"
-+ depends on EXPERT
- help
-- This option is not user-selectable but automagically handled by
-- 'select' statements at a higher level
-+ This option unlock SOF developer options for debug/performance/
-+ code hardening.
-+ Distributions should not select this option, only SOF development
-+ teams should select it.
-+ Say Y if you are involved in SOF development and need this option
-+ If not, select N
-
--if SND_SOC_SOF_OPTIONS
-+if SND_SOC_SOF_DEVELOPER_SUPPORT
-
- config SND_SOC_SOF_NOCODEC
- tristate
-@@ -64,6 +66,11 @@ config SND_SOC_SOF_NOCODEC_SUPPORT
- option if no known codec is detected. This is typically only
- enabled for developers or devices where the sound card is
- controlled externally
-+ This option is mutually exclusive with the Intel HDaudio support,
-+ selecting it may have negative impacts and prevent e.g. microphone
-+ functionality from being enabled on Intel CoffeeLake and later
-+ platforms.
-+ Distributions should not select this option!
- Say Y if you need this nocodec fallback option
- If unsure select "N".
-
-@@ -168,7 +175,7 @@ config SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT
-
- endif ## SND_SOC_SOF_DEBUG
-
--endif ## SND_SOC_SOF_OPTIONS
-+endif ## SND_SOC_SOF_DEVELOPER_SUPPORT
-
- config SND_SOC_SOF
- tristate
---
-2.24.1
-
-From 43b263fd28a8cae9172f26bc6d35c5cee916f1e0 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:40 -0500
-Subject: [PATCH 043/109] ASoC: SOF: Intel: use def_tristate, avoid using
- select
-
-So far we used select to use the relevant built-in/module options, but
-this led to blurring layers between core and Intel Kconfigs.
-
-Use def_tristate works just as well and removes Intel stuff from the code.
-
-Suggested-by: Arnd Bergmann <arnd@arndb.de>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-7-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit b000135e5f272118e576e9720590e5979f0abe49)
-Bugzilla: 1772498
----
- sound/soc/sof/Kconfig | 2 --
- sound/soc/sof/intel/Kconfig | 4 ++--
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig
-index 6435eb531668..71a0fc075a63 100644
---- a/sound/soc/sof/Kconfig
-+++ b/sound/soc/sof/Kconfig
-@@ -14,7 +14,6 @@ config SND_SOC_SOF_PCI
- depends on PCI
- select SND_SOC_SOF
- select SND_SOC_ACPI if ACPI
-- select SND_SOC_SOF_INTEL_PCI if SND_SOC_SOF_INTEL_TOPLEVEL
- help
- This adds support for PCI enumeration. This option is
- required to enable Intel Skylake+ devices
-@@ -26,7 +25,6 @@ config SND_SOC_SOF_ACPI
- depends on ACPI || COMPILE_TEST
- select SND_SOC_SOF
- select SND_SOC_ACPI if ACPI
-- select SND_SOC_SOF_INTEL_ACPI if SND_SOC_SOF_INTEL_TOPLEVEL
- select IOSF_MBI if X86 && PCI
- help
- This adds support for ACPI enumeration. This option is required
-diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig
-index 6e9a2633871f..acc3e91d9244 100644
---- a/sound/soc/sof/intel/Kconfig
-+++ b/sound/soc/sof/intel/Kconfig
-@@ -10,7 +10,7 @@ config SND_SOC_SOF_INTEL_TOPLEVEL
- if SND_SOC_SOF_INTEL_TOPLEVEL
-
- config SND_SOC_SOF_INTEL_ACPI
-- tristate
-+ def_tristate SND_SOC_SOF_ACPI
- select SND_SOC_SOF_BAYTRAIL if SND_SOC_SOF_BAYTRAIL_SUPPORT
- select SND_SOC_SOF_BROADWELL if SND_SOC_SOF_BROADWELL_SUPPORT
- help
-@@ -18,7 +18,7 @@ config SND_SOC_SOF_INTEL_ACPI
- 'select' statements at a higher level
-
- config SND_SOC_SOF_INTEL_PCI
-- tristate
-+ def_tristate SND_SOC_SOF_PCI
- select SND_SOC_SOF_MERRIFIELD if SND_SOC_SOF_MERRIFIELD_SUPPORT
- select SND_SOC_SOF_APOLLOLAKE if SND_SOC_SOF_APOLLOLAKE_SUPPORT
- select SND_SOC_SOF_GEMINILAKE if SND_SOC_SOF_GEMINILAKE_SUPPORT
---
-2.24.1
-
-From cedd030ba9990481d92f7461439460d1e93ac6f7 Mon Sep 17 00:00:00 2001
-From: Krzysztof Kozlowski <krzk@kernel.org>
-Date: Fri, 4 Oct 2019 16:49:31 +0200
-Subject: [PATCH 044/109] sound: Fix Kconfig indentation
-
-Adjust indentation from spaces to tab (+optional two spaces) as in
-coding style with command like:
- $ sed -e 's/^ /\t/' -i */Kconfig
-
-Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-Acked-by: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191004144931.3851-1-krzk@kernel.org
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 82e8d723e9e6698572098bf2976223d5069b34b5)
-Bugzilla: 1772498
----
- sound/core/Kconfig | 28 ++++++++++----------
- sound/drivers/Kconfig | 20 +++++++-------
- sound/firewire/Kconfig | 6 ++---
- sound/isa/Kconfig | 18 ++++++-------
- sound/mips/Kconfig | 12 ++++-----
- sound/pci/Kconfig | 2 +-
- sound/soc/cirrus/Kconfig | 14 +++++-----
- sound/soc/codecs/Kconfig | 32 +++++++++++------------
- sound/soc/intel/Kconfig | 2 +-
- sound/soc/intel/boards/Kconfig | 48 +++++++++++++++++-----------------
- sound/soc/pxa/Kconfig | 16 ++++++------
- sound/soc/qcom/Kconfig | 20 +++++++-------
- sound/soc/samsung/Kconfig | 8 +++---
- sound/soc/sof/imx/Kconfig | 12 ++++-----
- sound/soc/sof/intel/Kconfig | 22 ++++++++--------
- sound/soc/xilinx/Kconfig | 20 +++++++-------
- sound/soc/zte/Kconfig | 12 ++++-----
- sound/usb/Kconfig | 32 +++++++++++------------
- 18 files changed, 162 insertions(+), 162 deletions(-)
-
-diff --git a/sound/core/Kconfig b/sound/core/Kconfig
-index 4ee79ad6ae22..4044c42d8595 100644
---- a/sound/core/Kconfig
-+++ b/sound/core/Kconfig
-@@ -72,11 +72,11 @@ config SND_PCM_OSS
- config SND_PCM_OSS_PLUGINS
- bool "OSS PCM (digital audio) API - Include plugin system"
- depends on SND_PCM_OSS
-- default y
-+ default y
- help
-- If you disable this option, the ALSA's OSS PCM API will not
-- support conversion of channels, formats and rates. It will
-- behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
-+ If you disable this option, the ALSA's OSS PCM API will not
-+ support conversion of channels, formats and rates. It will
-+ behave like most of new OSS/Free drivers in 2.4/2.6 kernels.
-
- config SND_PCM_TIMER
- bool "PCM timer interface" if EXPERT
-@@ -128,13 +128,13 @@ config SND_SUPPORT_OLD_API
- or older).
-
- config SND_PROC_FS
-- bool "Sound Proc FS Support" if EXPERT
-- depends on PROC_FS
-- default y
-- help
-- Say 'N' to disable Sound proc FS, which may reduce code size about
-- 9KB on x86_64 platform.
-- If unsure say Y.
-+ bool "Sound Proc FS Support" if EXPERT
-+ depends on PROC_FS
-+ default y
-+ help
-+ Say 'N' to disable Sound proc FS, which may reduce code size about
-+ 9KB on x86_64 platform.
-+ If unsure say Y.
-
- config SND_VERBOSE_PROCFS
- bool "Verbose procfs contents"
-@@ -142,8 +142,8 @@ config SND_VERBOSE_PROCFS
- default y
- help
- Say Y here to include code for verbose procfs contents (provides
-- useful information to developers when a problem occurs). On the
-- other side, it makes the ALSA subsystem larger.
-+ useful information to developers when a problem occurs). On the
-+ other side, it makes the ALSA subsystem larger.
-
- config SND_VERBOSE_PRINTK
- bool "Verbose printk"
-@@ -164,7 +164,7 @@ config SND_DEBUG_VERBOSE
- depends on SND_DEBUG
- help
- Say Y here to enable extra-verbose debugging messages.
--
-+
- Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages.
- So, say Y only if you are ready to be annoyed.
-
-diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig
-index 09932cc98e9d..15d6d46acf9c 100644
---- a/sound/drivers/Kconfig
-+++ b/sound/drivers/Kconfig
-@@ -1,7 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0-only
- config SND_MPU401_UART
-- tristate
-- select SND_RAWMIDI
-+ tristate
-+ select SND_RAWMIDI
-
- config SND_OPL3_LIB
- tristate
-@@ -90,16 +90,16 @@ config SND_DUMMY
- will be called snd-dummy.
-
- config SND_ALOOP
-- tristate "Generic loopback driver (PCM)"
-- select SND_PCM
-- help
-- Say 'Y' or 'M' to include support for the PCM loopback device.
-+ tristate "Generic loopback driver (PCM)"
-+ select SND_PCM
-+ help
-+ Say 'Y' or 'M' to include support for the PCM loopback device.
- This module returns played samples back to the user space using
- the standard ALSA PCM device. The devices are routed 0->1 and
-- 1->0, where first number is the playback PCM device and second
-+ 1->0, where first number is the playback PCM device and second
- number is the capture device. Module creates two PCM devices and
- configured number of substreams (see the pcm_substreams module
-- parameter).
-+ parameter).
-
- The loopback device allows time sychronization with an external
- timing source using the time shift universal control (+-20%
-@@ -142,12 +142,12 @@ config SND_MTS64
- select SND_RAWMIDI
- help
- The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with
-- additional SMPTE Timecode capabilities for the parallel port.
-+ additional SMPTE Timecode capabilities for the parallel port.
-
- Say 'Y' to include support for this device.
-
- To compile this driver as a module, chose 'M' here: the module
-- will be called snd-mts64.
-+ will be called snd-mts64.
-
- config SND_SERIAL_U16550
- tristate "UART16550 serial MIDI driver"
-diff --git a/sound/firewire/Kconfig b/sound/firewire/Kconfig
-index b0a904cdb932..995c2cefc222 100644
---- a/sound/firewire/Kconfig
-+++ b/sound/firewire/Kconfig
-@@ -77,7 +77,7 @@ config SND_BEBOB
- tristate "BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware"
- select SND_FIREWIRE_LIB
- select SND_HWDEP
-- help
-+ help
- Say Y here to include support for FireWire devices based
- on BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware:
- * Edirol FA-66/FA-101
-@@ -111,8 +111,8 @@ config SND_BEBOB
- * M-Audio FireWire 1814/ProjectMix IO
- * Digidesign Mbox 2 Pro
-
-- To compile this driver as a module, choose M here: the module
-- will be called snd-bebob.
-+ To compile this driver as a module, choose M here: the module
-+ will be called snd-bebob.
-
- config SND_FIREWIRE_DIGI00X
- tristate "Digidesign Digi 002/003 family support"
-diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
-index b690ed937cbe..6ffa48dd5983 100644
---- a/sound/isa/Kconfig
-+++ b/sound/isa/Kconfig
-@@ -2,22 +2,22 @@
- # ALSA ISA drivers
-
- config SND_WSS_LIB
-- tristate
-- select SND_PCM
-+ tristate
-+ select SND_PCM
- select SND_TIMER
-
- config SND_SB_COMMON
-- tristate
-+ tristate
-
- config SND_SB8_DSP
-- tristate
-- select SND_PCM
-- select SND_SB_COMMON
-+ tristate
-+ select SND_PCM
-+ select SND_SB_COMMON
-
- config SND_SB16_DSP
-- tristate
-- select SND_PCM
-- select SND_SB_COMMON
-+ tristate
-+ select SND_PCM
-+ select SND_SB_COMMON
-
- menuconfig SND_ISA
- bool "ISA sound devices"
-diff --git a/sound/mips/Kconfig b/sound/mips/Kconfig
-index 8a33402fd415..b497b803c834 100644
---- a/sound/mips/Kconfig
-+++ b/sound/mips/Kconfig
-@@ -14,15 +14,15 @@ config SND_SGI_O2
- tristate "SGI O2 Audio"
- depends on SGI_IP32
- select SND_PCM
-- help
-- Sound support for the SGI O2 Workstation.
-+ help
-+ Sound support for the SGI O2 Workstation.
-
- config SND_SGI_HAL2
-- tristate "SGI HAL2 Audio"
-- depends on SGI_HAS_HAL2
-+ tristate "SGI HAL2 Audio"
-+ depends on SGI_HAS_HAL2
- select SND_PCM
-- help
-- Sound support for the SGI Indy and Indigo2 Workstation.
-+ help
-+ Sound support for the SGI Indy and Indigo2 Workstation.
-
- endif # SND_MIPS
-
-diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
-index 7630f808d087..93bc9bef7641 100644
---- a/sound/pci/Kconfig
-+++ b/sound/pci/Kconfig
-@@ -217,7 +217,7 @@ config SND_CMIPCI
- will be called snd-cmipci.
-
- config SND_OXYGEN_LIB
-- tristate
-+ tristate
-
- config SND_OXYGEN
- tristate "C-Media 8786, 8787, 8788 (Oxygen)"
-diff --git a/sound/soc/cirrus/Kconfig b/sound/soc/cirrus/Kconfig
-index 2333efac758a..8039a8febefa 100644
---- a/sound/soc/cirrus/Kconfig
-+++ b/sound/soc/cirrus/Kconfig
-@@ -33,13 +33,13 @@ config SND_EP93XX_SOC_AC97
- select SND_SOC_AC97_BUS
-
- config SND_EP93XX_SOC_SNAPPERCL15
-- tristate "SoC Audio support for Bluewater Systems Snapper CL15 module"
-- depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C
-- select SND_EP93XX_SOC_I2S
-- select SND_SOC_TLV320AIC23_I2C
-- help
-- Say Y or M here if you want to add support for I2S audio on the
-- Bluewater Systems Snapper CL15 module.
-+ tristate "SoC Audio support for Bluewater Systems Snapper CL15 module"
-+ depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C
-+ select SND_EP93XX_SOC_I2S
-+ select SND_SOC_TLV320AIC23_I2C
-+ help
-+ Say Y or M here if you want to add support for I2S audio on the
-+ Bluewater Systems Snapper CL15 module.
-
- config SND_EP93XX_SOC_SIMONE
- tristate "SoC Audio support for Simplemachines Sim.One board"
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 229cc89f8c5a..ef9d73b89623 100644
---- a/sound/soc/codecs/Kconfig
-+++ b/sound/soc/codecs/Kconfig
-@@ -257,16 +257,16 @@ config SND_SOC_ALL_CODECS
- select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
- select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
- select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW)
-- help
-- Normally ASoC codec drivers are only built if a machine driver which
-- uses them is also built since they are only usable with a machine
-- driver. Selecting this option will allow these drivers to be built
-- without an explicit machine driver for test and development purposes.
-+ help
-+ Normally ASoC codec drivers are only built if a machine driver which
-+ uses them is also built since they are only usable with a machine
-+ driver. Selecting this option will allow these drivers to be built
-+ without an explicit machine driver for test and development purposes.
-
- Support for the bus types used to access the codecs to be built must
- be selected separately.
-
-- If unsure select "N".
-+ If unsure select "N".
-
- config SND_SOC_88PM860X
- tristate
-@@ -570,8 +570,8 @@ config SND_SOC_CS42XX8_I2C
-
- # Cirrus Logic CS43130 HiFi DAC
- config SND_SOC_CS43130
-- tristate "Cirrus Logic CS43130 CODEC"
-- depends on I2C
-+ tristate "Cirrus Logic CS43130 CODEC"
-+ depends on I2C
-
- config SND_SOC_CS4341
- tristate "Cirrus Logic CS4341 CODEC"
-@@ -643,19 +643,19 @@ config SND_SOC_L3
- tristate
-
- config SND_SOC_DA7210
-- tristate
-+ tristate
-
- config SND_SOC_DA7213
-- tristate
-+ tristate
-
- config SND_SOC_DA7218
- tristate
-
- config SND_SOC_DA7219
-- tristate
-+ tristate
-
- config SND_SOC_DA732X
-- tristate
-+ tristate
-
- config SND_SOC_DA9055
- tristate
-@@ -717,7 +717,7 @@ config SND_SOC_INNO_RK3036
- select REGMAP_MMIO
-
- config SND_SOC_ISABELLE
-- tristate
-+ tristate
-
- config SND_SOC_LM49453
- tristate
-@@ -988,7 +988,7 @@ config SND_SOC_RT5640
- tristate
-
- config SND_SOC_RT5645
-- tristate
-+ tristate
-
- config SND_SOC_RT5651
- tristate
-@@ -1220,7 +1220,7 @@ config SND_SOC_UDA134X
- tristate
-
- config SND_SOC_UDA1380
-- tristate
-+ tristate
- depends on I2C
-
- config SND_SOC_WCD9335
-@@ -1348,7 +1348,7 @@ config SND_SOC_WM8904
- depends on I2C
-
- config SND_SOC_WM8940
-- tristate
-+ tristate
-
- config SND_SOC_WM8955
- tristate
-diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
-index 658eff2daf4e..7e9feca333b7 100644
---- a/sound/soc/intel/Kconfig
-+++ b/sound/soc/intel/Kconfig
-@@ -119,7 +119,7 @@ config SND_SOC_INTEL_SKYLAKE
- select SND_SOC_INTEL_CNL
- select SND_SOC_INTEL_CFL
- help
-- This is a backwards-compatible option to select all devices
-+ This is a backwards-compatible option to select all devices
- supported by the Intel SST/Skylake driver. This option is no
- longer recommended and will be deprecated when the SOF
- driver is introduced. Distributions should explicitly
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index 5c27f7ab4a5f..882ff36a7c9c 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -3,13 +3,13 @@ menuconfig SND_SOC_INTEL_MACH
- bool "Intel Machine drivers"
- depends on SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
- help
-- Intel ASoC Machine Drivers. If you have a Intel machine that
-- has an audio controller with a DSP and I2S or DMIC port, then
-- enable this option by saying Y
-+ Intel ASoC Machine Drivers. If you have a Intel machine that
-+ has an audio controller with a DSP and I2S or DMIC port, then
-+ enable this option by saying Y
-
-- Note that the answer to this question doesn't directly affect the
-- kernel: saying N will just cause the configurator to skip all
-- the questions about Intel ASoC machine drivers.
-+ Note that the answer to this question doesn't directly affect the
-+ kernel: saying N will just cause the configurator to skip all
-+ the questions about Intel ASoC machine drivers.
-
- if SND_SOC_INTEL_MACH
-
-@@ -114,11 +114,11 @@ config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
- depends on X86_INTEL_LPSS || COMPILE_TEST
- select SND_SOC_ACPI
- select SND_SOC_RT5670
-- help
-- This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
-- platforms with RT5672 audio codec.
-- Say Y or m if you have such a device. This is a recommended option.
-- If unsure select "N".
-+ help
-+ This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
-+ platforms with RT5672 audio codec.
-+ Say Y or m if you have such a device. This is a recommended option.
-+ If unsure select "N".
-
- config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
- tristate "Cherrytrail & Braswell with RT5645/5650 codec"
-@@ -311,20 +311,20 @@ config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
- If unsure select "N".
-
- config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
-- tristate "KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
-+ tristate "KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
- depends on I2C && ACPI
- depends on MFD_INTEL_LPSS || COMPILE_TEST
-- depends on SPI
-- select SND_SOC_RT5663
-- select SND_SOC_RT5514
-- select SND_SOC_RT5514_SPI
-- select SND_SOC_MAX98927
-- select SND_SOC_HDAC_HDMI
-- help
-- This adds support for ASoC Onboard Codec I2S machine driver. This will
-- create an alsa sound card for RT5663 + RT5514 + MAX98927.
-- Say Y or m if you have such a device. This is a recommended option.
-- If unsure select "N".
-+ depends on SPI
-+ select SND_SOC_RT5663
-+ select SND_SOC_RT5514
-+ select SND_SOC_RT5514_SPI
-+ select SND_SOC_MAX98927
-+ select SND_SOC_HDAC_HDMI
-+ help
-+ This adds support for ASoC Onboard Codec I2S machine driver. This will
-+ create an alsa sound card for RT5663 + RT5514 + MAX98927.
-+ Say Y or m if you have such a device. This is a recommended option.
-+ If unsure select "N".
-
- config SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH
- tristate "KBL with DA7219 and MAX98357A in I2S Mode"
-@@ -393,7 +393,7 @@ config SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH
- help
- This adds support for ASoC machine driver for Intel platforms
- SKL/KBL/BXT/APL with iDisp, HDA audio codecs.
-- Say Y or m if you have such a device. This is a recommended option.
-+ Say Y or m if you have such a device. This is a recommended option.
- If unsure select "N".
-
- endif ## SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC
-diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig
-index 213d4dab0346..295cfffa4646 100644
---- a/sound/soc/pxa/Kconfig
-+++ b/sound/soc/pxa/Kconfig
-@@ -190,14 +190,14 @@ config SND_PXA2XX_SOC_MAGICIAN
- HTC Magician.
-
- config SND_PXA2XX_SOC_MIOA701
-- tristate "SoC Audio support for MIO A701"
-- depends on SND_PXA2XX_SOC && MACH_MIOA701
-+ tristate "SoC Audio support for MIO A701"
-+ depends on SND_PXA2XX_SOC && MACH_MIOA701
- depends on AC97_BUS=n
-- select SND_PXA2XX_SOC_AC97
-- select SND_SOC_WM9713
-- help
-- Say Y if you want to add support for SoC audio on the
-- MIO A701.
-+ select SND_PXA2XX_SOC_AC97
-+ select SND_SOC_WM9713
-+ help
-+ Say Y if you want to add support for SoC audio on the
-+ MIO A701.
-
- config SND_PXA2XX_SOC_IMOTE2
- tristate "SoC Audio support for IMote 2"
-@@ -205,7 +205,7 @@ config SND_PXA2XX_SOC_IMOTE2
- select SND_PXA2XX_SOC_I2S
- select SND_SOC_WM8940
- help
-- Say Y if you want to add support for SoC audio on the
-+ Say Y if you want to add support for SoC audio on the
- IMote 2.
-
- config SND_MMP_SOC_BROWNSTONE
-diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig
-index 60086858e920..6530d2462a9e 100644
---- a/sound/soc/qcom/Kconfig
-+++ b/sound/soc/qcom/Kconfig
-@@ -3,8 +3,8 @@ config SND_SOC_QCOM
- tristate "ASoC support for QCOM platforms"
- depends on ARCH_QCOM || COMPILE_TEST
- help
-- Say Y or M if you want to add support to use audio devices
-- in Qualcomm Technologies SOC-based platforms.
-+ Say Y or M if you want to add support to use audio devices
-+ in Qualcomm Technologies SOC-based platforms.
-
- config SND_SOC_LPASS_CPU
- tristate
-@@ -30,17 +30,17 @@ config SND_SOC_STORM
- select SND_SOC_LPASS_IPQ806X
- select SND_SOC_MAX98357A
- help
-- Say Y or M if you want add support for SoC audio on the
-- Qualcomm Technologies IPQ806X-based Storm board.
-+ Say Y or M if you want add support for SoC audio on the
-+ Qualcomm Technologies IPQ806X-based Storm board.
-
- config SND_SOC_APQ8016_SBC
- tristate "SoC Audio support for APQ8016 SBC platforms"
- depends on SND_SOC_QCOM
- select SND_SOC_LPASS_APQ8016
- help
-- Support for Qualcomm Technologies LPASS audio block in
-- APQ8016 SOC-based systems.
-- Say Y if you want to use audio devices on MI2S.
-+ Support for Qualcomm Technologies LPASS audio block in
-+ APQ8016 SOC-based systems.
-+ Say Y if you want to use audio devices on MI2S.
-
- config SND_SOC_QCOM_COMMON
- tristate
-@@ -93,9 +93,9 @@ config SND_SOC_MSM8996
- select SND_SOC_QDSP6
- select SND_SOC_QCOM_COMMON
- help
-- Support for Qualcomm Technologies LPASS audio block in
-- APQ8096 SoC-based systems.
-- Say Y if you want to use audio device on this SoCs
-+ Support for Qualcomm Technologies LPASS audio block in
-+ APQ8096 SoC-based systems.
-+ Say Y if you want to use audio device on this SoCs
-
- config SND_SOC_SDM845
- tristate "SoC Machine driver for SDM845 boards"
-diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
-index 638983123d8f..9304177de78a 100644
---- a/sound/soc/samsung/Kconfig
-+++ b/sound/soc/samsung/Kconfig
-@@ -195,10 +195,10 @@ config SND_SOC_ODROID
- Say Y here to enable audio support for the Odroid XU3/XU4.
-
- config SND_SOC_ARNDALE_RT5631_ALC5631
-- tristate "Audio support for RT5631(ALC5631) on Arndale Board"
-- depends on I2C
-- select SND_SAMSUNG_I2S
-- select SND_SOC_RT5631
-+ tristate "Audio support for RT5631(ALC5631) on Arndale Board"
-+ depends on I2C
-+ select SND_SAMSUNG_I2S
-+ select SND_SOC_RT5631
-
- config SND_SOC_SAMSUNG_TM2_WM5110
- tristate "SoC I2S Audio support for WM5110 on TM2 board"
-diff --git a/sound/soc/sof/imx/Kconfig b/sound/soc/sof/imx/Kconfig
-index 71f318bc2c74..bae4f7bf5f75 100644
---- a/sound/soc/sof/imx/Kconfig
-+++ b/sound/soc/sof/imx/Kconfig
-@@ -5,9 +5,9 @@ config SND_SOC_SOF_IMX_TOPLEVEL
- depends on ARM64|| COMPILE_TEST
- depends on SND_SOC_SOF_OF
- help
-- This adds support for Sound Open Firmware for NXP i.MX platforms.
-- Say Y if you have such a device.
-- If unsure select "N".
-+ This adds support for Sound Open Firmware for NXP i.MX platforms.
-+ Say Y if you have such a device.
-+ If unsure select "N".
-
- if SND_SOC_SOF_IMX_TOPLEVEL
-
-@@ -16,9 +16,9 @@ config SND_SOC_SOF_IMX8_SUPPORT
- depends on IMX_SCU
- depends on IMX_DSP
- help
-- This adds support for Sound Open Firmware for NXP i.MX8 platforms
-- Say Y if you have such a device.
-- If unsure select "N".
-+ This adds support for Sound Open Firmware for NXP i.MX8 platforms
-+ Say Y if you have such a device.
-+ If unsure select "N".
-
- config SND_SOC_SOF_IMX8
- def_tristate SND_SOC_SOF_OF
-diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig
-index acc3e91d9244..c263a8feff0a 100644
---- a/sound/soc/sof/intel/Kconfig
-+++ b/sound/soc/sof/intel/Kconfig
-@@ -37,7 +37,7 @@ config SND_SOC_SOF_INTEL_PCI
- config SND_SOC_SOF_INTEL_HIFI_EP_IPC
- tristate
- help
-- This option is not user-selectable but automagically handled by
-+ This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
-
- config SND_SOC_SOF_INTEL_ATOM_HIFI_EP
-@@ -234,31 +234,31 @@ config SND_SOC_SOF_COMETLAKE_H_SUPPORT
- config SND_SOC_SOF_TIGERLAKE_SUPPORT
- bool "SOF support for Tigerlake"
- help
-- This adds support for Sound Open Firmware for Intel(R) platforms
-- using the Tigerlake processors.
-- Say Y if you have such a device.
-- If unsure select "N".
-+ This adds support for Sound Open Firmware for Intel(R) platforms
-+ using the Tigerlake processors.
-+ Say Y if you have such a device.
-+ If unsure select "N".
-
- config SND_SOC_SOF_TIGERLAKE
- tristate
- select SND_SOC_SOF_HDA_COMMON
- help
-- This option is not user-selectable but automagically handled by
-+ This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
-
- config SND_SOC_SOF_ELKHARTLAKE_SUPPORT
- bool "SOF support for ElkhartLake"
- help
-- This adds support for Sound Open Firmware for Intel(R) platforms
-- using the ElkhartLake processors.
-- Say Y if you have such a device.
-- If unsure select "N".
-+ This adds support for Sound Open Firmware for Intel(R) platforms
-+ using the ElkhartLake processors.
-+ Say Y if you have such a device.
-+ If unsure select "N".
-
- config SND_SOC_SOF_ELKHARTLAKE
- tristate
- select SND_SOC_SOF_HDA_COMMON
- help
-- This option is not user-selectable but automagically handled by
-+ This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
-
- config SND_SOC_SOF_JASPERLAKE_SUPPORT
-diff --git a/sound/soc/xilinx/Kconfig b/sound/soc/xilinx/Kconfig
-index 69973179ef15..1d3586b68db7 100644
---- a/sound/soc/xilinx/Kconfig
-+++ b/sound/soc/xilinx/Kconfig
-@@ -9,15 +9,15 @@ config SND_SOC_XILINX_I2S
- encapsulates PCM in AES format and sends AES data.
-
- config SND_SOC_XILINX_AUDIO_FORMATTER
-- tristate "Audio support for the the Xilinx audio formatter"
-- help
-- Select this option to enable Xilinx audio formatter
-- support. This provides DMA platform device support for
-- audio functionality.
-+ tristate "Audio support for the the Xilinx audio formatter"
-+ help
-+ Select this option to enable Xilinx audio formatter
-+ support. This provides DMA platform device support for
-+ audio functionality.
-
- config SND_SOC_XILINX_SPDIF
-- tristate "Audio support for the the Xilinx SPDIF"
-- help
-- Select this option to enable Xilinx SPDIF Audio.
-- This provides playback and capture of SPDIF audio in
-- AES format.
-+ tristate "Audio support for the the Xilinx SPDIF"
-+ help
-+ Select this option to enable Xilinx SPDIF Audio.
-+ This provides playback and capture of SPDIF audio in
-+ AES format.
-diff --git a/sound/soc/zte/Kconfig b/sound/soc/zte/Kconfig
-index a7842e4b791c..a23d4f13ca19 100644
---- a/sound/soc/zte/Kconfig
-+++ b/sound/soc/zte/Kconfig
-@@ -18,9 +18,9 @@ config ZX_I2S
- ZTE ZX I2S interface
-
- config ZX_TDM
-- tristate "ZTE ZX TDM Driver Support"
-- depends on COMMON_CLK
-- select SND_SOC_GENERIC_DMAENGINE_PCM
-- help
-- Say Y or M if you want to add support for codecs attached to the
-- ZTE ZX TDM interface
-+ tristate "ZTE ZX TDM Driver Support"
-+ depends on COMMON_CLK
-+ select SND_SOC_GENERIC_DMAENGINE_PCM
-+ help
-+ Say Y or M if you want to add support for codecs attached to the
-+ ZTE ZX TDM interface
-diff --git a/sound/usb/Kconfig b/sound/usb/Kconfig
-index e2c53a0841da..059242f15d75 100644
---- a/sound/usb/Kconfig
-+++ b/sound/usb/Kconfig
-@@ -107,24 +107,24 @@ config SND_USB_US122L
- will be called snd-usb-us122l.
-
- config SND_USB_6FIRE
-- tristate "TerraTec DMX 6Fire USB"
-- select FW_LOADER
-- select BITREVERSE
-- select SND_RAWMIDI
-- select SND_PCM
-- select SND_VMASTER
-- help
-- Say Y here to include support for TerraTec 6fire DMX USB interface.
--
-- You will need firmware files in order to be able to use the device
-- after it has been coldstarted. An install script for the firmware
-- and further help can be found at
-- http://sixfireusb.sourceforge.net
-+ tristate "TerraTec DMX 6Fire USB"
-+ select FW_LOADER
-+ select BITREVERSE
-+ select SND_RAWMIDI
-+ select SND_PCM
-+ select SND_VMASTER
-+ help
-+ Say Y here to include support for TerraTec 6fire DMX USB interface.
-+
-+ You will need firmware files in order to be able to use the device
-+ after it has been coldstarted. An install script for the firmware
-+ and further help can be found at
-+ http://sixfireusb.sourceforge.net
-
- config SND_USB_HIFACE
-- tristate "M2Tech hiFace USB-SPDIF driver"
-- select SND_PCM
-- help
-+ tristate "M2Tech hiFace USB-SPDIF driver"
-+ select SND_PCM
-+ help
- Select this option to include support for M2Tech hiFace USB-SPDIF
- interface.
-
---
-2.24.1
-
-From d18fc5e6651042a56faa06beb92034728b751e7a Mon Sep 17 00:00:00 2001
-From: Naveen M <naveen.m@intel.com>
-Date: Tue, 15 Oct 2019 00:28:00 +0800
-Subject: [PATCH 045/109] ASoC: Intel: eve: Enable mclk and ssp sclk early
-
-rt5663 and rt5514 needs mclk/sclk early to synchronize its internal
-clocks.
-
-Signed-off-by: Naveen M <naveen.m@intel.com>
-Signed-off-by: Harsha Priya <harshapriya.n@intel.com>
-Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
-Signed-off-by: Brent Lu <brent.lu@intel.com>
-Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/1571070480-25666-1-git-send-email-brent.lu@intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 47cbea21628187c32efad562867aa2b6760d83cc)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 1 +
- .../intel/boards/kbl_rt5663_rt5514_max98927.c | 94 +++++++++++++++++++
- 2 files changed, 95 insertions(+)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index 882ff36a7c9c..778422d36e61 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -320,6 +320,7 @@ config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
- select SND_SOC_RT5514_SPI
- select SND_SOC_MAX98927
- select SND_SOC_HDAC_HDMI
-+ select SND_SOC_INTEL_SKYLAKE_SSP_CLK
- help
- This adds support for ASoC Onboard Codec I2S machine driver. This will
- create an alsa sound card for RT5663 + RT5514 + MAX98927.
-diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-index 8ad31c91fc75..7b970219f39a 100644
---- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-+++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-@@ -22,6 +22,9 @@
- #include "../../codecs/rt5514.h"
- #include "../../codecs/rt5663.h"
- #include "../../codecs/hdac_hdmi.h"
-+#include <linux/clk.h>
-+#include <linux/clk-provider.h>
-+#include <linux/clkdev.h>
-
- #define KBL_REALTEK_CODEC_DAI "rt5663-aif"
- #define KBL_REALTEK_DMIC_CODEC_DAI "rt5514-aif1"
-@@ -50,6 +53,8 @@ struct kbl_codec_private {
- struct snd_soc_jack kabylake_headset;
- struct list_head hdmi_pcm_list;
- struct snd_soc_jack kabylake_hdmi[2];
-+ struct clk *mclk;
-+ struct clk *sclk;
- };
-
- enum {
-@@ -71,6 +76,61 @@ static const struct snd_kcontrol_new kabylake_controls[] = {
- SOC_DAPM_PIN_SWITCH("DMIC"),
- };
-
-+static int platform_clock_control(struct snd_soc_dapm_widget *w,
-+ struct snd_kcontrol *k, int event)
-+{
-+ struct snd_soc_dapm_context *dapm = w->dapm;
-+ struct snd_soc_card *card = dapm->card;
-+ struct kbl_codec_private *priv = snd_soc_card_get_drvdata(card);
-+ int ret = 0;
-+
-+ /*
-+ * MCLK/SCLK need to be ON early for a successful synchronization of
-+ * codec internal clock. And the clocks are turned off during
-+ * POST_PMD after the stream is stopped.
-+ */
-+ switch (event) {
-+ case SND_SOC_DAPM_PRE_PMU:
-+ /* Enable MCLK */
-+ ret = clk_set_rate(priv->mclk, 24000000);
-+ if (ret < 0) {
-+ dev_err(card->dev, "Can't set rate for mclk, err: %d\n",
-+ ret);
-+ return ret;
-+ }
-+
-+ ret = clk_prepare_enable(priv->mclk);
-+ if (ret < 0) {
-+ dev_err(card->dev, "Can't enable mclk, err: %d\n", ret);
-+ return ret;
-+ }
-+
-+ /* Enable SCLK */
-+ ret = clk_set_rate(priv->sclk, 3072000);
-+ if (ret < 0) {
-+ dev_err(card->dev, "Can't set rate for sclk, err: %d\n",
-+ ret);
-+ clk_disable_unprepare(priv->mclk);
-+ return ret;
-+ }
-+
-+ ret = clk_prepare_enable(priv->sclk);
-+ if (ret < 0) {
-+ dev_err(card->dev, "Can't enable sclk, err: %d\n", ret);
-+ clk_disable_unprepare(priv->mclk);
-+ }
-+ break;
-+ case SND_SOC_DAPM_POST_PMD:
-+ clk_disable_unprepare(priv->mclk);
-+ clk_disable_unprepare(priv->sclk);
-+ break;
-+ default:
-+ return 0;
-+ }
-+
-+ return 0;
-+}
-+
- static const struct snd_soc_dapm_widget kabylake_widgets[] = {
- SND_SOC_DAPM_HP("Headphone Jack", NULL),
- SND_SOC_DAPM_MIC("Headset Mic", NULL),
-@@ -79,11 +139,15 @@ static const struct snd_soc_dapm_widget kabylake_widgets[] = {
- SND_SOC_DAPM_MIC("DMIC", NULL),
- SND_SOC_DAPM_SPK("HDMI1", NULL),
- SND_SOC_DAPM_SPK("HDMI2", NULL),
-+ SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
-+ platform_clock_control, SND_SOC_DAPM_PRE_PMU |
-+ SND_SOC_DAPM_POST_PMD),
-
- };
-
- static const struct snd_soc_dapm_route kabylake_map[] = {
- /* Headphones */
-+ { "Headphone Jack", NULL, "Platform Clock" },
- { "Headphone Jack", NULL, "HPOL" },
- { "Headphone Jack", NULL, "HPOR" },
-
-@@ -92,6 +156,7 @@ static const struct snd_soc_dapm_route kabylake_map[] = {
- { "Right Spk", NULL, "Right BE_OUT" },
-
- /* other jacks */
-+ { "Headset Mic", NULL, "Platform Clock" },
- { "IN1P", NULL, "Headset Mic" },
- { "IN1N", NULL, "Headset Mic" },
-
-@@ -646,6 +711,7 @@ static int kabylake_audio_probe(struct platform_device *pdev)
- {
- struct kbl_codec_private *ctx;
- struct snd_soc_acpi_mach *mach;
-+ int ret = 0;
-
- ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
- if (!ctx)
-@@ -661,6 +727,34 @@ static int kabylake_audio_probe(struct platform_device *pdev)
- dmic_constraints = mach->mach_params.dmic_num == 2 ?
- &constraints_dmic_2ch : &constraints_dmic_channels;
-
-+ ctx->mclk = devm_clk_get(&pdev->dev, "ssp1_mclk");
-+ if (IS_ERR(ctx->mclk)) {
-+ ret = PTR_ERR(ctx->mclk);
-+ if (ret == -ENOENT) {
-+ dev_info(&pdev->dev,
-+ "Failed to get ssp1_mclk, defer probe\n");
-+ return -EPROBE_DEFER;
-+ }
-+
-+ dev_err(&pdev->dev, "Failed to get ssp1_mclk with err:%d\n",
-+ ret);
-+ return ret;
-+ }
-+
-+ ctx->sclk = devm_clk_get(&pdev->dev, "ssp1_sclk");
-+ if (IS_ERR(ctx->sclk)) {
-+ ret = PTR_ERR(ctx->sclk);
-+ if (ret == -ENOENT) {
-+ dev_info(&pdev->dev,
-+ "Failed to get ssp1_sclk, defer probe\n");
-+ return -EPROBE_DEFER;
-+ }
-+
-+ dev_err(&pdev->dev, "Failed to get ssp1_sclk with err:%d\n",
-+ ret);
-+ return ret;
-+ }
-+
- return devm_snd_soc_register_card(&pdev->dev, &kabylake_audio_card);
- }
-
---
-2.24.1
-
-From 58f6613059870eaa99a493cb3deaf49183b39092 Mon Sep 17 00:00:00 2001
-From: Brent Lu <brent.lu@intel.com>
-Date: Fri, 25 Oct 2019 17:11:31 +0800
-Subject: [PATCH 046/109] ASoC: eve: implement set_bias_level function for
- rt5514
-
-The first DMIC capture always fail (zero sequence data from PCM port)
-after using DSP hotwording function (i.e. Google assistant).
-
-This rt5514 codec requires to control mclk directly in the set_bias_level
-function. Implement this function in machine driver to control the
-ssp1_mclk clock explicitly could fix this issue.
-
-Signed-off-by: Brent Lu <brent.lu@intel.com>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/1571994691-20199-1-git-send-email-brent.lu@intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 15747a80207585fe942416025540c0ff34e2aef8)
-Bugzilla: 1772498
----
- .../intel/boards/kbl_rt5663_rt5514_max98927.c | 50 +++++++++++++++++++
- 1 file changed, 50 insertions(+)
-
-diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-index 7b970219f39a..3e5f6bead229 100644
---- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-+++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
-@@ -656,6 +656,55 @@ static struct snd_soc_dai_link kabylake_dais[] = {
- },
- };
-
-+static int kabylake_set_bias_level(struct snd_soc_card *card,
-+ struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level)
-+{
-+ struct snd_soc_component *component = dapm->component;
-+ struct kbl_codec_private *priv = snd_soc_card_get_drvdata(card);
-+ int ret = 0;
-+
-+ if (!component || strcmp(component->name, RT5514_DEV_NAME))
-+ return 0;
-+
-+ if (IS_ERR(priv->mclk))
-+ return 0;
-+
-+ /*
-+ * It's required to control mclk directly in the set_bias_level
-+ * function for rt5514 codec or the recording function could
-+ * break.
-+ */
-+ switch (level) {
-+ case SND_SOC_BIAS_PREPARE:
-+ if (dapm->bias_level == SND_SOC_BIAS_ON) {
-+ dev_dbg(card->dev, "Disable mclk");
-+ clk_disable_unprepare(priv->mclk);
-+ } else {
-+ dev_dbg(card->dev, "Enable mclk");
-+ ret = clk_set_rate(priv->mclk, 24000000);
-+ if (ret) {
-+ dev_err(card->dev, "Can't set rate for mclk, err: %d\n",
-+ ret);
-+ return ret;
-+ }
-+
-+ ret = clk_prepare_enable(priv->mclk);
-+ if (ret) {
-+ dev_err(card->dev, "Can't enable mclk, err: %d\n",
-+ ret);
-+
-+ /* mclk is already enabled in FW */
-+ ret = 0;
-+ }
-+ }
-+ break;
-+ default:
-+ break;
-+ }
-+
-+ return ret;
-+}
-+
- static int kabylake_card_late_probe(struct snd_soc_card *card)
- {
- struct kbl_codec_private *ctx = snd_soc_card_get_drvdata(card);
-@@ -695,6 +744,7 @@ static struct snd_soc_card kabylake_audio_card = {
- .owner = THIS_MODULE,
- .dai_link = kabylake_dais,
- .num_links = ARRAY_SIZE(kabylake_dais),
-+ .set_bias_level = kabylake_set_bias_level,
- .controls = kabylake_controls,
- .num_controls = ARRAY_SIZE(kabylake_controls),
- .dapm_widgets = kabylake_widgets,
---
-2.24.1
-
-From b8bcd22339ac11192d875837907233f6a5a6e781 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:11 +0200
-Subject: [PATCH 047/109] ASoC: Intel: skl-hda-dsp-generic: use
- snd-hda-codec-hdmi
-
-Add support for using snd-hda-codec-hdmi driver for HDMI/DP
-instead of ASoC hdac-hdmi. This is aligned with how other
-HDA codecs are already handled.
-
-When snd-hda-codec-hdmi is used, the PCM device numbers are
-parsed from card topology and passed to the codec driver.
-This needs to be done at runtime as topology changes may
-affect PCM device allocation.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-4-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 7de9a47c8971bdec07cc9a62e948382003c5908f)
-Bugzilla: 1772498
----
- include/sound/soc-acpi.h | 2 +
- sound/soc/intel/boards/Makefile | 2 +-
- sound/soc/intel/boards/hda_dsp_common.c | 85 ++++++++++++++++++++
- sound/soc/intel/boards/hda_dsp_common.h | 32 ++++++++
- sound/soc/intel/boards/skl_hda_dsp_common.c | 6 ++
- sound/soc/intel/boards/skl_hda_dsp_common.h | 23 ++++++
- sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 +
- 7 files changed, 150 insertions(+), 1 deletion(-)
- create mode 100644 sound/soc/intel/boards/hda_dsp_common.c
- create mode 100644 sound/soc/intel/boards/hda_dsp_common.h
-
-diff --git a/include/sound/soc-acpi.h b/include/sound/soc-acpi.h
-index 35b38e41e5b2..26d57bc9a91e 100644
---- a/include/sound/soc-acpi.h
-+++ b/include/sound/soc-acpi.h
-@@ -60,12 +60,14 @@ static inline struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg)
- * @acpi_ipc_irq_index: used for BYT-CR detection
- * @platform: string used for HDaudio codec support
- * @codec_mask: used for HDAudio support
-+ * @common_hdmi_codec_drv: use commom HDAudio HDMI codec driver
- */
- struct snd_soc_acpi_mach_params {
- u32 acpi_ipc_irq_index;
- const char *platform;
- u32 codec_mask;
- u32 dmic_num;
-+ bool common_hdmi_codec_drv;
- };
-
- /**
-diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile
-index 6445f90ea542..52e990b16b0d 100644
---- a/sound/soc/intel/boards/Makefile
-+++ b/sound/soc/intel/boards/Makefile
-@@ -24,7 +24,7 @@ snd-soc-kbl_rt5663_max98927-objs := kbl_rt5663_max98927.o
- snd-soc-kbl_rt5663_rt5514_max98927-objs := kbl_rt5663_rt5514_max98927.o
- snd-soc-kbl_rt5660-objs := kbl_rt5660.o
- snd-soc-skl_rt286-objs := skl_rt286.o
--snd-soc-skl_hda_dsp-objs := skl_hda_dsp_generic.o skl_hda_dsp_common.o
-+snd-soc-skl_hda_dsp-objs := skl_hda_dsp_generic.o skl_hda_dsp_common.o hda_dsp_common.o
- snd-skl_nau88l25_max98357a-objs := skl_nau88l25_max98357a.o
- snd-soc-skl_nau88l25_ssm4567-objs := skl_nau88l25_ssm4567.o
-
-diff --git a/sound/soc/intel/boards/hda_dsp_common.c b/sound/soc/intel/boards/hda_dsp_common.c
-new file mode 100644
-index 000000000000..ed36b68d6705
---- /dev/null
-+++ b/sound/soc/intel/boards/hda_dsp_common.c
-@@ -0,0 +1,85 @@
-+// SPDX-License-Identifier: GPL-2.0
-+//
-+// Copyright(c) 2019 Intel Corporation. All rights reserved.
-+
-+#include <sound/pcm.h>
-+#include <sound/soc.h>
-+#include <sound/hda_codec.h>
-+#include <sound/hda_i915.h>
-+#include "../../codecs/hdac_hda.h"
-+
-+#include "hda_dsp_common.h"
-+
-+/*
-+ * Search card topology and return PCM device number
-+ * matching Nth HDMI device (zero-based index).
-+ */
-+struct snd_pcm *hda_dsp_hdmi_pcm_handle(struct snd_soc_card *card,
-+ int hdmi_idx)
-+{
-+ struct snd_soc_pcm_runtime *rtd;
-+ struct snd_pcm *spcm;
-+ int i = 0;
-+
-+ for_each_card_rtds(card, rtd) {
-+ spcm = rtd->pcm ?
-+ rtd->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].pcm : NULL;
-+ if (spcm && strstr(spcm->id, "HDMI")) {
-+ if (i == hdmi_idx)
-+ return rtd->pcm;
-+ ++i;
-+ }
-+ }
-+
-+ return NULL;
-+}
-+
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
-+/*
-+ * Search card topology and register HDMI PCM related controls
-+ * to codec driver.
-+ */
-+int hda_dsp_hdmi_build_controls(struct snd_soc_card *card,
-+ struct snd_soc_component *comp)
-+{
-+ struct hdac_hda_priv *hda_pvt;
-+ struct hda_codec *hcodec;
-+ struct snd_pcm *spcm;
-+ struct hda_pcm *hpcm;
-+ int err = 0, i = 0;
-+
-+ if (!comp)
-+ return -EINVAL;
-+
-+ hda_pvt = snd_soc_component_get_drvdata(comp);
-+ hcodec = &hda_pvt->codec;
-+
-+ list_for_each_entry(hpcm, &hcodec->pcm_list_head, list) {
-+ spcm = hda_dsp_hdmi_pcm_handle(card, i);
-+ if (spcm) {
-+ hpcm->pcm = spcm;
-+ hpcm->device = spcm->device;
-+ dev_dbg(card->dev,
-+ "%s: mapping HDMI converter %d to PCM %d (%p)\n",
-+ __func__, i, hpcm->device, spcm);
-+ } else {
-+ hpcm->pcm = 0;
-+ hpcm->device = SNDRV_PCM_INVALID_DEVICE;
-+ dev_warn(card->dev,
-+ "%s: no PCM in topology for HDMI converter %d\n\n",
-+ __func__, i);
-+ }
-+ i++;
-+ }
-+ snd_hdac_display_power(hcodec->core.bus,
-+ HDA_CODEC_IDX_CONTROLLER, true);
-+ err = snd_hda_codec_build_controls(hcodec);
-+ if (err < 0)
-+ dev_err(card->dev, "unable to create controls %d\n", err);
-+ snd_hdac_display_power(hcodec->core.bus,
-+ HDA_CODEC_IDX_CONTROLLER, false);
-+
-+ return err;
-+}
-+
-+#endif
-diff --git a/sound/soc/intel/boards/hda_dsp_common.h b/sound/soc/intel/boards/hda_dsp_common.h
-new file mode 100644
-index 000000000000..431f7f09dccb
---- /dev/null
-+++ b/sound/soc/intel/boards/hda_dsp_common.h
-@@ -0,0 +1,32 @@
-+/* SPDX-License-Identifier: GPL-2.0 */
-+/*
-+ * Copyright(c) 2019 Intel Corporation.
-+ */
-+
-+/*
-+ * This file defines helper functions used by multiple
-+ * Intel HDA based machine drivers.
-+ */
-+
-+#ifndef __HDA_DSP_COMMON_H
-+#define __HDA_DSP_COMMON_H
-+
-+#include <sound/hda_codec.h>
-+#include <sound/hda_i915.h>
-+#include "../../codecs/hdac_hda.h"
-+
-+struct snd_pcm *hda_dsp_hdmi_pcm_handle(struct snd_soc_card *card,
-+ int hdmi_idx);
-+
-+#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC)
-+int hda_dsp_hdmi_build_controls(struct snd_soc_card *card,
-+ struct snd_soc_component *comp);
-+#else
-+static inline int hda_dsp_hdmi_build_controls(struct snd_soc_card *card,
-+ struct snd_soc_component *comp)
-+{
-+ return -EINVAL;
-+}
-+#endif
-+
-+#endif /* __HDA_DSP_COMMON_H */
-diff --git a/sound/soc/intel/boards/skl_hda_dsp_common.c b/sound/soc/intel/boards/skl_hda_dsp_common.c
-index e3d405e57c5f..78ff5f24c40e 100644
---- a/sound/soc/intel/boards/skl_hda_dsp_common.c
-+++ b/sound/soc/intel/boards/skl_hda_dsp_common.c
-@@ -14,6 +14,9 @@
- #include "../../codecs/hdac_hdmi.h"
- #include "skl_hda_dsp_common.h"
-
-+#include <sound/hda_codec.h>
-+#include "../../codecs/hdac_hda.h"
-+
- #define NAME_SIZE 32
-
- int skl_hda_hdmi_add_pcm(struct snd_soc_card *card, int device)
-@@ -139,6 +142,9 @@ int skl_hda_hdmi_jack_init(struct snd_soc_card *card)
- char jack_name[NAME_SIZE];
- int err;
-
-+ if (ctx->common_hdmi_codec_drv)
-+ return skl_hda_hdmi_build_controls(card);
-+
- list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
- component = pcm->codec_dai->component;
- snprintf(jack_name, sizeof(jack_name),
-diff --git a/sound/soc/intel/boards/skl_hda_dsp_common.h b/sound/soc/intel/boards/skl_hda_dsp_common.h
-index daa582e513b2..bbe6e2acfda3 100644
---- a/sound/soc/intel/boards/skl_hda_dsp_common.h
-+++ b/sound/soc/intel/boards/skl_hda_dsp_common.h
-@@ -14,6 +14,9 @@
- #include <linux/platform_device.h>
- #include <sound/core.h>
- #include <sound/jack.h>
-+#include <sound/hda_codec.h>
-+#include "../../codecs/hdac_hda.h"
-+#include "hda_dsp_common.h"
-
- #define HDA_DSP_MAX_BE_DAI_LINKS 7
-
-@@ -29,10 +32,30 @@ struct skl_hda_private {
- int pcm_count;
- int dai_index;
- const char *platform_name;
-+ bool common_hdmi_codec_drv;
- };
-
- extern struct snd_soc_dai_link skl_hda_be_dai_links[HDA_DSP_MAX_BE_DAI_LINKS];
- int skl_hda_hdmi_jack_init(struct snd_soc_card *card);
- int skl_hda_hdmi_add_pcm(struct snd_soc_card *card, int device);
-
-+/*
-+ * Search card topology and register HDMI PCM related controls
-+ * to codec driver.
-+ */
-+static inline int skl_hda_hdmi_build_controls(struct snd_soc_card *card)
-+{
-+ struct skl_hda_private *ctx = snd_soc_card_get_drvdata(card);
-+ struct snd_soc_component *component;
-+ struct skl_hda_hdmi_pcm *pcm;
-+
-+ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct skl_hda_hdmi_pcm,
-+ head);
-+ component = pcm->codec_dai->component;
-+ if (!component)
-+ return -EINVAL;
-+
-+ return hda_dsp_hdmi_build_controls(card, component);
-+}
-+
- #endif /* __SOUND_SOC_HDA_DSP_COMMON_H */
-diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c
-index e8d676c192f6..4e45901e3a2f 100644
---- a/sound/soc/intel/boards/skl_hda_dsp_generic.c
-+++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c
-@@ -178,6 +178,7 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
- ctx->pcm_count = hda_soc_card.num_links;
- ctx->dai_index = 1; /* hdmi codec dai name starts from index 1 */
- ctx->platform_name = mach->mach_params.platform;
-+ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
-
- hda_soc_card.dev = &pdev->dev;
- snd_soc_card_set_drvdata(&hda_soc_card, ctx);
---
-2.24.1
-
-From 092c14f640de2cfdef47fc3991cb8a6c752cfecd Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:12 +0200
-Subject: [PATCH 048/109] ASoC: Intel: skl-hda-dsp-generic: fix include guard
- name
-
-Match the include guard define to actual filename. The source
-directory now has an actual hda_dsp_common.h header, so the old
-include guard may cause confusion.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-5-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 0f163110256ac91aee562da149838fcb8a39d518)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/skl_hda_dsp_common.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/intel/boards/skl_hda_dsp_common.h b/sound/soc/intel/boards/skl_hda_dsp_common.h
-index bbe6e2acfda3..d6150670ca05 100644
---- a/sound/soc/intel/boards/skl_hda_dsp_common.h
-+++ b/sound/soc/intel/boards/skl_hda_dsp_common.h
-@@ -8,8 +8,8 @@
- * platforms with HDA Codecs.
- */
-
--#ifndef __SOUND_SOC_HDA_DSP_COMMON_H
--#define __SOUND_SOC_HDA_DSP_COMMON_H
-+#ifndef __SKL_HDA_DSP_COMMON_H
-+#define __SKL_HDA_DSP_COMMON_H
- #include <linux/module.h>
- #include <linux/platform_device.h>
- #include <sound/core.h>
---
-2.24.1
-
-From 7abc02e54cfed33f105c33d20e1d9de2cae51978 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:14 +0200
-Subject: [PATCH 049/109] ASoC: Intel: bxt-da7219-max98357a: common hdmi codec
- support
-
-Add support for using snd-hda-codec-hdmi driver for HDMI/DP
-instead of ASoC hdac-hdmi. This is aligned with how other
-HDA codecs are already handled.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-7-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 57ad18906f24278893b128967551fe7fa0996129)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Makefile | 2 +-
- sound/soc/intel/boards/bxt_da7219_max98357a.c | 11 +++++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile
-index 52e990b16b0d..0cf4a984f083 100644
---- a/sound/soc/intel/boards/Makefile
-+++ b/sound/soc/intel/boards/Makefile
-@@ -4,7 +4,7 @@ snd-soc-sst-byt-rt5640-mach-objs := byt-rt5640.o
- snd-soc-sst-byt-max98090-mach-objs := byt-max98090.o
- snd-soc-sst-bdw-rt5677-mach-objs := bdw-rt5677.o
- snd-soc-sst-broadwell-objs := broadwell.o
--snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o
-+snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o hda_dsp_common.o
- snd-soc-sst-bxt-rt298-objs := bxt_rt298.o
- snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o
- snd-soc-sst-bytcr-rt5640-objs := bytcr_rt5640.o
-diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
-index ac1dea5f9d11..5873abb46441 100644
---- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
-+++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
-@@ -21,6 +21,7 @@
- #include "../../codecs/da7219.h"
- #include "../../codecs/da7219-aad.h"
- #include "../common/soc-intel-quirks.h"
-+#include "hda_dsp_common.h"
-
- #define BXT_DIALOG_CODEC_DAI "da7219-hifi"
- #define BXT_MAXIM_CODEC_DAI "HiFi"
-@@ -38,6 +39,7 @@ struct bxt_hdmi_pcm {
-
- struct bxt_card_private {
- struct list_head hdmi_pcm_list;
-+ bool common_hdmi_codec_drv;
- };
-
- enum {
-@@ -615,6 +617,13 @@ static int bxt_card_late_probe(struct snd_soc_card *card)
- snd_soc_dapm_add_routes(&card->dapm, broxton_map,
- ARRAY_SIZE(broxton_map));
-
-+ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct bxt_hdmi_pcm,
-+ head);
-+ component = pcm->codec_dai->component;
-+
-+ if (ctx->common_hdmi_codec_drv)
-+ return hda_dsp_hdmi_build_controls(card, component);
-+
- list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
- component = pcm->codec_dai->component;
- snprintf(jack_name, sizeof(jack_name),
-@@ -720,6 +729,8 @@ static int broxton_audio_probe(struct platform_device *pdev)
- if (ret)
- return ret;
-
-+ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
-+
- return devm_snd_soc_register_card(&pdev->dev, &broxton_audio_card);
- }
-
---
-2.24.1
-
-From 66a2d02030cb6cd534ef17a3fddab4f0ac54838e Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:15 +0200
-Subject: [PATCH 050/109] ASoC: Intel: glk_rt5682_max98357a: common hdmi codec
- support
-
-Add support for using snd-hda-codec-hdmi driver for HDMI/DP
-instead of ASoC hdac-hdmi. This is aligned with how other
-HDA codecs are already handled.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-8-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit dfe87aa86cd92d21603d64f4035fecae19c92e7a)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Makefile | 2 +-
- sound/soc/intel/boards/glk_rt5682_max98357a.c | 11 +++++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile
-index 0cf4a984f083..b36f44906c91 100644
---- a/sound/soc/intel/boards/Makefile
-+++ b/sound/soc/intel/boards/Makefile
-@@ -6,7 +6,7 @@ snd-soc-sst-bdw-rt5677-mach-objs := bdw-rt5677.o
- snd-soc-sst-broadwell-objs := broadwell.o
- snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o hda_dsp_common.o
- snd-soc-sst-bxt-rt298-objs := bxt_rt298.o
--snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o
-+snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o hda_dsp_common.o
- snd-soc-sst-bytcr-rt5640-objs := bytcr_rt5640.o
- snd-soc-sst-bytcr-rt5651-objs := bytcr_rt5651.o
- snd-soc-sst-cht-bsw-rt5672-objs := cht_bsw_rt5672.o
-diff --git a/sound/soc/intel/boards/glk_rt5682_max98357a.c b/sound/soc/intel/boards/glk_rt5682_max98357a.c
-index bd2d371f2acd..b36264d1d1cd 100644
---- a/sound/soc/intel/boards/glk_rt5682_max98357a.c
-+++ b/sound/soc/intel/boards/glk_rt5682_max98357a.c
-@@ -19,6 +19,7 @@
- #include <sound/soc-acpi.h>
- #include "../../codecs/rt5682.h"
- #include "../../codecs/hdac_hdmi.h"
-+#include "hda_dsp_common.h"
-
- /* The platform clock outputs 19.2Mhz clock to codec as I2S MCLK */
- #define GLK_PLAT_CLK_FREQ 19200000
-@@ -41,6 +42,7 @@ struct glk_hdmi_pcm {
- struct glk_card_private {
- struct snd_soc_jack geminilake_headset;
- struct list_head hdmi_pcm_list;
-+ bool common_hdmi_codec_drv;
- };
-
- enum {
-@@ -545,6 +547,13 @@ static int glk_card_late_probe(struct snd_soc_card *card)
- int err = 0;
- int i = 0;
-
-+ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct glk_hdmi_pcm,
-+ head);
-+ component = pcm->codec_dai->component;
-+
-+ if (ctx->common_hdmi_codec_drv)
-+ return hda_dsp_hdmi_build_controls(card, component);
-+
- list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
- component = pcm->codec_dai->component;
- snprintf(jack_name, sizeof(jack_name),
-@@ -612,6 +621,8 @@ static int geminilake_audio_probe(struct platform_device *pdev)
- if (ret)
- return ret;
-
-+ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
-+
- return devm_snd_soc_register_card(&pdev->dev, card);
- }
-
---
-2.24.1
-
-From bac23a9db964cffffb22223e1f1c6cc690c37f7e Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:16 +0200
-Subject: [PATCH 051/109] ASoC: intel: sof_rt5682: common hdmi codec support
-
-Add support for using snd-hda-codec-hdmi driver for HDMI/DP
-instead of ASoC hdac-hdmi. This is aligned with how other
-HDA codecs are already handled.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-9-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 59bbd703ea2eae7c2766713135e4742c07fbbad7)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Makefile | 2 +-
- sound/soc/intel/boards/sof_rt5682.c | 11 +++++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile
-index b36f44906c91..255cee8c7906 100644
---- a/sound/soc/intel/boards/Makefile
-+++ b/sound/soc/intel/boards/Makefile
-@@ -17,7 +17,7 @@ snd-soc-sst-byt-cht-cx2072x-objs := bytcht_cx2072x.o
- snd-soc-sst-byt-cht-da7213-objs := bytcht_da7213.o
- snd-soc-sst-byt-cht-es8316-objs := bytcht_es8316.o
- snd-soc-sst-byt-cht-nocodec-objs := bytcht_nocodec.o
--snd-soc-sof_rt5682-objs := sof_rt5682.o
-+snd-soc-sof_rt5682-objs := sof_rt5682.o hda_dsp_common.o
- snd-soc-kbl_da7219_max98357a-objs := kbl_da7219_max98357a.o
- snd-soc-kbl_da7219_max98927-objs := kbl_da7219_max98927.o
- snd-soc-kbl_rt5663_max98927-objs := kbl_rt5663_max98927.o
-diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c
-index 320a9b9273db..751b8ea6ae1f 100644
---- a/sound/soc/intel/boards/sof_rt5682.c
-+++ b/sound/soc/intel/boards/sof_rt5682.c
-@@ -21,6 +21,7 @@
- #include "../../codecs/rt5682.h"
- #include "../../codecs/hdac_hdmi.h"
- #include "../common/soc-intel-quirks.h"
-+#include "hda_dsp_common.h"
-
- #define NAME_SIZE 32
-
-@@ -53,6 +54,7 @@ struct sof_card_private {
- struct clk *mclk;
- struct snd_soc_jack sof_headset;
- struct list_head hdmi_pcm_list;
-+ bool common_hdmi_codec_drv;
- };
-
- static int sof_rt5682_quirk_cb(const struct dmi_system_id *id)
-@@ -274,6 +276,13 @@ static int sof_card_late_probe(struct snd_soc_card *card)
- if (is_legacy_cpu)
- return 0;
-
-+ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct sof_hdmi_pcm,
-+ head);
-+ component = pcm->codec_dai->component;
-+
-+ if (ctx->common_hdmi_codec_drv)
-+ return hda_dsp_hdmi_build_controls(card, component);
-+
- list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
- component = pcm->codec_dai->component;
- snprintf(jack_name, sizeof(jack_name),
-@@ -651,6 +660,8 @@ static int sof_audio_probe(struct platform_device *pdev)
- if (ret)
- return ret;
-
-+ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
-+
- snd_soc_card_set_drvdata(&sof_audio_card_rt5682, ctx);
-
- return devm_snd_soc_register_card(&pdev->dev,
---
-2.24.1
-
-From 8526042dff63e9e4f6f6bde4f4b0fd3274240ce1 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 29 Oct 2019 15:40:17 +0200
-Subject: [PATCH 052/109] ASoC: Intel: bxt_rt298: common hdmi codec support
-
-Add support for using snd-hda-codec-hdmi driver for HDMI/DP
-instead of ASoC hdac-hdmi. This is aligned with how other
-HDA codecs are already handled.
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191029134017.18901-10-kai.vehmanen@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 7d2ae58376658a3ca0d8f9a53f6f065df126c432)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Makefile | 2 +-
- sound/soc/intel/boards/bxt_rt298.c | 11 +++++++++++
- 2 files changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile
-index 255cee8c7906..8bddf379cef1 100644
---- a/sound/soc/intel/boards/Makefile
-+++ b/sound/soc/intel/boards/Makefile
-@@ -5,7 +5,7 @@ snd-soc-sst-byt-max98090-mach-objs := byt-max98090.o
- snd-soc-sst-bdw-rt5677-mach-objs := bdw-rt5677.o
- snd-soc-sst-broadwell-objs := broadwell.o
- snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o hda_dsp_common.o
--snd-soc-sst-bxt-rt298-objs := bxt_rt298.o
-+snd-soc-sst-bxt-rt298-objs := bxt_rt298.o hda_dsp_common.o
- snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o hda_dsp_common.o
- snd-soc-sst-bytcr-rt5640-objs := bytcr_rt5640.o
- snd-soc-sst-bytcr-rt5651-objs := bytcr_rt5651.o
-diff --git a/sound/soc/intel/boards/bxt_rt298.c b/sound/soc/intel/boards/bxt_rt298.c
-index adf416a49b48..eabf9d8468ae 100644
---- a/sound/soc/intel/boards/bxt_rt298.c
-+++ b/sound/soc/intel/boards/bxt_rt298.c
-@@ -18,6 +18,7 @@
- #include <sound/pcm_params.h>
- #include "../../codecs/hdac_hdmi.h"
- #include "../../codecs/rt298.h"
-+#include "hda_dsp_common.h"
-
- /* Headset jack detection DAPM pins */
- static struct snd_soc_jack broxton_headset;
-@@ -31,6 +32,7 @@ struct bxt_hdmi_pcm {
-
- struct bxt_rt286_private {
- struct list_head hdmi_pcm_list;
-+ bool common_hdmi_codec_drv;
- };
-
- enum {
-@@ -527,6 +529,13 @@ static int bxt_card_late_probe(struct snd_soc_card *card)
- int err, i = 0;
- char jack_name[NAME_SIZE];
-
-+ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct bxt_hdmi_pcm,
-+ head);
-+ component = pcm->codec_dai->component;
-+
-+ if (ctx->common_hdmi_codec_drv)
-+ return hda_dsp_hdmi_build_controls(card, component);
-+
- list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
- component = pcm->codec_dai->component;
- snprintf(jack_name, sizeof(jack_name),
-@@ -626,6 +635,8 @@ static int broxton_audio_probe(struct platform_device *pdev)
- if (ret)
- return ret;
-
-+ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
-+
- return devm_snd_soc_register_card(&pdev->dev, card);
- }
-
---
-2.24.1
-
-From 628db9e1d5fea0baf512cfb523d45d81d8dc12f8 Mon Sep 17 00:00:00 2001
-From: Naveen Manohar <naveen.m@intel.com>
-Date: Fri, 1 Nov 2019 12:18:46 -0500
-Subject: [PATCH 053/109] ASoC: Intel: Add acpi match for rt1011 based m/c
- driver
-
-Add match for CML m/c with RT1011 and RT5682
-
-Signed-off-by: Naveen Manohar <naveen.m@intel.com>
-Signed-off-by: Sathya Prakash M R <sathya.prakash.m.r@intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101171847.26767-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit f95ce1355944189c26e4182c813d7f018b434dbd)
-Bugzilla: 1772498
----
- sound/soc/intel/common/soc-acpi-intel-cnl-match.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c
-index 985aa366c9e8..16d0bae8b316 100644
---- a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c
-+++ b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c
-@@ -47,6 +47,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = {
- .sof_fw_filename = "sof-cnl.ri",
- .sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg",
- },
-+ {
-+ .id = "10EC1011",
-+ .drv_name = "cml_rt1011_rt5682",
-+ .quirk_data = &cml_codecs,
-+ .sof_fw_filename = "sof-cnl.ri",
-+ .sof_tplg_filename = "sof-cml-rt1011-rt5682.tplg",
-+ },
- {
- .id = "10EC5682",
- .drv_name = "sof_rt5682",
---
-2.24.1
-
-From 97082f367654546944ff5e2be8b8f12ab4ff1929 Mon Sep 17 00:00:00 2001
-From: Naveen Manohar <naveen.m@intel.com>
-Date: Fri, 1 Nov 2019 12:18:47 -0500
-Subject: [PATCH 054/109] ASoC: Intel: boards: Add CML m/c using RT1011 and
- RT5682
-
-Machine driver to enable
-RT5682 on SSP0, DMIC, HDMI and
-RT1011 AMP on SSP1 with
-2 CH / 24 bit TDM Playback over 4 individual codecs and
-4 CH / 24 bit Capture to provide feedback.
-
-Signed-off-by: Naveen Manohar <naveen.m@intel.com>
-Signed-off-by: Sathya Prakash M R <sathya.prakash.m.r@intel.com>
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101171847.26767-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 17fe95d6df9320409015e5114309a3c05e31b736)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 14 +
- sound/soc/intel/boards/Makefile | 2 +
- sound/soc/intel/boards/cml_rt1011_rt5682.c | 487 +++++++++++++++++++++
- 3 files changed, 503 insertions(+)
- create mode 100644 sound/soc/intel/boards/cml_rt1011_rt5682.c
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index 778422d36e61..ef40f83e0a3b 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -423,6 +423,20 @@ config SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH
- depends on MFD_INTEL_LPSS || COMPILE_TEST
- select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
-
-+config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
-+ tristate "CML with RT1011 and RT5682 in I2S Mode"
-+ depends on I2C && ACPI
-+ depends on MFD_INTEL_LPSS || COMPILE_TEST
-+ select SND_SOC_RT1011
-+ select SND_SOC_RT5682
-+ select SND_SOC_DMIC
-+ select SND_SOC_HDAC_HDMI
-+ help
-+ This adds support for ASoC machine driver for SOF platform with
-+ RT1011 + RT5682 I2S codec.
-+ Say Y if you have such a device.
-+ If unsure select "N".
-+
- endif ## SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK
-
- endif ## SND_SOC_INTEL_MACH
-diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile
-index 8bddf379cef1..9ae6544c6f3b 100644
---- a/sound/soc/intel/boards/Makefile
-+++ b/sound/soc/intel/boards/Makefile
-@@ -18,6 +18,7 @@ snd-soc-sst-byt-cht-da7213-objs := bytcht_da7213.o
- snd-soc-sst-byt-cht-es8316-objs := bytcht_es8316.o
- snd-soc-sst-byt-cht-nocodec-objs := bytcht_nocodec.o
- snd-soc-sof_rt5682-objs := sof_rt5682.o hda_dsp_common.o
-+snd-soc-cml_rt1011_rt5682-objs := cml_rt1011_rt5682.o hda_dsp_common.o
- snd-soc-kbl_da7219_max98357a-objs := kbl_da7219_max98357a.o
- snd-soc-kbl_da7219_max98927-objs := kbl_da7219_max98927.o
- snd-soc-kbl_rt5663_max98927-objs := kbl_rt5663_max98927.o
-@@ -47,6 +48,7 @@ obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH) += snd-soc-sst-byt-cht-cx2072x.
- obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH) += snd-soc-sst-byt-cht-da7213.o
- obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH) += snd-soc-sst-byt-cht-es8316.o
- obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH) += snd-soc-sst-byt-cht-nocodec.o
-+obj-$(CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH) += snd-soc-cml_rt1011_rt5682.o
- obj-$(CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH) += snd-soc-kbl_da7219_max98357a.o
- obj-$(CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH) += snd-soc-kbl_da7219_max98927.o
- obj-$(CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH) += snd-soc-kbl_rt5663_max98927.o
-diff --git a/sound/soc/intel/boards/cml_rt1011_rt5682.c b/sound/soc/intel/boards/cml_rt1011_rt5682.c
-new file mode 100644
-index 000000000000..a22f97234201
---- /dev/null
-+++ b/sound/soc/intel/boards/cml_rt1011_rt5682.c
-@@ -0,0 +1,487 @@
-+// SPDX-License-Identifier: GPL-2.0
-+// Copyright(c) 2019 Intel Corporation.
-+
-+/*
-+ * Intel Cometlake I2S Machine driver for RT1011 + RT5682 codec
-+ */
-+
-+#include <linux/input.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/clk.h>
-+#include <linux/dmi.h>
-+#include <linux/slab.h>
-+#include <asm/cpu_device_id.h>
-+#include <linux/acpi.h>
-+#include <sound/core.h>
-+#include <sound/jack.h>
-+#include <sound/pcm.h>
-+#include <sound/pcm_params.h>
-+#include <sound/soc.h>
-+#include <sound/rt5682.h>
-+#include <sound/soc-acpi.h>
-+#include "../../codecs/rt1011.h"
-+#include "../../codecs/rt5682.h"
-+#include "../../codecs/hdac_hdmi.h"
-+#include "hda_dsp_common.h"
-+
-+/* The platform clock outputs 24Mhz clock to codec as I2S MCLK */
-+#define CML_PLAT_CLK 24000000
-+#define CML_RT1011_CODEC_DAI "rt1011-aif"
-+#define CML_RT5682_CODEC_DAI "rt5682-aif1"
-+#define NAME_SIZE 32
-+
-+static struct snd_soc_jack hdmi_jack[3];
-+
-+struct hdmi_pcm {
-+ struct list_head head;
-+ struct snd_soc_dai *codec_dai;
-+ int device;
-+};
-+
-+struct card_private {
-+ char codec_name[SND_ACPI_I2C_ID_LEN];
-+ struct snd_soc_jack headset;
-+ struct list_head hdmi_pcm_list;
-+ bool common_hdmi_codec_drv;
-+};
-+
-+static const struct snd_kcontrol_new cml_controls[] = {
-+ SOC_DAPM_PIN_SWITCH("Headphone Jack"),
-+ SOC_DAPM_PIN_SWITCH("Headset Mic"),
-+ SOC_DAPM_PIN_SWITCH("TL Ext Spk"),
-+ SOC_DAPM_PIN_SWITCH("TR Ext Spk"),
-+ SOC_DAPM_PIN_SWITCH("WL Ext Spk"),
-+ SOC_DAPM_PIN_SWITCH("WR Ext Spk"),
-+};
-+
-+static const struct snd_soc_dapm_widget cml_rt1011_rt5682_widgets[] = {
-+ SND_SOC_DAPM_SPK("TL Ext Spk", NULL),
-+ SND_SOC_DAPM_SPK("TR Ext Spk", NULL),
-+ SND_SOC_DAPM_SPK("WL Ext Spk", NULL),
-+ SND_SOC_DAPM_SPK("WR Ext Spk", NULL),
-+ SND_SOC_DAPM_HP("Headphone Jack", NULL),
-+ SND_SOC_DAPM_MIC("Headset Mic", NULL),
-+ SND_SOC_DAPM_MIC("SoC DMIC", NULL),
-+};
-+
-+static const struct snd_soc_dapm_route cml_rt1011_rt5682_map[] = {
-+ /*speaker*/
-+ {"TL Ext Spk", NULL, "TL SPO"},
-+ {"TR Ext Spk", NULL, "TR SPO"},
-+ {"WL Ext Spk", NULL, "WL SPO"},
-+ {"WR Ext Spk", NULL, "WR SPO"},
-+
-+ /* HP jack connectors - unknown if we have jack detection */
-+ { "Headphone Jack", NULL, "HPOL" },
-+ { "Headphone Jack", NULL, "HPOR" },
-+
-+ /* other jacks */
-+ { "IN1P", NULL, "Headset Mic" },
-+
-+ /* DMIC */
-+ {"DMic", NULL, "SoC DMIC"},
-+};
-+
-+static int cml_rt5682_codec_init(struct snd_soc_pcm_runtime *rtd)
-+{
-+ struct card_private *ctx = snd_soc_card_get_drvdata(rtd->card);
-+ struct snd_soc_component *component = rtd->codec_dai->component;
-+ struct snd_soc_jack *jack;
-+ int ret;
-+
-+ /* need to enable ASRC function for 24MHz mclk rate */
-+ rt5682_sel_asrc_clk_src(component, RT5682_DA_STEREO1_FILTER |
-+ RT5682_AD_STEREO1_FILTER,
-+ RT5682_CLK_SEL_I2S1_ASRC);
-+
-+ /*
-+ * Headset buttons map to the google Reference headset.
-+ * These can be configured by userspace.
-+ */
-+ ret = snd_soc_card_jack_new(rtd->card, "Headset Jack",
-+ SND_JACK_HEADSET | SND_JACK_BTN_0 |
-+ SND_JACK_BTN_1 | SND_JACK_BTN_2 |
-+ SND_JACK_BTN_3,
-+ &ctx->headset, NULL, 0);
-+ if (ret) {
-+ dev_err(rtd->dev, "Headset Jack creation failed: %d\n", ret);
-+ return ret;
-+ }
-+
-+ jack = &ctx->headset;
-+
-+ snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE);
-+ snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
-+ snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
-+ snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);
-+ ret = snd_soc_component_set_jack(component, jack, NULL);
-+ if (ret)
-+ dev_err(rtd->dev, "Headset Jack call-back failed: %d\n", ret);
-+
-+ return ret;
-+};
-+
-+static int cml_rt5682_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *params)
-+{
-+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
-+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
-+ int clk_id, clk_freq, pll_out, ret;
-+
-+ clk_id = RT5682_PLL1_S_MCLK;
-+ clk_freq = CML_PLAT_CLK;
-+
-+ pll_out = params_rate(params) * 512;
-+
-+ ret = snd_soc_dai_set_pll(codec_dai, 0, clk_id, clk_freq, pll_out);
-+ if (ret < 0)
-+ dev_warn(rtd->dev, "snd_soc_dai_set_pll err = %d\n", ret);
-+
-+ /* Configure sysclk for codec */
-+ ret = snd_soc_dai_set_sysclk(codec_dai, RT5682_SCLK_S_PLL1,
-+ pll_out, SND_SOC_CLOCK_IN);
-+ if (ret < 0)
-+ dev_warn(rtd->dev, "snd_soc_dai_set_sysclk err = %d\n", ret);
-+
-+ /*
-+ * slot_width should be equal or large than data length, set them
-+ * be the same
-+ */
-+ ret = snd_soc_dai_set_tdm_slot(codec_dai, 0x0, 0x0, 2,
-+ params_width(params));
-+ if (ret < 0)
-+ dev_warn(rtd->dev, "set TDM slot err:%d\n", ret);
-+ return ret;
-+}
-+
-+static int cml_rt1011_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *params)
-+{
-+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
-+ struct snd_soc_dai *codec_dai;
-+ struct snd_soc_card *card = rtd->card;
-+ int srate, i, ret = 0;
-+
-+ srate = params_rate(params);
-+
-+ for (i = 0; i < rtd->num_codecs; i++) {
-+ codec_dai = rtd->codec_dais[i];
-+
-+ /* 100 Fs to drive 24 bit data */
-+ ret = snd_soc_dai_set_pll(codec_dai, 0, RT1011_PLL1_S_BCLK,
-+ 100 * srate, 256 * srate);
-+ if (ret < 0) {
-+ dev_err(card->dev, "codec_dai clock not set\n");
-+ return ret;
-+ }
-+
-+ ret = snd_soc_dai_set_sysclk(codec_dai,
-+ RT1011_FS_SYS_PRE_S_PLL1,
-+ 256 * srate, SND_SOC_CLOCK_IN);
-+ if (ret < 0) {
-+ dev_err(card->dev, "codec_dai clock not set\n");
-+ return ret;
-+ }
-+
-+ /*
-+ * Codec TDM is configured as 24 bit capture/ playback.
-+ * 2 CH PB is done over 4 codecs - 2 Woofers and 2 Tweeters.
-+ * The Left woofer and tweeter plays the Left playback data
-+ * and similar by the Right.
-+ * Hence 2 codecs (1 T and 1 W pair) share same Rx slot.
-+ * The feedback is captured for each codec individually.
-+ * Hence all 4 codecs use 1 Tx slot each for feedback.
-+ */
-+ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:00")) {
-+ ret = snd_soc_dai_set_tdm_slot(codec_dai,
-+ 0x4, 0x1, 4, 24);
-+ if (ret < 0)
-+ break;
-+ }
-+ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:02")) {
-+ ret = snd_soc_dai_set_tdm_slot(codec_dai,
-+ 0x1, 0x1, 4, 24);
-+ if (ret < 0)
-+ break;
-+ }
-+ /* TDM Rx slot 2 is used for Right Woofer & Tweeters pair */
-+ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:01")) {
-+ ret = snd_soc_dai_set_tdm_slot(codec_dai,
-+ 0x8, 0x2, 4, 24);
-+ if (ret < 0)
-+ break;
-+ }
-+ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:03")) {
-+ ret = snd_soc_dai_set_tdm_slot(codec_dai,
-+ 0x2, 0x2, 4, 24);
-+ if (ret < 0)
-+ break;
-+ }
-+ }
-+ if (ret < 0)
-+ dev_err(rtd->dev,
-+ "set codec TDM slot for %s failed with error %d\n",
-+ codec_dai->component->name, ret);
-+ return ret;
-+}
-+
-+static struct snd_soc_ops cml_rt5682_ops = {
-+ .hw_params = cml_rt5682_hw_params,
-+};
-+
-+static const struct snd_soc_ops cml_rt1011_ops = {
-+ .hw_params = cml_rt1011_hw_params,
-+};
-+
-+static int sof_card_late_probe(struct snd_soc_card *card)
-+{
-+ struct card_private *ctx = snd_soc_card_get_drvdata(card);
-+ struct snd_soc_component *component = NULL;
-+ char jack_name[NAME_SIZE];
-+ struct hdmi_pcm *pcm;
-+ int ret, i = 0;
-+
-+ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct hdmi_pcm,
-+ head);
-+ component = pcm->codec_dai->component;
-+
-+ if (ctx->common_hdmi_codec_drv)
-+ return hda_dsp_hdmi_build_controls(card, component);
-+
-+ list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
-+ component = pcm->codec_dai->component;
-+ snprintf(jack_name, sizeof(jack_name),
-+ "HDMI/DP, pcm=%d Jack", pcm->device);
-+ ret = snd_soc_card_jack_new(card, jack_name,
-+ SND_JACK_AVOUT, &hdmi_jack[i],
-+ NULL, 0);
-+ if (ret)
-+ return ret;
-+
-+ ret = hdac_hdmi_jack_init(pcm->codec_dai, pcm->device,
-+ &hdmi_jack[i]);
-+ if (ret < 0)
-+ return ret;
-+
-+ i++;
-+ }
-+ if (!component)
-+ return -EINVAL;
-+
-+ return hdac_hdmi_jack_port_init(component, &card->dapm);
-+}
-+
-+static int hdmi_init(struct snd_soc_pcm_runtime *rtd)
-+{
-+ struct card_private *ctx = snd_soc_card_get_drvdata(rtd->card);
-+ struct snd_soc_dai *dai = rtd->codec_dai;
-+ struct hdmi_pcm *pcm;
-+
-+ pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL);
-+ if (!pcm)
-+ return -ENOMEM;
-+
-+ pcm->device = dai->id;
-+ pcm->codec_dai = dai;
-+
-+ list_add_tail(&pcm->head, &ctx->hdmi_pcm_list);
-+
-+ return 0;
-+}
-+
-+/* Cometlake digital audio interface glue - connects codec <--> CPU */
-+
-+SND_SOC_DAILINK_DEF(ssp0_pin,
-+ DAILINK_COMP_ARRAY(COMP_CPU("SSP0 Pin")));
-+SND_SOC_DAILINK_DEF(ssp0_codec,
-+ DAILINK_COMP_ARRAY(COMP_CODEC("i2c-10EC5682:00",
-+ CML_RT5682_CODEC_DAI)));
-+
-+SND_SOC_DAILINK_DEF(ssp1_pin,
-+ DAILINK_COMP_ARRAY(COMP_CPU("SSP1 Pin")));
-+SND_SOC_DAILINK_DEF(ssp1_codec,
-+ DAILINK_COMP_ARRAY(
-+ /* WL */ COMP_CODEC("i2c-10EC1011:00", CML_RT1011_CODEC_DAI),
-+ /* WR */ COMP_CODEC("i2c-10EC1011:01", CML_RT1011_CODEC_DAI),
-+ /* TL */ COMP_CODEC("i2c-10EC1011:02", CML_RT1011_CODEC_DAI),
-+ /* TR */ COMP_CODEC("i2c-10EC1011:03", CML_RT1011_CODEC_DAI)));
-+
-+SND_SOC_DAILINK_DEF(dmic_pin,
-+ DAILINK_COMP_ARRAY(COMP_CPU("DMIC01 Pin")));
-+
-+SND_SOC_DAILINK_DEF(dmic16k_pin,
-+ DAILINK_COMP_ARRAY(COMP_CPU("DMIC16k Pin")));
-+
-+SND_SOC_DAILINK_DEF(dmic_codec,
-+ DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec", "dmic-hifi")));
-+
-+SND_SOC_DAILINK_DEF(idisp1_pin,
-+ DAILINK_COMP_ARRAY(COMP_CPU("iDisp1 Pin")));
-+SND_SOC_DAILINK_DEF(idisp1_codec,
-+ DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi1")));
-+
-+SND_SOC_DAILINK_DEF(idisp2_pin,
-+ DAILINK_COMP_ARRAY(COMP_CPU("iDisp2 Pin")));
-+SND_SOC_DAILINK_DEF(idisp2_codec,
-+ DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi2")));
-+
-+SND_SOC_DAILINK_DEF(idisp3_pin,
-+ DAILINK_COMP_ARRAY(COMP_CPU("iDisp3 Pin")));
-+SND_SOC_DAILINK_DEF(idisp3_codec,
-+ DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi3")));
-+
-+SND_SOC_DAILINK_DEF(platform,
-+ DAILINK_COMP_ARRAY(COMP_PLATFORM("0000:00:1f.3")));
-+
-+static struct snd_soc_dai_link cml_rt1011_rt5682_dailink[] = {
-+ /* Back End DAI links */
-+ {
-+ /* SSP0 - Codec */
-+ .name = "SSP0-Codec",
-+ .id = 0,
-+ .init = cml_rt5682_codec_init,
-+ .ignore_pmdown_time = 1,
-+ .ops = &cml_rt5682_ops,
-+ .dpcm_playback = 1,
-+ .dpcm_capture = 1,
-+ .no_pcm = 1,
-+ SND_SOC_DAILINK_REG(ssp0_pin, ssp0_codec, platform),
-+ },
-+ {
-+ .name = "dmic01",
-+ .id = 1,
-+ .ignore_suspend = 1,
-+ .dpcm_capture = 1,
-+ .no_pcm = 1,
-+ SND_SOC_DAILINK_REG(dmic_pin, dmic_codec, platform),
-+ },
-+ {
-+ .name = "dmic16k",
-+ .id = 2,
-+ .ignore_suspend = 1,
-+ .dpcm_capture = 1,
-+ .no_pcm = 1,
-+ SND_SOC_DAILINK_REG(dmic16k_pin, dmic_codec, platform),
-+ },
-+ {
-+ .name = "iDisp1",
-+ .id = 3,
-+ .init = hdmi_init,
-+ .dpcm_playback = 1,
-+ .no_pcm = 1,
-+ SND_SOC_DAILINK_REG(idisp1_pin, idisp1_codec, platform),
-+ },
-+ {
-+ .name = "iDisp2",
-+ .id = 4,
-+ .init = hdmi_init,
-+ .dpcm_playback = 1,
-+ .no_pcm = 1,
-+ SND_SOC_DAILINK_REG(idisp2_pin, idisp2_codec, platform),
-+ },
-+ {
-+ .name = "iDisp3",
-+ .id = 5,
-+ .init = hdmi_init,
-+ .dpcm_playback = 1,
-+ .no_pcm = 1,
-+ SND_SOC_DAILINK_REG(idisp3_pin, idisp3_codec, platform),
-+ },
-+ {
-+ /*
-+ * SSP1 - Codec : added to end of list ensuring
-+ * reuse of common topologies for other end points
-+ * and changing only SSP1's codec
-+ */
-+ .name = "SSP1-Codec",
-+ .id = 6,
-+ .dpcm_playback = 1,
-+ .dpcm_capture = 1, /* Capture stream provides Feedback */
-+ .no_pcm = 1,
-+ .ops = &cml_rt1011_ops,
-+ SND_SOC_DAILINK_REG(ssp1_pin, ssp1_codec, platform),
-+ },
-+};
-+
-+static struct snd_soc_codec_conf rt1011_conf[] = {
-+ {
-+ .dev_name = "i2c-10EC1011:00",
-+ .name_prefix = "WL",
-+ },
-+ {
-+ .dev_name = "i2c-10EC1011:01",
-+ .name_prefix = "WR",
-+ },
-+ {
-+ .dev_name = "i2c-10EC1011:02",
-+ .name_prefix = "TL",
-+ },
-+ {
-+ .dev_name = "i2c-10EC1011:03",
-+ .name_prefix = "TR",
-+ },
-+};
-+
-+/* Cometlake audio machine driver for RT1011 and RT5682 */
-+static struct snd_soc_card snd_soc_card_cml = {
-+ .name = "cml_rt1011_rt5682",
-+ .dai_link = cml_rt1011_rt5682_dailink,
-+ .num_links = ARRAY_SIZE(cml_rt1011_rt5682_dailink),
-+ .codec_conf = rt1011_conf,
-+ .num_configs = ARRAY_SIZE(rt1011_conf),
-+ .dapm_widgets = cml_rt1011_rt5682_widgets,
-+ .num_dapm_widgets = ARRAY_SIZE(cml_rt1011_rt5682_widgets),
-+ .dapm_routes = cml_rt1011_rt5682_map,
-+ .num_dapm_routes = ARRAY_SIZE(cml_rt1011_rt5682_map),
-+ .controls = cml_controls,
-+ .num_controls = ARRAY_SIZE(cml_controls),
-+ .fully_routed = true,
-+ .late_probe = sof_card_late_probe,
-+};
-+
-+static int snd_cml_rt1011_probe(struct platform_device *pdev)
-+{
-+ struct card_private *ctx;
-+ struct snd_soc_acpi_mach *mach;
-+ const char *platform_name;
-+ int ret;
-+
-+ ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_ATOMIC);
-+ if (!ctx)
-+ return -ENOMEM;
-+
-+ INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
-+ mach = (&pdev->dev)->platform_data;
-+ snd_soc_card_cml.dev = &pdev->dev;
-+ platform_name = mach->mach_params.platform;
-+
-+ /* set platform name for each dailink */
-+ ret = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cml,
-+ platform_name);
-+ if (ret)
-+ return ret;
-+
-+ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
-+
-+ snd_soc_card_set_drvdata(&snd_soc_card_cml, ctx);
-+
-+ return devm_snd_soc_register_card(&pdev->dev, &snd_soc_card_cml);
-+}
-+
-+static struct platform_driver snd_cml_rt1011_rt5682_driver = {
-+ .probe = snd_cml_rt1011_probe,
-+ .driver = {
-+ .name = "cml_rt1011_rt5682",
-+ .pm = &snd_soc_pm_ops,
-+ },
-+};
-+module_platform_driver(snd_cml_rt1011_rt5682_driver);
-+
-+/* Module information */
-+MODULE_DESCRIPTION("Cometlake Audio Machine driver - RT1011 and RT5682 in I2S mode");
-+MODULE_AUTHOR("Naveen Manohar <naveen.m@intel.com>");
-+MODULE_AUTHOR("Sathya Prakash M R <sathya.prakash.m.r@intel.com>");
-+MODULE_AUTHOR("Shuming Fan <shumingf@realtek.com>");
-+MODULE_LICENSE("GPL v2");
-+MODULE_ALIAS("platform:cml_rt1011_rt5682");
---
-2.24.1
-
-From 19bae513625e312c4f6a26d967fe6421585aa144 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:37 -0500
-Subject: [PATCH 055/109] ASoC: Intel: add mutual exclusion between SOF and
- legacy Baytrail driver
-
-This legacy driver is already deprecated, let's make sure there is no
-conflict with SOF.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 280393b712b7e338addc2f7f60b4e4da787ba19b)
-Bugzilla: 1772498
----
- sound/soc/intel/Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
-index 7e9feca333b7..d6c5c68b7499 100644
---- a/sound/soc/intel/Kconfig
-+++ b/sound/soc/intel/Kconfig
-@@ -65,7 +65,7 @@ config SND_SOC_INTEL_HASWELL
-
- config SND_SOC_INTEL_BAYTRAIL
- tristate "Baytrail (legacy) Platforms"
-- depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n
-+ depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n && SND_SOC_SOF_BAYTRAIL=n
- select SND_SOC_INTEL_SST
- select SND_SOC_INTEL_SST_ACPI
- select SND_SOC_INTEL_SST_FIRMWARE
---
-2.24.1
-
-From 6d47735bff19d37abfcf32194eb61177209c4eef Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:41 -0500
-Subject: [PATCH 056/109] ASoC: Intel: Skylake: mark HDAudio codec support as
- deprecated.
-
-This option famously broke audio on Linus' laptop and the problem have
-not been fixed.
-
-Mark as DEPRECATED to avoid any ambiguity with distros.
-
-Use SOF if you need HDaudio support w/ the DSP enabled, e.g. for DMIC
-capture.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-8-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 02701b909c2fab4b49f9c9545ab921c9b2c7a768)
-Bugzilla: 1772498
----
- sound/soc/intel/Kconfig | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig
-index d6c5c68b7499..c8de0bb5bed9 100644
---- a/sound/soc/intel/Kconfig
-+++ b/sound/soc/intel/Kconfig
-@@ -209,9 +209,12 @@ config SND_SOC_INTEL_SKYLAKE_SSP_CLK
- config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
- bool "HDAudio codec support"
- help
-- If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
-- GeminiLake or CannonLake platform with an HDaudio codec
-- then enable this option by saying Y
-+ This option broke audio on Linus' Skylake laptop in December 2018
-+ and the race conditions during the probe were not fixed since.
-+ This option is DEPRECATED, all HDaudio codec support needs
-+ to be handled by the SOF driver.
-+ Distributions should not enable this option and there are no known
-+ users of this capability.
-
- config SND_SOC_INTEL_SKYLAKE_COMMON
- tristate
---
-2.24.1
-
-From e3ba0216af000f40e8578867a3ec02014612fda7 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:42 -0500
-Subject: [PATCH 057/109] ASoC: Intel: boards: remove select SND_HDA_DSP_LOADER
-
-This option is only required with the Skylake platform driver, there
-is no reason to have this option in machine drivers. This is
-e.g. useless for SOF-based solutions.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-9-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 9e7301762f6df44bb4a452b6aecbe0f322b370ee)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index ef40f83e0a3b..91952ffc0b67 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -270,7 +270,6 @@ config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
- depends on I2C && ACPI
- depends on MFD_INTEL_LPSS || COMPILE_TEST
- select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
-- select SND_HDA_DSP_LOADER
- help
- This adds support for ASoC machine driver for Broxton-P platforms
- with DA7219 + MAX98357A I2S audio codec.
-@@ -284,7 +283,6 @@ config SND_SOC_INTEL_BXT_RT298_MACH
- select SND_SOC_RT298
- select SND_SOC_DMIC
- select SND_SOC_HDAC_HDMI
-- select SND_HDA_DSP_LOADER
- help
- This adds support for ASoC machine driver for Broxton platforms
- with RT286 I2S audio codec.
-@@ -375,7 +373,6 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
- select SND_SOC_MAX98357A
- select SND_SOC_DMIC
- select SND_SOC_HDAC_HDMI
-- select SND_HDA_DSP_LOADER
- help
- This adds support for ASoC machine driver for Geminilake platforms
- with RT5682 + MAX98357A I2S audio codec.
---
-2.24.1
-
-From 65ff2363e23c1f5e743b3781b8abf0abd0a4447c Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:43 -0500
-Subject: [PATCH 058/109] ASoC: Intel: boards: fix configs for
- bxt-da7219-max98057a
-
-The same driver is reused for 3 different configurations, but the
-driver will only be build if ApolloLake is selected.
-
-Fix and make sure each device can work without dependencies on others
-(useful for minimal configurations).
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-10-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit c4a09f9a523e674ef9a046e05d99c90f2c9513b1)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 24 ++++++++++++++++++++++--
- sound/soc/intel/boards/Makefile | 2 +-
- 2 files changed, 23 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index 91952ffc0b67..826694ecfdbf 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -263,13 +263,17 @@ config SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
- select SND_SOC_DMIC
- select SND_SOC_HDAC_HDMI
-
-+config SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
-+ tristate
-+ select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
-+
- if SND_SOC_INTEL_APL
-
- config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
- tristate "Broxton with DA7219 and MAX98357A in I2S Mode"
- depends on I2C && ACPI
- depends on MFD_INTEL_LPSS || COMPILE_TEST
-- select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
-+ select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
- help
- This adds support for ASoC machine driver for Broxton-P platforms
- with DA7219 + MAX98357A I2S audio codec.
-@@ -365,6 +369,17 @@ endif ## SND_SOC_INTEL_KBL
-
- if SND_SOC_INTEL_GLK || (SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK)
-
-+config SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH
-+ tristate "GLK with DA7219 and MAX98357A in I2S Mode"
-+ depends on I2C && ACPI
-+ depends on MFD_INTEL_LPSS || COMPILE_TEST
-+ select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
-+ help
-+ This adds support for ASoC machine driver for Geminilake platforms
-+ with DA7219 + MAX98357A I2S audio codec.
-+ Say Y or m if you have such a device. This is a recommended option.
-+ If unsure select "N".
-+
- config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
- tristate "GLK with RT5682 and MAX98357A in I2S Mode"
- depends on I2C && ACPI
-@@ -418,7 +433,12 @@ config SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH
- tristate "CML_LP with DA7219 and MAX98357A in I2S Mode"
- depends on I2C && ACPI
- depends on MFD_INTEL_LPSS || COMPILE_TEST
-- select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
-+ select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
-+ help
-+ This adds support for ASoC machine driver for Cometlake platforms
-+ with DA7219 + MAX98357A I2S audio codec.
-+ Say Y or m if you have such a device. This is a recommended option.
-+ If unsure select "N".
-
- config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
- tristate "CML with RT1011 and RT5682 in I2S Mode"
-diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile
-index 9ae6544c6f3b..ba1aa89db09d 100644
---- a/sound/soc/intel/boards/Makefile
-+++ b/sound/soc/intel/boards/Makefile
-@@ -33,7 +33,7 @@ obj-$(CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH) += snd-soc-sof_rt5682.o
- obj-$(CONFIG_SND_SOC_INTEL_HASWELL_MACH) += snd-soc-sst-haswell.o
- obj-$(CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH) += snd-soc-sst-byt-rt5640-mach.o
- obj-$(CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH) += snd-soc-sst-byt-max98090-mach.o
--obj-$(CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH) += snd-soc-sst-bxt-da7219_max98357a.o
-+obj-$(CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON) += snd-soc-sst-bxt-da7219_max98357a.o
- obj-$(CONFIG_SND_SOC_INTEL_BXT_RT298_MACH) += snd-soc-sst-bxt-rt298.o
- obj-$(CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH) += snd-soc-sst-glk-rt5682_max98357a.o
- obj-$(CONFIG_SND_SOC_INTEL_BROADWELL_MACH) += snd-soc-sst-broadwell.o
---
-2.24.1
-
-From 63fe227888be39183df411fc2032181a1d50408a Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:44 -0500
-Subject: [PATCH 059/109] ASoC: Intel: boards: Geminilake is only supported by
- SOF
-
-Geminilake machine drivers are only tested and recommended with SOF.
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-11-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 3315e5b40f59d1aab6543773d99b1f19c3ea1848)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index 826694ecfdbf..76d1e6ab30b5 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -367,7 +367,7 @@ config SND_SOC_INTEL_KBL_RT5660_MACH
-
- endif ## SND_SOC_INTEL_KBL
-
--if SND_SOC_INTEL_GLK || (SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK)
-+if SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK
-
- config SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH
- tristate "GLK with DA7219 and MAX98357A in I2S Mode"
-@@ -394,7 +394,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
- Say Y if you have such a device.
- If unsure select "N".
-
--endif ## SND_SOC_INTEL_GLK || (SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK)
-+endif ## SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK
-
- if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC
-
---
-2.24.1
-
-From 400e61db419050e17d2eb05129ed548b2b3a817a Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:30:45 -0500
-Subject: [PATCH 060/109] ASoC: Intel: boards: sof_rt5682: use dependency on
- SOF_HDA_LINK
-
-The wrong dependency is used and the build can be broken
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101173045.27099-12-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 8039105987fcd8dda39074df013cfdf0025dd297)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index 76d1e6ab30b5..2702aefee775 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -411,11 +411,11 @@ config SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH
-
- endif ## SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC
-
--if SND_SOC_SOF_HDA_COMMON || SND_SOC_SOF_BAYTRAIL
-+if SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL
- config SND_SOC_INTEL_SOF_RT5682_MACH
- tristate "SOF with rt5682 codec in I2S Mode"
- depends on I2C && ACPI
-- depends on (SND_SOC_SOF_HDA_COMMON && (MFD_INTEL_LPSS || COMPILE_TEST)) ||\
-+ depends on (SND_SOC_SOF_HDA_LINK && (MFD_INTEL_LPSS || COMPILE_TEST)) ||\
- (SND_SOC_SOF_BAYTRAIL && (X86_INTEL_LPSS || COMPILE_TEST))
- select SND_SOC_RT5682
- select SND_SOC_DMIC
-@@ -425,7 +425,7 @@ config SND_SOC_INTEL_SOF_RT5682_MACH
- with rt5682 codec.
- Say Y if you have such a device.
- If unsure select "N".
--endif ## SND_SOC_SOF_HDA_COMMON || SND_SOC_SOF_BAYTRAIL
-+endif ## SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL
-
- if (SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK)
-
---
-2.24.1
-
-From dc32112887d49cac7f705357c92a9abf390d438b Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Fri, 8 Nov 2019 10:46:37 +0100
-Subject: [PATCH 061/109] ASoC: intel: Avoid non-standard macro usage
-
-Pass the device pointer from the PCI pointer directly, instead of a
-non-standard macro. The macro didn't give any better readability.
-
-Acked-by: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191108094641.20086-5-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 6420c24a30006e2fdbc292f88d37db56ca28f6e8)
-Bugzilla: 1772498
----
- sound/soc/intel/skylake/skl-pcm.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
-index 7f287424af9b..07bc047f077e 100644
---- a/sound/soc/intel/skylake/skl-pcm.c
-+++ b/sound/soc/intel/skylake/skl-pcm.c
-@@ -1310,7 +1310,7 @@ static int skl_pcm_new(struct snd_soc_pcm_runtime *rtd)
- size = MAX_PREALLOC_SIZE;
- snd_pcm_lib_preallocate_pages_for_all(pcm,
- SNDRV_DMA_TYPE_DEV_SG,
-- snd_dma_pci_data(skl->pci),
-+ &skl->pci->dev,
- size, MAX_PREALLOC_SIZE);
- }
-
---
-2.24.1
-
-From 11af41ca977482d5d5f6a312eced0f4e50ef898c Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:09 -0500
-Subject: [PATCH 062/109] ASoC: SOF: ipc: introduce message for DSP power
- gating
-
-Add new ipc messages which will be sent from driver to FW, to ask FW to
-enter specific power saving state.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-14-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 10992004e1e960c7e256ec70c7ab22895a7003d7)
-Bugzilla: 1772498
----
- include/sound/sof/header.h | 1 +
- include/sound/sof/pm.h | 8 ++++++++
- 2 files changed, 9 insertions(+)
-
-diff --git a/include/sound/sof/header.h b/include/sound/sof/header.h
-index 332143ff7278..bf3edd9c08b4 100644
---- a/include/sound/sof/header.h
-+++ b/include/sound/sof/header.h
-@@ -75,6 +75,7 @@
- #define SOF_IPC_PM_CLK_GET SOF_CMD_TYPE(0x005)
- #define SOF_IPC_PM_CLK_REQ SOF_CMD_TYPE(0x006)
- #define SOF_IPC_PM_CORE_ENABLE SOF_CMD_TYPE(0x007)
-+#define SOF_IPC_PM_GATE SOF_CMD_TYPE(0x008)
-
- /* component runtime config - multiple different types */
- #define SOF_IPC_COMP_SET_VALUE SOF_CMD_TYPE(0x001)
-diff --git a/include/sound/sof/pm.h b/include/sound/sof/pm.h
-index 003879401d63..3cf2e0f39d94 100644
---- a/include/sound/sof/pm.h
-+++ b/include/sound/sof/pm.h
-@@ -45,4 +45,12 @@ struct sof_ipc_pm_core_config {
- uint32_t enable_mask;
- } __packed;
-
-+struct sof_ipc_pm_gate {
-+ struct sof_ipc_cmd_hdr hdr;
-+ uint32_t flags; /* platform specific */
-+
-+ /* reserved for future use */
-+ uint32_t reserved[5];
-+} __packed;
-+
- #endif
---
-2.24.1
-
-From 26ec2e5a52d27d29ea31bdf2fedfa19a76712f12 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:40:57 -0500
-Subject: [PATCH 063/109] ASoC: SOF: add a field to store the current D0
- substate of DSP
-
-Add field d0_substate to struct snd_sof_dev to store the current DSP
-D0 sub-state(only meaningful when DSP in D0), which could be D0I0 or
-D0I3.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 4c19030c511fd6eab029bae838f736256d2f43cd)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-priv.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 26ea5099bf4e..90a6def3b8d3 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -68,6 +68,12 @@ extern int sof_core_debug;
-
- #define DMA_CHAN_INVALID 0xFFFFFFFF
-
-+/* DSP D0ix sub-state */
-+enum sof_d0_substate {
-+ SOF_DSP_D0I0 = 0, /* DSP default D0 substate */
-+ SOF_DSP_D0I3, /* DSP D0i3(low power) substate*/
-+};
-+
- struct snd_sof_dev;
- struct snd_sof_ipc_msg;
- struct snd_sof_ipc;
-@@ -396,6 +402,9 @@ struct snd_sof_dev {
- */
- struct snd_soc_component_driver plat_drv;
-
-+ /* power states related */
-+ enum sof_d0_substate d0_substate;
-+
- /* DSP firmware boot */
- wait_queue_head_t boot_wait;
- enum snd_sof_fw_state fw_state;
---
-2.24.1
-
-From 88b10cf888bbaccc413dfec7e82a5d642bf0d71f Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:40:58 -0500
-Subject: [PATCH 064/109] ASoC: SOF: reset default d0_substate at probe() and
- resume()
-
-We initialize/reset d0_substate to default d0i0 value when doing
-transition D3-->D0, e.g. at success of probing and resuming.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 09fe6b528886c0d07ce539b837749edcc46618d0)
-Bugzilla: 1772498
----
- sound/soc/sof/core.c | 3 +++
- sound/soc/sof/pm.c | 3 +++
- 2 files changed, 6 insertions(+)
-
-diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c
-index 8a23739aa545..d6b827de26d4 100644
---- a/sound/soc/sof/core.c
-+++ b/sound/soc/sof/core.c
-@@ -495,6 +495,9 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data)
- /* initialize sof device */
- sdev->dev = dev;
-
-+ /* initialize default D0 sub-state */
-+ sdev->d0_substate = SOF_DSP_D0I0;
-+
- sdev->pdata = plat_data;
- sdev->first_boot = true;
- sdev->fw_state = SOF_FW_BOOT_NOT_STARTED;
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index 195af259e78e..f13a2eb28732 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -337,6 +337,9 @@ static int sof_resume(struct device *dev, bool runtime_resume)
- "error: ctx_restore ipc error during resume %d\n",
- ret);
-
-+ /* initialize default D0 sub-state */
-+ sdev->d0_substate = SOF_DSP_D0I0;
-+
- return ret;
- }
-
---
-2.24.1
-
-From f082a124cb84e3a83d8ae35aa201698eea020e3b Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:40:59 -0500
-Subject: [PATCH 065/109] ASoC: SOF: add set_power_state() to dsp_ops for power
- state update
-
-D0i3 is a platform-defined substate of D0, so we need a
-platform-specific callback in dsp_ops to handle the relevant
-configurations.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit e8f112d8c29f44ded83f97828c104bf0904871ec)
-Bugzilla: 1772498
----
- sound/soc/sof/ops.h | 9 +++++++++
- sound/soc/sof/sof-priv.h | 2 ++
- 2 files changed, 11 insertions(+)
-
-diff --git a/sound/soc/sof/ops.h b/sound/soc/sof/ops.h
-index 824d36fe59fd..d7c8fc06f961 100644
---- a/sound/soc/sof/ops.h
-+++ b/sound/soc/sof/ops.h
-@@ -193,6 +193,15 @@ static inline int snd_sof_dsp_set_clk(struct snd_sof_dev *sdev, u32 freq)
- return 0;
- }
-
-+static inline int snd_sof_dsp_set_power_state(struct snd_sof_dev *sdev,
-+ enum sof_d0_substate substate)
-+{
-+ if (sof_ops(sdev)->set_power_state)
-+ return sof_ops(sdev)->set_power_state(sdev, substate);
-+
-+ return 0;
-+}
-+
- /* debug */
- static inline void snd_sof_dsp_dbg_dump(struct snd_sof_dev *sdev, u32 flags)
- {
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 90a6def3b8d3..e0adc34d4dec 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -189,6 +189,8 @@ struct snd_sof_dsp_ops {
- int (*runtime_resume)(struct snd_sof_dev *sof_dev); /* optional */
- int (*runtime_idle)(struct snd_sof_dev *sof_dev); /* optional */
- int (*set_hw_params_upon_resume)(struct snd_sof_dev *sdev); /* optional */
-+ int (*set_power_state)(struct snd_sof_dev *sdev,
-+ enum sof_d0_substate d0_substate); /* optional */
-
- /* DSP clocking */
- int (*set_clk)(struct snd_sof_dev *sof_dev, u32 freq); /* optional */
---
-2.24.1
-
-From f637c49894fcc4a5f363661c369c17c41c676d58 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:00 -0500
-Subject: [PATCH 066/109] ASoC: SOF: Intel: hda-dsp: Add helper for setting DSP
- D0ix substate
-
-Adding helper to implement setting dsp to d0i3 or d0i0 status, this will
-be needed for driver D0ix support.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-5-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 62f8f76604623980d41cf73691ca45288871efd9)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 46 +++++++++++++++++++++++++++++++++++
- sound/soc/sof/intel/hda.h | 10 ++++++++
- 2 files changed, 56 insertions(+)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index 3ea401646e0c..fa2f1f66c72c 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -306,6 +306,52 @@ void hda_dsp_ipc_int_disable(struct snd_sof_dev *sdev)
- HDA_DSP_REG_HIPCCTL_BUSY | HDA_DSP_REG_HIPCCTL_DONE, 0);
- }
-
-+static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev, int retry)
-+{
-+ struct hdac_bus *bus = sof_to_bus(sdev);
-+
-+ while (snd_hdac_chip_readb(bus, VS_D0I3C) & SOF_HDA_VS_D0I3C_CIP) {
-+ if (!retry--)
-+ return -ETIMEDOUT;
-+ usleep_range(10, 15);
-+ }
-+
-+ return 0;
-+}
-+
-+int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
-+ enum sof_d0_substate d0_substate)
-+{
-+ struct hdac_bus *bus = sof_to_bus(sdev);
-+ int retry = 50;
-+ int ret;
-+ u8 value;
-+
-+ /* Write to D0I3C after Command-In-Progress bit is cleared */
-+ ret = hda_dsp_wait_d0i3c_done(sdev, retry);
-+ if (ret < 0) {
-+ dev_err(bus->dev, "CIP timeout before update D0I3C!\n");
-+ return ret;
-+ }
-+
-+ /* Update D0I3C register */
-+ value = d0_substate == SOF_DSP_D0I3 ? SOF_HDA_VS_D0I3C_I3 : 0;
-+ snd_hdac_chip_updateb(bus, VS_D0I3C, SOF_HDA_VS_D0I3C_I3, value);
-+
-+ /* Wait for cmd in progress to be cleared before exiting the function */
-+ retry = 50;
-+ ret = hda_dsp_wait_d0i3c_done(sdev, retry);
-+ if (ret < 0) {
-+ dev_err(bus->dev, "CIP timeout after D0I3C updated!\n");
-+ return ret;
-+ }
-+
-+ dev_vdbg(bus->dev, "D0I3C updated, register = 0x%x\n",
-+ snd_hdac_chip_readb(bus, VS_D0I3C));
-+
-+ return 0;
-+}
-+
- static int hda_suspend(struct snd_sof_dev *sdev, bool runtime_suspend)
- {
- struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata;
-diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
-index 8e03d876a0ac..bc8b58ad2704 100644
---- a/sound/soc/sof/intel/hda.h
-+++ b/sound/soc/sof/intel/hda.h
-@@ -64,6 +64,13 @@
- #define SOF_HDA_PPCTL_PIE BIT(31)
- #define SOF_HDA_PPCTL_GPROCEN BIT(30)
-
-+/*Vendor Specific Registers*/
-+#define SOF_HDA_VS_D0I3C 0x104A
-+
-+/* D0I3C Register fields */
-+#define SOF_HDA_VS_D0I3C_CIP BIT(0) /* Command-In-Progress */
-+#define SOF_HDA_VS_D0I3C_I3 BIT(2) /* D0i3 enable bit */
-+
- /* DPIB entry size: 8 Bytes = 2 DWords */
- #define SOF_HDA_DPIB_ENTRY_SIZE 0x8
-
-@@ -455,6 +462,9 @@ int hda_dsp_core_reset_power_down(struct snd_sof_dev *sdev,
- void hda_dsp_ipc_int_enable(struct snd_sof_dev *sdev);
- void hda_dsp_ipc_int_disable(struct snd_sof_dev *sdev);
-
-+int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
-+ enum sof_d0_substate d0_substate);
-+
- int hda_dsp_suspend(struct snd_sof_dev *sdev);
- int hda_dsp_resume(struct snd_sof_dev *sdev);
- int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev);
---
-2.24.1
-
-From 36bec5216fd616441e694d1793752a83b6e728e3 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:01 -0500
-Subject: [PATCH 067/109] ASoC: SOF: Intel: CNL: add set_power_state() ops
-
-Using hda_dsp_set_power_state() as set_power_state() ops for cnl to do
-d0ix platform configuration updates.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-6-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 73b51957122dc47a40325a5359b44ef337cbf217)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/cnl.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c
-index e9cdcc040fb5..982b81a0b13a 100644
---- a/sound/soc/sof/intel/cnl.c
-+++ b/sound/soc/sof/intel/cnl.c
-@@ -255,6 +255,7 @@ const struct snd_sof_dsp_ops sof_cnl_ops = {
- .runtime_resume = hda_dsp_runtime_resume,
- .runtime_idle = hda_dsp_runtime_idle,
- .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume,
-+ .set_power_state = hda_dsp_set_power_state,
-
- /* ALSA HW info flags */
- .hw_info = SNDRV_PCM_INFO_MMAP |
---
-2.24.1
-
-From b094a6b925b36ec414772cf4ac7320597e30f592 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:02 -0500
-Subject: [PATCH 068/109] ASoC: SOF: Intel: APL: add set_power_state() ops
-
-Using hda_dsp_set_power_state() as set_power_state() ops for apl to do
-d0ix platform configuration updates.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-7-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 35c930ba6025964ac71f041065ae212a0fcc7cca)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/apl.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/soc/sof/intel/apl.c b/sound/soc/sof/intel/apl.c
-index 15d26e8d90a9..7daa8eb456c8 100644
---- a/sound/soc/sof/intel/apl.c
-+++ b/sound/soc/sof/intel/apl.c
-@@ -97,6 +97,7 @@ const struct snd_sof_dsp_ops sof_apl_ops = {
- .runtime_resume = hda_dsp_runtime_resume,
- .runtime_idle = hda_dsp_runtime_idle,
- .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume,
-+ .set_power_state = hda_dsp_set_power_state,
-
- /* ALSA HW info flags */
- .hw_info = SNDRV_PCM_INFO_MMAP |
---
-2.24.1
-
-From 3e61bd7113167792591babd06550cacd30b547d6 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:03 -0500
-Subject: [PATCH 069/109] ASoC: SOF: add flag to snd_sof_pcm_stream for D0i3
- compatible stream
-
-Add flag d0i3_compatible to struct snd_sof_pcm_stream to denote if the
-stream can tolerate a transition to the D0i3 substate while opened (thus
-seen as 'active' by pm_runtime).
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-8-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit e5c97e88084b8dca6850eba5d2937716b88306c1)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-priv.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index e0adc34d4dec..35cdeb923898 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -310,6 +310,7 @@ struct snd_sof_pcm_stream {
- struct sof_ipc_stream_posn posn;
- struct snd_pcm_substream *substream;
- struct work_struct period_elapsed_work;
-+ bool d0i3_compatible; /* DSP can be in D0I3 when this pcm is opened */
- };
-
- /* ALSA SOF PCM device */
---
-2.24.1
-
-From 4a15ac8bae70390fdc72e96468526989be68a818 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:04 -0500
-Subject: [PATCH 070/109] ASoC: SOF: token: add tokens for PCM compatible with
- D0i3 substate
-
-Add stream token SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 and
-SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 to denote if the stream can be
-opened at low power d0i3 status or not.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-9-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 4a94940988cc44adeb383401dea0beeac4abbe63)
-Bugzilla: 1772498
----
- include/uapi/sound/sof/tokens.h | 4 ++++
- sound/soc/sof/topology.c | 10 ++++++++++
- 2 files changed, 14 insertions(+)
-
-diff --git a/include/uapi/sound/sof/tokens.h b/include/uapi/sound/sof/tokens.h
-index d65406f34361..76883e6fb750 100644
---- a/include/uapi/sound/sof/tokens.h
-+++ b/include/uapi/sound/sof/tokens.h
-@@ -113,6 +113,10 @@
- /* ESAI */
- #define SOF_TKN_IMX_ESAI_MCLK_ID 1100
-
-+/* Stream */
-+#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200
-+#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201
-+
- /* Led control for mute switches */
- #define SOF_TKN_MUTE_LED_USE 1300
- #define SOF_TKN_MUTE_LED_DIRECTION 1301
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 6a4b59a0d8e6..8f73481fcdae 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -735,6 +735,16 @@ static const struct sof_topology_token pcm_tokens[] = {
- offsetof(struct sof_ipc_comp_host, dmac_config), 0},
- };
-
-+/* PCM */
-+static const struct sof_topology_token stream_tokens[] = {
-+ {SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3,
-+ SND_SOC_TPLG_TUPLE_TYPE_BOOL, get_token_u16,
-+ offsetof(struct snd_sof_pcm, stream[0].d0i3_compatible), 0},
-+ {SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3,
-+ SND_SOC_TPLG_TUPLE_TYPE_BOOL, get_token_u16,
-+ offsetof(struct snd_sof_pcm, stream[1].d0i3_compatible), 0},
-+};
-+
- /* Generic components */
- static const struct sof_topology_token comp_tokens[] = {
- {SOF_TKN_COMP_PERIOD_SINK_COUNT,
---
-2.24.1
-
-From b8955ca3f2a8eaa1130d2d6163bd9e6ad574133b Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:05 -0500
-Subject: [PATCH 071/109] ASoC: SOF: topology: parse and store d0i3_compatible
- flag
-
-Parses the token from tplg file and store it to snd_sof_pcm_stream
-d0i3_compatible flag, which can be used later for d0ix transition
-management.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-10-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit c5232c0171428f005a3204e1c264231fb5999b28)
-Bugzilla: 1772498
----
- sound/soc/sof/topology.c | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 8f73481fcdae..58c32e8e478e 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -2308,6 +2308,7 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index,
- {
- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
- struct snd_soc_tplg_stream_caps *caps;
-+ struct snd_soc_tplg_private *private = &pcm->priv;
- struct snd_sof_pcm *spcm;
- int stream = SNDRV_PCM_STREAM_PLAYBACK;
- int ret = 0;
-@@ -2330,10 +2331,22 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index,
- dai_drv->dobj.private = spcm;
- list_add(&spcm->list, &sdev->pcm_list);
-
-+ ret = sof_parse_tokens(scomp, spcm, stream_tokens,
-+ ARRAY_SIZE(stream_tokens), private->array,
-+ le32_to_cpu(private->size));
-+ if (ret) {
-+ dev_err(sdev->dev, "error: parse stream tokens failed %d\n",
-+ le32_to_cpu(private->size));
-+ return ret;
-+ }
-+
- /* do we need to allocate playback PCM DMA pages */
- if (!spcm->pcm.playback)
- goto capture;
-
-+ dev_vdbg(sdev->dev, "tplg: pcm %s stream tokens: playback d0i3:%d\n",
-+ spcm->pcm.pcm_name, spcm->stream[0].d0i3_compatible);
-+
- caps = &spcm->pcm.caps[stream];
-
- /* allocate playback page table buffer */
-@@ -2361,6 +2374,9 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index,
- if (!spcm->pcm.capture)
- return ret;
-
-+ dev_vdbg(sdev->dev, "tplg: pcm %s stream tokens: capture d0i3:%d\n",
-+ spcm->pcm.pcm_name, spcm->stream[1].d0i3_compatible);
-+
- caps = &spcm->pcm.caps[stream];
-
- /* allocate capture page table buffer */
---
-2.24.1
-
-From c732dc51c229ed52e16df4a7ea41abcc8e07be5e Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:06 -0500
-Subject: [PATCH 072/109] ASoC: SOF: Intel: hda-dsp: align the comments for
- D0I3C update
-
-Align the logs for CIP timeout at D0I3C.I3 updating.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-11-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit aae7c82d01219bf568a7b12f5839d7ca52b17d59)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index fa2f1f66c72c..74805a066183 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -330,7 +330,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- /* Write to D0I3C after Command-In-Progress bit is cleared */
- ret = hda_dsp_wait_d0i3c_done(sdev, retry);
- if (ret < 0) {
-- dev_err(bus->dev, "CIP timeout before update D0I3C!\n");
-+ dev_err(bus->dev, "CIP timeout before D0I3C update!\n");
- return ret;
- }
-
-@@ -342,7 +342,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- retry = 50;
- ret = hda_dsp_wait_d0i3c_done(sdev, retry);
- if (ret < 0) {
-- dev_err(bus->dev, "CIP timeout after D0I3C updated!\n");
-+ dev_err(bus->dev, "CIP timeout after D0I3C update!\n");
- return ret;
- }
-
---
-2.24.1
-
-From b729c392295ac0bbe1c74a0dd2d616eb06be40af Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:07 -0500
-Subject: [PATCH 073/109] ASoC: SOF: Intel: HDA: use macro for register polling
- retry count
-
-Define macro and use it for the register polling retry count.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-12-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 92f4beb718d76e93b76343a3ba872df6cb210672)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 6 ++----
- sound/soc/sof/intel/hda.h | 1 +
- 2 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index 74805a066183..936361bd25e9 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -323,12 +323,11 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- enum sof_d0_substate d0_substate)
- {
- struct hdac_bus *bus = sof_to_bus(sdev);
-- int retry = 50;
- int ret;
- u8 value;
-
- /* Write to D0I3C after Command-In-Progress bit is cleared */
-- ret = hda_dsp_wait_d0i3c_done(sdev, retry);
-+ ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT);
- if (ret < 0) {
- dev_err(bus->dev, "CIP timeout before D0I3C update!\n");
- return ret;
-@@ -339,8 +338,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- snd_hdac_chip_updateb(bus, VS_D0I3C, SOF_HDA_VS_D0I3C_I3, value);
-
- /* Wait for cmd in progress to be cleared before exiting the function */
-- retry = 50;
-- ret = hda_dsp_wait_d0i3c_done(sdev, retry);
-+ ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT);
- if (ret < 0) {
- dev_err(bus->dev, "CIP timeout after D0I3C update!\n");
- return ret;
-diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
-index bc8b58ad2704..f1054e24cac0 100644
---- a/sound/soc/sof/intel/hda.h
-+++ b/sound/soc/sof/intel/hda.h
-@@ -214,6 +214,7 @@
- #define HDA_DSP_CTRL_RESET_TIMEOUT 100
- #define HDA_DSP_WAIT_TIMEOUT 500 /* 500 msec */
- #define HDA_DSP_REG_POLL_INTERVAL_US 500 /* 0.5 msec */
-+#define HDA_DSP_REG_POLL_RETRY_COUNT 50
-
- #define HDA_DSP_ADSPIC_IPC 1
- #define HDA_DSP_ADSPIS_IPC 1
---
-2.24.1
-
-From 3ff8fd98199773620f7dda6069019036a734644b Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:08 -0500
-Subject: [PATCH 074/109] ASoC: SOF: PM: rename sof_send_pm_ipc to
- sof_send_pm_ctx_ipc
-
-The helper sof_send_pm_ipc() is only suitable for context save/restore
-IPCs' sending, so rename it to sof_send_pm_ctx_ipc here.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-13-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 7c7eba2402c11137d1fa1d3fb964a2c6fc1ded3e)
-Bugzilla: 1772498
----
- sound/soc/sof/pm.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index f13a2eb28732..76a6785d17aa 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -197,7 +197,7 @@ static int sof_restore_pipelines(struct snd_sof_dev *sdev)
- return ret;
- }
-
--static int sof_send_pm_ipc(struct snd_sof_dev *sdev, int cmd)
-+static int sof_send_pm_ctx_ipc(struct snd_sof_dev *sdev, int cmd)
- {
- struct sof_ipc_pm_ctx pm_ctx;
- struct sof_ipc_reply reply;
-@@ -331,7 +331,7 @@ static int sof_resume(struct device *dev, bool runtime_resume)
- }
-
- /* notify DSP of system resume */
-- ret = sof_send_pm_ipc(sdev, SOF_IPC_PM_CTX_RESTORE);
-+ ret = sof_send_pm_ctx_ipc(sdev, SOF_IPC_PM_CTX_RESTORE);
- if (ret < 0)
- dev_err(sdev->dev,
- "error: ctx_restore ipc error during resume %d\n",
-@@ -375,7 +375,7 @@ static int sof_suspend(struct device *dev, bool runtime_suspend)
- sof_cache_debugfs(sdev);
- #endif
- /* notify DSP of upcoming power down */
-- ret = sof_send_pm_ipc(sdev, SOF_IPC_PM_CTX_SAVE);
-+ ret = sof_send_pm_ctx_ipc(sdev, SOF_IPC_PM_CTX_SAVE);
- if (ret == -EBUSY || ret == -EAGAIN) {
- /*
- * runtime PM has logic to handle -EBUSY/-EAGAIN so
---
-2.24.1
-
-From f894ca4b705a92558268b6d828f6a0ac36032dcf Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:10 -0500
-Subject: [PATCH 075/109] ASoC: SOF: Intel: hda-ipc: Don't read mailbox for
- PM_GATE reply
-
-Memory windows could be powered off before receiving PM_GATE IPC reply
-from FW, we can't read the mailbox to get reply.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-15-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 463fbf6dc03aff41e973602bbad6cb135fa6d48a)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-ipc.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda-ipc.c b/sound/soc/sof/intel/hda-ipc.c
-index 6aae6f18b3dc..0fd2153c1769 100644
---- a/sound/soc/sof/intel/hda-ipc.c
-+++ b/sound/soc/sof/intel/hda-ipc.c
-@@ -83,10 +83,12 @@ void hda_dsp_ipc_get_reply(struct snd_sof_dev *sdev)
- }
-
- hdr = msg->msg_data;
-- if (hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_CTX_SAVE)) {
-+ if (hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_CTX_SAVE) ||
-+ hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_GATE)) {
- /*
- * memory windows are powered off before sending IPC reply,
-- * so we can't read the mailbox for CTX_SAVE reply.
-+ * so we can't read the mailbox for CTX_SAVE and PM_GATE
-+ * replies.
- */
- reply.error = 0;
- reply.hdr.cmd = SOF_IPC_GLB_REPLY;
---
-2.24.1
-
-From 39aecb24d8443afda51fa9d3402a76a422e5c2fd Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:11 -0500
-Subject: [PATCH 076/109] ASoC: SOF: Intel: HDA: add cAVS specific compact IPC
- header file
-
-On cAVS platforms, some IPCs are required to be sent via IPC registers
-only(e.g. when in D0i3, mailbox is unaccessible), add hda-ipc.h to hold
-definition of those compact IPCs.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-16-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 5056193d4d1a8b73087145add21141c46027d6a2)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-ipc.h | 51 +++++++++++++++++++++++++++++++++++
- 1 file changed, 51 insertions(+)
- create mode 100644 sound/soc/sof/intel/hda-ipc.h
-
-diff --git a/sound/soc/sof/intel/hda-ipc.h b/sound/soc/sof/intel/hda-ipc.h
-new file mode 100644
-index 000000000000..aef0ceac9803
---- /dev/null
-+++ b/sound/soc/sof/intel/hda-ipc.h
-@@ -0,0 +1,51 @@
-+/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
-+/*
-+ * This file is provided under a dual BSD/GPLv2 license. When using or
-+ * redistributing this file, you may do so under either license.
-+ *
-+ * Copyright(c) 2019 Intel Corporation. All rights reserved.
-+ *
-+ * Author: Keyon Jie <yang.jie@linux.intel.com>
-+ */
-+
-+#ifndef __SOF_INTEL_HDA_IPC_H
-+#define __SOF_INTEL_HDA_IPC_H
-+
-+/*
-+ * Primary register, mapped to
-+ * - DIPCTDR (HIPCIDR) in sideband IPC (cAVS 1.8+)
-+ * - DIPCT in cAVS 1.5 IPC
-+ *
-+ * Secondary register, mapped to:
-+ * - DIPCTDD (HIPCIDD) in sideband IPC (cAVS 1.8+)
-+ * - DIPCTE in cAVS 1.5 IPC
-+ */
-+
-+/* Common bits in primary register */
-+
-+/* Reserved for doorbell */
-+#define HDA_IPC_RSVD_31 BIT(31)
-+/* Target, 0 - normal message, 1 - compact message(cAVS compatible) */
-+#define HDA_IPC_MSG_COMPACT BIT(30)
-+/* Direction, 0 - request, 1 - response */
-+#define HDA_IPC_RSP BIT(29)
-+
-+#define HDA_IPC_TYPE_SHIFT 24
-+#define HDA_IPC_TYPE_MASK GENMASK(28, 24)
-+#define HDA_IPC_TYPE(x) ((x) << HDA_IPC_TYPE_SHIFT)
-+
-+#define HDA_IPC_PM_GATE HDA_IPC_TYPE(0x8U)
-+
-+/* Command specific payload bits in secondary register */
-+
-+/* Disable DMA tracing (0 - keep tracing, 1 - to disable DMA trace) */
-+#define HDA_PM_NO_DMA_TRACE BIT(4)
-+/* Prevent clock gating (0 - cg allowed, 1 - DSP clock always on) */
-+#define HDA_PM_PCG BIT(3)
-+/* Prevent power gating (0 - deep power state transitions allowed) */
-+#define HDA_PM_PPG BIT(2)
-+/* Indicates whether streaming is active */
-+#define HDA_PM_PG_STREAMING BIT(1)
-+#define HDA_PM_PG_RSVD BIT(0)
-+
-+#endif
---
-2.24.1
-
-From faae0bada8e833d6dd8df487cef4b2ede5d6fa6b Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:12 -0500
-Subject: [PATCH 077/109] ASoC: SOF: configure D0ix IPC flags in
- set_power_state
-
-The configuration for D0ix in FW is platform specific, let's do this and
-send IPC in the platform set_power_state() ops.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-17-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 534037fddd34b58be86a826d449a5a6635ecdbf5)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 32 +++++++++++++++++++++++++++++++-
- 1 file changed, 31 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index 936361bd25e9..b5070409a5e3 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -19,6 +19,7 @@
- #include <sound/hda_register.h>
- #include "../ops.h"
- #include "hda.h"
-+#include "hda-ipc.h"
-
- /*
- * DSP Core control.
-@@ -319,10 +320,28 @@ static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev, int retry)
- return 0;
- }
-
-+static int hda_dsp_send_pm_gate_ipc(struct snd_sof_dev *sdev, u32 flags)
-+{
-+ struct sof_ipc_pm_gate pm_gate;
-+ struct sof_ipc_reply reply;
-+
-+ memset(&pm_gate, 0, sizeof(pm_gate));
-+
-+ /* configure pm_gate ipc message */
-+ pm_gate.hdr.size = sizeof(pm_gate);
-+ pm_gate.hdr.cmd = SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_GATE;
-+ pm_gate.flags = flags;
-+
-+ /* send pm_gate ipc to dsp */
-+ return sof_ipc_tx_message(sdev->ipc, pm_gate.hdr.cmd, &pm_gate,
-+ sizeof(pm_gate), &reply, sizeof(reply));
-+}
-+
- int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- enum sof_d0_substate d0_substate)
- {
- struct hdac_bus *bus = sof_to_bus(sdev);
-+ u32 flags;
- int ret;
- u8 value;
-
-@@ -347,7 +366,18 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- dev_vdbg(bus->dev, "D0I3C updated, register = 0x%x\n",
- snd_hdac_chip_readb(bus, VS_D0I3C));
-
-- return 0;
-+ if (d0_substate == SOF_DSP_D0I0)
-+ flags = HDA_PM_PPG;/* prevent power gating in D0 */
-+ else
-+ flags = HDA_PM_NO_DMA_TRACE;/* disable DMA trace in D0I3*/
-+
-+ /* sending pm_gate IPC */
-+ ret = hda_dsp_send_pm_gate_ipc(sdev, flags);
-+ if (ret < 0)
-+ dev_err(sdev->dev,
-+ "error: PM_GATE ipc error %d\n", ret);
-+
-+ return ret;
- }
-
- static int hda_suspend(struct snd_sof_dev *sdev, bool runtime_suspend)
---
-2.24.1
-
-From 4cd64496be339c452c3de5602cd5d72e238cc34a Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:13 -0500
-Subject: [PATCH 078/109] ASoC: SOF: PM: add helpers for setting D0 substate
- for ADSP
-
-Add snd_sof_set_d0_substate() helper for setting ADSP to a specific D0
-substate, it will call into the platform specific implementation, and
-update the d0_substate at success.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-18-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 601252869f50af6f5ab377e7f4846d7b09cc66c0)
-Bugzilla: 1772498
----
- sound/soc/sof/pm.c | 17 +++++++++++++++++
- sound/soc/sof/sof-priv.h | 2 ++
- 2 files changed, 19 insertions(+)
-
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index 76a6785d17aa..86bd2ffadfe5 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -434,6 +434,23 @@ int snd_sof_runtime_resume(struct device *dev)
- }
- EXPORT_SYMBOL(snd_sof_runtime_resume);
-
-+int snd_sof_set_d0_substate(struct snd_sof_dev *sdev,
-+ enum sof_d0_substate d0_substate)
-+{
-+ int ret;
-+
-+ /* do platform specific set_state */
-+ ret = snd_sof_dsp_set_power_state(sdev, d0_substate);
-+ if (ret < 0)
-+ return ret;
-+
-+ /* update dsp D0 sub-state */
-+ sdev->d0_substate = d0_substate;
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL(snd_sof_set_d0_substate);
-+
- int snd_sof_resume(struct device *dev)
- {
- return sof_resume(dev, false);
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 35cdeb923898..548cba7ac571 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -494,6 +494,8 @@ int snd_sof_runtime_resume(struct device *dev);
- int snd_sof_runtime_idle(struct device *dev);
- int snd_sof_resume(struct device *dev);
- int snd_sof_suspend(struct device *dev);
-+int snd_sof_set_d0_substate(struct snd_sof_dev *sdev,
-+ enum sof_d0_substate d0_substate);
-
- void snd_sof_new_platform_drv(struct snd_sof_dev *sdev);
-
---
-2.24.1
-
-From b6d13fd241298270085e89880958c9d846413116 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:14 -0500
-Subject: [PATCH 079/109] ASoC: SOF: Intel: CNL: add support for sending
- compact IPC
-
-For compact IPCs, we will send the IPC header/command via the HIPCIDR
-register and the first 32bit payload via the HIPCIDD register, no
-mailbox will be used.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-19-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 0267de58acfe5059ace739741f1533dd605ed22f)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/cnl.c | 42 ++++++++++++++++++++++++++++++++++-----
- sound/soc/sof/intel/hda.h | 1 +
- 2 files changed, 38 insertions(+), 5 deletions(-)
-
-diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c
-index 982b81a0b13a..0e1e265f3f3b 100644
---- a/sound/soc/sof/intel/cnl.c
-+++ b/sound/soc/sof/intel/cnl.c
-@@ -17,6 +17,7 @@
-
- #include "../ops.h"
- #include "hda.h"
-+#include "hda-ipc.h"
-
- static const struct snd_sof_debugfs_map cnl_dsp_debugfs[] = {
- {"hda", HDA_DSP_HDA_BAR, 0, 0x4000, SOF_DEBUGFS_ACCESS_ALWAYS},
-@@ -150,14 +151,45 @@ static void cnl_ipc_dsp_done(struct snd_sof_dev *sdev)
- CNL_DSP_REG_HIPCCTL_DONE);
- }
-
-+static bool cnl_compact_ipc_compress(struct snd_sof_ipc_msg *msg,
-+ u32 *dr, u32 *dd)
-+{
-+ struct sof_ipc_pm_gate *pm_gate;
-+
-+ if (msg->header == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_GATE)) {
-+ pm_gate = msg->msg_data;
-+
-+ /* send the compact message via the primary register */
-+ *dr = HDA_IPC_MSG_COMPACT | HDA_IPC_PM_GATE;
-+
-+ /* send payload via the extended data register */
-+ *dd = pm_gate->flags;
-+
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
- static int cnl_ipc_send_msg(struct snd_sof_dev *sdev,
- struct snd_sof_ipc_msg *msg)
- {
-- /* send the message */
-- sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data,
-- msg->msg_size);
-- snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR,
-- CNL_DSP_REG_HIPCIDR_BUSY);
-+ u32 dr = 0;
-+ u32 dd = 0;
-+
-+ if (cnl_compact_ipc_compress(msg, &dr, &dd)) {
-+ /* send the message via IPC registers */
-+ snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDD,
-+ dd);
-+ snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR,
-+ CNL_DSP_REG_HIPCIDR_BUSY | dr);
-+ } else {
-+ /* send the message via mailbox */
-+ sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data,
-+ msg->msg_size);
-+ snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR,
-+ CNL_DSP_REG_HIPCIDR_BUSY);
-+ }
-
- return 0;
- }
-diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
-index f1054e24cac0..16376f55e420 100644
---- a/sound/soc/sof/intel/hda.h
-+++ b/sound/soc/sof/intel/hda.h
-@@ -312,6 +312,7 @@
- #define CNL_DSP_REG_HIPCTDD (CNL_DSP_IPC_BASE + 0x08)
- #define CNL_DSP_REG_HIPCIDR (CNL_DSP_IPC_BASE + 0x10)
- #define CNL_DSP_REG_HIPCIDA (CNL_DSP_IPC_BASE + 0x14)
-+#define CNL_DSP_REG_HIPCIDD (CNL_DSP_IPC_BASE + 0x18)
- #define CNL_DSP_REG_HIPCCTL (CNL_DSP_IPC_BASE + 0x28)
-
- /* HIPCI */
---
-2.24.1
-
-From c4cf471d27ee3a0f30c4bcb894ce1b9a3254c350 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:15 -0500
-Subject: [PATCH 080/109] ASoC: SOF: add a flag to indicate the system suspend
- target
-
-Add flag 's0_suspend' to indicate if the system is entering S0ix or
-not.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-20-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 7367d3096b1443e55a2c730d1966f423b15d5cad)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-priv.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 548cba7ac571..f6ecd9f0fbc6 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -407,6 +407,8 @@ struct snd_sof_dev {
-
- /* power states related */
- enum sof_d0_substate d0_substate;
-+ /* flag to track if the intended power target of suspend is S0ix */
-+ bool s0_suspend;
-
- /* DSP firmware boot */
- wait_queue_head_t boot_wait;
---
-2.24.1
-
-From 30c0391c903f66e9b1b921712900593c64510466 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:16 -0500
-Subject: [PATCH 081/109] ASoC: SOF: add a flag suspend_ignored for sof stream
-
-Add a suspend_ignored flag to snd_sof_pcm_stream that will be used to
-decide if the corresponding FW pipeline should be kept active to perform
-always on tasks when the system is entering the S0ix state.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-21-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 4cd933abd4820da7eefe672ff439b32d199a07be)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-priv.h | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index f6ecd9f0fbc6..47420d184b53 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -311,6 +311,11 @@ struct snd_sof_pcm_stream {
- struct snd_pcm_substream *substream;
- struct work_struct period_elapsed_work;
- bool d0i3_compatible; /* DSP can be in D0I3 when this pcm is opened */
-+ /*
-+ * flag to indicate that the DSP pipelines should be kept
-+ * active or not while suspending the stream
-+ */
-+ bool suspend_ignored;
- };
-
- /* ALSA SOF PCM device */
---
-2.24.1
-
-From da323444a5345a0d95fb943b8af039623df2a36c Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:17 -0500
-Subject: [PATCH 082/109] ASoC: SOF: PM: implement prepare/complete callbacks
-
-Implement the prepare() and complete() callbacks for power management,
-initialize s0_suspend flag at prepare(), and reset it at complete().
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-22-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 0b50b3b1c3bc2a2c9eeab418b3de3e60e0530cf4)
-Bugzilla: 1772498
----
- sound/soc/sof/pm.c | 23 +++++++++++++++++++++++
- sound/soc/sof/sof-priv.h | 2 ++
- 2 files changed, 25 insertions(+)
-
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index 86bd2ffadfe5..02189eb2e89a 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -462,3 +462,26 @@ int snd_sof_suspend(struct device *dev)
- return sof_suspend(dev, false);
- }
- EXPORT_SYMBOL(snd_sof_suspend);
-+
-+int snd_sof_prepare(struct device *dev)
-+{
-+ struct snd_sof_dev *sdev = dev_get_drvdata(dev);
-+
-+#if defined(CONFIG_ACPI)
-+ sdev->s0_suspend = acpi_target_system_state() == ACPI_STATE_S0;
-+#else
-+ /* will suspend to S3 by default */
-+ sdev->s0_suspend = false;
-+#endif
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL(snd_sof_prepare);
-+
-+void snd_sof_complete(struct device *dev)
-+{
-+ struct snd_sof_dev *sdev = dev_get_drvdata(dev);
-+
-+ sdev->s0_suspend = false;
-+}
-+EXPORT_SYMBOL(snd_sof_complete);
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 47420d184b53..9bded2e48fba 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -501,6 +501,8 @@ int snd_sof_runtime_resume(struct device *dev);
- int snd_sof_runtime_idle(struct device *dev);
- int snd_sof_resume(struct device *dev);
- int snd_sof_suspend(struct device *dev);
-+int snd_sof_prepare(struct device *dev);
-+void snd_sof_complete(struct device *dev);
- int snd_sof_set_d0_substate(struct snd_sof_dev *sdev,
- enum sof_d0_substate d0_substate);
-
---
-2.24.1
-
-From 78ecf411b770ea954e2bcd18b22b7c43ece9f54f Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:18 -0500
-Subject: [PATCH 083/109] ASoC: SOF: ignore suspend/resume for D0ix compatible
- streams
-
-During system suspend, the PM framework will freeze all applications and
-the ALSA/ASoC core will suspend all RUNNING PCM streams.
-
-However, D0ix-compatible PCM streams should keep the related pipelines
-active in the DSP when the system is entering S0ix. The TRIGGER_SUSPEND
-event is trapped in such cases to prevent the pipelines from being
-stopped. Likewise, the TRIGGER_RESUME/START events should not affect the
-pipeline state.
-
-The SOF driver also triggers some DSP Firmware pipelines based on the
-DAPM widgets power events. In such cases, we also ignore PRE_PMU and
-POST_PMD events to keep the pipelines active.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-23-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit ac8c046f19f94ec419c60d7a073af75a71386e97)
-Bugzilla: 1772498
----
- sound/soc/sof/pcm.c | 31 +++++++++++++++++++++++++++++++
- sound/soc/sof/topology.c | 17 ++++++++++++++++-
- 2 files changed, 47 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
-index b33928e1385b..927b197c2c8d 100644
---- a/sound/soc/sof/pcm.c
-+++ b/sound/soc/sof/pcm.c
-@@ -350,6 +350,16 @@ static int sof_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
- stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_RELEASE;
- break;
- case SNDRV_PCM_TRIGGER_RESUME:
-+ if (spcm->stream[substream->stream].suspend_ignored) {
-+ /*
-+ * this case will be triggered when INFO_RESUME is
-+ * supported, no need to resume streams that remained
-+ * enabled in D0ix.
-+ */
-+ spcm->stream[substream->stream].suspend_ignored = false;
-+ return 0;
-+ }
-+
- /* set up hw_params */
- ret = sof_pcm_prepare(substream);
- if (ret < 0) {
-@@ -360,9 +370,30 @@ static int sof_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
-
- /* fallthrough */
- case SNDRV_PCM_TRIGGER_START:
-+ if (spcm->stream[substream->stream].suspend_ignored) {
-+ /*
-+ * This case will be triggered when INFO_RESUME is
-+ * not supported, no need to re-start streams that
-+ * remained enabled in D0ix.
-+ */
-+ spcm->stream[substream->stream].suspend_ignored = false;
-+ return 0;
-+ }
- stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_START;
- break;
- case SNDRV_PCM_TRIGGER_SUSPEND:
-+ if (sdev->s0_suspend &&
-+ spcm->stream[substream->stream].d0i3_compatible) {
-+ /*
-+ * trap the event, not sending trigger stop to
-+ * prevent the FW pipelines from being stopped,
-+ * and mark the flag to ignore the upcoming DAPM
-+ * PM events.
-+ */
-+ spcm->stream[substream->stream].suspend_ignored = true;
-+ return 0;
-+ }
-+ /* fallthrough */
- case SNDRV_PCM_TRIGGER_STOP:
- stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_STOP;
- ipc_first = true;
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 58c32e8e478e..82d8cae44a9c 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -135,7 +135,9 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w,
- struct snd_kcontrol *k, int event)
- {
- struct snd_sof_widget *swidget = w->dobj.private;
-+ int stream = SNDRV_PCM_STREAM_CAPTURE;
- struct snd_sof_dev *sdev;
-+ struct snd_sof_pcm *spcm;
- int ret = 0;
-
- if (!swidget)
-@@ -146,11 +148,19 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w,
- dev_dbg(sdev->dev, "received event %d for widget %s\n",
- event, w->name);
-
-+ /* get runtime PCM params using widget's stream name */
-+ spcm = snd_sof_find_spcm_name(sdev, swidget->widget->sname);
-+
- /* process events */
- switch (event) {
- case SND_SOC_DAPM_PRE_PMU:
-+ if (spcm->stream[stream].suspend_ignored) {
-+ dev_dbg(sdev->dev, "PRE_PMU event ignored, KWD pipeline is already RUNNING\n");
-+ return 0;
-+ }
-+
- /* set pcm params */
-- ret = ipc_pcm_params(swidget, SOF_IPC_STREAM_CAPTURE);
-+ ret = ipc_pcm_params(swidget, stream);
- if (ret < 0) {
- dev_err(sdev->dev,
- "error: failed to set pcm params for widget %s\n",
-@@ -166,6 +176,11 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w,
- swidget->widget->name);
- break;
- case SND_SOC_DAPM_POST_PMD:
-+ if (spcm->stream[stream].suspend_ignored) {
-+ dev_dbg(sdev->dev, "POST_PMD even ignored, KWD pipeline will remain RUNNING\n");
-+ return 0;
-+ }
-+
- /* stop trigger */
- ret = ipc_trigger(swidget, SOF_IPC_STREAM_TRIG_STOP);
- if (ret < 0)
---
-2.24.1
-
-From 86489b5d1ebcdf9e23a2827d82f2fd7506946662 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:19 -0500
-Subject: [PATCH 084/109] ASoC: SOF: Intel: hda-dsp: implement suspend/resume
- for S0ix<->S0 transition
-
-Enable system wake up via IPC interrupt from DSP when the system is
-suspending to the S0ix state, and disable it in the corresponding
-resuming.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-24-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 66e40876ddc325d892c493a6d83574bbba5770ce)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index b5070409a5e3..d23573d9e9c4 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -477,6 +477,15 @@ static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume)
-
- int hda_dsp_resume(struct snd_sof_dev *sdev)
- {
-+ struct pci_dev *pci = to_pci_dev(sdev->dev);
-+
-+ if (sdev->s0_suspend) {
-+ /* restore and disable the system wakeup */
-+ pci_restore_state(pci);
-+ disable_irq_wake(pci->irq);
-+ return 0;
-+ }
-+
- /* init hda controller. DSP cores will be powered up during fw boot */
- return hda_resume(sdev, false);
- }
-@@ -509,8 +518,16 @@ int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev)
- int hda_dsp_suspend(struct snd_sof_dev *sdev)
- {
- struct hdac_bus *bus = sof_to_bus(sdev);
-+ struct pci_dev *pci = to_pci_dev(sdev->dev);
- int ret;
-
-+ if (sdev->s0_suspend) {
-+ /* enable the system waking up via IPC IRQ */
-+ enable_irq_wake(pci->irq);
-+ pci_save_state(pci);
-+ return 0;
-+ }
-+
- /* stop hda controller and power dsp off */
- ret = hda_suspend(sdev, false);
- if (ret < 0) {
---
-2.24.1
-
-From 76547aaa1c920a91b99114d24945a2bf17974d0a Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:20 -0500
-Subject: [PATCH 085/109] ASoC: SOF: return -ENOTSUPP if D0I3 is not supported
-
-No set_power_state ops means that the platform doesn't support D0i3,
-return -ENOTSUPP for the case.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-25-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 5655ce660a6d3eec4a3ad37feb99fb228540d1a9)
-Bugzilla: 1772498
----
- sound/soc/sof/ops.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/sof/ops.h b/sound/soc/sof/ops.h
-index d7c8fc06f961..93512dcbaacd 100644
---- a/sound/soc/sof/ops.h
-+++ b/sound/soc/sof/ops.h
-@@ -199,7 +199,8 @@ static inline int snd_sof_dsp_set_power_state(struct snd_sof_dev *sdev,
- if (sof_ops(sdev)->set_power_state)
- return sof_ops(sdev)->set_power_state(sdev, substate);
-
-- return 0;
-+ /* D0 substate is not supported */
-+ return -ENOTSUPP;
- }
-
- /* debug */
---
-2.24.1
-
-From 6708194b3b3c49c2bf0370b2a69543c3fa98d513 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:21 -0500
-Subject: [PATCH 086/109] ASoC: SOF: PM: Add support for DSP D0i3 state when
- entering S0ix
-
-When system is entering into S0ix, the PCI device may transition to the
-D0i3 substate instead of D3. In D0i3, some always-on functionality can
-be enabled, such as acoustic event detection, voice activity detection
-or hotwording. When an event is detected, the DSP firmware can wake-up
-the device for a transition to D0 with an interrupt.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-26-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit c470fc3f61b25e955f8ba90fc9dc554881e4e72c)
-Bugzilla: 1772498
----
- sound/soc/sof/pm.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 46 insertions(+)
-
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index 02189eb2e89a..4f8db8367d0a 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -453,12 +453,58 @@ EXPORT_SYMBOL(snd_sof_set_d0_substate);
-
- int snd_sof_resume(struct device *dev)
- {
-+ struct snd_sof_dev *sdev = dev_get_drvdata(dev);
-+ int ret;
-+
-+ if (sdev->s0_suspend) {
-+ /* resume from D0I3 */
-+ dev_dbg(sdev->dev, "DSP will exit from D0i3...\n");
-+ ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I0);
-+ if (ret == -ENOTSUPP) {
-+ /* fallback to resume from D3 */
-+ dev_dbg(sdev->dev, "D0i3 not supported, fall back to resume from D3...\n");
-+ goto d3_resume;
-+ } else if (ret < 0) {
-+ dev_err(sdev->dev, "error: failed to exit from D0I3 %d\n",
-+ ret);
-+ return ret;
-+ }
-+
-+ /* platform-specific resume from D0i3 */
-+ return snd_sof_dsp_resume(sdev);
-+ }
-+
-+d3_resume:
-+ /* resume from D3 */
- return sof_resume(dev, false);
- }
- EXPORT_SYMBOL(snd_sof_resume);
-
- int snd_sof_suspend(struct device *dev)
- {
-+ struct snd_sof_dev *sdev = dev_get_drvdata(dev);
-+ int ret;
-+
-+ if (sdev->s0_suspend) {
-+ /* suspend to D0i3 */
-+ dev_dbg(sdev->dev, "DSP is trying to enter D0i3...\n");
-+ ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I3);
-+ if (ret == -ENOTSUPP) {
-+ /* fallback to D3 suspend */
-+ dev_dbg(sdev->dev, "D0i3 not supported, fall back to D3...\n");
-+ goto d3_suspend;
-+ } else if (ret < 0) {
-+ dev_err(sdev->dev, "error: failed to enter D0I3, %d\n",
-+ ret);
-+ return ret;
-+ }
-+
-+ /* platform-specific suspend to D0i3 */
-+ return snd_sof_dsp_suspend(sdev);
-+ }
-+
-+d3_suspend:
-+ /* suspend to D3 */
- return sof_suspend(dev, false);
- }
- EXPORT_SYMBOL(snd_sof_suspend);
---
-2.24.1
-
-From 19f37f08da2c5bc26d8f5df3f66fb71cf3d9f831 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 25 Oct 2019 17:41:22 -0500
-Subject: [PATCH 087/109] ASoC: SOF: pci: Add prepare/complete PM callbacks
-
-Use the new implemented snd_sof_prepare() and snd_sof_complete() as the
-power management callbacks for pci probing platforms.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191025224122.7718-27-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 6d407a39cc9619d0088b44333c6526924be00f8d)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-pci-dev.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
-index 067acf389af7..3b58b91e7b9e 100644
---- a/sound/soc/sof/sof-pci-dev.c
-+++ b/sound/soc/sof/sof-pci-dev.c
-@@ -229,6 +229,8 @@ static const struct sof_dev_desc jsl_desc = {
- #endif
-
- static const struct dev_pm_ops sof_pci_pm = {
-+ .prepare = snd_sof_prepare,
-+ .complete = snd_sof_complete,
- SET_SYSTEM_SLEEP_PM_OPS(snd_sof_suspend, snd_sof_resume)
- SET_RUNTIME_PM_OPS(snd_sof_runtime_suspend, snd_sof_runtime_resume,
- snd_sof_runtime_idle)
---
-2.24.1
-
-From b6a2d55961bfc8c9eafdc520b34109420084b274 Mon Sep 17 00:00:00 2001
-From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:09:16 -0500
-Subject: [PATCH 088/109] ASoC: SOF: Intel: hda: Simplify the
- hda_dsp_wait_d0i3c_done() function
-
-Remove the retry argument for the hda_dsp_wait_d0i3c_done()
-function and use the HDA_DSP_REG_POLL_RETRY_COUNT macro
-directly.
-
-Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101170916.26517-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 65c56f5dccc87ca2993a50672e144c7378189f2c)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index d23573d9e9c4..8cd5ecc01b62 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -307,9 +307,10 @@ void hda_dsp_ipc_int_disable(struct snd_sof_dev *sdev)
- HDA_DSP_REG_HIPCCTL_BUSY | HDA_DSP_REG_HIPCCTL_DONE, 0);
- }
-
--static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev, int retry)
-+static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev)
- {
- struct hdac_bus *bus = sof_to_bus(sdev);
-+ int retry = HDA_DSP_REG_POLL_RETRY_COUNT;
-
- while (snd_hdac_chip_readb(bus, VS_D0I3C) & SOF_HDA_VS_D0I3C_CIP) {
- if (!retry--)
-@@ -346,7 +347,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- u8 value;
-
- /* Write to D0I3C after Command-In-Progress bit is cleared */
-- ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT);
-+ ret = hda_dsp_wait_d0i3c_done(sdev);
- if (ret < 0) {
- dev_err(bus->dev, "CIP timeout before D0I3C update!\n");
- return ret;
-@@ -357,7 +358,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev,
- snd_hdac_chip_updateb(bus, VS_D0I3C, SOF_HDA_VS_D0I3C_I3, value);
-
- /* Wait for cmd in progress to be cleared before exiting the function */
-- ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT);
-+ ret = hda_dsp_wait_d0i3c_done(sdev);
- if (ret < 0) {
- dev_err(bus->dev, "CIP timeout after D0I3C update!\n");
- return ret;
---
-2.24.1
-
-From 4260fe05dea091d2de9257f29c604c8b9530aa47 Mon Sep 17 00:00:00 2001
-From: Jaska Uimonen <jaska.uimonen@linux.intel.com>
-Date: Tue, 8 Oct 2019 11:44:42 -0500
-Subject: [PATCH 089/109] AsoC: SOF: refactor control load code
-
-Move code around to enable token parsing in control load.
-
-Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-9-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit acf1b71cb693263c7c9373296e872a8fa61a5cf3)
-Bugzilla: 1772498
----
- sound/soc/sof/topology.c | 336 +++++++++++++++++++--------------------
- 1 file changed, 168 insertions(+), 168 deletions(-)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 82d8cae44a9c..143b8259a70a 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -447,174 +447,6 @@ static enum sof_comp_type find_process_comp_type(enum sof_ipc_process_type type)
- return SOF_COMP_NONE;
- }
-
--/*
-- * Standard Kcontrols.
-- */
--
--static int sof_control_load_volume(struct snd_soc_component *scomp,
-- struct snd_sof_control *scontrol,
-- struct snd_kcontrol_new *kc,
-- struct snd_soc_tplg_ctl_hdr *hdr)
--{
-- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-- struct snd_soc_tplg_mixer_control *mc =
-- container_of(hdr, struct snd_soc_tplg_mixer_control, hdr);
-- struct sof_ipc_ctrl_data *cdata;
-- int tlv[TLV_ITEMS];
-- unsigned int i;
-- int ret;
--
-- /* validate topology data */
-- if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN)
-- return -EINVAL;
--
-- /* init the volume get/put data */
-- scontrol->size = struct_size(scontrol->control_data, chanv,
-- le32_to_cpu(mc->num_channels));
-- scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL);
-- if (!scontrol->control_data)
-- return -ENOMEM;
--
-- scontrol->comp_id = sdev->next_comp_id;
-- scontrol->min_volume_step = le32_to_cpu(mc->min);
-- scontrol->max_volume_step = le32_to_cpu(mc->max);
-- scontrol->num_channels = le32_to_cpu(mc->num_channels);
--
-- /* set cmd for mixer control */
-- if (le32_to_cpu(mc->max) == 1) {
-- scontrol->cmd = SOF_CTRL_CMD_SWITCH;
-- goto out;
-- }
--
-- scontrol->cmd = SOF_CTRL_CMD_VOLUME;
--
-- /* extract tlv data */
-- if (get_tlv_data(kc->tlv.p, tlv) < 0) {
-- dev_err(sdev->dev, "error: invalid TLV data\n");
-- return -EINVAL;
-- }
--
-- /* set up volume table */
-- ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1);
-- if (ret < 0) {
-- dev_err(sdev->dev, "error: setting up volume table\n");
-- return ret;
-- }
--
-- /* set default volume values to 0dB in control */
-- cdata = scontrol->control_data;
-- for (i = 0; i < scontrol->num_channels; i++) {
-- cdata->chanv[i].channel = i;
-- cdata->chanv[i].value = VOL_ZERO_DB;
-- }
--
--out:
-- /* set up possible led control from mixer private data */
-- ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens,
-- ARRAY_SIZE(led_tokens), mc->priv.array,
-- le32_to_cpu(mc->priv.size));
-- if (ret != 0) {
-- dev_err(sdev->dev, "error: parse led tokens failed %d\n",
-- le32_to_cpu(mc->priv.size));
-- return ret;
-- }
--
-- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n",
-- scontrol->comp_id, scontrol->num_channels);
--
-- return 0;
--}
--
--static int sof_control_load_enum(struct snd_soc_component *scomp,
-- struct snd_sof_control *scontrol,
-- struct snd_kcontrol_new *kc,
-- struct snd_soc_tplg_ctl_hdr *hdr)
--{
-- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-- struct snd_soc_tplg_enum_control *ec =
-- container_of(hdr, struct snd_soc_tplg_enum_control, hdr);
--
-- /* validate topology data */
-- if (le32_to_cpu(ec->num_channels) > SND_SOC_TPLG_MAX_CHAN)
-- return -EINVAL;
--
-- /* init the enum get/put data */
-- scontrol->size = struct_size(scontrol->control_data, chanv,
-- le32_to_cpu(ec->num_channels));
-- scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL);
-- if (!scontrol->control_data)
-- return -ENOMEM;
--
-- scontrol->comp_id = sdev->next_comp_id;
-- scontrol->num_channels = le32_to_cpu(ec->num_channels);
--
-- scontrol->cmd = SOF_CTRL_CMD_ENUM;
--
-- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d comp_id %d\n",
-- scontrol->comp_id, scontrol->num_channels, scontrol->comp_id);
--
-- return 0;
--}
--
--static int sof_control_load_bytes(struct snd_soc_component *scomp,
-- struct snd_sof_control *scontrol,
-- struct snd_kcontrol_new *kc,
-- struct snd_soc_tplg_ctl_hdr *hdr)
--{
-- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-- struct sof_ipc_ctrl_data *cdata;
-- struct snd_soc_tplg_bytes_control *control =
-- container_of(hdr, struct snd_soc_tplg_bytes_control, hdr);
-- struct soc_bytes_ext *sbe = (struct soc_bytes_ext *)kc->private_value;
-- int max_size = sbe->max;
--
-- /* init the get/put bytes data */
-- scontrol->size = sizeof(struct sof_ipc_ctrl_data) +
-- le32_to_cpu(control->priv.size);
--
-- if (scontrol->size > max_size) {
-- dev_err(sdev->dev, "err: bytes data size %d exceeds max %d.\n",
-- scontrol->size, max_size);
-- return -EINVAL;
-- }
--
-- scontrol->control_data = kzalloc(max_size, GFP_KERNEL);
-- cdata = scontrol->control_data;
-- if (!scontrol->control_data)
-- return -ENOMEM;
--
-- scontrol->comp_id = sdev->next_comp_id;
-- scontrol->cmd = SOF_CTRL_CMD_BINARY;
--
-- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n",
-- scontrol->comp_id, scontrol->num_channels);
--
-- if (le32_to_cpu(control->priv.size) > 0) {
-- memcpy(cdata->data, control->priv.data,
-- le32_to_cpu(control->priv.size));
--
-- if (cdata->data->magic != SOF_ABI_MAGIC) {
-- dev_err(sdev->dev, "error: Wrong ABI magic 0x%08x.\n",
-- cdata->data->magic);
-- return -EINVAL;
-- }
-- if (SOF_ABI_VERSION_INCOMPATIBLE(SOF_ABI_VERSION,
-- cdata->data->abi)) {
-- dev_err(sdev->dev,
-- "error: Incompatible ABI version 0x%08x.\n",
-- cdata->data->abi);
-- return -EINVAL;
-- }
-- if (cdata->data->size + sizeof(const struct sof_abi_hdr) !=
-- le32_to_cpu(control->priv.size)) {
-- dev_err(sdev->dev,
-- "error: Conflict in bytes vs. priv size.\n");
-- return -EINVAL;
-- }
-- }
-- return 0;
--}
--
- /*
- * Topology Token Parsing.
- * New tokens should be added to headers and parsing tables below.
-@@ -1090,6 +922,174 @@ static void sof_dbg_comp_config(struct snd_soc_component *scomp,
- config->frame_fmt);
- }
-
-+/*
-+ * Standard Kcontrols.
-+ */
-+
-+static int sof_control_load_volume(struct snd_soc_component *scomp,
-+ struct snd_sof_control *scontrol,
-+ struct snd_kcontrol_new *kc,
-+ struct snd_soc_tplg_ctl_hdr *hdr)
-+{
-+ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-+ struct snd_soc_tplg_mixer_control *mc =
-+ container_of(hdr, struct snd_soc_tplg_mixer_control, hdr);
-+ struct sof_ipc_ctrl_data *cdata;
-+ int tlv[TLV_ITEMS];
-+ unsigned int i;
-+ int ret;
-+
-+ /* validate topology data */
-+ if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN)
-+ return -EINVAL;
-+
-+ /* init the volume get/put data */
-+ scontrol->size = struct_size(scontrol->control_data, chanv,
-+ le32_to_cpu(mc->num_channels));
-+ scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL);
-+ if (!scontrol->control_data)
-+ return -ENOMEM;
-+
-+ scontrol->comp_id = sdev->next_comp_id;
-+ scontrol->min_volume_step = le32_to_cpu(mc->min);
-+ scontrol->max_volume_step = le32_to_cpu(mc->max);
-+ scontrol->num_channels = le32_to_cpu(mc->num_channels);
-+
-+ /* set cmd for mixer control */
-+ if (le32_to_cpu(mc->max) == 1) {
-+ scontrol->cmd = SOF_CTRL_CMD_SWITCH;
-+ goto out;
-+ }
-+
-+ scontrol->cmd = SOF_CTRL_CMD_VOLUME;
-+
-+ /* extract tlv data */
-+ if (get_tlv_data(kc->tlv.p, tlv) < 0) {
-+ dev_err(sdev->dev, "error: invalid TLV data\n");
-+ return -EINVAL;
-+ }
-+
-+ /* set up volume table */
-+ ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1);
-+ if (ret < 0) {
-+ dev_err(sdev->dev, "error: setting up volume table\n");
-+ return ret;
-+ }
-+
-+ /* set default volume values to 0dB in control */
-+ cdata = scontrol->control_data;
-+ for (i = 0; i < scontrol->num_channels; i++) {
-+ cdata->chanv[i].channel = i;
-+ cdata->chanv[i].value = VOL_ZERO_DB;
-+ }
-+
-+out:
-+ /* set up possible led control from mixer private data */
-+ ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens,
-+ ARRAY_SIZE(led_tokens), mc->priv.array,
-+ le32_to_cpu(mc->priv.size));
-+ if (ret != 0) {
-+ dev_err(sdev->dev, "error: parse led tokens failed %d\n",
-+ le32_to_cpu(mc->priv.size));
-+ return ret;
-+ }
-+
-+ dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n",
-+ scontrol->comp_id, scontrol->num_channels);
-+
-+ return 0;
-+}
-+
-+static int sof_control_load_enum(struct snd_soc_component *scomp,
-+ struct snd_sof_control *scontrol,
-+ struct snd_kcontrol_new *kc,
-+ struct snd_soc_tplg_ctl_hdr *hdr)
-+{
-+ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-+ struct snd_soc_tplg_enum_control *ec =
-+ container_of(hdr, struct snd_soc_tplg_enum_control, hdr);
-+
-+ /* validate topology data */
-+ if (le32_to_cpu(ec->num_channels) > SND_SOC_TPLG_MAX_CHAN)
-+ return -EINVAL;
-+
-+ /* init the enum get/put data */
-+ scontrol->size = struct_size(scontrol->control_data, chanv,
-+ le32_to_cpu(ec->num_channels));
-+ scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL);
-+ if (!scontrol->control_data)
-+ return -ENOMEM;
-+
-+ scontrol->comp_id = sdev->next_comp_id;
-+ scontrol->num_channels = le32_to_cpu(ec->num_channels);
-+
-+ scontrol->cmd = SOF_CTRL_CMD_ENUM;
-+
-+ dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d comp_id %d\n",
-+ scontrol->comp_id, scontrol->num_channels, scontrol->comp_id);
-+
-+ return 0;
-+}
-+
-+static int sof_control_load_bytes(struct snd_soc_component *scomp,
-+ struct snd_sof_control *scontrol,
-+ struct snd_kcontrol_new *kc,
-+ struct snd_soc_tplg_ctl_hdr *hdr)
-+{
-+ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-+ struct sof_ipc_ctrl_data *cdata;
-+ struct snd_soc_tplg_bytes_control *control =
-+ container_of(hdr, struct snd_soc_tplg_bytes_control, hdr);
-+ struct soc_bytes_ext *sbe = (struct soc_bytes_ext *)kc->private_value;
-+ int max_size = sbe->max;
-+
-+ /* init the get/put bytes data */
-+ scontrol->size = sizeof(struct sof_ipc_ctrl_data) +
-+ le32_to_cpu(control->priv.size);
-+
-+ if (scontrol->size > max_size) {
-+ dev_err(sdev->dev, "err: bytes data size %d exceeds max %d.\n",
-+ scontrol->size, max_size);
-+ return -EINVAL;
-+ }
-+
-+ scontrol->control_data = kzalloc(max_size, GFP_KERNEL);
-+ cdata = scontrol->control_data;
-+ if (!scontrol->control_data)
-+ return -ENOMEM;
-+
-+ scontrol->comp_id = sdev->next_comp_id;
-+ scontrol->cmd = SOF_CTRL_CMD_BINARY;
-+
-+ dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n",
-+ scontrol->comp_id, scontrol->num_channels);
-+
-+ if (le32_to_cpu(control->priv.size) > 0) {
-+ memcpy(cdata->data, control->priv.data,
-+ le32_to_cpu(control->priv.size));
-+
-+ if (cdata->data->magic != SOF_ABI_MAGIC) {
-+ dev_err(sdev->dev, "error: Wrong ABI magic 0x%08x.\n",
-+ cdata->data->magic);
-+ return -EINVAL;
-+ }
-+ if (SOF_ABI_VERSION_INCOMPATIBLE(SOF_ABI_VERSION,
-+ cdata->data->abi)) {
-+ dev_err(sdev->dev,
-+ "error: Incompatible ABI version 0x%08x.\n",
-+ cdata->data->abi);
-+ return -EINVAL;
-+ }
-+ if (cdata->data->size + sizeof(const struct sof_abi_hdr) !=
-+ le32_to_cpu(control->priv.size)) {
-+ dev_err(sdev->dev,
-+ "error: Conflict in bytes vs. priv size.\n");
-+ return -EINVAL;
-+ }
-+ }
-+ return 0;
-+}
-+
- /* external kcontrol init - used for any driver specific init */
- static int sof_control_load(struct snd_soc_component *scomp, int index,
- struct snd_kcontrol_new *kc,
---
-2.24.1
-
-From 15c0bca54b7988f8f114d48e0b059ac02d729a90 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Tue, 19 Nov 2019 18:49:32 +0100
-Subject: [PATCH 090/109] ASoC: add control components management
-
-This ASCII string can carry additional information about
-soundcard components or configuration. Add the possibility
-to set this string via the ASoC card.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Cc: Mark Brown <broonie@kernel.org>
-Link: https://lore.kernel.org/r/20191119174933.25526-1-perex@perex.cz
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit dc73d73aa7145f55412611f3eead1e85ae026785)
-Bugzilla: 1772498
----
- include/sound/soc.h | 1 +
- sound/soc/soc-core.c | 13 +++++++++++++
- 2 files changed, 14 insertions(+)
-
-diff --git a/include/sound/soc.h b/include/sound/soc.h
-index f264c6509f00..efc5fb8f3d64 100644
---- a/include/sound/soc.h
-+++ b/include/sound/soc.h
-@@ -978,6 +978,7 @@ struct snd_soc_card {
- const char *name;
- const char *long_name;
- const char *driver_name;
-+ const char *components;
- char dmi_longname[80];
- char topology_shortname[32];
-
-diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
-index 9d3b546bae7b..da5111985a56 100644
---- a/sound/soc/soc-core.c
-+++ b/sound/soc/soc-core.c
-@@ -2097,6 +2097,19 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card)
- }
- }
-
-+ if (card->components) {
-+ /* the current implementation of snd_component_add() accepts */
-+ /* multiple components in the string separated by space, */
-+ /* but the string collision (identical string) check might */
-+ /* not work correctly */
-+ ret = snd_component_add(card->snd_card, card->components);
-+ if (ret < 0) {
-+ dev_err(card->dev, "ASoC: %s snd_component_add() failed: %d\n",
-+ card->name, ret);
-+ goto probe_end;
-+ }
-+ }
-+
- if (card->late_probe) {
- ret = card->late_probe(card);
- if (ret < 0) {
---
-2.24.1
-
-From 4f4361e40a15f13cf9a8f55121265f34cca25539 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Wed, 20 Nov 2019 18:44:34 +0100
-Subject: [PATCH 091/109] ASoC: improve the DMI long card code in asoc-core
-
-Add append_dmi_string() function and make the code more readable.
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191120174435.30920-1-perex@perex.cz
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 4e01e5dbba96f731119f3f1a6bf51b54c98c5940)
-Bugzilla: 1772498
----
- sound/soc/soc-core.c | 66 +++++++++++++++++---------------------------
- 1 file changed, 25 insertions(+), 41 deletions(-)
-
-diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
-index da5111985a56..fbe641ef8ed7 100644
---- a/sound/soc/soc-core.c
-+++ b/sound/soc/soc-core.c
-@@ -1729,6 +1729,23 @@ static int is_dmi_valid(const char *field)
- return 1;
- }
-
-+/*
-+ * Append a string to card->dmi_longname with character cleanups.
-+ */
-+static void append_dmi_string(struct snd_soc_card *card, const char *str)
-+{
-+ char *dst = card->dmi_longname;
-+ size_t dst_len = sizeof(card->dmi_longname);
-+ size_t len;
-+
-+ len = strlen(dst);
-+ snprintf(dst + len, dst_len - len, "-%s", str);
-+
-+ len++; /* skip the separator "-" */
-+ if (len < dst_len)
-+ cleanup_dmi_name(dst + len);
-+}
-+
- /**
- * snd_soc_set_dmi_name() - Register DMI names to card
- * @card: The card to register DMI names
-@@ -1763,61 +1780,36 @@ static int is_dmi_valid(const char *field)
- int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour)
- {
- const char *vendor, *product, *product_version, *board;
-- size_t longname_buf_size = sizeof(card->snd_card->longname);
-- size_t len;
-
- if (card->long_name)
- return 0; /* long name already set by driver or from DMI */
-
-- /* make up dmi long name as: vendor.product.version.board */
-+ /* make up dmi long name as: vendor-product-version-board */
- vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
- if (!vendor || !is_dmi_valid(vendor)) {
- dev_warn(card->dev, "ASoC: no DMI vendor name!\n");
- return 0;
- }
-
-- snprintf(card->dmi_longname, sizeof(card->snd_card->longname),
-- "%s", vendor);
-+ snprintf(card->dmi_longname, sizeof(card->dmi_longname), "%s", vendor);
- cleanup_dmi_name(card->dmi_longname);
-
- product = dmi_get_system_info(DMI_PRODUCT_NAME);
- if (product && is_dmi_valid(product)) {
-- len = strlen(card->dmi_longname);
-- snprintf(card->dmi_longname + len,
-- longname_buf_size - len,
-- "-%s", product);
--
-- len++; /* skip the separator "-" */
-- if (len < longname_buf_size)
-- cleanup_dmi_name(card->dmi_longname + len);
-+ append_dmi_string(card, product);
-
- /*
- * some vendors like Lenovo may only put a self-explanatory
- * name in the product version field
- */
- product_version = dmi_get_system_info(DMI_PRODUCT_VERSION);
-- if (product_version && is_dmi_valid(product_version)) {
-- len = strlen(card->dmi_longname);
-- snprintf(card->dmi_longname + len,
-- longname_buf_size - len,
-- "-%s", product_version);
--
-- len++;
-- if (len < longname_buf_size)
-- cleanup_dmi_name(card->dmi_longname + len);
-- }
-+ if (product_version && is_dmi_valid(product_version))
-+ append_dmi_string(card, product_version);
- }
-
- board = dmi_get_system_info(DMI_BOARD_NAME);
- if (board && is_dmi_valid(board)) {
-- len = strlen(card->dmi_longname);
-- snprintf(card->dmi_longname + len,
-- longname_buf_size - len,
-- "-%s", board);
--
-- len++;
-- if (len < longname_buf_size)
-- cleanup_dmi_name(card->dmi_longname + len);
-+ append_dmi_string(card, board);
- } else if (!product) {
- /* fall back to using legacy name */
- dev_warn(card->dev, "ASoC: no DMI board/product name!\n");
-@@ -1825,16 +1817,8 @@ int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour)
- }
-
- /* Add flavour to dmi long name */
-- if (flavour) {
-- len = strlen(card->dmi_longname);
-- snprintf(card->dmi_longname + len,
-- longname_buf_size - len,
-- "-%s", flavour);
--
-- len++;
-- if (len < longname_buf_size)
-- cleanup_dmi_name(card->dmi_longname + len);
-- }
-+ if (flavour)
-+ append_dmi_string(card, flavour);
-
- /* set the card long name */
- card->long_name = card->dmi_longname;
---
-2.24.1
-
-From f51fdb4ea9b75970096dc818c7737b6c6d611483 Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Wed, 20 Nov 2019 18:44:35 +0100
-Subject: [PATCH 092/109] ASoC: DMI long name - avoid to add board name if
- matches with product name
-
-Current code:
-
- LENOVO-20QE000VMC-ThinkPadX1Carbon7th-20QE000VMC
-
-With the patch:
-
- LENOVO-20QE000VMC-ThinkPadX1Carbon7th
-
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Link: https://lore.kernel.org/r/20191120174435.30920-2-perex@perex.cz
-Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 39870b0dec68ed7dd814beb697e541670975c7d8)
-Bugzilla: 1772498
----
- sound/soc/soc-core.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
-index fbe641ef8ed7..f61e5b50a66f 100644
---- a/sound/soc/soc-core.c
-+++ b/sound/soc/soc-core.c
-@@ -1809,7 +1809,8 @@ int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour)
-
- board = dmi_get_system_info(DMI_BOARD_NAME);
- if (board && is_dmi_valid(board)) {
-- append_dmi_string(card, board);
-+ if (!product || strcasecmp(board, product))
-+ append_dmi_string(card, board);
- } else if (!product) {
- /* fall back to using legacy name */
- dev_warn(card->dev, "ASoC: no DMI board/product name!\n");
---
-2.24.1
-
-From 2cc756fee053d7a99a683ba0636ce2dc37ef164a Mon Sep 17 00:00:00 2001
-From: Jens Verwiebe <info@jensverwiebe.de>
-Date: Sun, 24 Nov 2019 13:35:44 +0100
-Subject: [PATCH 093/109] ALSA: usb-audio: Fix Focusrite Scarlett 6i6 gen1 -
- input handling
-
-The Scarlett 6i6 has no padding on rear inputs 3/4 but a gainstage.
-This patch introduces this functionality as to be seen in the mac
-or windows scarlett control.
-
-The correct address could already be found in the dump info, but was
-never used. Without this patch inputs 3/4 are quite unusable else.
-
-Signed-off-by: Jens Verwiebe <info@jensverwiebe.de>
-Link: https://lore.kernel.org/r/384d65cd-5e87-91eb-9fc3-e57226f534c6@jensverwiebe.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit bf2aa5cadd1c7bb91af4b5b1218e643cfffb5c9a)
-Bugzilla: 1772498
----
- sound/usb/mixer_scarlett.c | 23 +++++++++++++++++++++--
- 1 file changed, 21 insertions(+), 2 deletions(-)
-
-diff --git a/sound/usb/mixer_scarlett.c b/sound/usb/mixer_scarlett.c
-index 83715fd8dfd6..9d10cbf1b5ed 100644
---- a/sound/usb/mixer_scarlett.c
-+++ b/sound/usb/mixer_scarlett.c
-@@ -142,6 +142,7 @@ enum {
- SCARLETT_OUTPUTS,
- SCARLETT_SWITCH_IMPEDANCE,
- SCARLETT_SWITCH_PAD,
-+ SCARLETT_SWITCH_GAIN,
- };
-
- enum {
-@@ -192,6 +193,15 @@ static const struct scarlett_mixer_elem_enum_info opt_pad = {
- }
- };
-
-+static const struct scarlett_mixer_elem_enum_info opt_gain = {
-+ .start = 0,
-+ .len = 2,
-+ .offsets = {},
-+ .names = (char const * const []){
-+ "Lo", "Hi"
-+ }
-+};
-+
- static const struct scarlett_mixer_elem_enum_info opt_impedance = {
- .start = 0,
- .len = 2,
-@@ -652,8 +662,8 @@ static struct scarlett_device_info s6i6_info = {
- { .num = 1, .type = SCARLETT_SWITCH_PAD, .name = NULL},
- { .num = 2, .type = SCARLETT_SWITCH_IMPEDANCE, .name = NULL},
- { .num = 2, .type = SCARLETT_SWITCH_PAD, .name = NULL},
-- { .num = 3, .type = SCARLETT_SWITCH_PAD, .name = NULL},
-- { .num = 4, .type = SCARLETT_SWITCH_PAD, .name = NULL},
-+ { .num = 3, .type = SCARLETT_SWITCH_GAIN, .name = NULL},
-+ { .num = 4, .type = SCARLETT_SWITCH_GAIN, .name = NULL},
- },
-
- .matrix_mux_init = {
-@@ -883,6 +893,15 @@ static int scarlett_controls_create_generic(struct usb_mixer_interface *mixer,
- if (err < 0)
- return err;
- break;
-+ case SCARLETT_SWITCH_GAIN:
-+ sprintf(mx, "Input %d Gain Switch", ctl->num);
-+ err = add_new_ctl(mixer, &usb_scarlett_ctl_enum,
-+ scarlett_ctl_enum_resume, 0x01,
-+ 0x08, ctl->num, USB_MIXER_S16, 1, mx,
-+ &opt_gain, &elem);
-+ if (err < 0)
-+ return err;
-+ break;
- }
- }
-
---
-2.24.1
-
-From 217f33a7c631a8bfa8af1d3a3ddf448d614d2c33 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:09:14 -0500
-Subject: [PATCH 094/109] ASoC: SOF: topology: fix missing NULL pointer check
-
-Add check to avoid possible NULL pointer dereference issue.
-
-This issue was reported by static analysis tools, we didn't face this
-issue but we can't rule it out either as a false positive.
-
-Reported-by: Keqiao Zhang <keqiao.zhang@intel.com>
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101170916.26517-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 8cd73ce7ba6381feb9df763240dee3a6d4aff1ca)
-Bugzilla: 1772498
----
- sound/soc/sof/topology.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 143b8259a70a..6096731e89ce 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -150,6 +150,11 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w,
-
- /* get runtime PCM params using widget's stream name */
- spcm = snd_sof_find_spcm_name(sdev, swidget->widget->sname);
-+ if (!spcm) {
-+ dev_err(sdev->dev, "error: cannot find PCM for %s\n",
-+ swidget->widget->name);
-+ return -EINVAL;
-+ }
-
- /* process events */
- switch (event) {
---
-2.24.1
-
-From 74dfe62b453b1472c56e3b2f9692394212e860e8 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Fri, 1 Nov 2019 12:09:15 -0500
-Subject: [PATCH 095/109] ASoC: SOF: Intel: hda: set L1SEN on S0ix suspend
-
-Set L1SEN to make sure the system can enter S0ix, and restore it on
-resume.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191101170916.26517-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 16299326a0cbbc88d4d6491a8ceebbfca81064c5)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda-dsp.c | 15 +++++++++++++++
- sound/soc/sof/intel/hda.h | 3 +++
- 2 files changed, 18 insertions(+)
-
-diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
-index 8cd5ecc01b62..4a4d318f97ff 100644
---- a/sound/soc/sof/intel/hda-dsp.c
-+++ b/sound/soc/sof/intel/hda-dsp.c
-@@ -478,9 +478,16 @@ static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume)
-
- int hda_dsp_resume(struct snd_sof_dev *sdev)
- {
-+ struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata;
- struct pci_dev *pci = to_pci_dev(sdev->dev);
-
- if (sdev->s0_suspend) {
-+ /* restore L1SEN bit */
-+ if (hda->l1_support_changed)
-+ snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR,
-+ HDA_VS_INTEL_EM2,
-+ HDA_VS_INTEL_EM2_L1SEN, 0);
-+
- /* restore and disable the system wakeup */
- pci_restore_state(pci);
- disable_irq_wake(pci->irq);
-@@ -518,11 +525,19 @@ int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev)
-
- int hda_dsp_suspend(struct snd_sof_dev *sdev)
- {
-+ struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata;
- struct hdac_bus *bus = sof_to_bus(sdev);
- struct pci_dev *pci = to_pci_dev(sdev->dev);
- int ret;
-
- if (sdev->s0_suspend) {
-+ /* enable L1SEN to make sure the system can enter S0Ix */
-+ hda->l1_support_changed =
-+ snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR,
-+ HDA_VS_INTEL_EM2,
-+ HDA_VS_INTEL_EM2_L1SEN,
-+ HDA_VS_INTEL_EM2_L1SEN);
-+
- /* enable the system waking up via IPC IRQ */
- enable_irq_wake(pci->irq);
- pci_save_state(pci);
-diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
-index 16376f55e420..50e037f2973f 100644
---- a/sound/soc/sof/intel/hda.h
-+++ b/sound/soc/sof/intel/hda.h
-@@ -408,6 +408,9 @@ struct sof_intel_hda_dev {
-
- int irq;
-
-+ /* PM related */
-+ bool l1_support_changed;/* during suspend, is L1SEN changed or not */
-+
- /* DMIC device */
- struct platform_device *dmic_dev;
- };
---
-2.24.1
-
-From 9298cb2df525d2f7e42fe14a257a2ae758302559 Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Mon, 11 Nov 2019 16:29:01 -0600
-Subject: [PATCH 096/109] ASoC: SOF: Intel: hda: use fallback for firmware name
-
-We have platforms such as CFL with no known I2S codec being used, and
-the ACPI tables are currently empty, so fall-back to using the
-firmware filename used in nocodec mode
-
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111222901.19892-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 0af237d51a4e734db959a158185f79019f022f59)
-Bugzilla: 1772498
----
- sound/soc/sof/intel/hda.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
-index ff3fa8670fd8..78c3de74c401 100644
---- a/sound/soc/sof/intel/hda.c
-+++ b/sound/soc/sof/intel/hda.c
-@@ -410,9 +410,16 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
- pdata->tplg_filename =
- hda_mach->sof_tplg_filename;
-
-- /* firmware: pick the first in machine list */
-+ /*
-+ * firmware: pick the first in machine list,
-+ * or use nocodec firmware name if list is empty
-+ */
- mach = pdata->desc->machines;
-- pdata->fw_filename = mach->sof_fw_filename;
-+ if (mach->id[0])
-+ pdata->fw_filename = mach->sof_fw_filename;
-+ else
-+ pdata->fw_filename =
-+ pdata->desc->nocodec_fw_filename;
-
- dev_info(bus->dev, "using HDA machine driver %s now\n",
- hda_mach->drv_name);
---
-2.24.1
-
-From d4d3a9762c6ef736427a427f40dac50f8e17f625 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Mon, 11 Nov 2019 16:33:40 -0600
-Subject: [PATCH 097/109] ASoC: SOF: PM: add state machine to comments
-
-Add Audio DSP state machine with comments. Note that the
-'D0<-->runtime D0I3' part is not implemented yet.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111223343.19986-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 74b4dd04b19cc03e1cc369d9c371cf4206367df4)
-Bugzilla: 1772498
----
- sound/soc/sof/pm.c | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index 4f8db8367d0a..420615dff5ae 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -451,6 +451,38 @@ int snd_sof_set_d0_substate(struct snd_sof_dev *sdev,
- }
- EXPORT_SYMBOL(snd_sof_set_d0_substate);
-
-+/*
-+ * Audio DSP states may transform as below:-
-+ *
-+ * D0I3 compatible stream
-+ * Runtime +---------------------+ opened only, timeout
-+ * suspend | +--------------------+
-+ * +------------+ D0(active) | |
-+ * | | <---------------+ |
-+ * | +--------> | | |
-+ * | |Runtime +--^--+---------^--+--+ The last | |
-+ * | |resume | | | | opened D0I3 | |
-+ * | | | | | | compatible | |
-+ * | | resume| | | | stream closed | |
-+ * | | from | | D3 | | | |
-+ * | | D3 | |suspend | | d0i3 | |
-+ * | | | | | |suspend | |
-+ * | | | | | | | |
-+ * | | | | | | | |
-+ * +-v---+-----------+--v-------+ | | +------+----v----+
-+ * | | | +-----------> |
-+ * | D3 (suspended) | | | D0I3 +-----+
-+ * | | +--------------+ | |
-+ * | | resume from | | |
-+ * +-------------------^--------+ d0i3 suspend +----------------+ |
-+ * | |
-+ * | D3 suspend |
-+ * +------------------------------------------------+
-+ *
-+ * d0i3_suspend = s0_suspend && D0I3 stream opened,
-+ * D3 suspend = !d0i3_suspend,
-+ */
-+
- int snd_sof_resume(struct device *dev)
- {
- struct snd_sof_dev *sdev = dev_get_drvdata(dev);
---
-2.24.1
-
-From 2ce44c4ffc5b1ee7b84d53f5d18eefe35a06092d Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Mon, 11 Nov 2019 16:33:41 -0600
-Subject: [PATCH 098/109] ASoC: SOF: PM: add check before setting d0_substate
-
-Add check before seeting d0_substate and return success if Audio DSP is
-already in the target substate.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111223343.19986-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 58a972efd21bb5adadd97f2546693ec64bfc99b9)
-Bugzilla: 1772498
----
- sound/soc/sof/pm.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index 420615dff5ae..ff966d004692 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -439,6 +439,9 @@ int snd_sof_set_d0_substate(struct snd_sof_dev *sdev,
- {
- int ret;
-
-+ if (sdev->d0_substate == d0_substate)
-+ return 0;
-+
- /* do platform specific set_state */
- ret = snd_sof_dsp_set_power_state(sdev, d0_substate);
- if (ret < 0)
---
-2.24.1
-
-From 2dbd8810f4d48ed09aa2be1e53f50fac7045ebc2 Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Mon, 11 Nov 2019 16:33:42 -0600
-Subject: [PATCH 099/109] ASoC: SOF: add helper to check if we should enter
- d0i3 suspend
-
-Add helper to check if the DSP should be put in D0i3. This function
-returns true if a stream has ignored the SUSPEND trigger to keep the
-pipelines running in the DSP.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111223343.19986-4-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit a77e5d573f847d2f984c38eb711351326bc55258)
-Bugzilla: 1772498
----
- sound/soc/sof/core.c | 13 +++++++++++++
- sound/soc/sof/sof-priv.h | 2 ++
- 2 files changed, 15 insertions(+)
-
-diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c
-index d6b827de26d4..a06a54f423dd 100644
---- a/sound/soc/sof/core.c
-+++ b/sound/soc/sof/core.c
-@@ -132,6 +132,19 @@ struct snd_sof_dai *snd_sof_find_dai(struct snd_sof_dev *sdev,
- return NULL;
- }
-
-+bool snd_sof_dsp_d0i3_on_suspend(struct snd_sof_dev *sdev)
-+{
-+ struct snd_sof_pcm *spcm;
-+
-+ list_for_each_entry(spcm, &sdev->pcm_list, list) {
-+ if (spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].suspend_ignored ||
-+ spcm->stream[SNDRV_PCM_STREAM_CAPTURE].suspend_ignored)
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
- /*
- * FW Panic/fault handling.
- */
-diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
-index 9bded2e48fba..59cc711e99ff 100644
---- a/sound/soc/sof/sof-priv.h
-+++ b/sound/soc/sof/sof-priv.h
-@@ -562,6 +562,8 @@ struct snd_sof_pcm *snd_sof_find_spcm_dai(struct snd_sof_dev *sdev,
- return NULL;
- }
-
-+bool snd_sof_dsp_d0i3_on_suspend(struct snd_sof_dev *sdev);
-+
- struct snd_sof_pcm *snd_sof_find_spcm_name(struct snd_sof_dev *sdev,
- const char *name);
- struct snd_sof_pcm *snd_sof_find_spcm_comp(struct snd_sof_dev *sdev,
---
-2.24.1
-
-From 156227215cacd87bfdeaa27ead855ff2310c1a9d Mon Sep 17 00:00:00 2001
-From: Keyon Jie <yang.jie@linux.intel.com>
-Date: Mon, 11 Nov 2019 16:33:43 -0600
-Subject: [PATCH 100/109] ASoC: SOF: PM: only suspend to D0I3 when needed
-
-We should suspend audio to D3 by default, for the sake of power saving,
-change the condition of D0I3 suspending here to that when there is
-stream with suspend_ignored specified.
-
-Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111223343.19986-5-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 5e35d5f4224adb24c2bfa814b9fb562050aba3ea)
-Bugzilla: 1772498
----
- sound/soc/sof/pm.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c
-index ff966d004692..bc09cb5f458b 100644
---- a/sound/soc/sof/pm.c
-+++ b/sound/soc/sof/pm.c
-@@ -491,7 +491,7 @@ int snd_sof_resume(struct device *dev)
- struct snd_sof_dev *sdev = dev_get_drvdata(dev);
- int ret;
-
-- if (sdev->s0_suspend) {
-+ if (snd_sof_dsp_d0i3_on_suspend(sdev)) {
- /* resume from D0I3 */
- dev_dbg(sdev->dev, "DSP will exit from D0i3...\n");
- ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I0);
-@@ -520,7 +520,7 @@ int snd_sof_suspend(struct device *dev)
- struct snd_sof_dev *sdev = dev_get_drvdata(dev);
- int ret;
-
-- if (sdev->s0_suspend) {
-+ if (snd_sof_dsp_d0i3_on_suspend(sdev)) {
- /* suspend to D0i3 */
- dev_dbg(sdev->dev, "DSP is trying to enter D0i3...\n");
- ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I3);
---
-2.24.1
-
-From 39aa2d2215c31b1b9f6c3e77d00702c9dfa5e66d Mon Sep 17 00:00:00 2001
-From: Dragos Tarcatu <dragos_tarcatu@mentor.com>
-Date: Mon, 11 Nov 2019 16:20:38 -0600
-Subject: [PATCH 101/109] ASoC: SOF: topology: free kcontrol memory on error
-
-The volume and bytes kcontrols are currently not freeing their
-memory on initialization failures. When an error occurs, all the
-widgets loaded so far are unloaded via sof_widget_unload().
-But this only happens for the widgets that got successfully loaded.
-
-Fix that by kfree()-ing the allocated memory on load error.
-
-Fixes: 311ce4fe7637d ("ASoC: SOF: Add support for loading topologies")
-Reviewed-by: Paul Olaru <paul.olaru@nxp.com>
-Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Signed-off-by: Dragos Tarcatu <dragos_tarcatu@mentor.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111222039.19651-1-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 1b4efdaf6d6053c8944cee0edba0969dc1be7d4b)
-Bugzilla: 1772498
----
- sound/soc/sof/topology.c | 67 +++++++++++++++++++++++++++++-----------
- 1 file changed, 49 insertions(+), 18 deletions(-)
-
-diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
-index 6096731e89ce..d82ab981e840 100644
---- a/sound/soc/sof/topology.c
-+++ b/sound/soc/sof/topology.c
-@@ -942,18 +942,22 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
- struct sof_ipc_ctrl_data *cdata;
- int tlv[TLV_ITEMS];
- unsigned int i;
-- int ret;
-+ int ret = 0;
-
- /* validate topology data */
-- if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN)
-- return -EINVAL;
-+ if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN) {
-+ ret = -EINVAL;
-+ goto out;
-+ }
-
- /* init the volume get/put data */
- scontrol->size = struct_size(scontrol->control_data, chanv,
- le32_to_cpu(mc->num_channels));
- scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL);
-- if (!scontrol->control_data)
-- return -ENOMEM;
-+ if (!scontrol->control_data) {
-+ ret = -ENOMEM;
-+ goto out;
-+ }
-
- scontrol->comp_id = sdev->next_comp_id;
- scontrol->min_volume_step = le32_to_cpu(mc->min);
-@@ -963,7 +967,7 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
- /* set cmd for mixer control */
- if (le32_to_cpu(mc->max) == 1) {
- scontrol->cmd = SOF_CTRL_CMD_SWITCH;
-- goto out;
-+ goto skip;
- }
-
- scontrol->cmd = SOF_CTRL_CMD_VOLUME;
-@@ -971,14 +975,15 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
- /* extract tlv data */
- if (get_tlv_data(kc->tlv.p, tlv) < 0) {
- dev_err(sdev->dev, "error: invalid TLV data\n");
-- return -EINVAL;
-+ ret = -EINVAL;
-+ goto out_free;
- }
-
- /* set up volume table */
- ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1);
- if (ret < 0) {
- dev_err(sdev->dev, "error: setting up volume table\n");
-- return ret;
-+ goto out_free;
- }
-
- /* set default volume values to 0dB in control */
-@@ -988,7 +993,7 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
- cdata->chanv[i].value = VOL_ZERO_DB;
- }
-
--out:
-+skip:
- /* set up possible led control from mixer private data */
- ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens,
- ARRAY_SIZE(led_tokens), mc->priv.array,
-@@ -996,13 +1001,21 @@ static int sof_control_load_volume(struct snd_soc_component *scomp,
- if (ret != 0) {
- dev_err(sdev->dev, "error: parse led tokens failed %d\n",
- le32_to_cpu(mc->priv.size));
-- return ret;
-+ goto out_free_table;
- }
-
- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n",
- scontrol->comp_id, scontrol->num_channels);
-
-- return 0;
-+ return ret;
-+
-+out_free_table:
-+ if (le32_to_cpu(mc->max) > 1)
-+ kfree(scontrol->volume_table);
-+out_free:
-+ kfree(scontrol->control_data);
-+out:
-+ return ret;
- }
-
- static int sof_control_load_enum(struct snd_soc_component *scomp,
-@@ -1047,6 +1060,7 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp,
- container_of(hdr, struct snd_soc_tplg_bytes_control, hdr);
- struct soc_bytes_ext *sbe = (struct soc_bytes_ext *)kc->private_value;
- int max_size = sbe->max;
-+ int ret = 0;
-
- /* init the get/put bytes data */
- scontrol->size = sizeof(struct sof_ipc_ctrl_data) +
-@@ -1055,13 +1069,16 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp,
- if (scontrol->size > max_size) {
- dev_err(sdev->dev, "err: bytes data size %d exceeds max %d.\n",
- scontrol->size, max_size);
-- return -EINVAL;
-+ ret = -EINVAL;
-+ goto out;
- }
-
- scontrol->control_data = kzalloc(max_size, GFP_KERNEL);
- cdata = scontrol->control_data;
-- if (!scontrol->control_data)
-- return -ENOMEM;
-+ if (!scontrol->control_data) {
-+ ret = -ENOMEM;
-+ goto out;
-+ }
-
- scontrol->comp_id = sdev->next_comp_id;
- scontrol->cmd = SOF_CTRL_CMD_BINARY;
-@@ -1076,23 +1093,32 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp,
- if (cdata->data->magic != SOF_ABI_MAGIC) {
- dev_err(sdev->dev, "error: Wrong ABI magic 0x%08x.\n",
- cdata->data->magic);
-- return -EINVAL;
-+ ret = -EINVAL;
-+ goto out_free;
- }
- if (SOF_ABI_VERSION_INCOMPATIBLE(SOF_ABI_VERSION,
- cdata->data->abi)) {
- dev_err(sdev->dev,
- "error: Incompatible ABI version 0x%08x.\n",
- cdata->data->abi);
-- return -EINVAL;
-+ ret = -EINVAL;
-+ goto out_free;
- }
- if (cdata->data->size + sizeof(const struct sof_abi_hdr) !=
- le32_to_cpu(control->priv.size)) {
- dev_err(sdev->dev,
- "error: Conflict in bytes vs. priv size.\n");
-- return -EINVAL;
-+ ret = -EINVAL;
-+ goto out_free;
- }
- }
-- return 0;
-+
-+ return ret;
-+
-+out_free:
-+ kfree(scontrol->control_data);
-+out:
-+ return ret;
- }
-
- /* external kcontrol init - used for any driver specific init */
-@@ -1150,6 +1176,11 @@ static int sof_control_load(struct snd_soc_component *scomp, int index,
- return 0;
- }
-
-+ if (ret < 0) {
-+ kfree(scontrol);
-+ return ret;
-+ }
-+
- dobj->private = scontrol;
- list_add(&scontrol->list, &sdev->kcontrol_list);
- return ret;
---
-2.24.1
-
-From 88ecf253337ee8d8f0418e68af64d3dba6df27c1 Mon Sep 17 00:00:00 2001
-From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
-Date: Mon, 11 Nov 2019 16:29:00 -0600
-Subject: [PATCH 102/109] ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary
- names.
-
-The manifest information is different between CNL, CML and CFL platforms
-hence we need to load different files.
-
-Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111222901.19892-3-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 653c28afa76b45c570370c3c3a89975c68c5fc8e)
-Bugzilla: 1772498
----
- sound/soc/sof/sof-pci-dev.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
-index 3b58b91e7b9e..bbeffd932de7 100644
---- a/sound/soc/sof/sof-pci-dev.c
-+++ b/sound/soc/sof/sof-pci-dev.c
-@@ -120,7 +120,7 @@ static const struct sof_dev_desc cnl_desc = {
-
- #if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE)
- static const struct sof_dev_desc cfl_desc = {
-- .machines = snd_soc_acpi_intel_cnl_machines,
-+ .machines = snd_soc_acpi_intel_cfl_machines,
- .resindex_lpe_base = 0,
- .resindex_pcicfg_base = -1,
- .resindex_imr_base = -1,
-@@ -129,7 +129,7 @@ static const struct sof_dev_desc cfl_desc = {
- .chip_info = &cnl_chip_info,
- .default_fw_path = "intel/sof",
- .default_tplg_path = "intel/sof-tplg",
-- .nocodec_fw_filename = "sof-cnl.ri",
-+ .nocodec_fw_filename = "sof-cfl.ri",
- .nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
- .ops = &sof_cnl_ops,
- .arch_ops = &sof_xtensa_arch_ops
-@@ -140,7 +140,7 @@ static const struct sof_dev_desc cfl_desc = {
- IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H)
-
- static const struct sof_dev_desc cml_desc = {
-- .machines = snd_soc_acpi_intel_cnl_machines,
-+ .machines = snd_soc_acpi_intel_cml_machines,
- .resindex_lpe_base = 0,
- .resindex_pcicfg_base = -1,
- .resindex_imr_base = -1,
-@@ -149,7 +149,7 @@ static const struct sof_dev_desc cml_desc = {
- .chip_info = &cnl_chip_info,
- .default_fw_path = "intel/sof",
- .default_tplg_path = "intel/sof-tplg",
-- .nocodec_fw_filename = "sof-cnl.ri",
-+ .nocodec_fw_filename = "sof-cml.ri",
- .nocodec_tplg_filename = "sof-cnl-nocodec.tplg",
- .ops = &sof_cnl_ops,
- .arch_ops = &sof_xtensa_arch_ops
---
-2.24.1
-
-From 64f7bbb57783645861b9d05d5f54c590e70f58ab Mon Sep 17 00:00:00 2001
-From: Krzysztof Kozlowski <krzk@kernel.org>
-Date: Wed, 20 Nov 2019 21:32:52 +0800
-Subject: [PATCH 103/109] ASoC: Fix Kconfig indentation
-
-Adjust indentation from spaces to tab (+optional two spaces) as in
-coding style with command like:
- $ sed -e 's/^ /\t/' -i */Kconfig
-
-Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191120133252.6365-1-krzk@kernel.org
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 3efd72330543da44e82e9371dfb639802c886f6c)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/Kconfig | 24 ++++++++++++------------
- sound/soc/sof/intel/Kconfig | 10 +++++-----
- 2 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
-index 2702aefee775..ef20316e83d1 100644
---- a/sound/soc/intel/boards/Kconfig
-+++ b/sound/soc/intel/boards/Kconfig
-@@ -441,18 +441,18 @@ config SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH
- If unsure select "N".
-
- config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
-- tristate "CML with RT1011 and RT5682 in I2S Mode"
-- depends on I2C && ACPI
-- depends on MFD_INTEL_LPSS || COMPILE_TEST
-- select SND_SOC_RT1011
-- select SND_SOC_RT5682
-- select SND_SOC_DMIC
-- select SND_SOC_HDAC_HDMI
-- help
-- This adds support for ASoC machine driver for SOF platform with
-- RT1011 + RT5682 I2S codec.
-- Say Y if you have such a device.
-- If unsure select "N".
-+ tristate "CML with RT1011 and RT5682 in I2S Mode"
-+ depends on I2C && ACPI
-+ depends on MFD_INTEL_LPSS || COMPILE_TEST
-+ select SND_SOC_RT1011
-+ select SND_SOC_RT5682
-+ select SND_SOC_DMIC
-+ select SND_SOC_HDAC_HDMI
-+ help
-+ This adds support for ASoC machine driver for SOF platform with
-+ RT1011 + RT5682 I2S codec.
-+ Say Y if you have such a device.
-+ If unsure select "N".
-
- endif ## SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK
-
-diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig
-index c263a8feff0a..0db92d81ea85 100644
---- a/sound/soc/sof/intel/Kconfig
-+++ b/sound/soc/sof/intel/Kconfig
-@@ -264,16 +264,16 @@ config SND_SOC_SOF_ELKHARTLAKE
- config SND_SOC_SOF_JASPERLAKE_SUPPORT
- bool "SOF support for JasperLake"
- help
-- This adds support for Sound Open Firmware for Intel(R) platforms
-- using the JasperLake processors.
-- Say Y if you have such a device.
-- If unsure select "N".
-+ This adds support for Sound Open Firmware for Intel(R) platforms
-+ using the JasperLake processors.
-+ Say Y if you have such a device.
-+ If unsure select "N".
-
- config SND_SOC_SOF_JASPERLAKE
- tristate
- select SND_SOC_SOF_HDA_COMMON
- help
-- This option is not user-selectable but automagically handled by
-+ This option is not user-selectable but automagically handled by
- 'select' statements at a higher level
-
- config SND_SOC_SOF_HDA_COMMON
---
-2.24.1
-
-From 07dfab3db6e4005c03903fe59c272da69678c40a Mon Sep 17 00:00:00 2001
-From: Ben Zhang <benzh@chromium.org>
-Date: Tue, 5 Nov 2019 17:13:27 -0800
-Subject: [PATCH 104/109] ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM
- device
-
-This link is needed for the RT5677 DSP to do hotwording
-
-Signed-off-by: Ben Zhang <benzh@chromium.org>
-Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
-Link: https://lore.kernel.org/r/20191106011335.223061-3-cujomalainey@chromium.org
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 157b006f6be46be833b2941856b86e0a9d8bfb0e)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/bdw-rt5677.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c
-index 4a4d3353e26d..eeb9a11e4e14 100644
---- a/sound/soc/intel/boards/bdw-rt5677.c
-+++ b/sound/soc/intel/boards/bdw-rt5677.c
-@@ -74,6 +74,7 @@ static const struct snd_soc_dapm_route bdw_rt5677_map[] = {
- /* CODEC BE connections */
- {"SSP0 CODEC IN", NULL, "AIF1 Capture"},
- {"AIF1 Playback", NULL, "SSP0 CODEC OUT"},
-+ {"DSP Capture", NULL, "DSP Buffer"},
- };
-
- static const struct snd_kcontrol_new bdw_rt5677_controls[] = {
-@@ -258,6 +259,12 @@ SND_SOC_DAILINK_DEF(platform,
- SND_SOC_DAILINK_DEF(be,
- DAILINK_COMP_ARRAY(COMP_CODEC("i2c-RT5677CE:00", "rt5677-aif1")));
-
-+/* Wake on voice interface */
-+SND_SOC_DAILINK_DEFS(dsp,
-+ DAILINK_COMP_ARRAY(COMP_CPU("spi-RT5677AA:00")),
-+ DAILINK_COMP_ARRAY(COMP_CODEC("i2c-RT5677CE:00", "rt5677-dspbuffer")),
-+ DAILINK_COMP_ARRAY(COMP_PLATFORM("spi-RT5677AA:00")));
-+
- static struct snd_soc_dai_link bdw_rt5677_dais[] = {
- /* Front End DAI links */
- {
-@@ -276,6 +283,13 @@ static struct snd_soc_dai_link bdw_rt5677_dais[] = {
- SND_SOC_DAILINK_REG(fe, dummy, platform),
- },
-
-+ /* Non-DPCM links */
-+ {
-+ .name = "Codec DSP",
-+ .stream_name = "Wake on Voice",
-+ SND_SOC_DAILINK_REG(dsp),
-+ },
-+
- /* Back End DAI links */
- {
- /* SSP0 - Codec */
---
-2.24.1
-
-From a21e2d41236808ea4fb355aaff8bb4012d539779 Mon Sep 17 00:00:00 2001
-From: Curtis Malainey <cujomalainey@chromium.org>
-Date: Tue, 5 Nov 2019 17:13:34 -0800
-Subject: [PATCH 105/109] ASoC: bdw-rt5677: Turn on MCLK1 for DSP via DAPM
-
-The RT5677 DSP needs the I2S MCLK1 to run its DSP. Add a dapm route to
-SSP0 CODEC IN so the clock is turned on automatically when the DSP is
-turned on.
-
-Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
-Link: https://lore.kernel.org/r/20191106011335.223061-10-cujomalainey@chromium.org
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 55229597a94531726878229ccfcd3fe4ec572dc3)
-Bugzilla: 1772498
----
- sound/soc/intel/boards/bdw-rt5677.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c
-index eeb9a11e4e14..b2475e3eff7b 100644
---- a/sound/soc/intel/boards/bdw-rt5677.c
-+++ b/sound/soc/intel/boards/bdw-rt5677.c
-@@ -75,6 +75,10 @@ static const struct snd_soc_dapm_route bdw_rt5677_map[] = {
- {"SSP0 CODEC IN", NULL, "AIF1 Capture"},
- {"AIF1 Playback", NULL, "SSP0 CODEC OUT"},
- {"DSP Capture", NULL, "DSP Buffer"},
-+
-+ /* DSP Clock Connections */
-+ { "DSP Buffer", NULL, "SSP0 CODEC IN" },
-+ { "SSP0 CODEC IN", NULL, "DSPTX" },
- };
-
- static const struct snd_kcontrol_new bdw_rt5677_controls[] = {
---
-2.24.1
-
-From 71fffb28eefd175b6b84026a2d0f5fb79996f84b Mon Sep 17 00:00:00 2001
-From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Date: Mon, 11 Nov 2019 16:28:59 -0600
-Subject: [PATCH 106/109] ASoC: Intel: acpi-match: split CNL tables in three
-
-Due to firmware manifest/signature differences, we have to use
-different firmware names, so split CNL machine table in three (CNL,
-CFL, CML).
-
-The CFL table is currently empty since all known platforms use
-HDaudio, but let's plan ahead.
-
-Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191111222901.19892-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 1f24d93c4f4ec0bb0b73c5b020060aa2d9faa756)
-Bugzilla: 1772498
----
- include/sound/soc-acpi-intel-match.h | 2 +
- sound/soc/intel/common/Makefile | 3 +-
- .../intel/common/soc-acpi-intel-cfl-match.c | 18 ++++++
- .../intel/common/soc-acpi-intel-cml-match.c | 56 +++++++++++++++++++
- .../intel/common/soc-acpi-intel-cnl-match.c | 38 -------------
- 5 files changed, 78 insertions(+), 39 deletions(-)
- create mode 100644 sound/soc/intel/common/soc-acpi-intel-cfl-match.c
- create mode 100644 sound/soc/intel/common/soc-acpi-intel-cml-match.c
-
-diff --git a/include/sound/soc-acpi-intel-match.h b/include/sound/soc-acpi-intel-match.h
-index 4e44782862df..20c0bee3b959 100644
---- a/include/sound/soc-acpi-intel-match.h
-+++ b/include/sound/soc-acpi-intel-match.h
-@@ -24,6 +24,8 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_glk_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[];
-+extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cfl_machines[];
-+extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cml_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_icl_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_tgl_machines[];
- extern struct snd_soc_acpi_mach snd_soc_acpi_intel_ehl_machines[];
-diff --git a/sound/soc/intel/common/Makefile b/sound/soc/intel/common/Makefile
-index eafe95ead49b..bd352878f89a 100644
---- a/sound/soc/intel/common/Makefile
-+++ b/sound/soc/intel/common/Makefile
-@@ -7,7 +7,8 @@ snd-soc-acpi-intel-match-objs := soc-acpi-intel-byt-match.o soc-acpi-intel-cht-m
- soc-acpi-intel-hsw-bdw-match.o \
- soc-acpi-intel-skl-match.o soc-acpi-intel-kbl-match.o \
- soc-acpi-intel-bxt-match.o soc-acpi-intel-glk-match.o \
-- soc-acpi-intel-cnl-match.o soc-acpi-intel-icl-match.o \
-+ soc-acpi-intel-cnl-match.o soc-acpi-intel-cfl-match.o \
-+ soc-acpi-intel-cml-match.o soc-acpi-intel-icl-match.o \
- soc-acpi-intel-tgl-match.o soc-acpi-intel-ehl-match.o \
- soc-acpi-intel-jsl-match.o \
- soc-acpi-intel-hda-match.o
-diff --git a/sound/soc/intel/common/soc-acpi-intel-cfl-match.c b/sound/soc/intel/common/soc-acpi-intel-cfl-match.c
-new file mode 100644
-index 000000000000..d6fd2026d0b8
---- /dev/null
-+++ b/sound/soc/intel/common/soc-acpi-intel-cfl-match.c
-@@ -0,0 +1,18 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * soc-apci-intel-cfl-match.c - tables and support for CFL ACPI enumeration.
-+ *
-+ * Copyright (c) 2019, Intel Corporation.
-+ *
-+ */
-+
-+#include <sound/soc-acpi.h>
-+#include <sound/soc-acpi-intel-match.h>
-+
-+struct snd_soc_acpi_mach snd_soc_acpi_intel_cfl_machines[] = {
-+ {},
-+};
-+EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cfl_machines);
-+
-+MODULE_LICENSE("GPL v2");
-+MODULE_DESCRIPTION("Intel Common ACPI Match module");
-diff --git a/sound/soc/intel/common/soc-acpi-intel-cml-match.c b/sound/soc/intel/common/soc-acpi-intel-cml-match.c
-new file mode 100644
-index 000000000000..5d08ae066738
---- /dev/null
-+++ b/sound/soc/intel/common/soc-acpi-intel-cml-match.c
-@@ -0,0 +1,56 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * soc-acpi-intel-cml-match.c - tables and support for CML ACPI enumeration.
-+ *
-+ * Copyright (c) 2019, Intel Corporation.
-+ *
-+ */
-+
-+#include <sound/soc-acpi.h>
-+#include <sound/soc-acpi-intel-match.h>
-+
-+static struct snd_soc_acpi_codecs cml_codecs = {
-+ .num_codecs = 1,
-+ .codecs = {"10EC5682"}
-+};
-+
-+static struct snd_soc_acpi_codecs cml_spk_codecs = {
-+ .num_codecs = 1,
-+ .codecs = {"MX98357A"}
-+};
-+
-+struct snd_soc_acpi_mach snd_soc_acpi_intel_cml_machines[] = {
-+ {
-+ .id = "DLGS7219",
-+ .drv_name = "cml_da7219_max98357a",
-+ .quirk_data = &cml_spk_codecs,
-+ .sof_fw_filename = "sof-cml.ri",
-+ .sof_tplg_filename = "sof-cml-da7219-max98357a.tplg",
-+ },
-+ {
-+ .id = "MX98357A",
-+ .drv_name = "sof_rt5682",
-+ .quirk_data = &cml_codecs,
-+ .sof_fw_filename = "sof-cml.ri",
-+ .sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg",
-+ },
-+ {
-+ .id = "10EC1011",
-+ .drv_name = "cml_rt1011_rt5682",
-+ .quirk_data = &cml_codecs,
-+ .sof_fw_filename = "sof-cml.ri",
-+ .sof_tplg_filename = "sof-cml-rt1011-rt5682.tplg",
-+ },
-+ {
-+ .id = "10EC5682",
-+ .drv_name = "sof_rt5682",
-+ .sof_fw_filename = "sof-cml.ri",
-+ .sof_tplg_filename = "sof-cml-rt5682.tplg",
-+ },
-+
-+ {},
-+};
-+EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cml_machines);
-+
-+MODULE_LICENSE("GPL v2");
-+MODULE_DESCRIPTION("Intel Common ACPI Match module");
-diff --git a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c
-index 16d0bae8b316..27588841c8b0 100644
---- a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c
-+++ b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c
-@@ -14,16 +14,6 @@ static struct skl_machine_pdata cnl_pdata = {
- .use_tplg_pcm = true,
- };
-
--static struct snd_soc_acpi_codecs cml_codecs = {
-- .num_codecs = 1,
-- .codecs = {"10EC5682"}
--};
--
--static struct snd_soc_acpi_codecs cml_spk_codecs = {
-- .num_codecs = 1,
-- .codecs = {"MX98357A"}
--};
--
- struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = {
- {
- .id = "INT34C2",
-@@ -33,34 +23,6 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = {
- .sof_fw_filename = "sof-cnl.ri",
- .sof_tplg_filename = "sof-cnl-rt274.tplg",
- },
-- {
-- .id = "DLGS7219",
-- .drv_name = "cml_da7219_max98357a",
-- .quirk_data = &cml_spk_codecs,
-- .sof_fw_filename = "sof-cnl.ri",
-- .sof_tplg_filename = "sof-cml-da7219-max98357a.tplg",
-- },
-- {
-- .id = "MX98357A",
-- .drv_name = "sof_rt5682",
-- .quirk_data = &cml_codecs,
-- .sof_fw_filename = "sof-cnl.ri",
-- .sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg",
-- },
-- {
-- .id = "10EC1011",
-- .drv_name = "cml_rt1011_rt5682",
-- .quirk_data = &cml_codecs,
-- .sof_fw_filename = "sof-cnl.ri",
-- .sof_tplg_filename = "sof-cml-rt1011-rt5682.tplg",
-- },
-- {
-- .id = "10EC5682",
-- .drv_name = "sof_rt5682",
-- .sof_fw_filename = "sof-cnl.ri",
-- .sof_tplg_filename = "sof-cml-rt5682.tplg",
-- },
--
- {},
- };
- EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines);
---
-2.24.1
-
-From b623e68eabe32651fb346bb3f1d89f3705f051df Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai@suse.de>
-Date: Fri, 22 Nov 2019 14:26:24 +0100
-Subject: [PATCH 107/109] ALSA: hda/hdmi - Clear codec->relaxed_resume flag at
- unbinding
-
-The HDMI codec may leave codec->relaxed_resume flag set even after
-unbinding. Clear it unconditionally.
-
-It's very unlikely that this actually matters in the real use case,
-so just a fix for consistency.
-
-Fixes: ade49db337a9 ("ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI")
-Link: https://lore.kernel.org/r/20191122132624.5482-1-tiwai@suse.de
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 10a9594563415855bd99678ea4f91dea792e5499)
-Bugzilla: 1772498
----
- sound/pci/hda/patch_hdmi.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
-index 2044bbb830f9..1242fba0da89 100644
---- a/sound/pci/hda/patch_hdmi.c
-+++ b/sound/pci/hda/patch_hdmi.c
-@@ -2313,8 +2313,8 @@ static void generic_hdmi_free(struct hda_codec *codec)
- snd_hdac_acomp_exit(&codec->bus->core);
- } else if (codec_has_acomp(codec)) {
- snd_hdac_acomp_register_notifier(&codec->bus->core, NULL);
-- codec->relaxed_resume = 0;
- }
-+ codec->relaxed_resume = 0;
-
- for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
- struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx);
---
-2.24.1
-
-From d0b0fa3f390ed93d017767c2b562ad587ecf62d7 Mon Sep 17 00:00:00 2001
-From: Alex Deucher <alexander.deucher@amd.com>
-Date: Fri, 22 Nov 2019 16:43:50 -0500
-Subject: [PATCH 108/109] ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD
-
-Only enable the vga_switcheroo logic on systems with the
-ATPX ACPI method. This logic is not needed for asics
-that are not part of a PX (PowerXpress)/HG (Hybrid Graphics)
-platform.
-
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Acked-by: Evan Quan <evan.quan@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Link: https://lore.kernel.org/r/20191122214353.582899-2-alexander.deucher@amd.com
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 586bc4aab878efcf672536f0cdec3d04b6990c94)
-Bugzilla: 1772498
----
- sound/pci/hda/hda_intel.c | 45 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 45 insertions(+)
-
-diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
-index e2c08517a24c..1803475c6cd2 100644
---- a/sound/pci/hda/hda_intel.c
-+++ b/sound/pci/hda/hda_intel.c
-@@ -35,6 +35,7 @@
- #include <linux/clocksource.h>
- #include <linux/time.h>
- #include <linux/completion.h>
-+#include <linux/acpi.h>
-
- #ifdef CONFIG_X86
- /* for snoop control */
-@@ -1402,6 +1403,34 @@ static int azx_dev_free(struct snd_device *device)
- }
-
- #ifdef SUPPORT_VGA_SWITCHEROO
-+#ifdef CONFIG_ACPI
-+/* ATPX is in the integrated GPU's namespace */
-+static bool atpx_present(void)
-+{
-+ struct pci_dev *pdev = NULL;
-+ acpi_handle dhandle, atpx_handle;
-+ acpi_status status;
-+
-+ while ((pdev = pci_get_class(PCI_BASE_CLASS_DISPLAY << 16, pdev)) != NULL) {
-+ dhandle = ACPI_HANDLE(&pdev->dev);
-+ if (dhandle) {
-+ status = acpi_get_handle(dhandle, "ATPX", &atpx_handle);
-+ if (!ACPI_FAILURE(status)) {
-+ pci_dev_put(pdev);
-+ return true;
-+ }
-+ }
-+ pci_dev_put(pdev);
-+ }
-+ return false;
-+}
-+#else
-+static bool atpx_present(void)
-+{
-+ return false;
-+}
-+#endif
-+
- /*
- * Check of disabled HDMI controller by vga_switcheroo
- */
-@@ -1413,6 +1442,22 @@ static struct pci_dev *get_bound_vga(struct pci_dev *pci)
- switch (pci->vendor) {
- case PCI_VENDOR_ID_ATI:
- case PCI_VENDOR_ID_AMD:
-+ if (pci->devfn == 1) {
-+ p = pci_get_domain_bus_and_slot(pci_domain_nr(pci->bus),
-+ pci->bus->number, 0);
-+ if (p) {
-+ /* ATPX is in the integrated GPU's ACPI namespace
-+ * rather than the dGPU's namespace. However,
-+ * the dGPU is the one who is involved in
-+ * vgaswitcheroo.
-+ */
-+ if (((p->class >> 16) == PCI_BASE_CLASS_DISPLAY) &&
-+ atpx_present())
-+ return p;
-+ pci_dev_put(p);
-+ }
-+ }
-+ break;
- case PCI_VENDOR_ID_NVIDIA:
- if (pci->devfn == 1) {
- p = pci_get_domain_bus_and_slot(pci_domain_nr(pci->bus),
---
-2.24.1
-
-From 424e3c917da439f446b6398cc9e053890619eac9 Mon Sep 17 00:00:00 2001
-From: Alex Deucher <alexander.deucher@amd.com>
-Date: Fri, 22 Nov 2019 16:43:51 -0500
-Subject: [PATCH 109/109] ALSA: hda/hdmi - Add new pci ids for AMD GPU display
- audio
-
-These are needed so we can enable runtime pm in a subsequent
-patch.
-
-Reviewed-by: Takashi Iwai <tiwai@suse.de>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Link: https://lore.kernel.org/r/20191122214353.582899-3-alexander.deucher@amd.com
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
-Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
-(cherry picked from commit 8d68a87244a812323ce3f7d5022f9deda9db54b5)
-Bugzilla: 1772498
----
- sound/pci/hda/hda_intel.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
-index 1803475c6cd2..91c76ef381c6 100644
---- a/sound/pci/hda/hda_intel.c
-+++ b/sound/pci/hda/hda_intel.c
-@@ -2604,6 +2604,20 @@ static const struct pci_device_id azx_ids[] = {
- .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
- { PCI_DEVICE(0x1002, 0xaaf0),
- .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
-+ { PCI_DEVICE(0x1002, 0xaaf8),
-+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
-+ { PCI_DEVICE(0x1002, 0xab00),
-+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
-+ { PCI_DEVICE(0x1002, 0xab08),
-+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
-+ { PCI_DEVICE(0x1002, 0xab10),
-+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
-+ { PCI_DEVICE(0x1002, 0xab18),
-+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
-+ { PCI_DEVICE(0x1002, 0xab20),
-+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
-+ { PCI_DEVICE(0x1002, 0xab38),
-+ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
- /* VIA VT8251/VT8237A */
- { PCI_DEVICE(0x1106, 0x3288), .driver_data = AZX_DRIVER_VIA },
- /* VIA GFX VT7122/VX900 */
---
-2.24.1
-
diff --git a/alsa-5.6.patch b/alsa-5.6.patch
index b5436a7b2..b128cc7e6 100644
--- a/alsa-5.6.patch
+++ b/alsa-5.6.patch
@@ -1,3 +1,76 @@
+From 4ef91c45a5a283dc8899402bc68adfe0aa9a026d Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Wed, 4 Dec 2019 15:15:44 -0600
+Subject: [PATCH 1/4] ASoC: intel/skl/hda - export number of digital
+ microphones via control components
+
+It is required for the auto-detection in the user space (for UCM).
+
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Cc: Mark Brown <broonie@kernel.org>
+Link: https://lore.kernel.org/r/20191204211556.12671-2-pierre-louis.bossart@linux.intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+
+Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
+(cherry picked from commit 8cd9956f61c65022209ce6d1e55ed12aea12357d)
+Bugzilla: 1772498
+---
+ sound/soc/intel/boards/skl_hda_dsp_generic.c | 8 ++++++++
+ sound/soc/sof/intel/hda.c | 3 ++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c
+index 4e45901e3a2f..11eaee9ae41f 100644
+--- a/sound/soc/intel/boards/skl_hda_dsp_generic.c
++++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c
+@@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = {
+ .late_probe = skl_hda_card_late_probe,
+ };
+
++static char hda_soc_components[30];
++
+ #define IDISP_DAI_COUNT 3
+ #define HDAC_DAI_COUNT 2
+ #define DMIC_DAI_COUNT 2
+@@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev)
+ hda_soc_card.dev = &pdev->dev;
+ snd_soc_card_set_drvdata(&hda_soc_card, ctx);
+
++ if (mach->mach_params.dmic_num > 0) {
++ snprintf(hda_soc_components, sizeof(hda_soc_components),
++ "cfg-dmics:%d", mach->mach_params.dmic_num);
++ hda_soc_card.components = hda_soc_components;
++ }
++
+ return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card);
+ }
+
+diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
+index 91bd88fddac7..eea01f75d23d 100644
+--- a/sound/soc/sof/intel/hda.c
++++ b/sound/soc/sof/intel/hda.c
+@@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
+ const char *tplg_filename;
+ const char *idisp_str;
+ const char *dmic_str;
+- int dmic_num;
++ int dmic_num = 0;
+ int codec_num = 0;
+ int i;
+ #endif
+@@ -472,6 +472,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
+ mach_params->codec_mask = bus->codec_mask;
+ mach_params->platform = dev_name(sdev->dev);
+ mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi;
++ mach_params->dmic_num = dmic_num;
+ }
+
+ /* create codec instances */
+--
+2.20.1
+
+
From 89be5f69889f7e9aeab05279869bba3e9e0d2002 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 4 Dec 2019 15:15:45 -0600
@@ -315,30 +388,3 @@ index d82ab981e840..cbbbf96416ef 100644
--
2.20.1
-
-From 264fe78e03d860f8bbf92f250cd22f54cabca59b Mon Sep 17 00:00:00 2001
-From: Fedora Kernel Team <kernel-team@fedoraproject.org>
-Date: Tue, 21 Jan 2020 11:57:17 -0500
-Subject: [PATCH] Force the DSP driver for Intel DSP to "legacy" by default
-
-Signed-off-by: Fedora Kernel Team <kernel-team@fedoraproject.org>
----
- sound/hda/intel-dsp-config.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c
-index be1df80..2167ae3 100644
---- a/sound/hda/intel-dsp-config.c
-+++ b/sound/hda/intel-dsp-config.c
-@@ -9,7 +9,7 @@
- #include <sound/intel-dsp-config.h>
- #include <sound/intel-nhlt.h>
-
--static int dsp_driver;
-+static int dsp_driver = 1;
-
- module_param(dsp_driver, int, 0444);
- MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF)");
---
-2.24.1
-
diff --git a/arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch b/arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
new file mode 100644
index 000000000..87ef3d967
--- /dev/null
+++ b/arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
@@ -0,0 +1,868 @@
+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-tegra186-enable-USB-on-Jetson-TX2.patch b/arm64-tegra186-enable-USB-on-Jetson-TX2.patch
deleted file mode 100644
index ea0287c2b..000000000
--- a/arm64-tegra186-enable-USB-on-Jetson-TX2.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e5ccb943712d261b8ebb3e8ac92a82be4b244ce4 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sun, 6 Oct 2019 14:44:25 +0100
-Subject: [PATCH] arm64: tegra186: enable USB on Jetson-TX2
-
-Based on the following patch series:
-https://www.spinics.net/lists/linux-tegra/msg44216.html
-
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 4 ++--
- arch/arm64/boot/dts/nvidia/tegra186.dtsi | 1 +
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-index bdace01561ba..2e6195764268 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-+++ b/arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
-@@ -115,7 +115,7 @@
- };
-
- padctl@3520000 {
-- status = "disabled";
-+ status = "okay";
-
- avdd-pll-erefeut-supply = <&vdd_1v8_pll>;
- avdd-usb-supply = <&vdd_3v3_sys>;
-@@ -193,7 +193,7 @@
- };
-
- usb@3530000 {
-- status = "disabled";
-+ status = "okay";
-
- phys = <&{/padctl@3520000/pads/usb2/lanes/usb2-0}>,
- <&{/padctl@3520000/pads/usb2/lanes/usb2-1}>,
-diff --git a/arch/arm64/boot/dts/nvidia/tegra186.dtsi b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
-index 47cd831fcf44..abdc81f555b9 100644
---- a/arch/arm64/boot/dts/nvidia/tegra186.dtsi
-+++ b/arch/arm64/boot/dts/nvidia/tegra186.dtsi
-@@ -525,6 +525,7 @@
- <0x0 0x03538000 0x0 0x1000>;
- reg-names = "hcd", "fpci";
-
-+ iommus = <&smmu TEGRA186_SID_XUSB_HOST>;
- interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
---
-2.21.0
-
diff --git a/arm64-usb-host-xhci-tegra-set-MODULE_FIRMWARE-for-tegra186.patch b/arm64-usb-host-xhci-tegra-set-MODULE_FIRMWARE-for-tegra186.patch
deleted file mode 100644
index b55daaaeb..000000000
--- a/arm64-usb-host-xhci-tegra-set-MODULE_FIRMWARE-for-tegra186.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 5a39c1ffc4e18603f2c9af3c0a556e2db6e70705 Mon Sep 17 00:00:00 2001
-From: Peter Robinson <pbrobinson@gmail.com>
-Date: Sat, 2 Nov 2019 16:52:15 +0000
-Subject: [PATCH 1/2] usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186
-
-Set the MODULE_FIRMWARE for tegra186, it's registered for 124/210 and
-ensures the firmware is available at the appropriate time such as in
-the initrd, else if the firmware is unavailable the driver fails with
-the following errors:
-
-tegra-xusb 3530000.usb: Direct firmware load for nvidia/tegra186/xusb.bin failed with error -2
-tegra-xusb 3530000.usb: failed to request firmware: -2
-tegra-xusb 3530000.usb: failed to load firmware: -2
-tegra-xusb: probe of 3530000.usb failed with error -2
-
-Fixes: 5f9be5f3f899 ("usb: host: xhci-tegra: Add Tegra186 XUSB support")
-Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
----
- drivers/usb/host/xhci-tegra.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
-index 2ff7c911fbd0..d25aba8fa219 100644
---- a/drivers/usb/host/xhci-tegra.c
-+++ b/drivers/usb/host/xhci-tegra.c
-@@ -1433,6 +1433,7 @@ static const struct tegra_xusb_soc tegra186_soc = {
- .scale_ss_clock = false,
- .has_ipfs = false,
- };
-+MODULE_FIRMWARE("nvidia/tegra186/xusb.bin");
-
- static const struct of_device_id tegra_xusb_of_match[] = {
- { .compatible = "nvidia,tegra124-xusb", .data = &tegra124_soc },
---
-2.23.0
-
diff --git a/bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch b/bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
new file mode 100644
index 000000000..9cb8ff5d7
--- /dev/null
+++ b/bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
@@ -0,0 +1,232 @@
+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/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch b/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch
new file mode 100644
index 000000000..a11f2ce1a
--- /dev/null
+++ b/bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch
@@ -0,0 +1,30 @@
+From 9ad059ee412caed3fc8666dadf0d2e897d621958 Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Wed, 18 Dec 2019 08:03:36 +0000
+Subject: [PATCH] gpu/drm/v3d: Add ARCH_BCM2835 to DRM_V3D Kconfig
+
+On arm64 the config ARCH_BCM doesn't exist so to be able to
+build for platforms such as the Raspberry Pi 4 we need to add
+ARCH_BCM2835 similar to what has been done on vc4.
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ drivers/gpu/drm/v3d/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/v3d/Kconfig b/drivers/gpu/drm/v3d/Kconfig
+index 9a5c44606337..b0e048697964 100644
+--- a/drivers/gpu/drm/v3d/Kconfig
++++ b/drivers/gpu/drm/v3d/Kconfig
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0-only
+ config DRM_V3D
+ tristate "Broadcom V3D 3.x and newer"
+- depends on ARCH_BCM || ARCH_BCMSTB || COMPILE_TEST
++ depends on ARCH_BCM || ARCH_BCMSTB || ARCH_BCM2835 || COMPILE_TEST
+ depends on DRM
+ depends on COMMON_CLK
+ depends on MMU
+--
+2.24.1
+
diff --git a/configs/fedora/debug/CONFIG_REFCOUNT_FULL b/configs/fedora/debug/CONFIG_REFCOUNT_FULL
deleted file mode 100644
index c7e4a167a..000000000
--- a/configs/fedora/debug/CONFIG_REFCOUNT_FULL
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_REFCOUNT_FULL=y
diff --git a/configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT b/configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT
new file mode 100644
index 000000000..6eed5bde6
--- /dev/null
+++ b/configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT
@@ -0,0 +1 @@
+CONFIG_TRACE_EVENT_INJECT=y
diff --git a/configs/fedora/generic/CONFIG_AD7292 b/configs/fedora/generic/CONFIG_AD7292
new file mode 100644
index 000000000..7ced8850f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_AD7292
@@ -0,0 +1 @@
+CONFIG_AD7292=m
diff --git a/configs/fedora/generic/CONFIG_ADUX1020 b/configs/fedora/generic/CONFIG_ADUX1020
new file mode 100644
index 000000000..e34158930
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_ADUX1020
@@ -0,0 +1 @@
+CONFIG_ADUX1020=m
diff --git a/configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED b/configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED
deleted file mode 100644
index cd95d798e..000000000
--- a/configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
diff --git a/configs/fedora/generic/CONFIG_BACKLIGHT_QCOM_WLED b/configs/fedora/generic/CONFIG_BACKLIGHT_QCOM_WLED
new file mode 100644
index 000000000..d1e1fdbc7
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_BACKLIGHT_QCOM_WLED
@@ -0,0 +1 @@
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
diff --git a/configs/fedora/generic/CONFIG_BT_CMTP b/configs/fedora/generic/CONFIG_BT_CMTP
index 6fe276815..fefe1adcd 100644
--- a/configs/fedora/generic/CONFIG_BT_CMTP
+++ b/configs/fedora/generic/CONFIG_BT_CMTP
@@ -1 +1 @@
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
diff --git a/configs/fedora/generic/CONFIG_CAN_UCAN b/configs/fedora/generic/CONFIG_CAN_UCAN
index ec2185e3a..80c32eda8 100644
--- a/configs/fedora/generic/CONFIG_CAN_UCAN
+++ b/configs/fedora/generic/CONFIG_CAN_UCAN
@@ -1 +1 @@
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
diff --git a/configs/fedora/generic/CONFIG_COMPAT_32BIT_TIME b/configs/fedora/generic/CONFIG_COMPAT_32BIT_TIME
new file mode 100644
index 000000000..da143b00f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_COMPAT_32BIT_TIME
@@ -0,0 +1 @@
+CONFIG_COMPAT_32BIT_TIME=y
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CONTEXT_TRACKING_FORCE b/configs/fedora/generic/CONFIG_CONTEXT_TRACKING_FORCE
index 3548ba6a5..3548ba6a5 100644
--- a/configs/fedora/generic/x86/x86_64/CONFIG_CONTEXT_TRACKING_FORCE
+++ b/configs/fedora/generic/CONFIG_CONTEXT_TRACKING_FORCE
diff --git a/configs/fedora/generic/CONFIG_CPU_ISOLATION b/configs/fedora/generic/CONFIG_CPU_ISOLATION
index 1753f3076..da3a02c10 100644
--- a/configs/fedora/generic/CONFIG_CPU_ISOLATION
+++ b/configs/fedora/generic/CONFIG_CPU_ISOLATION
@@ -1 +1 @@
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
diff --git a/configs/fedora/generic/CONFIG_CROS_EC_SENSORHUB b/configs/fedora/generic/CONFIG_CROS_EC_SENSORHUB
new file mode 100644
index 000000000..20a5b7abb
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CROS_EC_SENSORHUB
@@ -0,0 +1 @@
+CONFIG_CROS_EC_SENSORHUB=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B
new file mode 100644
index 000000000..13f92b91f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B
@@ -0,0 +1 @@
+CONFIG_CRYPTO_BLAKE2B=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S
new file mode 100644
index 000000000..4f908f178
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S
@@ -0,0 +1 @@
+CONFIG_CRYPTO_BLAKE2S=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER b/configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER
deleted file mode 100644
index ba301e0ea..000000000
--- a/configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRYPTO_BLKCIPHER=y
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_CURVE25519 b/configs/fedora/generic/CONFIG_CRYPTO_CURVE25519
new file mode 100644
index 000000000..7ddf015cc
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_CURVE25519
@@ -0,0 +1 @@
+CONFIG_CRYPTO_CURVE25519=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_DEV_AMLOGIC_GXL b/configs/fedora/generic/CONFIG_CRYPTO_DEV_AMLOGIC_GXL
new file mode 100644
index 000000000..bd9157329
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_DEV_AMLOGIC_GXL
@@ -0,0 +1 @@
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_LIB_BLAKE2S b/configs/fedora/generic/CONFIG_CRYPTO_LIB_BLAKE2S
new file mode 100644
index 000000000..8f69984cd
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_LIB_BLAKE2S
@@ -0,0 +1 @@
+CONFIG_CRYPTO_LIB_BLAKE2S=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA b/configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA
new file mode 100644
index 000000000..7259b1641
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA
@@ -0,0 +1 @@
+CONFIG_CRYPTO_LIB_CHACHA=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA20POLY1305 b/configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA20POLY1305
new file mode 100644
index 000000000..cbd068355
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_LIB_CHACHA20POLY1305
@@ -0,0 +1 @@
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_LIB_CURVE25519 b/configs/fedora/generic/CONFIG_CRYPTO_LIB_CURVE25519
new file mode 100644
index 000000000..3b1931064
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_LIB_CURVE25519
@@ -0,0 +1 @@
+CONFIG_CRYPTO_LIB_CURVE25519=m
diff --git a/configs/fedora/generic/CONFIG_CRYPTO_LIB_POLY1305 b/configs/fedora/generic/CONFIG_CRYPTO_LIB_POLY1305
new file mode 100644
index 000000000..3d2420f66
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_CRYPTO_LIB_POLY1305
@@ -0,0 +1 @@
+CONFIG_CRYPTO_LIB_POLY1305=m
diff --git a/configs/fedora/generic/CONFIG_DEV_DAX_HMEM b/configs/fedora/generic/CONFIG_DEV_DAX_HMEM
new file mode 100644
index 000000000..beb328c9b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DEV_DAX_HMEM
@@ -0,0 +1 @@
+CONFIG_DEV_DAX_HMEM=m
diff --git a/configs/fedora/generic/CONFIG_DP83869_PHY b/configs/fedora/generic/CONFIG_DP83869_PHY
new file mode 100644
index 000000000..9cc5171f9
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DP83869_PHY
@@ -0,0 +1 @@
+CONFIG_DP83869_PHY=m
diff --git a/configs/fedora/generic/CONFIG_DRM_AMD_DC_HDCP b/configs/fedora/generic/CONFIG_DRM_AMD_DC_HDCP
new file mode 100644
index 000000000..bcb35155e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_DRM_AMD_DC_HDCP
@@ -0,0 +1 @@
+CONFIG_DRM_AMD_DC_HDCP=y
diff --git a/configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM b/configs/fedora/generic/CONFIG_DRM_NOUVEAU_SVM
index dbd2333b2..dbd2333b2 100644
--- a/configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM
+++ b/configs/fedora/generic/CONFIG_DRM_NOUVEAU_SVM
diff --git a/configs/fedora/generic/CONFIG_EFI_SOFT_RESERVE b/configs/fedora/generic/CONFIG_EFI_SOFT_RESERVE
new file mode 100644
index 000000000..f6b5ec7c7
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EFI_SOFT_RESERVE
@@ -0,0 +1 @@
+CONFIG_EFI_SOFT_RESERVE=y
diff --git a/configs/fedora/generic/CONFIG_EROFS_FS b/configs/fedora/generic/CONFIG_EROFS_FS
index 4bdace556..0394e57c2 100644
--- a/configs/fedora/generic/CONFIG_EROFS_FS
+++ b/configs/fedora/generic/CONFIG_EROFS_FS
@@ -1 +1 @@
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS=m
diff --git a/configs/fedora/generic/CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT b/configs/fedora/generic/CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT
new file mode 100644
index 000000000..585602e4a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT
@@ -0,0 +1 @@
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
diff --git a/configs/fedora/generic/CONFIG_EROFS_FS_DEBUG b/configs/fedora/generic/CONFIG_EROFS_FS_DEBUG
new file mode 100644
index 000000000..5363c0f0a
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EROFS_FS_DEBUG
@@ -0,0 +1 @@
+# CONFIG_EROFS_FS_DEBUG is not set
diff --git a/configs/fedora/generic/CONFIG_EROFS_FS_POSIX_ACL b/configs/fedora/generic/CONFIG_EROFS_FS_POSIX_ACL
new file mode 100644
index 000000000..fe4f9a826
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EROFS_FS_POSIX_ACL
@@ -0,0 +1 @@
+CONFIG_EROFS_FS_POSIX_ACL=y
diff --git a/configs/fedora/generic/CONFIG_EROFS_FS_SECURITY b/configs/fedora/generic/CONFIG_EROFS_FS_SECURITY
new file mode 100644
index 000000000..f24b07262
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EROFS_FS_SECURITY
@@ -0,0 +1 @@
+CONFIG_EROFS_FS_SECURITY=y
diff --git a/configs/fedora/generic/CONFIG_EROFS_FS_XATTR b/configs/fedora/generic/CONFIG_EROFS_FS_XATTR
new file mode 100644
index 000000000..751034acd
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EROFS_FS_XATTR
@@ -0,0 +1 @@
+CONFIG_EROFS_FS_XATTR=y
diff --git a/configs/fedora/generic/CONFIG_EROFS_FS_ZIP b/configs/fedora/generic/CONFIG_EROFS_FS_ZIP
new file mode 100644
index 000000000..fe558502b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_EROFS_FS_ZIP
@@ -0,0 +1 @@
+CONFIG_EROFS_FS_ZIP=y
diff --git a/configs/fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC b/configs/fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC
deleted file mode 100644
index 5f2508da3..000000000
--- a/configs/fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
diff --git a/configs/fedora/generic/CONFIG_FSI_MASTER_ASPEED b/configs/fedora/generic/CONFIG_FSI_MASTER_ASPEED
new file mode 100644
index 000000000..15a0fde35
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_FSI_MASTER_ASPEED
@@ -0,0 +1 @@
+# CONFIG_FSI_MASTER_ASPEED is not set
diff --git a/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO b/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO
deleted file mode 100644
index 9ae6245d1..000000000
--- a/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_FSL_ENETC_MDIO is not set
diff --git a/configs/fedora/generic/CONFIG_FW_CACHE b/configs/fedora/generic/CONFIG_FW_CACHE
new file mode 100644
index 000000000..374610244
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_FW_CACHE
@@ -0,0 +1 @@
+CONFIG_FW_CACHE=y
diff --git a/configs/fedora/generic/CONFIG_FXOS8700_I2C b/configs/fedora/generic/CONFIG_FXOS8700_I2C
new file mode 100644
index 000000000..7ccfdec9f
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_FXOS8700_I2C
@@ -0,0 +1 @@
+CONFIG_FXOS8700_I2C=m
diff --git a/configs/fedora/generic/CONFIG_FXOS8700_SPI b/configs/fedora/generic/CONFIG_FXOS8700_SPI
new file mode 100644
index 000000000..83f0c6224
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_FXOS8700_SPI
@@ -0,0 +1 @@
+CONFIG_FXOS8700_SPI=m
diff --git a/configs/fedora/generic/CONFIG_HEADERS_CHECK b/configs/fedora/generic/CONFIG_HEADERS_CHECK
deleted file mode 100644
index 0658b1fce..000000000
--- a/configs/fedora/generic/CONFIG_HEADERS_CHECK
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_HEADERS_CHECK=y
diff --git a/configs/fedora/generic/CONFIG_HEADER_TEST b/configs/fedora/generic/CONFIG_HEADER_TEST
deleted file mode 100644
index bcdd8b485..000000000
--- a/configs/fedora/generic/CONFIG_HEADER_TEST
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_HEADER_TEST=y
diff --git a/configs/fedora/generic/CONFIG_INFINIBAND_CXGB3 b/configs/fedora/generic/CONFIG_INFINIBAND_CXGB3
deleted file mode 100644
index 7c0e12ff4..000000000
--- a/configs/fedora/generic/CONFIG_INFINIBAND_CXGB3
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_INFINIBAND_CXGB3=m
diff --git a/configs/fedora/generic/CONFIG_INPUT_KXTJ9_POLLED_MODE b/configs/fedora/generic/CONFIG_INPUT_KXTJ9_POLLED_MODE
deleted file mode 100644
index 8ecaad5bd..000000000
--- a/configs/fedora/generic/CONFIG_INPUT_KXTJ9_POLLED_MODE
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
diff --git a/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST b/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST
deleted file mode 100644
index 040d0b830..000000000
--- a/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_KERNEL_HEADER_TEST=y
diff --git a/configs/fedora/generic/CONFIG_KUNIT b/configs/fedora/generic/CONFIG_KUNIT
new file mode 100644
index 000000000..ce06a7ad3
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_KUNIT
@@ -0,0 +1 @@
+# CONFIG_KUNIT is not set
diff --git a/configs/fedora/generic/CONFIG_LEDS_EL15203000 b/configs/fedora/generic/CONFIG_LEDS_EL15203000
new file mode 100644
index 000000000..034500718
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_LEDS_EL15203000
@@ -0,0 +1 @@
+# CONFIG_LEDS_EL15203000 is not set
diff --git a/configs/fedora/generic/CONFIG_LTC2983 b/configs/fedora/generic/CONFIG_LTC2983
new file mode 100644
index 000000000..e428eb599
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_LTC2983
@@ -0,0 +1 @@
+CONFIG_LTC2983=m
diff --git a/configs/fedora/generic/CONFIG_MMC_SDHCI_MILBEAUT b/configs/fedora/generic/CONFIG_MMC_SDHCI_MILBEAUT
new file mode 100644
index 000000000..c67ef179b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MMC_SDHCI_MILBEAUT
@@ -0,0 +1 @@
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
diff --git a/configs/fedora/generic/CONFIG_MSM_GPUCC_8998 b/configs/fedora/generic/CONFIG_MSM_GPUCC_8998
new file mode 100644
index 000000000..603b672af
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MSM_GPUCC_8998
@@ -0,0 +1 @@
+# CONFIG_MSM_GPUCC_8998 is not set
diff --git a/configs/fedora/generic/CONFIG_MTD_NAND_CADENCE b/configs/fedora/generic/CONFIG_MTD_NAND_CADENCE
new file mode 100644
index 000000000..c252bd95e
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_MTD_NAND_CADENCE
@@ -0,0 +1 @@
+CONFIG_MTD_NAND_CADENCE=m
diff --git a/configs/fedora/generic/CONFIG_NDC_DIS_DYNAMIC_CACHING b/configs/fedora/generic/CONFIG_NDC_DIS_DYNAMIC_CACHING
new file mode 100644
index 000000000..7d8b9a5c6
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NDC_DIS_DYNAMIC_CACHING
@@ -0,0 +1 @@
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
diff --git a/configs/fedora/generic/CONFIG_NET_DSA_MSCC_FELIX b/configs/fedora/generic/CONFIG_NET_DSA_MSCC_FELIX
new file mode 100644
index 000000000..d594c10df
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NET_DSA_MSCC_FELIX
@@ -0,0 +1 @@
+# CONFIG_NET_DSA_MSCC_FELIX is not set
diff --git a/configs/fedora/generic/CONFIG_NET_DSA_TAG_OCELOT b/configs/fedora/generic/CONFIG_NET_DSA_TAG_OCELOT
new file mode 100644
index 000000000..9188cc006
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NET_DSA_TAG_OCELOT
@@ -0,0 +1 @@
+CONFIG_NET_DSA_TAG_OCELOT=m
diff --git a/configs/fedora/generic/CONFIG_NET_VENDOR_XILINX b/configs/fedora/generic/CONFIG_NET_VENDOR_XILINX
new file mode 100644
index 000000000..46ccaba73
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NET_VENDOR_XILINX
@@ -0,0 +1 @@
+CONFIG_NET_VENDOR_XILINX=y
diff --git a/configs/fedora/generic/CONFIG_NFC_PN532_UART b/configs/fedora/generic/CONFIG_NFC_PN532_UART
new file mode 100644
index 000000000..f00e815e1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NFC_PN532_UART
@@ -0,0 +1 @@
+# CONFIG_NFC_PN532_UART is not set
diff --git a/configs/fedora/generic/CONFIG_NO_HZ_FULL b/configs/fedora/generic/CONFIG_NO_HZ_FULL
index 6521b592b..4cd3ab9ec 100644
--- a/configs/fedora/generic/CONFIG_NO_HZ_FULL
+++ b/configs/fedora/generic/CONFIG_NO_HZ_FULL
@@ -1 +1 @@
-# CONFIG_NO_HZ_FULL is not set
+CONFIG_NO_HZ_FULL=y
diff --git a/configs/fedora/generic/CONFIG_NO_HZ_IDLE b/configs/fedora/generic/CONFIG_NO_HZ_IDLE
index a050ad5a8..8641a52f7 100644
--- a/configs/fedora/generic/CONFIG_NO_HZ_IDLE
+++ b/configs/fedora/generic/CONFIG_NO_HZ_IDLE
@@ -1 +1 @@
-CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_IDLE is not set
diff --git a/configs/fedora/generic/CONFIG_NVME_HWMON b/configs/fedora/generic/CONFIG_NVME_HWMON
new file mode 100644
index 000000000..d6d282c29
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_NVME_HWMON
@@ -0,0 +1 @@
+CONFIG_NVME_HWMON=y
diff --git a/configs/fedora/generic/CONFIG_PCIEASPM_DEBUG b/configs/fedora/generic/CONFIG_PCIEASPM_DEBUG
deleted file mode 100644
index f298e0392..000000000
--- a/configs/fedora/generic/CONFIG_PCIEASPM_DEBUG
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PCIEASPM_DEBUG is not set
diff --git a/configs/fedora/generic/CONFIG_PCIE_CADENCE_PLAT_HOST b/configs/fedora/generic/CONFIG_PCIE_CADENCE_PLAT_HOST
new file mode 100644
index 000000000..23a74e2eb
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PCIE_CADENCE_PLAT_HOST
@@ -0,0 +1 @@
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
diff --git a/configs/fedora/generic/CONFIG_PINCTRL_EQUILIBRIUM b/configs/fedora/generic/CONFIG_PINCTRL_EQUILIBRIUM
new file mode 100644
index 000000000..3778a415c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PINCTRL_EQUILIBRIUM
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
diff --git a/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDTCM b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDTCM
new file mode 100644
index 000000000..cacdf1190
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_PTP_1588_CLOCK_IDTCM
@@ -0,0 +1 @@
+CONFIG_PTP_1588_CLOCK_IDTCM=m
diff --git a/configs/fedora/generic/CONFIG_REFCOUNT_FULL b/configs/fedora/generic/CONFIG_REFCOUNT_FULL
deleted file mode 100644
index 0789ed3be..000000000
--- a/configs/fedora/generic/CONFIG_REFCOUNT_FULL
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_REFCOUNT_FULL is not set
diff --git a/configs/fedora/generic/CONFIG_SENSORS_BEL_PFE b/configs/fedora/generic/CONFIG_SENSORS_BEL_PFE
new file mode 100644
index 000000000..5bed21f86
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_BEL_PFE
@@ -0,0 +1 @@
+CONFIG_SENSORS_BEL_PFE=m
diff --git a/configs/fedora/generic/CONFIG_SENSORS_LTC2947_I2C b/configs/fedora/generic/CONFIG_SENSORS_LTC2947_I2C
new file mode 100644
index 000000000..3ce5291b5
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_LTC2947_I2C
@@ -0,0 +1 @@
+CONFIG_SENSORS_LTC2947_I2C=m
diff --git a/configs/fedora/generic/CONFIG_SENSORS_LTC2947_SPI b/configs/fedora/generic/CONFIG_SENSORS_LTC2947_SPI
new file mode 100644
index 000000000..9c3f816e4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_LTC2947_SPI
@@ -0,0 +1 @@
+CONFIG_SENSORS_LTC2947_SPI=m
diff --git a/configs/fedora/generic/CONFIG_SENSORS_TMP513 b/configs/fedora/generic/CONFIG_SENSORS_TMP513
new file mode 100644
index 000000000..268531a29
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SENSORS_TMP513
@@ -0,0 +1 @@
+CONFIG_SENSORS_TMP513=m
diff --git a/configs/fedora/generic/CONFIG_SF_PDMA b/configs/fedora/generic/CONFIG_SF_PDMA
new file mode 100644
index 000000000..87ab2c1f0
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SF_PDMA
@@ -0,0 +1 @@
+# CONFIG_SF_PDMA is not set
diff --git a/configs/fedora/generic/CONFIG_SND_HDA_INTEL_DETECT_DMIC b/configs/fedora/generic/CONFIG_SND_HDA_INTEL_DETECT_DMIC
deleted file mode 100644
index 501f523b0..000000000
--- a/configs/fedora/generic/CONFIG_SND_HDA_INTEL_DETECT_DMIC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_HW b/configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_HW
new file mode 100644
index 000000000..8c0d426d4
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_HW
@@ -0,0 +1 @@
+CONFIG_SND_SOC_ADAU7118_HW=m
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_I2C b/configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_I2C
new file mode 100644
index 000000000..3f5b6d362
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_ADAU7118_I2C
@@ -0,0 +1 @@
+CONFIG_SND_SOC_ADAU7118_I2C=m
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 b/configs/fedora/generic/CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631
deleted file mode 100644
index b4777839c..000000000
--- a/configs/fedora/generic/CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_FSL_MQS b/configs/fedora/generic/CONFIG_SND_SOC_FSL_MQS
new file mode 100644
index 000000000..5c8531d49
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_FSL_MQS
@@ -0,0 +1 @@
+# CONFIG_SND_SOC_FSL_MQS is not set
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_TAS2562 b/configs/fedora/generic/CONFIG_SND_SOC_TAS2562
new file mode 100644
index 000000000..505ec623b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_TAS2562
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TAS2562=m
diff --git a/configs/fedora/generic/CONFIG_SND_SOC_TAS2770 b/configs/fedora/generic/CONFIG_SND_SOC_TAS2770
new file mode 100644
index 000000000..f500e4d59
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SND_SOC_TAS2770
@@ -0,0 +1 @@
+CONFIG_SND_SOC_TAS2770=m
diff --git a/configs/fedora/generic/CONFIG_SOUNDWIRE_INTEL b/configs/fedora/generic/CONFIG_SOUNDWIRE_INTEL
new file mode 100644
index 000000000..e5196d724
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SOUNDWIRE_INTEL
@@ -0,0 +1 @@
+# CONFIG_SOUNDWIRE_INTEL is not set
diff --git a/configs/fedora/generic/CONFIG_SYMBOLIC_ERRNAME b/configs/fedora/generic/CONFIG_SYMBOLIC_ERRNAME
new file mode 100644
index 000000000..237264c75
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_SYMBOLIC_ERRNAME
@@ -0,0 +1 @@
+CONFIG_SYMBOLIC_ERRNAME=y
diff --git a/configs/fedora/generic/CONFIG_TCG_TIS_SPI_CR50 b/configs/fedora/generic/CONFIG_TCG_TIS_SPI_CR50
new file mode 100644
index 000000000..eef087a8b
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TCG_TIS_SPI_CR50
@@ -0,0 +1 @@
+CONFIG_TCG_TIS_SPI_CR50=y
diff --git a/configs/fedora/generic/CONFIG_TICK_CPU_ACCOUNTING b/configs/fedora/generic/CONFIG_TICK_CPU_ACCOUNTING
index b2e62b06c..c1c90776e 100644
--- a/configs/fedora/generic/CONFIG_TICK_CPU_ACCOUNTING
+++ b/configs/fedora/generic/CONFIG_TICK_CPU_ACCOUNTING
@@ -1 +1 @@
-CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_TICK_CPU_ACCOUNTING is not set
diff --git a/configs/fedora/generic/CONFIG_TIPC_CRYPTO b/configs/fedora/generic/CONFIG_TIPC_CRYPTO
new file mode 100644
index 000000000..73824dd34
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TIPC_CRYPTO
@@ -0,0 +1 @@
+CONFIG_TIPC_CRYPTO=y
diff --git a/configs/fedora/generic/CONFIG_TLS_TOE b/configs/fedora/generic/CONFIG_TLS_TOE
new file mode 100644
index 000000000..a6c7df399
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TLS_TOE
@@ -0,0 +1 @@
+# CONFIG_TLS_TOE is not set
diff --git a/configs/fedora/generic/CONFIG_TRACE_EVENT_INJECT b/configs/fedora/generic/CONFIG_TRACE_EVENT_INJECT
new file mode 100644
index 000000000..1c47143cc
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TRACE_EVENT_INJECT
@@ -0,0 +1 @@
+# CONFIG_TRACE_EVENT_INJECT is not set
diff --git a/configs/fedora/generic/CONFIG_TYPEC_HD3SS3220 b/configs/fedora/generic/CONFIG_TYPEC_HD3SS3220
new file mode 100644
index 000000000..b20fec9c1
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_TYPEC_HD3SS3220
@@ -0,0 +1 @@
+CONFIG_TYPEC_HD3SS3220=m
diff --git a/configs/fedora/generic/CONFIG_VEML6030 b/configs/fedora/generic/CONFIG_VEML6030
new file mode 100644
index 000000000..d36fad6fb
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_VEML6030
@@ -0,0 +1 @@
+CONFIG_VEML6030=m
diff --git a/configs/fedora/generic/CONFIG_VIRT_CPU_ACCOUNTING_GEN b/configs/fedora/generic/CONFIG_VIRT_CPU_ACCOUNTING_GEN
index 5d16b4cb7..16aaf1a83 100644
--- a/configs/fedora/generic/CONFIG_VIRT_CPU_ACCOUNTING_GEN
+++ b/configs/fedora/generic/CONFIG_VIRT_CPU_ACCOUNTING_GEN
@@ -1 +1 @@
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
diff --git a/configs/fedora/generic/CONFIG_W1_SLAVE_DS2430 b/configs/fedora/generic/CONFIG_W1_SLAVE_DS2430
new file mode 100644
index 000000000..01a6fe864
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_W1_SLAVE_DS2430
@@ -0,0 +1 @@
+CONFIG_W1_SLAVE_DS2430=m
diff --git a/configs/fedora/generic/CONFIG_WFX b/configs/fedora/generic/CONFIG_WFX
new file mode 100644
index 000000000..aa136a90c
--- /dev/null
+++ b/configs/fedora/generic/CONFIG_WFX
@@ -0,0 +1 @@
+# CONFIG_WFX is not set
diff --git a/configs/fedora/generic/arm/CONFIG_AMLOGIC_THERMAL b/configs/fedora/generic/arm/CONFIG_AMLOGIC_THERMAL
new file mode 100644
index 000000000..02ebb94c6
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_AMLOGIC_THERMAL
@@ -0,0 +1 @@
+CONFIG_AMLOGIC_THERMAL=m
diff --git a/configs/fedora/generic/arm/CONFIG_ARCH_S32 b/configs/fedora/generic/arm/CONFIG_ARCH_S32
new file mode 100644
index 000000000..8764fcd8b
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_ARCH_S32
@@ -0,0 +1 @@
+# CONFIG_ARCH_S32 is not set
diff --git a/configs/fedora/generic/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ b/configs/fedora/generic/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ
deleted file mode 100644
index 8b76dfa84..000000000
--- a/configs/fedora/generic/arm/CONFIG_ARM_BIG_LITTLE_CPUFREQ
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
diff --git a/configs/fedora/generic/arm/CONFIG_BCM2711_THERMAL b/configs/fedora/generic/arm/CONFIG_BCM2711_THERMAL
new file mode 100644
index 000000000..b79035638
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_BCM2711_THERMAL
@@ -0,0 +1 @@
+CONFIG_BCM2711_THERMAL=m
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_ALLWINNER b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_ALLWINNER
new file mode 100644
index 000000000..2933a3d0b
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_ALLWINNER
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_ALLWINNER=y
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL
new file mode 100644
index 000000000..da3c8d8ec
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG
new file mode 100644
index 000000000..74c570326
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG
@@ -0,0 +1 @@
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE
new file mode 100644
index 000000000..b90abb91e
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_SUN8I_CE=m
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
new file mode 100644
index 000000000..aaebf5e32
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
@@ -0,0 +1 @@
+# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS
new file mode 100644
index 000000000..d0795a85c
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_SUN8I_SS=m
diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG
new file mode 100644
index 000000000..a8b15d139
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG
@@ -0,0 +1 @@
+# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set
diff --git a/configs/fedora/generic/arm/CONFIG_DRM_KOMEDA_ERROR_PRINT b/configs/fedora/generic/arm/CONFIG_DRM_KOMEDA_ERROR_PRINT
new file mode 100644
index 000000000..110425bf0
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_DRM_KOMEDA_ERROR_PRINT
@@ -0,0 +1 @@
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
diff --git a/configs/fedora/generic/arm/CONFIG_DRM_V3D b/configs/fedora/generic/arm/CONFIG_DRM_V3D
index fac570b0b..8da81d52e 100644
--- a/configs/fedora/generic/arm/CONFIG_DRM_V3D
+++ b/configs/fedora/generic/arm/CONFIG_DRM_V3D
@@ -1 +1 @@
-# CONFIG_DRM_V3D is not set
+CONFIG_DRM_V3D=m
diff --git a/configs/fedora/generic/arm/CONFIG_FSL_RCPM b/configs/fedora/generic/arm/CONFIG_FSL_RCPM
new file mode 100644
index 000000000..79e4e5fbf
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_FSL_RCPM
@@ -0,0 +1 @@
+CONFIG_FSL_RCPM=y
diff --git a/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8974 b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8974
new file mode 100644
index 000000000..e03a8268e
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_MSM8974
@@ -0,0 +1 @@
+# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
diff --git a/configs/fedora/generic/arm/CONFIG_KEYBOARD_IMX_SC_KEY b/configs/fedora/generic/arm/CONFIG_KEYBOARD_IMX_SC_KEY
new file mode 100644
index 000000000..1b7d91729
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_KEYBOARD_IMX_SC_KEY
@@ -0,0 +1 @@
+CONFIG_KEYBOARD_IMX_SC_KEY=m
diff --git a/configs/fedora/generic/arm/CONFIG_MTD_M25P80 b/configs/fedora/generic/arm/CONFIG_MTD_M25P80
deleted file mode 100644
index 9e4ab3f0b..000000000
--- a/configs/fedora/generic/arm/CONFIG_MTD_M25P80
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_MTD_M25P80=m
diff --git a/configs/fedora/generic/arm/CONFIG_PCIE_BRCMSTB b/configs/fedora/generic/arm/CONFIG_PCIE_BRCMSTB
new file mode 100644
index 000000000..d198f5269
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PCIE_BRCMSTB
@@ -0,0 +1 @@
+CONFIG_PCIE_BRCMSTB=m
diff --git a/configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_EP b/configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_EP
new file mode 100644
index 000000000..b8b1f9472
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_EP
@@ -0,0 +1 @@
+CONFIG_PCIE_CADENCE_PLAT_EP=y
diff --git a/configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_HOST b/configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_HOST
new file mode 100644
index 000000000..c126090e6
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PCIE_CADENCE_PLAT_HOST
@@ -0,0 +1 @@
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
diff --git a/configs/fedora/generic/arm/CONFIG_PHY_DM816X_USB b/configs/fedora/generic/arm/CONFIG_PHY_DM816X_USB
new file mode 100644
index 000000000..d226f92a3
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PHY_DM816X_USB
@@ -0,0 +1 @@
+# CONFIG_PHY_DM816X_USB is not set
diff --git a/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY b/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY
new file mode 100644
index 000000000..44c72e89b
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY
@@ -0,0 +1 @@
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
diff --git a/configs/fedora/generic/arm/CONFIG_PHY_SUN50I_USB3 b/configs/fedora/generic/arm/CONFIG_PHY_SUN50I_USB3
new file mode 100644
index 000000000..3f71f7feb
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PHY_SUN50I_USB3
@@ -0,0 +1 @@
+CONFIG_PHY_SUN50I_USB3=m
diff --git a/configs/fedora/generic/arm/CONFIG_PINCTRL_MSM8976 b/configs/fedora/generic/arm/CONFIG_PINCTRL_MSM8976
new file mode 100644
index 000000000..05e860247
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_PINCTRL_MSM8976
@@ -0,0 +1 @@
+# CONFIG_PINCTRL_MSM8976 is not set
diff --git a/configs/fedora/generic/arm/CONFIG_PWM_STMPE b/configs/fedora/generic/arm/CONFIG_PWM_STMPE
index 4c2b7c562..9609cadec 100644
--- a/configs/fedora/generic/arm/CONFIG_PWM_STMPE
+++ b/configs/fedora/generic/arm/CONFIG_PWM_STMPE
@@ -1 +1 @@
-# CONFIG_PWM_STMPE is not set
+CONFIG_PWM_STMPE=y
diff --git a/configs/fedora/generic/arm/CONFIG_QCOM_OCMEM b/configs/fedora/generic/arm/CONFIG_QCOM_OCMEM
new file mode 100644
index 000000000..f9d75028d
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_QCOM_OCMEM
@@ -0,0 +1 @@
+CONFIG_QCOM_OCMEM=m
diff --git a/configs/fedora/generic/arm/CONFIG_QCS_Q6SSTOP_404 b/configs/fedora/generic/arm/CONFIG_QCS_Q6SSTOP_404
new file mode 100644
index 000000000..20e3f557a
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_QCS_Q6SSTOP_404
@@ -0,0 +1 @@
+# CONFIG_QCS_Q6SSTOP_404 is not set
diff --git a/configs/fedora/generic/arm/CONFIG_REFCOUNT_FULL b/configs/fedora/generic/arm/CONFIG_REFCOUNT_FULL
deleted file mode 100644
index c7e4a167a..000000000
--- a/configs/fedora/generic/arm/CONFIG_REFCOUNT_FULL
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_REFCOUNT_FULL=y
diff --git a/configs/fedora/generic/arm/CONFIG_ROCKCHIP_OTP b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_OTP
new file mode 100644
index 000000000..7218294a4
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_ROCKCHIP_OTP
@@ -0,0 +1 @@
+CONFIG_ROCKCHIP_OTP=m
diff --git a/configs/fedora/generic/arm/CONFIG_SC_GCC_7180 b/configs/fedora/generic/arm/CONFIG_SC_GCC_7180
new file mode 100644
index 000000000..7e78cbfb2
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_SC_GCC_7180
@@ -0,0 +1 @@
+# CONFIG_SC_GCC_7180 is not set
diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_ARNDALE b/configs/fedora/generic/arm/CONFIG_SND_SOC_ARNDALE
new file mode 100644
index 000000000..b78c4c357
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_ARNDALE
@@ -0,0 +1 @@
+CONFIG_SND_SOC_ARNDALE=m
diff --git a/configs/fedora/generic/arm/CONFIG_STMPE_ADC b/configs/fedora/generic/arm/CONFIG_STMPE_ADC
index 64ab9f554..549b42943 100644
--- a/configs/fedora/generic/arm/CONFIG_STMPE_ADC
+++ b/configs/fedora/generic/arm/CONFIG_STMPE_ADC
@@ -1 +1 @@
-# CONFIG_STMPE_ADC is not set
+CONFIG_STMPE_ADC=m
diff --git a/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_AD7879_I2C b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_AD7879_I2C
new file mode 100644
index 000000000..f7fdb66d4
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_AD7879_I2C
@@ -0,0 +1 @@
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
diff --git a/configs/fedora/generic/arm/CONFIG_USB_OHCI_HCD_OMAP3 b/configs/fedora/generic/arm/CONFIG_USB_OHCI_HCD_OMAP3
new file mode 100644
index 000000000..ecc32d576
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_USB_OHCI_HCD_OMAP3
@@ -0,0 +1 @@
+# CONFIG_USB_OHCI_HCD_OMAP3 is not set
diff --git a/configs/fedora/generic/arm/CONFIG_USB_TEGRA_XUDC b/configs/fedora/generic/arm/CONFIG_USB_TEGRA_XUDC
new file mode 100644
index 000000000..c5e669783
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_USB_TEGRA_XUDC
@@ -0,0 +1 @@
+CONFIG_USB_TEGRA_XUDC=m
diff --git a/configs/fedora/generic/arm/CONFIG_VIDEO_SUN8I_DEINTERLACE b/configs/fedora/generic/arm/CONFIG_VIDEO_SUN8I_DEINTERLACE
new file mode 100644
index 000000000..0c4c491a5
--- /dev/null
+++ b/configs/fedora/generic/arm/CONFIG_VIDEO_SUN8I_DEINTERLACE
@@ -0,0 +1 @@
+CONFIG_VIDEO_SUN8I_DEINTERLACE=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1319367 b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1319367
new file mode 100644
index 000000000..3c76daab5
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1319367
@@ -0,0 +1 @@
+CONFIG_ARM64_ERRATUM_1319367=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1542419 b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1542419
new file mode 100644
index 000000000..fc1543d3a
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1542419
@@ -0,0 +1 @@
+CONFIG_ARM64_ERRATUM_1542419=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_BACKLIGHT_QCOM_WLED b/configs/fedora/generic/arm/aarch64/CONFIG_BACKLIGHT_QCOM_WLED
new file mode 100644
index 000000000..68baeebf3
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_BACKLIGHT_QCOM_WLED
@@ -0,0 +1 @@
+CONFIG_BACKLIGHT_QCOM_WLED=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN b/configs/fedora/generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN
new file mode 100644
index 000000000..ee43fdb3b
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN
@@ -0,0 +1 @@
+CONFIG_CPU_LITTLE_ENDIAN=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CROSS_COMPILE_COMPAT_VDSO b/configs/fedora/generic/arm/aarch64/CONFIG_CROSS_COMPILE_COMPAT_VDSO
deleted file mode 100644
index 4b7ab70aa..000000000
--- a/configs/fedora/generic/arm/aarch64/CONFIG_CROSS_COMPILE_COMPAT_VDSO
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CROSS_COMPILE_COMPAT_VDSO=""
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_HPRE b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_HPRE
new file mode 100644
index 000000000..5c97a6853
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_HPRE
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_SEC2 b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_SEC2
new file mode 100644
index 000000000..59b3e238e
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_SEC2
@@ -0,0 +1 @@
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_POLY1305_NEON b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_POLY1305_NEON
new file mode 100644
index 000000000..9dba23aee
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_POLY1305_NEON
@@ -0,0 +1 @@
+CONFIG_CRYPTO_POLY1305_NEON=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC b/configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC
index b52487909..5f2508da3 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC
@@ -1 +1 @@
-CONFIG_EXTCON_QCOM_SPMI_MISC=m
+# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_FSL_DPAA2_QDMA b/configs/fedora/generic/arm/aarch64/CONFIG_FSL_DPAA2_QDMA
new file mode 100644
index 000000000..51b08ab8e
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_FSL_DPAA2_QDMA
@@ -0,0 +1 @@
+CONFIG_FSL_DPAA2_QDMA=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_MDIO b/configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_MDIO
new file mode 100644
index 000000000..0dfc48a4b
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_MDIO
@@ -0,0 +1 @@
+CONFIG_FSL_ENETC_MDIO=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_QOS b/configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_QOS
new file mode 100644
index 000000000..850301b89
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_FSL_ENETC_QOS
@@ -0,0 +1 @@
+CONFIG_FSL_ENETC_QOS=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_HW_RANDOM_HISI_V2 b/configs/fedora/generic/arm/aarch64/CONFIG_HW_RANDOM_HISI_V2
new file mode 100644
index 000000000..7ca3b277f
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_HW_RANDOM_HISI_V2
@@ -0,0 +1 @@
+CONFIG_HW_RANDOM_HISI_V2=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_MFD_QCOM_RPM b/configs/fedora/generic/arm/aarch64/CONFIG_MFD_QCOM_RPM
index d88a4c4c7..a5c3c02d4 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_MFD_QCOM_RPM
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_MFD_QCOM_RPM
@@ -1 +1 @@
-CONFIG_MFD_QCOM_RPM=m
+# CONFIG_MFD_QCOM_RPM is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL b/configs/fedora/generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL
new file mode 100644
index 000000000..3bf6d6449
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL
@@ -0,0 +1 @@
+# CONFIG_MLXBF_BOOTCTL is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_MSM_GPUCC_8998 b/configs/fedora/generic/arm/aarch64/CONFIG_MSM_GPUCC_8998
new file mode 100644
index 000000000..832c3f0b1
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_MSM_GPUCC_8998
@@ -0,0 +1 @@
+CONFIG_MSM_GPUCC_8998=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_MESON_A1 b/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_MESON_A1
new file mode 100644
index 000000000..bad073e2b
--- /dev/null
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_MESON_A1
@@ -0,0 +1 @@
+CONFIG_PINCTRL_MESON_A1=y
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CLK_RPM b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CLK_RPM
index 5650c8603..49d6fe218 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CLK_RPM
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_CLK_RPM
@@ -1 +1 @@
-CONFIG_QCOM_CLK_RPM=m
+# CONFIG_QCOM_CLK_RPM is not set
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SDM845_LLCC b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SDM845_LLCC
deleted file mode 100644
index b7c32e47a..000000000
--- a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SDM845_LLCC
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_QCOM_SDM845_LLCC=m
diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_QCOM_RPM b/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_QCOM_RPM
index 3d002cac5..8eaec88ff 100644
--- a/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_QCOM_RPM
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_REGULATOR_QCOM_RPM
@@ -1 +1 @@
-CONFIG_REGULATOR_QCOM_RPM=m
+# CONFIG_REGULATOR_QCOM_RPM is not set
diff --git a/configs/fedora/generic/CONFIG_ZYNQMP_FIRMWARE_DEBUG b/configs/fedora/generic/arm/aarch64/CONFIG_ZYNQMP_FIRMWARE_DEBUG
index eb78594e4..eb78594e4 100644
--- a/configs/fedora/generic/CONFIG_ZYNQMP_FIRMWARE_DEBUG
+++ b/configs/fedora/generic/arm/aarch64/CONFIG_ZYNQMP_FIRMWARE_DEBUG
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_AM335X_PHY_USB b/configs/fedora/generic/arm/armv7/CONFIG_AM335X_PHY_USB
index b3f86e351..b3f86e351 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_AM335X_PHY_USB
+++ b/configs/fedora/generic/arm/armv7/CONFIG_AM335X_PHY_USB
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_ARCH_OMAP2PLUS_TYPICAL b/configs/fedora/generic/arm/armv7/CONFIG_ARCH_OMAP2PLUS_TYPICAL
new file mode 100644
index 000000000..a1a3142b1
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_ARCH_OMAP2PLUS_TYPICAL
@@ -0,0 +1 @@
+# CONFIG_ARCH_OMAP2PLUS_TYPICAL is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_OMAP2PLUS_CPUFREQ b/configs/fedora/generic/arm/armv7/CONFIG_ARM_OMAP2PLUS_CPUFREQ
index 5b86d6cba..5b86d6cba 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_OMAP2PLUS_CPUFREQ
+++ b/configs/fedora/generic/arm/armv7/CONFIG_ARM_OMAP2PLUS_CPUFREQ
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ b/configs/fedora/generic/arm/armv7/CONFIG_ARM_TI_CPUFREQ
index ca125040d..ca125040d 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ
+++ b/configs/fedora/generic/arm/armv7/CONFIG_ARM_TI_CPUFREQ
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_COMMON_CLK_PALMAS b/configs/fedora/generic/arm/armv7/CONFIG_COMMON_CLK_PALMAS
index 695bed39b..695bed39b 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_COMMON_CLK_PALMAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_COMMON_CLK_PALMAS
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_COMMON_CLK_TI_ADPLL b/configs/fedora/generic/arm/armv7/CONFIG_COMMON_CLK_TI_ADPLL
new file mode 100644
index 000000000..84d80643f
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_COMMON_CLK_TI_ADPLL
@@ -0,0 +1 @@
+# CONFIG_COMMON_CLK_TI_ADPLL is not set
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_CURVE25519_NEON b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_CURVE25519_NEON
new file mode 100644
index 000000000..177896090
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_CURVE25519_NEON
@@ -0,0 +1 @@
+CONFIG_CRYPTO_CURVE25519_NEON=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP
index 98ff565f8..98ff565f8 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES
index eb6803b74..eb6803b74 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_AES
+++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_AES
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_DES
index b359a5c3f..b359a5c3f 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_DES
+++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_DES
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM
index 58d162aba..58d162aba 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM
+++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_DEV_OMAP_SHAM
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_POLY1305_ARM b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_POLY1305_ARM
new file mode 100644
index 000000000..bb326b4f9
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_CRYPTO_POLY1305_ARM
@@ -0,0 +1 @@
+CONFIG_CRYPTO_POLY1305_ARM=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DDR b/configs/fedora/generic/arm/armv7/CONFIG_DDR
index ef2dd72e5..ef2dd72e5 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DDR
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DDR
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DMA_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_DMA_OMAP
index e11f15c99..e11f15c99 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DMA_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DMA_OMAP
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_DRA752_THERMAL b/configs/fedora/generic/arm/armv7/CONFIG_DRA752_THERMAL
new file mode 100644
index 000000000..4d4ffe7c5
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DRA752_THERMAL
@@ -0,0 +1 @@
+CONFIG_DRA752_THERMAL=y
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP
index 5e6027954..5e6027954 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV
index b1c910b41..b1c910b41 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_CONNECTOR_HDMI b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_CONNECTOR_HDMI
index c32d551d3..c32d551d3 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_CONNECTOR_HDMI
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_CONNECTOR_HDMI
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_ENCODER_OPA362 b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_ENCODER_OPA362
index 266b225c4..266b225c4 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_ENCODER_OPA362
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_ENCODER_OPA362
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_ENCODER_TPD12S015 b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_ENCODER_TPD12S015
index c7fe3823b..c7fe3823b 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_ENCODER_TPD12S015
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_ENCODER_TPD12S015
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_DSI_CM b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_PANEL_DSI_CM
index 3ddf71e55..3ddf71e55 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_DSI_CM
+++ b/configs/fedora/generic/arm/armv7/CONFIG_DRM_OMAP_PANEL_DSI_CM
diff --git a/configs/fedora/generic/arm/armv7/lpae/CONFIG_EDAC_TI b/configs/fedora/generic/arm/armv7/CONFIG_EDAC_TI
index 6989ad752..6989ad752 100644
--- a/configs/fedora/generic/arm/armv7/lpae/CONFIG_EDAC_TI
+++ b/configs/fedora/generic/arm/armv7/CONFIG_EDAC_TI
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_EXTCON_PALMAS b/configs/fedora/generic/arm/armv7/CONFIG_EXTCON_PALMAS
index 9d44d9149..9d44d9149 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_EXTCON_PALMAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_EXTCON_PALMAS
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_EXYNOS5422_DMC b/configs/fedora/generic/arm/armv7/CONFIG_EXYNOS5422_DMC
new file mode 100644
index 000000000..7c1b0dbb9
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_EXYNOS5422_DMC
@@ -0,0 +1 @@
+CONFIG_EXYNOS5422_DMC=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_GPIO_OMAP
index 7c593d352..7c593d352 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_GPIO_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_PALMAS b/configs/fedora/generic/arm/armv7/CONFIG_GPIO_PALMAS
index 3d3301bcf..3d3301bcf 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_PALMAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_GPIO_PALMAS
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_GPIO_PISOSR b/configs/fedora/generic/arm/armv7/CONFIG_GPIO_PISOSR
new file mode 100644
index 000000000..187f0d5ef
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_GPIO_PISOSR
@@ -0,0 +1 @@
+CONFIG_GPIO_PISOSR=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_HDQ_MASTER_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_HDQ_MASTER_OMAP
index a51d799ba..a51d799ba 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_HDQ_MASTER_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_HDQ_MASTER_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_HWSPINLOCK_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_HWSPINLOCK_OMAP
index 869da47ed..869da47ed 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_HWSPINLOCK_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_HWSPINLOCK_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_I2C_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_I2C_OMAP
index 7d49cccbd..7d49cccbd 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_I2C_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_I2C_OMAP
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_INFINIBAND_CXGB3 b/configs/fedora/generic/arm/armv7/CONFIG_INFINIBAND_CXGB3
deleted file mode 100644
index f06c87360..000000000
--- a/configs/fedora/generic/arm/armv7/CONFIG_INFINIBAND_CXGB3
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_INFINIBAND_CXGB3 is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_INPUT_PALMAS_PWRBUTTON b/configs/fedora/generic/arm/armv7/CONFIG_INPUT_PALMAS_PWRBUTTON
index 001a8cf96..001a8cf96 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_INPUT_PALMAS_PWRBUTTON
+++ b/configs/fedora/generic/arm/armv7/CONFIG_INPUT_PALMAS_PWRBUTTON
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MFD_OMAP_USB_HOST b/configs/fedora/generic/arm/armv7/CONFIG_MFD_OMAP_USB_HOST
new file mode 100644
index 000000000..0facc49a9
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_MFD_OMAP_USB_HOST
@@ -0,0 +1 @@
+# CONFIG_MFD_OMAP_USB_HOST is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_MFD_PALMAS b/configs/fedora/generic/arm/armv7/CONFIG_MFD_PALMAS
index 27f2b3a1f..27f2b3a1f 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_MFD_PALMAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_MFD_PALMAS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_MFD_TI_AM335X_TSCADC b/configs/fedora/generic/arm/armv7/CONFIG_MFD_TI_AM335X_TSCADC
index 7db3d8445..7db3d8445 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_MFD_TI_AM335X_TSCADC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_MFD_TI_AM335X_TSCADC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_MMC_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_MMC_OMAP
index cc3c5a021..cc3c5a021 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_MMC_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_MMC_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2PLUS_MBOX b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2PLUS_MBOX
index 58f6d5fee..58f6d5fee 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2PLUS_MBOX
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2PLUS_MBOX
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS
index 3f2725c06..3f2725c06 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUG b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DEBUG
index 8b8ba13e8..8b8ba13e8 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUG
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DEBUG
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUGFS b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DEBUGFS
index d60f0708f..d60f0708f 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DEBUGFS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DEBUGFS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DPI b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DPI
index b8eceeafb..b8eceeafb 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DPI
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DPI
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DSI b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DSI
index f1114bc76..f1114bc76 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_DSI
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_DSI
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK
index 534b6bde0..534b6bde0 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_SDI b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_SDI
index 5114208ee..5114208ee 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_SDI
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_SDI
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET
index cb20af7dd..cb20af7dd 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_VENC b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_VENC
index 0c33d2d2c..0c33d2d2c 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP2_DSS_VENC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP2_DSS_VENC
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_OMAP4_DSS_HDMI b/configs/fedora/generic/arm/armv7/CONFIG_OMAP4_DSS_HDMI
new file mode 100644
index 000000000..46826dfcf
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP4_DSS_HDMI
@@ -0,0 +1 @@
+# CONFIG_OMAP4_DSS_HDMI is not set
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_OMAP5_DSS_HDMI b/configs/fedora/generic/arm/armv7/CONFIG_OMAP5_DSS_HDMI
new file mode 100644
index 000000000..8a170285c
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP5_DSS_HDMI
@@ -0,0 +1 @@
+# CONFIG_OMAP5_DSS_HDMI is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP5_ERRATA_801819 b/configs/fedora/generic/arm/armv7/CONFIG_OMAP5_ERRATA_801819
index c40e91ac8..c40e91ac8 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP5_ERRATA_801819
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP5_ERRATA_801819
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP5_THERMAL b/configs/fedora/generic/arm/armv7/CONFIG_OMAP5_THERMAL
index 3cb93da28..3cb93da28 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP5_THERMAL
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP5_THERMAL
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_32K_TIMER b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_32K_TIMER
index f1169a7ac..f1169a7ac 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_32K_TIMER
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_32K_TIMER
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_CONTROL_PHY b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_CONTROL_PHY
index 3d903235a..3d903235a 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_CONTROL_PHY
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_CONTROL_PHY
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_OMAP_GPMC b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_GPMC
new file mode 100644
index 000000000..4d5e03b6d
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_GPMC
@@ -0,0 +1 @@
+CONFIG_OMAP_GPMC=y
diff --git a/configs/fedora/generic/arm/CONFIG_OMAP_GPMC_DEBUG b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_GPMC_DEBUG
index af4ea9e82..af4ea9e82 100644
--- a/configs/fedora/generic/arm/CONFIG_OMAP_GPMC_DEBUG
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_GPMC_DEBUG
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_IOMMU b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_IOMMU
index fcac8d138..fcac8d138 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_IOMMU
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_IOMMU
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_IOMMU_DEBUG b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_IOMMU_DEBUG
index b8525c479..b8525c479 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_IOMMU_DEBUG
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_IOMMU_DEBUG
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_MBOX_KFIFO_SIZE b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_MBOX_KFIFO_SIZE
index 14bbf7fbb..14bbf7fbb 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_MBOX_KFIFO_SIZE
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_MBOX_KFIFO_SIZE
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_OCP2SCP b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_OCP2SCP
index 1f6d1c274..1f6d1c274 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_OCP2SCP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_OCP2SCP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_REMOTEPROC b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_REMOTEPROC
index a757f3837..a757f3837 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_REMOTEPROC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_REMOTEPROC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_RESET_CLOCKS b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_RESET_CLOCKS
index eac23206d..eac23206d 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_RESET_CLOCKS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_RESET_CLOCKS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_USB2 b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_USB2
index 83f69e987..83f69e987 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_USB2
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_USB2
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_WATCHDOG b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_WATCHDOG
index 420033d44..420033d44 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP_WATCHDOG
+++ b/configs/fedora/generic/arm/armv7/CONFIG_OMAP_WATCHDOG
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PALMAS_GPADC b/configs/fedora/generic/arm/armv7/CONFIG_PALMAS_GPADC
index 3e8465ae4..3e8465ae4 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PALMAS_GPADC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_PALMAS_GPADC
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_PCI_DRA7XX_HOST b/configs/fedora/generic/arm/armv7/CONFIG_PCI_DRA7XX_HOST
new file mode 100644
index 000000000..7bbb2fd97
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_PCI_DRA7XX_HOST
@@ -0,0 +1 @@
+# CONFIG_PCI_DRA7XX_HOST is not set
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_PHY_MMP3_USB b/configs/fedora/generic/arm/armv7/CONFIG_PHY_MMP3_USB
new file mode 100644
index 000000000..57958e494
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_PHY_MMP3_USB
@@ -0,0 +1 @@
+CONFIG_PHY_MMP3_USB=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PHY_TI_GMII_SEL b/configs/fedora/generic/arm/armv7/CONFIG_PHY_TI_GMII_SEL
index 0fda8719d..0fda8719d 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PHY_TI_GMII_SEL
+++ b/configs/fedora/generic/arm/armv7/CONFIG_PHY_TI_GMII_SEL
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PINCTRL_PALMAS b/configs/fedora/generic/arm/armv7/CONFIG_PINCTRL_PALMAS
index fa7630ca2..fa7630ca2 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PINCTRL_PALMAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_PINCTRL_PALMAS
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_PWM_OMAP_DMTIMER b/configs/fedora/generic/arm/armv7/CONFIG_PWM_OMAP_DMTIMER
new file mode 100644
index 000000000..f4f8647f7
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_PWM_OMAP_DMTIMER
@@ -0,0 +1 @@
+# CONFIG_PWM_OMAP_DMTIMER is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIEHRPWM b/configs/fedora/generic/arm/armv7/CONFIG_PWM_TIEHRPWM
index 412fe4734..412fe4734 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIEHRPWM
+++ b/configs/fedora/generic/arm/armv7/CONFIG_PWM_TIEHRPWM
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_PALMAS b/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_PALMAS
index 4a99c54ad..4a99c54ad 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_PALMAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_PALMAS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_PBIAS b/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_PBIAS
index 062775d51..062775d51 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_PBIAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_PBIAS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_TI_ABB b/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_TI_ABB
index a602d1ebe..a602d1ebe 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_REGULATOR_TI_ABB
+++ b/configs/fedora/generic/arm/armv7/CONFIG_REGULATOR_TI_ABB
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_RTC_DRV_OMAP
index 479a6f546..479a6f546 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_RTC_DRV_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_RTC_DRV_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_RTC_DRV_PALMAS b/configs/fedora/generic/arm/armv7/CONFIG_RTC_DRV_PALMAS
index e25c3751b..e25c3751b 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_RTC_DRV_PALMAS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_RTC_DRV_PALMAS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_SERIAL_8250_OMAP
index 0f7ea5449..0f7ea5449 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SERIAL_8250_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP b/configs/fedora/generic/arm/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP
index cffbc1b84..cffbc1b84 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_SERIAL_OMAP
index 1c036ec4f..1c036ec4f 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SERIAL_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SERIAL_OMAP
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631
deleted file mode 100644
index cbf1d012f..000000000
--- a/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_ABE_TWL6040 b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_ABE_TWL6040
index cc05a84c5..cc05a84c5 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_ABE_TWL6040
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_ABE_TWL6040
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_DMIC b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_DMIC
index c21b6b9ec..c21b6b9ec 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_DMIC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_DMIC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_HDMI b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_HDMI
index c2682d75b..c2682d75b 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_HDMI
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_HDMI
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_MCBSP b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_MCBSP
index 9a9e17f07..9a9e17f07 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_MCBSP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_MCBSP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_MCPDM b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_MCPDM
index 7ca468fac..7ca468fac 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_OMAP_MCPDM
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_OMAP_MCPDM
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_AM43XX b/configs/fedora/generic/arm/armv7/CONFIG_SOC_AM43XX
index 18d0e25c0..18d0e25c0 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_AM43XX
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SOC_AM43XX
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SOC_DRA7XX b/configs/fedora/generic/arm/armv7/CONFIG_SOC_DRA7XX
index a11bb6971..523e14428 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_SOC_DRA7XX
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SOC_DRA7XX
@@ -1 +1 @@
-# CONFIG_SOC_DRA7XX is not set
+CONFIG_SOC_DRA7XX=y
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SOC_HAS_OMAP2_SDRC b/configs/fedora/generic/arm/armv7/CONFIG_SOC_HAS_OMAP2_SDRC
new file mode 100644
index 000000000..caa9a525c
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SOC_HAS_OMAP2_SDRC
@@ -0,0 +1 @@
+# CONFIG_SOC_HAS_OMAP2_SDRC is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_HAS_REALTIME_COUNTER b/configs/fedora/generic/arm/armv7/CONFIG_SOC_HAS_REALTIME_COUNTER
index bccf956d9..bccf956d9 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_HAS_REALTIME_COUNTER
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SOC_HAS_REALTIME_COUNTER
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_OMAP5 b/configs/fedora/generic/arm/armv7/CONFIG_SOC_OMAP5
index dab53582a..dab53582a 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_OMAP5
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SOC_OMAP5
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_OMAP24XX b/configs/fedora/generic/arm/armv7/CONFIG_SPI_OMAP24XX
index 5d7e38bfc..5d7e38bfc 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_OMAP24XX
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SPI_OMAP24XX
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_TI_QSPI b/configs/fedora/generic/arm/armv7/CONFIG_SPI_TI_QSPI
index 8bcd1efe9..8bcd1efe9 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SPI_TI_QSPI
+++ b/configs/fedora/generic/arm/armv7/CONFIG_SPI_TI_QSPI
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_TEGRA30_EMC b/configs/fedora/generic/arm/armv7/CONFIG_TEGRA30_EMC
new file mode 100644
index 000000000..ad808ee3c
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TEGRA30_EMC
@@ -0,0 +1 @@
+CONFIG_TEGRA30_EMC=y
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_ADC081C b/configs/fedora/generic/arm/armv7/CONFIG_TI_ADC081C
index 53474529a..53474529a 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_ADC081C
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_ADC081C
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_AM335X_ADC b/configs/fedora/generic/arm/armv7/CONFIG_TI_AM335X_ADC
index 72f215341..72f215341 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_AM335X_ADC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_AM335X_ADC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPPI41 b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPPI41
index 666dd68c1..666dd68c1 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPPI41
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPPI41
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPSW b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPSW
index d8770d1c7..d8770d1c7 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPSW
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPSW
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_TI_CPSW_SWITCHDEV b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPSW_SWITCHDEV
new file mode 100644
index 000000000..19ec3d23c
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPSW_SWITCHDEV
@@ -0,0 +1 @@
+CONFIG_TI_CPSW_SWITCHDEV=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPTS b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPTS
index f2dd7ea1f..f2dd7ea1f 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPTS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPTS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPTS_MOD b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPTS_MOD
index b81356e32..b81356e32 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_CPTS_MOD
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_CPTS_MOD
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_DAVINCI_EMAC b/configs/fedora/generic/arm/armv7/CONFIG_TI_DAVINCI_EMAC
index e262f73ba..e262f73ba 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_DAVINCI_EMAC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_DAVINCI_EMAC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_EMIF b/configs/fedora/generic/arm/armv7/CONFIG_TI_EMIF
index 95caa8707..95caa8707 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_EMIF
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_EMIF
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM b/configs/fedora/generic/arm/armv7/CONFIG_TI_EMIF_SRAM
index 6bb0bf6e6..6bb0bf6e6 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_EMIF_SRAM
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_EMIF_SRAM
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_TI_EQEP b/configs/fedora/generic/arm/armv7/CONFIG_TI_EQEP
new file mode 100644
index 000000000..0b06827af
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_EQEP
@@ -0,0 +1 @@
+CONFIG_TI_EQEP=m
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_PIPE3 b/configs/fedora/generic/arm/armv7/CONFIG_TI_PIPE3
index 93443fcb0..93443fcb0 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_TI_PIPE3
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_PIPE3
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_TI_PWMSS b/configs/fedora/generic/arm/armv7/CONFIG_TI_PWMSS
new file mode 100644
index 000000000..7e152dd73
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TI_PWMSS
@@ -0,0 +1 @@
+CONFIG_TI_PWMSS=y
diff --git a/configs/fedora/generic/CONFIG_TOUCHSCREEN_TI_AM335X_TSC b/configs/fedora/generic/arm/armv7/CONFIG_TOUCHSCREEN_TI_AM335X_TSC
index 0ff3da36f..0ff3da36f 100644
--- a/configs/fedora/generic/CONFIG_TOUCHSCREEN_TI_AM335X_TSC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_TOUCHSCREEN_TI_AM335X_TSC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_DWC3_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_USB_DWC3_OMAP
index 266a83b35..266a83b35 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_DWC3_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_USB_DWC3_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_EHCI_HCD_OMAP b/configs/fedora/generic/arm/armv7/CONFIG_USB_EHCI_HCD_OMAP
index 461fb3344..461fb3344 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_EHCI_HCD_OMAP
+++ b/configs/fedora/generic/arm/armv7/CONFIG_USB_EHCI_HCD_OMAP
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_INVENTRA_DMA b/configs/fedora/generic/arm/armv7/CONFIG_USB_INVENTRA_DMA
index fb617333e..fb617333e 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_INVENTRA_DMA
+++ b/configs/fedora/generic/arm/armv7/CONFIG_USB_INVENTRA_DMA
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_AM335X_CHILD b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD
index e16720b6a..e16720b6a 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_AM335X_CHILD
+++ b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM335X_CHILD
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_AM35X b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM35X
index e861ad528..e861ad528 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_AM35X
+++ b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_AM35X
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_OMAP2PLUS b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_OMAP2PLUS
index 131bb577c..131bb577c 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_MUSB_OMAP2PLUS
+++ b/configs/fedora/generic/arm/armv7/CONFIG_USB_MUSB_OMAP2PLUS
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_TI_CPPI41_DMA b/configs/fedora/generic/arm/armv7/CONFIG_USB_TI_CPPI41_DMA
index 49f6c27e8..49f6c27e8 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_TI_CPPI41_DMA
+++ b/configs/fedora/generic/arm/armv7/CONFIG_USB_TI_CPPI41_DMA
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_VIDEO_AM437X_VPFE b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_AM437X_VPFE
index 17a6c69ab..17a6c69ab 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_VIDEO_AM437X_VPFE
+++ b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_AM437X_VPFE
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_CAL b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_CAL
new file mode 100644
index 000000000..b38023b9f
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_CAL
@@ -0,0 +1 @@
+CONFIG_VIDEO_TI_CAL=m
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE
new file mode 100644
index 000000000..ef50d7a25
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE
@@ -0,0 +1 @@
+CONFIG_VIDEO_TI_VPE=m
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE_DEBUG b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE_DEBUG
new file mode 100644
index 000000000..7df4ef9a8
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/CONFIG_VIDEO_TI_VPE_DEBUG
@@ -0,0 +1 @@
+# CONFIG_VIDEO_TI_VPE_DEBUG is not set
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_WKUP_M3_RPROC b/configs/fedora/generic/arm/armv7/CONFIG_WKUP_M3_RPROC
index e49f0132a..e49f0132a 100644
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_WKUP_M3_RPROC
+++ b/configs/fedora/generic/arm/armv7/CONFIG_WKUP_M3_RPROC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_COMMON_CLK_MMP2 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_COMMON_CLK_MMP2
new file mode 100644
index 000000000..9d4a7ecde
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_COMMON_CLK_MMP2
@@ -0,0 +1 @@
+CONFIG_COMMON_CLK_MMP2=y
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_MACH_MMP3_DT b/configs/fedora/generic/arm/armv7/armv7/CONFIG_MACH_MMP3_DT
new file mode 100644
index 000000000..9ae7f6941
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_MACH_MMP3_DT
@@ -0,0 +1 @@
+CONFIG_MACH_MMP3_DT=y
diff --git a/configs/fedora/generic/arm/armv7/CONFIG_OMAP4_DSS_HDMI_CEC b/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP4_DSS_HDMI_CEC
index 56ceebfd5..56ceebfd5 100644
--- a/configs/fedora/generic/arm/armv7/CONFIG_OMAP4_DSS_HDMI_CEC
+++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_OMAP4_DSS_HDMI_CEC
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIPWMSS b/configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIPWMSS
deleted file mode 100644
index c90d79f1b..000000000
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIPWMSS
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_PWM_TIPWMSS=y
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_HAS_OMAP2_SDRC b/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_HAS_OMAP2_SDRC
new file mode 100644
index 000000000..44603fafb
--- /dev/null
+++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_SOC_HAS_OMAP2_SDRC
@@ -0,0 +1 @@
+CONFIG_SOC_HAS_OMAP2_SDRC=y
diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_OMAP3 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_OMAP3
deleted file mode 100644
index f4286c5b1..000000000
--- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_USB_OHCI_HCD_OMAP3
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_USB_OHCI_HCD_OMAP3=m
diff --git a/configs/fedora/generic/arm/armv7/lpae/CONFIG_AM335X_PHY_USB b/configs/fedora/generic/arm/armv7/lpae/CONFIG_AM335X_PHY_USB
deleted file mode 100644
index 26554650a..000000000
--- a/configs/fedora/generic/arm/armv7/lpae/CONFIG_AM335X_PHY_USB
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_AM335X_PHY_USB is not set
diff --git a/configs/fedora/generic/arm/armv7/lpae/CONFIG_DRM_OMAP b/configs/fedora/generic/arm/armv7/lpae/CONFIG_DRM_OMAP
deleted file mode 100644
index 1506b3d55..000000000
--- a/configs/fedora/generic/arm/armv7/lpae/CONFIG_DRM_OMAP
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_DRM_OMAP is not set
diff --git a/configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_AM43XX b/configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_AM43XX
deleted file mode 100644
index 4761c4279..000000000
--- a/configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_AM43XX
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SOC_AM43XX is not set
diff --git a/configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_OMAP5 b/configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_OMAP5
deleted file mode 100644
index 0f9cdbc7a..000000000
--- a/configs/fedora/generic/arm/armv7/lpae/CONFIG_SOC_OMAP5
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SOC_OMAP5 is not set
diff --git a/configs/fedora/generic/powerpc/CONFIG_DEVICE_PRIVATE b/configs/fedora/generic/powerpc/CONFIG_DEVICE_PRIVATE
new file mode 100644
index 000000000..ef0a4ad5b
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_DEVICE_PRIVATE
@@ -0,0 +1 @@
+CONFIG_DEVICE_PRIVATE=y
diff --git a/configs/fedora/generic/powerpc/CONFIG_FSI_MASTER_ASPEED b/configs/fedora/generic/powerpc/CONFIG_FSI_MASTER_ASPEED
new file mode 100644
index 000000000..a17314612
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_FSI_MASTER_ASPEED
@@ -0,0 +1 @@
+CONFIG_FSI_MASTER_ASPEED=m
diff --git a/configs/fedora/generic/powerpc/CONFIG_NVDIMM_DAX b/configs/fedora/generic/powerpc/CONFIG_NVDIMM_DAX
new file mode 100644
index 000000000..947636ca8
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_NVDIMM_DAX
@@ -0,0 +1 @@
+CONFIG_NVDIMM_DAX=y
diff --git a/configs/fedora/generic/powerpc/CONFIG_NVDIMM_PFN b/configs/fedora/generic/powerpc/CONFIG_NVDIMM_PFN
new file mode 100644
index 000000000..9db164ae5
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_NVDIMM_PFN
@@ -0,0 +1 @@
+CONFIG_NVDIMM_PFN=y
diff --git a/configs/fedora/generic/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN b/configs/fedora/generic/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN
deleted file mode 100644
index 2d1ad5bb1..000000000
--- a/configs/fedora/generic/powerpc/CONFIG_PCI_MSI_IRQ_DOMAIN
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
diff --git a/configs/fedora/generic/powerpc/CONFIG_PPC_UV b/configs/fedora/generic/powerpc/CONFIG_PPC_UV
new file mode 100644
index 000000000..5fc95151b
--- /dev/null
+++ b/configs/fedora/generic/powerpc/CONFIG_PPC_UV
@@ -0,0 +1 @@
+CONFIG_PPC_UV=y
diff --git a/configs/fedora/generic/powerpc/CONFIG_SIMPLE_GPIO b/configs/fedora/generic/powerpc/CONFIG_SIMPLE_GPIO
deleted file mode 100644
index 5719f4fc1..000000000
--- a/configs/fedora/generic/powerpc/CONFIG_SIMPLE_GPIO
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SIMPLE_GPIO=y
diff --git a/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL_DETECT_DMIC b/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL_DETECT_DMIC
deleted file mode 100644
index 501f523b0..000000000
--- a/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL_DETECT_DMIC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
diff --git a/configs/fedora/generic/powerpc/CONFIG_VIRT_CPU_ACCOUNTING_NATIVE b/configs/fedora/generic/powerpc/CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
deleted file mode 100644
index ddcbbab11..000000000
--- a/configs/fedora/generic/powerpc/CONFIG_VIRT_CPU_ACCOUNTING_NATIVE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
diff --git a/configs/fedora/generic/powerpc/CONFIG_ZONE_DEVICE b/configs/fedora/generic/powerpc/CONFIG_ZONE_DEVICE
index ee4f1b8b2..7d0942fcf 100644
--- a/configs/fedora/generic/powerpc/CONFIG_ZONE_DEVICE
+++ b/configs/fedora/generic/powerpc/CONFIG_ZONE_DEVICE
@@ -1 +1 @@
-# CONFIG_ZONE_DEVICE is not set
+CONFIG_ZONE_DEVICE=y
diff --git a/configs/fedora/generic/s390x/CONFIG_INFINIBAND_CXGB3 b/configs/fedora/generic/s390x/CONFIG_INFINIBAND_CXGB3
deleted file mode 100644
index f06c87360..000000000
--- a/configs/fedora/generic/s390x/CONFIG_INFINIBAND_CXGB3
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_INFINIBAND_CXGB3 is not set
diff --git a/configs/fedora/generic/s390x/CONFIG_NO_HZ_FULL b/configs/fedora/generic/s390x/CONFIG_NO_HZ_FULL
new file mode 100644
index 000000000..6521b592b
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_NO_HZ_FULL
@@ -0,0 +1 @@
+# CONFIG_NO_HZ_FULL is not set
diff --git a/configs/fedora/generic/s390x/CONFIG_NO_HZ_IDLE b/configs/fedora/generic/s390x/CONFIG_NO_HZ_IDLE
new file mode 100644
index 000000000..a050ad5a8
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_NO_HZ_IDLE
@@ -0,0 +1 @@
+CONFIG_NO_HZ_IDLE=y
diff --git a/configs/fedora/generic/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN b/configs/fedora/generic/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN
deleted file mode 100644
index 2d1ad5bb1..000000000
--- a/configs/fedora/generic/s390x/CONFIG_PCI_MSI_IRQ_DOMAIN
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
diff --git a/configs/fedora/generic/s390x/CONFIG_S390_UNWIND_SELFTEST b/configs/fedora/generic/s390x/CONFIG_S390_UNWIND_SELFTEST
new file mode 100644
index 000000000..8137bc959
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_S390_UNWIND_SELFTEST
@@ -0,0 +1 @@
+# CONFIG_S390_UNWIND_SELFTEST is not set
diff --git a/configs/fedora/generic/s390x/CONFIG_VIRT_CPU_ACCOUNTING_GEN b/configs/fedora/generic/s390x/CONFIG_VIRT_CPU_ACCOUNTING_GEN
new file mode 100644
index 000000000..5d16b4cb7
--- /dev/null
+++ b/configs/fedora/generic/s390x/CONFIG_VIRT_CPU_ACCOUNTING_GEN
@@ -0,0 +1 @@
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
diff --git a/configs/fedora/generic/x86/CONFIG_BYTCRC_PMIC_OPREGION b/configs/fedora/generic/x86/CONFIG_BYTCRC_PMIC_OPREGION
new file mode 100644
index 000000000..1da9cf47f
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_BYTCRC_PMIC_OPREGION
@@ -0,0 +1 @@
+CONFIG_BYTCRC_PMIC_OPREGION=y
diff --git a/configs/fedora/generic/x86/CONFIG_CHTCRC_PMIC_OPREGION b/configs/fedora/generic/x86/CONFIG_CHTCRC_PMIC_OPREGION
new file mode 100644
index 000000000..67c4ce35e
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_CHTCRC_PMIC_OPREGION
@@ -0,0 +1 @@
+CONFIG_CHTCRC_PMIC_OPREGION=y
diff --git a/configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION b/configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION
deleted file mode 100644
index cf61babe7..000000000
--- a/configs/fedora/generic/x86/CONFIG_CRC_PMIC_OPREGION
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRC_PMIC_OPREGION=y
diff --git a/configs/fedora/generic/x86/CONFIG_HYPERV_TESTING b/configs/fedora/generic/x86/CONFIG_HYPERV_TESTING
new file mode 100644
index 000000000..d763bef97
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_HYPERV_TESTING
@@ -0,0 +1 @@
+# CONFIG_HYPERV_TESTING is not set
diff --git a/configs/fedora/generic/x86/CONFIG_PINCTRL_EQUILIBRIUM b/configs/fedora/generic/x86/CONFIG_PINCTRL_EQUILIBRIUM
new file mode 100644
index 000000000..535cf484a
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_PINCTRL_EQUILIBRIUM
@@ -0,0 +1 @@
+CONFIG_PINCTRL_EQUILIBRIUM=m
diff --git a/configs/fedora/generic/x86/CONFIG_PINCTRL_TIGERLAKE b/configs/fedora/generic/x86/CONFIG_PINCTRL_TIGERLAKE
new file mode 100644
index 000000000..7862fad62
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_PINCTRL_TIGERLAKE
@@ -0,0 +1 @@
+CONFIG_PINCTRL_TIGERLAKE=m
diff --git a/configs/fedora/generic/x86/CONFIG_SFI b/configs/fedora/generic/x86/CONFIG_SFI
index 4754983e1..6857591ec 100644
--- a/configs/fedora/generic/x86/CONFIG_SFI
+++ b/configs/fedora/generic/x86/CONFIG_SFI
@@ -1 +1 @@
-CONFIG_SFI=y
+# CONFIG_SFI is not set
diff --git a/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC b/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC
deleted file mode 100644
index 501f523b0..000000000
--- a/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
diff --git a/configs/fedora/generic/x86/CONFIG_SYSTEM76_ACPI b/configs/fedora/generic/x86/CONFIG_SYSTEM76_ACPI
new file mode 100644
index 000000000..c22f4b5b3
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_SYSTEM76_ACPI
@@ -0,0 +1 @@
+CONFIG_SYSTEM76_ACPI=m
diff --git a/configs/fedora/generic/x86/CONFIG_X86_IOPL_IOPERM b/configs/fedora/generic/x86/CONFIG_X86_IOPL_IOPERM
new file mode 100644
index 000000000..cb77e518a
--- /dev/null
+++ b/configs/fedora/generic/x86/CONFIG_X86_IOPL_IOPERM
@@ -0,0 +1 @@
+CONFIG_X86_IOPL_IOPERM=y
diff --git a/configs/fedora/generic/x86/i686/CONFIG_M486SX b/configs/fedora/generic/x86/i686/CONFIG_M486SX
new file mode 100644
index 000000000..8bd98fe83
--- /dev/null
+++ b/configs/fedora/generic/x86/i686/CONFIG_M486SX
@@ -0,0 +1 @@
+# CONFIG_M486SX is not set
diff --git a/configs/fedora/generic/x86/i686/CONFIG_NO_HZ_FULL b/configs/fedora/generic/x86/i686/CONFIG_NO_HZ_FULL
new file mode 100644
index 000000000..6521b592b
--- /dev/null
+++ b/configs/fedora/generic/x86/i686/CONFIG_NO_HZ_FULL
@@ -0,0 +1 @@
+# CONFIG_NO_HZ_FULL is not set
diff --git a/configs/fedora/generic/x86/i686/CONFIG_NO_HZ_IDLE b/configs/fedora/generic/x86/i686/CONFIG_NO_HZ_IDLE
new file mode 100644
index 000000000..a050ad5a8
--- /dev/null
+++ b/configs/fedora/generic/x86/i686/CONFIG_NO_HZ_IDLE
@@ -0,0 +1 @@
+CONFIG_NO_HZ_IDLE=y
diff --git a/configs/fedora/generic/x86/i686/CONFIG_TICK_CPU_ACCOUNTING b/configs/fedora/generic/x86/i686/CONFIG_TICK_CPU_ACCOUNTING
new file mode 100644
index 000000000..b2e62b06c
--- /dev/null
+++ b/configs/fedora/generic/x86/i686/CONFIG_TICK_CPU_ACCOUNTING
@@ -0,0 +1 @@
+CONFIG_TICK_CPU_ACCOUNTING=y
diff --git a/configs/fedora/generic/x86/i686/CONFIG_VIRT_CPU_ACCOUNTING_GEN b/configs/fedora/generic/x86/i686/CONFIG_VIRT_CPU_ACCOUNTING_GEN
new file mode 100644
index 000000000..5d16b4cb7
--- /dev/null
+++ b/configs/fedora/generic/x86/i686/CONFIG_VIRT_CPU_ACCOUNTING_GEN
@@ -0,0 +1 @@
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CALGARY_IOMMU b/configs/fedora/generic/x86/x86_64/CONFIG_CALGARY_IOMMU
deleted file mode 100644
index b190f1db0..000000000
--- a/configs/fedora/generic/x86/x86_64/CONFIG_CALGARY_IOMMU
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_CALGARY_IOMMU is not set
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CPU_ISOLATION b/configs/fedora/generic/x86/x86_64/CONFIG_CPU_ISOLATION
deleted file mode 100644
index da3a02c10..000000000
--- a/configs/fedora/generic/x86/x86_64/CONFIG_CPU_ISOLATION
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CPU_ISOLATION=y
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_BLAKE2S_x86 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_BLAKE2S_x86
new file mode 100644
index 000000000..a39ac8c58
--- /dev/null
+++ b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_BLAKE2S_x86
@@ -0,0 +1 @@
+CONFIG_CRYPTO_BLAKE2S_X86=m
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_CURVE25519_X86 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_CURVE25519_X86
new file mode 100644
index 000000000..19b41bb62
--- /dev/null
+++ b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_CURVE25519_X86
@@ -0,0 +1 @@
+CONFIG_CRYPTO_CURVE25519_X86=m
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_FULL b/configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_FULL
deleted file mode 100644
index 4cd3ab9ec..000000000
--- a/configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_FULL
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_NO_HZ_FULL=y
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_IDLE b/configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_IDLE
deleted file mode 100644
index 8641a52f7..000000000
--- a/configs/fedora/generic/x86/x86_64/CONFIG_NO_HZ_IDLE
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_NO_HZ_IDLE is not set
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_TICK_CPU_ACCOUNTING b/configs/fedora/generic/x86/x86_64/CONFIG_TICK_CPU_ACCOUNTING
deleted file mode 100644
index c1c90776e..000000000
--- a/configs/fedora/generic/x86/x86_64/CONFIG_TICK_CPU_ACCOUNTING
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_TICK_CPU_ACCOUNTING is not set
diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_VIRT_CPU_ACCOUNTING_GEN b/configs/fedora/generic/x86/x86_64/CONFIG_VIRT_CPU_ACCOUNTING_GEN
deleted file mode 100644
index 16aaf1a83..000000000
--- a/configs/fedora/generic/x86/x86_64/CONFIG_VIRT_CPU_ACCOUNTING_GEN
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
diff --git a/drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch b/drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch
deleted file mode 100644
index c0251d1b4..000000000
--- a/drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 90de578c81e983b3d992ca3e1a7e5910c803abba Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Mon, 30 Dec 2019 11:15:30 +0000
-Subject: [PATCH] drm/i915/gt: Detect if we miss WaIdleLiteRestore
-
-In order to avoid confusing the HW, we must never submit an empty ring
-during lite-restore, that is we should always advance the RING_TAIL
-before submitting to stay ahead of the RING_HEAD.
-
-Normally this is prevented by keeping a couple of spare NOPs in the
-request->wa_tail so that on resubmission we can advance the tail. This
-relies on the request only being resubmitted once, which is the normal
-condition as it is seen once for ELSP[1] and then later in ELSP[0]. On
-preemption, the requests are unwound and the tail reset back to the
-normal end point (as we know the request is incomplete and therefore its
-RING_HEAD is even earlier).
-
-However, if this w/a should fail we would try and resubmit the request
-with the RING_TAIL already set to the location of this request's wa_tail
-potentially causing a GPU hang. We can spot when we do try and
-incorrectly resubmit without advancing the RING_TAIL and spare any
-embarrassment by forcing the context restore.
-
-In the case of preempt-to-busy, we leave the requests running on the HW
-while we unwind. As the ring is still live, we cannot rewind our
-rq->tail without forcing a reload so leave it set to rq->wa_tail and
-only force a reload if we resubmit after a lite-restore. (Normally, the
-forced reload will be a part of the preemption event.)
-
-Fixes: 22b7a426bbe1 ("drm/i915/execlists: Preempt-to-busy")
-Closes: https://gitlab.freedesktop.org/drm/intel/issues/673
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
-Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-Cc: stable@vger.kernel.org
-Link: https://patchwork.freedesktop.org/patch/msgid/20191209023215.3519970-1-chris@chris-wilson.co.uk
-(cherry picked from commit 82c69bf58650e644c61aa2bf5100b63a1070fd2f)
----
- drivers/gpu/drm/i915/gt/intel_lrc.c | 42 ++++++++++++++---------------
- 1 file changed, 20 insertions(+), 22 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
-index d564bfcab6a3..49ce15553e7b 100644
---- a/drivers/gpu/drm/i915/gt/intel_lrc.c
-+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
-@@ -471,12 +471,6 @@ lrc_descriptor(struct intel_context *ce, struct intel_engine_cs *engine)
- return desc;
- }
-
--static void unwind_wa_tail(struct i915_request *rq)
--{
-- rq->tail = intel_ring_wrap(rq->ring, rq->wa_tail - WA_TAIL_BYTES);
-- assert_ring_tail_valid(rq->ring, rq->tail);
--}
--
- static struct i915_request *
- __unwind_incomplete_requests(struct intel_engine_cs *engine)
- {
-@@ -495,7 +489,6 @@ __unwind_incomplete_requests(struct intel_engine_cs *engine)
- continue; /* XXX */
-
- __i915_request_unsubmit(rq);
-- unwind_wa_tail(rq);
-
- /*
- * Push the request back into the queue for later resubmission.
-@@ -650,13 +643,29 @@ execlists_schedule_out(struct i915_request *rq)
- i915_request_put(rq);
- }
-
--static u64 execlists_update_context(const struct i915_request *rq)
-+static u64 execlists_update_context(struct i915_request *rq)
- {
- struct intel_context *ce = rq->hw_context;
-- u64 desc;
-+ u64 desc = ce->lrc_desc;
-+ u32 tail;
-
-- ce->lrc_reg_state[CTX_RING_TAIL + 1] =
-- intel_ring_set_tail(rq->ring, rq->tail);
-+ /*
-+ * WaIdleLiteRestore:bdw,skl
-+ *
-+ * We should never submit the context with the same RING_TAIL twice
-+ * just in case we submit an empty ring, which confuses the HW.
-+ *
-+ * We append a couple of NOOPs (gen8_emit_wa_tail) after the end of
-+ * the normal request to be able to always advance the RING_TAIL on
-+ * subsequent resubmissions (for lite restore). Should that fail us,
-+ * and we try and submit the same tail again, force the context
-+ * reload.
-+ */
-+ tail = intel_ring_set_tail(rq->ring, rq->tail);
-+ if (unlikely(ce->lrc_reg_state[CTX_RING_TAIL + 1] == tail))
-+ desc |= CTX_DESC_FORCE_RESTORE;
-+ ce->lrc_reg_state[CTX_RING_TAIL + 1] = tail;
-+ rq->tail = rq->wa_tail;
-
- /*
- * Make sure the context image is complete before we submit it to HW.
-@@ -675,7 +684,6 @@ static u64 execlists_update_context(const struct i915_request *rq)
- */
- mb();
-
-- desc = ce->lrc_desc;
- ce->lrc_desc &= ~CTX_DESC_FORCE_RESTORE;
-
- return desc;
-@@ -1150,16 +1158,6 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
- if (!list_is_last(&last->sched.link,
- &engine->active.requests))
- return;
--
-- /*
-- * WaIdleLiteRestore:bdw,skl
-- * Apply the wa NOOPs to prevent
-- * ring:HEAD == rq:TAIL as we resubmit the
-- * request. See gen8_emit_fini_breadcrumb() for
-- * where we prepare the padding after the
-- * end of the request.
-- */
-- last->tail = last->wa_tail;
- }
- }
-
---
-2.24.1
-
diff --git a/efi-secureboot.patch b/efi-secureboot.patch
index ee5382029..cda57a471 100644
--- a/efi-secureboot.patch
+++ b/efi-secureboot.patch
@@ -36,17 +36,17 @@ index a3763247547c..8d76d1f153ed 100644
#endif /* CONFIG_BPF_SYSCALL */
int (*locked_down)(enum lockdown_reason what);
+ int (*lock_kernel_down)(const char *where, enum lockdown_reason level);
- };
-
- struct security_hook_heads {
+ #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;
- } __randomize_layout;
-
- /*
+ #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
@@ -86,7 +86,7 @@ diff --git a/security/security.c b/security/security.c
index 1bc000f834e2..1506b95427cf 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -2404,3 +2404,9 @@ int security_locked_down(enum lockdown_reason what)
+@@ -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);
@@ -96,6 +96,9 @@ index 1bc000f834e2..1506b95427cf 100644
+ 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
@@ -202,7 +205,7 @@ index 000000000000..9070055de0a1
+ pr_info("Secure boot enabled\n");
+ break;
+ default:
-+ pr_warning("Secure boot could not be determined (mode %u)\n",
++ pr_warn("Secure boot could not be determined (mode %u)\n",
+ mode);
+ break;
+ }
@@ -213,10 +216,10 @@ index 21d81021c1f4..758ec061d03b 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -1204,6 +1204,14 @@ extern int __init efi_setup_pcdp_console(char *);
- #define EFI_DBG 8 /* Print additional debug info at runtime */
#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_SECURE_BOOT 11 /* Are we in Secure Boot mode? */
+ #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,
@@ -233,18 +236,18 @@ index 21d81021c1f4..758ec061d03b 100644
extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused);
+
+extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode);
- #else
- static inline bool efi_enabled(int feature)
- {
+
+ bool __pure __efi_soft_reserve_enabled(void);
+
@@ -1227,6 +1237,8 @@ efi_capsule_pending(int *reset_type)
{
return false;
}
+
+static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {}
- #endif
- extern int efi_status_to_err(efi_status_t status);
+ static inline bool efi_soft_reserve_enabled(void)
+ {
@@ -1619,12 +1631,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);
diff --git a/gpio-max77620-Use-correct-unit-for-debounce-times.patch b/gpio-max77620-Use-correct-unit-for-debounce-times.patch
deleted file mode 100644
index 4d4b79d33..000000000
--- a/gpio-max77620-Use-correct-unit-for-debounce-times.patch
+++ /dev/null
@@ -1,475 +0,0 @@
-From patchwork Wed Oct 2 12:28:24 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com>
-X-Patchwork-Id: 1170635
-Return-Path: <linux-gpio-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org;
- spf=none (mailfrom) smtp.mailfrom=vger.kernel.org
- (client-ip=209.132.180.67; helo=vger.kernel.org;
- envelope-from=linux-gpio-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.b="ZNLKx8UP"; dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 46jwRG4D1Dz9sPj
- for <incoming@patchwork.ozlabs.org>;
- Wed, 2 Oct 2019 22:28:42 +1000 (AEST)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1726684AbfJBM2d (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Wed, 2 Oct 2019 08:28:33 -0400
-Received: from mail-wr1-f66.google.com ([209.85.221.66]:43919 "EHLO
- mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1725848AbfJBM2c (ORCPT
- <rfc822; linux-gpio@vger.kernel.org>); Wed, 2 Oct 2019 08:28:32 -0400
-Received: by mail-wr1-f66.google.com with SMTP id q17so19436519wrx.10;
- Wed, 02 Oct 2019 05:28:30 -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:in-reply-to:references
- :mime-version:content-transfer-encoding;
- bh=iB2sFoZ4x2KF5IYNHgeqY98wXl2bB2JULeTFtyoqdVY=;
- b=ZNLKx8UP+ukUsboEbPQ9oqLgg5M+37mex1mpr0SgaI7zjToRbmdCJL/chPAEK2r7t8
- C+RcBU7oQnbO3L1hTZQh1VyMX84xXmn0x8g7AskW0bydPo29O2lwBgM9BeNJiMt7gaS7
- LtCbNGe/ttaTfoTsJSOmpLgAJLVJ7mpN5r3h18HtAYcsB5NqjcgFF1yFZ9FvmXOIhxAm
- 1MxDJ7tO9pJbc4JQ8iR/yPEsCNibvlX1qtkuBUWdy6aJHG4CkqIbqb+V+84d3R5bsmoe
- sDx7f/mMbJ6cF7dCarqOe47Quscz7UkGw/gZywhaYNS/7p6JBvKDCe0bbruzj3MEXMRy
- 2tlw==
-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=iB2sFoZ4x2KF5IYNHgeqY98wXl2bB2JULeTFtyoqdVY=;
- b=E8tcBQ6lyFYE0z3JyOT1cT/Bgc194gfYXxSrFLZnHENJjrNz2Ijr9mgmTvanMcmLgs
- qvPIH6L5rKKzPpmhxkGCVNMunQuR3U4+g4lCHaJuDE3QikN/dAMpfidmgej7UBcnxYXq
- c8yhdhWsg36bVdUYmTdrPVNYayH3WqNj6h3724+nRQnwGs5Y+emoWuhckIBZQR2fJd3Z
- jEEmej1F2QBBv4/Cf7RoOd9BVX1DFI3LgOoGADQcGnuCW/+2clFWp860wnWLGdTGqPKI
- KCaPoNOzFDkbQCyhebPt8recsiTexB8AmRdTCOszf/TYQwmlvVUUSVqdwY4/P2N0uAGO
- 8kOA==
-X-Gm-Message-State: APjAAAVWUbix6mCYosiAjDRWTB69Pz3baQGdU6UKJJJba2d6nCyRFzs3
- w1iyx5KVIbR84BwLezjxgUk=
-X-Google-Smtp-Source: APXvYqylRlhdhO5L5gTZTUh+KEGBPZYsf15BqzctBqRpCy2v75DzIQkOOs8h+NZd8ePk6530OH8SlA==
-X-Received: by 2002:adf:f112:: with SMTP id r18mr2493221wro.88.1570019309276;
- Wed, 02 Oct 2019 05:28:29 -0700 (PDT)
-Received: from localhost (p2E5BE2CE.dip0.t-ipconnect.de. [46.91.226.206])
- by smtp.gmail.com with ESMTPSA id
- h17sm10777194wme.6.2019.10.02.05.28.28
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 02 Oct 2019 05:28:28 -0700 (PDT)
-From: Thierry Reding <thierry.reding@gmail.com>
-To: Linus Walleij <linus.walleij@linaro.org>,
- Bartosz Golaszewski <bgolaszewski@baylibre.com>
-Cc: Timo Alho <talho@nvidia.com>, linux-gpio@vger.kernel.org,
- linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
-Subject: [PATCH 2/3] gpio: max77620: Do not allocate IRQs upfront
-Date: Wed, 2 Oct 2019 14:28:24 +0200
-Message-Id: <20191002122825.3948322-2-thierry.reding@gmail.com>
-X-Mailer: git-send-email 2.23.0
-In-Reply-To: <20191002122825.3948322-1-thierry.reding@gmail.com>
-References: <20191002122825.3948322-1-thierry.reding@gmail.com>
-MIME-Version: 1.0
-Sender: linux-gpio-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-gpio.vger.kernel.org>
-X-Mailing-List: linux-gpio@vger.kernel.org
-
-From: Thierry Reding <treding@nvidia.com>
-
-regmap_add_irq_chip() will try to allocate all of the IRQ descriptors
-upfront if passed a non-zero irq_base parameter. However, the intention
-is to allocate IRQ descriptors on an as-needed basis if possible. Pass 0
-instead of -1 to fix that use-case.
-
-Signed-off-by: Thierry Reding <treding@nvidia.com>
----
- drivers/gpio/gpio-max77620.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
-index faf86ea9c51a..c58b56e5291e 100644
---- a/drivers/gpio/gpio-max77620.c
-+++ b/drivers/gpio/gpio-max77620.c
-@@ -304,7 +304,7 @@ static int max77620_gpio_probe(struct platform_device *pdev)
- }
-
- ret = devm_regmap_add_irq_chip(&pdev->dev, chip->rmap, gpio_irq,
-- IRQF_ONESHOT, -1,
-+ IRQF_ONESHOT, 0,
- &max77620_gpio_irq_chip,
- &chip->gpio_irq_data);
- if (ret < 0) {
-
-From patchwork Wed Oct 2 12:28:25 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com>
-X-Patchwork-Id: 1170633
-Return-Path: <linux-gpio-owner@vger.kernel.org>
-X-Original-To: incoming@patchwork.ozlabs.org
-Delivered-To: patchwork-incoming@bilbo.ozlabs.org
-Authentication-Results: ozlabs.org;
- spf=none (mailfrom) smtp.mailfrom=vger.kernel.org
- (client-ip=209.132.180.67; helo=vger.kernel.org;
- envelope-from=linux-gpio-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.b="TsA9TpB7"; dkim-atps=neutral
-Received: from vger.kernel.org (vger.kernel.org [209.132.180.67])
- by ozlabs.org (Postfix) with ESMTP id 46jwRD5mmDz9sPq
- for <incoming@patchwork.ozlabs.org>;
- Wed, 2 Oct 2019 22:28:40 +1000 (AEST)
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1727456AbfJBM2f (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);
- Wed, 2 Oct 2019 08:28:35 -0400
-Received: from mail-wm1-f66.google.com ([209.85.128.66]:34525 "EHLO
- mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1726682AbfJBM2e (ORCPT
- <rfc822; linux-gpio@vger.kernel.org>); Wed, 2 Oct 2019 08:28:34 -0400
-Received: by mail-wm1-f66.google.com with SMTP id y135so4823030wmc.1;
- Wed, 02 Oct 2019 05:28:32 -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:in-reply-to:references
- :mime-version:content-transfer-encoding;
- bh=CBafHZOcPLRsPg6HMh6RW3fmvKDiW2MODjit57xEepE=;
- b=TsA9TpB72Q02EPmaBqcc4zzucsjsdc5mtjgAgTak5YrKh+mRT2HMioWeCxrLu5Cl+6
- 66PhcUzrRtOnct3yEqC1hueFX+K8TsDr1bJq2f3L5LqA9rYz5Hdk93jVmwyEKtrPUOa5
- DNgu/r4ppuWX/d9nuLpVLcFGOzWYjz/GSfyRm/B0MNSsiIFx/VfjsK6OQk48uN2gyMPf
- LsirANA0HYZPyXaUFBkchtTE71HqGFSIzJGUSVGm12Z26puMZ9GiUid1l1XJjdDuFfhU
- 3k9TQnvLEpZDHArb2G8JrwRI8fRZ/OBDLPyKvH/EEdDYa/FfJOzliZBqMgVFpXpXGTZ6
- 7YAw==
-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=CBafHZOcPLRsPg6HMh6RW3fmvKDiW2MODjit57xEepE=;
- b=MVU3M5NDj2W8TitA2MM98hE9Vgb07UODtrRolwf9TaeTgf2XRMgYAWr9v5zaHvBU2q
- 4q/HPqbn0WAW3OBfSQLW6CFcdiHOkjfR+r8tKHpNMNBbeDrj1DeeKE/A25plLXxg+Ypz
- 1bKJe6DPvjIqLvrpVmPADaRtsAkgDFTt/h41ti2uTwS5xq4qEf1mwz6lFyJkGyf+Qjb5
- pnViJ3Lv89RLBvJwWj0j2t/EzzznPZn9xP663YkNrUNRYrAM7ZBauvK7kMyf8LnKo96E
- +niJu7OV4PnRspOC8AS3PPM4DHGctXZl6QMcJ1LyPwBkd8EHJioV1iDJKqHQIbxew46f
- AzCA==
-X-Gm-Message-State: APjAAAWbRYKoHNSgs+vkRdoNeam2jbbuVKAFxN3ysahEdBul5DIjNFsz
- JRjkPkilW+LPTwy2EmDLNUE=
-X-Google-Smtp-Source: APXvYqyfSTFvcH9+iLVzVGJ5KDEauN0ssdr9eBfIIdRWe8prWnP7KBGuKItc0GAk8lMLMDzdLKlWtw==
-X-Received: by 2002:a1c:7306:: with SMTP id d6mr2864027wmb.62.1570019311374;
- Wed, 02 Oct 2019 05:28:31 -0700 (PDT)
-Received: from localhost (p2E5BE2CE.dip0.t-ipconnect.de. [46.91.226.206])
- by smtp.gmail.com with ESMTPSA id
- 90sm3179450wrr.1.2019.10.02.05.28.30
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 02 Oct 2019 05:28:30 -0700 (PDT)
-From: Thierry Reding <thierry.reding@gmail.com>
-To: Linus Walleij <linus.walleij@linaro.org>,
- Bartosz Golaszewski <bgolaszewski@baylibre.com>
-Cc: Timo Alho <talho@nvidia.com>, linux-gpio@vger.kernel.org,
- linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
-Subject: [PATCH 3/3] gpio: max77620: Fix interrupt handling
-Date: Wed, 2 Oct 2019 14:28:25 +0200
-Message-Id: <20191002122825.3948322-3-thierry.reding@gmail.com>
-X-Mailer: git-send-email 2.23.0
-In-Reply-To: <20191002122825.3948322-1-thierry.reding@gmail.com>
-References: <20191002122825.3948322-1-thierry.reding@gmail.com>
-MIME-Version: 1.0
-Sender: linux-gpio-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-gpio.vger.kernel.org>
-X-Mailing-List: linux-gpio@vger.kernel.org
-
-From: Timo Alho <talho@nvidia.com>
-
-The interrupt-related register fields on the MAX77620 GPIO controller
-share registers with GPIO related fields. If the IRQ chip is implemented
-with regmap-irq, this causes the IRQ controller code to overwrite fields
-previously configured by the GPIO controller code.
-
-Two examples where this causes problems are the NVIDIA Jetson TX1 and
-Jetson TX2 boards, where some of the GPIOs are used to enable vital
-power regulators. The MAX77620 GPIO controller also provides the USB OTG
-ID pin. If configured as an interrupt, this causes some of the
-regulators to be powered off.
-
-Signed-off-by: Timo Alho <talho@nvidia.com>
-Signed-off-by: Thierry Reding <treding@nvidia.com>
----
- drivers/gpio/gpio-max77620.c | 231 ++++++++++++++++++-----------------
- 1 file changed, 117 insertions(+), 114 deletions(-)
-
-diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c
-index c58b56e5291e..c5b64a4ac172 100644
---- a/drivers/gpio/gpio-max77620.c
-+++ b/drivers/gpio/gpio-max77620.c
-@@ -18,109 +18,115 @@ struct max77620_gpio {
- struct gpio_chip gpio_chip;
- struct regmap *rmap;
- struct device *dev;
-+ struct mutex buslock; /* irq_bus_lock */
-+ unsigned int irq_type[8];
-+ bool irq_enabled[8];
- };
-
--static const struct regmap_irq max77620_gpio_irqs[] = {
-- [0] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE0,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 0,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
-- [1] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE1,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 1,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
-- [2] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE2,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 2,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
-- [3] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE3,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 3,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
-- [4] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE4,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 4,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
-- [5] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE5,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 5,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
-- [6] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE6,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 6,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
-- [7] = {
-- .reg_offset = 0,
-- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE7,
-- .type = {
-- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING,
-- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING,
-- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK,
-- .type_reg_offset = 7,
-- .types_supported = IRQ_TYPE_EDGE_BOTH,
-- },
-- },
--};
-+static irqreturn_t max77620_gpio_irqhandler(int irq, void *data)
-+{
-+ struct max77620_gpio *gpio = data;
-+ unsigned int value, offset;
-+ unsigned long pending;
-+ int err;
-+
-+ err = regmap_read(gpio->rmap, MAX77620_REG_IRQ_LVL2_GPIO, &value);
-+ if (err < 0) {
-+ dev_err(gpio->dev, "REG_IRQ_LVL2_GPIO read failed: %d\n", err);
-+ return IRQ_NONE;
-+ }
-+
-+ pending = value;
-+
-+ for_each_set_bit(offset, &pending, 8) {
-+ unsigned int virq;
-+
-+ virq = irq_find_mapping(gpio->gpio_chip.irq.domain, offset);
-+ handle_nested_irq(virq);
-+ }
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static void max77620_gpio_irq_mask(struct irq_data *data)
-+{
-+ struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
-+ struct max77620_gpio *gpio = gpiochip_get_data(chip);
-+
-+ gpio->irq_enabled[data->hwirq] = false;
-+}
-
--static const struct regmap_irq_chip max77620_gpio_irq_chip = {
-- .name = "max77620-gpio",
-- .irqs = max77620_gpio_irqs,
-- .num_irqs = ARRAY_SIZE(max77620_gpio_irqs),
-- .num_regs = 1,
-- .num_type_reg = 8,
-- .irq_reg_stride = 1,
-- .type_reg_stride = 1,
-- .status_base = MAX77620_REG_IRQ_LVL2_GPIO,
-- .type_base = MAX77620_REG_GPIO0,
-+static void max77620_gpio_irq_unmask(struct irq_data *data)
-+{
-+ struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
-+ struct max77620_gpio *gpio = gpiochip_get_data(chip);
-+
-+ gpio->irq_enabled[data->hwirq] = true;
-+}
-+
-+static int max77620_gpio_set_irq_type(struct irq_data *data, unsigned int type)
-+{
-+ struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
-+ struct max77620_gpio *gpio = gpiochip_get_data(chip);
-+ unsigned int irq_type;
-+
-+ switch (type) {
-+ case IRQ_TYPE_EDGE_RISING:
-+ irq_type = MAX77620_CNFG_GPIO_INT_RISING;
-+ break;
-+
-+ case IRQ_TYPE_EDGE_FALLING:
-+ irq_type = MAX77620_CNFG_GPIO_INT_FALLING;
-+ break;
-+
-+ case IRQ_TYPE_EDGE_BOTH:
-+ irq_type = MAX77620_CNFG_GPIO_INT_RISING |
-+ MAX77620_CNFG_GPIO_INT_FALLING;
-+ break;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ gpio->irq_type[data->hwirq] = irq_type;
-+
-+ return 0;
-+}
-+
-+static void max77620_gpio_bus_lock(struct irq_data *data)
-+{
-+ struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
-+ struct max77620_gpio *gpio = gpiochip_get_data(chip);
-+
-+ mutex_lock(&gpio->buslock);
-+}
-+
-+static void max77620_gpio_bus_sync_unlock(struct irq_data *data)
-+{
-+ struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
-+ struct max77620_gpio *gpio = gpiochip_get_data(chip);
-+ unsigned int value, offset = data->hwirq;
-+ int err;
-+
-+ value = gpio->irq_enabled[offset] ? gpio->irq_type[offset] : 0;
-+
-+ err = regmap_update_bits(gpio->rmap, GPIO_REG_ADDR(offset),
-+ MAX77620_CNFG_GPIO_INT_MASK, value);
-+ if (err < 0)
-+ dev_err(chip->parent, "failed to update interrupt mask: %d\n",
-+ err);
-+
-+ mutex_unlock(&gpio->buslock);
-+}
-+
-+static struct irq_chip max77620_gpio_irqchip = {
-+ .name = "max77620-gpio",
-+ .irq_mask = max77620_gpio_irq_mask,
-+ .irq_unmask = max77620_gpio_irq_unmask,
-+ .irq_set_type = max77620_gpio_set_irq_type,
-+ .irq_bus_lock = max77620_gpio_bus_lock,
-+ .irq_bus_sync_unlock = max77620_gpio_bus_sync_unlock,
-+ .flags = IRQCHIP_MASK_ON_SUSPEND,
- };
-
- static int max77620_gpio_dir_input(struct gpio_chip *gc, unsigned int offset)
-@@ -254,14 +260,6 @@ static int max77620_gpio_set_config(struct gpio_chip *gc, unsigned int offset,
- return -ENOTSUPP;
- }
-
--static int max77620_gpio_to_irq(struct gpio_chip *gc, unsigned int offset)
--{
-- struct max77620_gpio *mgpio = gpiochip_get_data(gc);
-- struct max77620_chip *chip = dev_get_drvdata(mgpio->dev->parent);
--
-- return regmap_irq_get_virq(chip->gpio_irq_data, offset);
--}
--
- static int max77620_gpio_probe(struct platform_device *pdev)
- {
- struct max77620_chip *chip = dev_get_drvdata(pdev->dev.parent);
-@@ -287,7 +285,6 @@ static int max77620_gpio_probe(struct platform_device *pdev)
- mgpio->gpio_chip.direction_output = max77620_gpio_dir_output;
- mgpio->gpio_chip.set = max77620_gpio_set;
- mgpio->gpio_chip.set_config = max77620_gpio_set_config;
-- mgpio->gpio_chip.to_irq = max77620_gpio_to_irq;
- mgpio->gpio_chip.ngpio = MAX77620_GPIO_NR;
- mgpio->gpio_chip.can_sleep = 1;
- mgpio->gpio_chip.base = -1;
-@@ -303,15 +300,21 @@ static int max77620_gpio_probe(struct platform_device *pdev)
- return ret;
- }
-
-- ret = devm_regmap_add_irq_chip(&pdev->dev, chip->rmap, gpio_irq,
-- IRQF_ONESHOT, 0,
-- &max77620_gpio_irq_chip,
-- &chip->gpio_irq_data);
-+ mutex_init(&mgpio->buslock);
-+
-+ gpiochip_irqchip_add_nested(&mgpio->gpio_chip, &max77620_gpio_irqchip,
-+ 0, handle_edge_irq, IRQ_TYPE_NONE);
-+
-+ ret = request_threaded_irq(gpio_irq, NULL, max77620_gpio_irqhandler,
-+ IRQF_ONESHOT, "max77620-gpio", mgpio);
- if (ret < 0) {
-- dev_err(&pdev->dev, "Failed to add gpio irq_chip %d\n", ret);
-+ dev_err(&pdev->dev, "failed to request IRQ: %d\n", ret);
- return ret;
- }
-
-+ gpiochip_set_nested_irqchip(&mgpio->gpio_chip, &max77620_gpio_irqchip,
-+ gpio_irq);
-+
- return 0;
- }
-
diff --git a/kernel-aarch64-debug-fedora.config b/kernel-aarch64-debug-fedora.config
index 6e5071a21..195e408fc 100644
--- a/kernel-aarch64-debug-fedora.config
+++ b/kernel-aarch64-debug-fedora.config
@@ -102,6 +102,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -143,6 +144,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -202,6 +204,7 @@ CONFIG_AMD_PHY=m
CONFIG_AMD_XGBE_DCB=y
CONFIG_AMD_XGBE=m
CONFIG_AMIGA_PARTITION=y
+CONFIG_AMLOGIC_THERMAL=m
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
@@ -258,6 +261,7 @@ CONFIG_ARCH_QCOM=y
# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
CONFIG_ARCH_SEATTLE=y
@@ -287,8 +291,10 @@ CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_1165522=y
CONFIG_ARM64_ERRATUM_1286807=y
+CONFIG_ARM64_ERRATUM_1319367=y
CONFIG_ARM64_ERRATUM_1418040=y
CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1542419=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_826319=y
@@ -329,7 +335,6 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
CONFIG_ARM_ARMADA_8K_CPUFREQ=m
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
# CONFIG_ARM_BIG_LITTLE_CPUIDLE is not set
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -519,8 +524,8 @@ CONFIG_BACKLIGHT_GPIO=m
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+CONFIG_BACKLIGHT_QCOM_WLED=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -556,6 +561,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
+CONFIG_BCM2711_THERMAL=m
CONFIG_BCM2835_MBOX=y
CONFIG_BCM2835_POWER=y
CONFIG_BCM2835_THERMAL=m
@@ -721,7 +727,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -829,7 +835,7 @@ CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
@@ -1022,6 +1028,7 @@ CONFIG_COMMON_CLK_ZYNQMP=y
CONFIG_COMMON_RESET_HI3660=m
CONFIG_COMMON_RESET_HI6220=m
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
CONFIG_COMPAT=y
# CONFIG_COMPILE_TEST is not set
@@ -1031,6 +1038,7 @@ CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
@@ -1060,7 +1068,8 @@ CONFIG_CPU_FREQ=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
+CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
CONFIG_CPU_THERMAL=y
@@ -1089,11 +1098,11 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC=m
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CROSS_COMPILE_COMPAT_VDSO=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
CONFIG_CRYPTO_842=y
@@ -1114,7 +1123,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -1135,8 +1145,12 @@ CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DEV_ALLWINNER=y
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m
@@ -1162,6 +1176,8 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
# CONFIG_CRYPTO_DEV_HISI_SEC is not set
# CONFIG_CRYPTO_DEV_HISI_ZIP is not set
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
@@ -1175,6 +1191,10 @@ CONFIG_CRYPTO_DEV_SAFEXCEL=m
CONFIG_CRYPTO_DEV_SP_CCP=y
CONFIG_CRYPTO_DEV_SUN4I_SS=m
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
+# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
+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_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1196,6 +1216,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1212,6 +1237,7 @@ CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_POLY1305_NEON=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
@@ -1352,6 +1378,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_DETECT_HUNG_TASK=y
# CONFIG_DEV_APPLETALK is not set
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m
@@ -1430,6 +1457,7 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
CONFIG_DP83867_PHY=m
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPAA2_CONSOLE=m
CONFIG_DPOT_DAC=m
@@ -1437,6 +1465,7 @@ CONFIG_DPOT_DAC=m
CONFIG_DRAGONRISE_FF=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1477,6 +1506,7 @@ CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
CONFIG_DRM_I2C_SIL164=m
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
@@ -1503,6 +1533,7 @@ CONFIG_DRM_MSM=m
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
CONFIG_DRM_PANEL_BRIDGE=y
@@ -1576,7 +1607,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
-# CONFIG_DRM_V3D is not set
+CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
@@ -1725,6 +1756,7 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
@@ -1744,7 +1776,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1769,7 +1807,7 @@ CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-CONFIG_EXTCON_QCOM_SPMI_MISC=m
+# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USBC_CROS_EC=m
@@ -1911,6 +1949,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
@@ -1920,6 +1959,7 @@ CONFIG_FSI_SCOM=m
CONFIG_FSL_DPAA2_ETH=m
CONFIG_FSL_DPAA2_ETHSW=m
CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2=y
# CONFIG_FSL_DPAA_CHECKING is not set
CONFIG_FSL_DPAA_ETH=m
@@ -1927,8 +1967,9 @@ CONFIG_FSL_DPAA=y
CONFIG_FSL_EDMA=m
CONFIG_FSL_ENETC_HW_TIMESTAMPING=y
CONFIG_FSL_ENETC=m
-# CONFIG_FSL_ENETC_MDIO is not set
+CONFIG_FSL_ENETC_MDIO=m
CONFIG_FSL_ENETC_PTP_CLOCK=m
+CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
CONFIG_FSL_FMAN=m
@@ -1938,6 +1979,7 @@ CONFIG_FSL_MC_DPIO=m
CONFIG_FSL_PQ_MDIO=m
CONFIG_FSL_QDMA=m
# CONFIG_FSL_QMAN_TEST is not set
+CONFIG_FSL_RCPM=y
# CONFIG_FSL_XGMAC_MDIO is not set
CONFIG_FS_MBCACHE=y
CONFIG_FSNOTIFY=y
@@ -1965,12 +2007,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -2093,9 +2138,7 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HD44780=m
CONFIG_HDC100X=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
# CONFIG_HERMES is not set
CONFIG_HERMES_PRISM=y
@@ -2260,6 +2303,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_CAVIUM=m
CONFIG_HW_RANDOM_HISI=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
@@ -2502,7 +2546,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2564,7 +2607,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2608,6 +2650,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
CONFIG_INTERCONNECT=m
+# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
CONFIG_INTERCONNECT_QCOM_SDM845=m
CONFIG_INTERCONNECT_QCOM=y
@@ -2913,7 +2956,6 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2935,6 +2977,7 @@ CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_IMX is not set
+CONFIG_KEYBOARD_IMX_SC_KEY=m
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
@@ -2983,6 +3026,7 @@ CONFIG_KRAITCC=m
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KUSER_HELPERS=y
CONFIG_KVM=y
CONFIG_KXCJK1013=m
@@ -3026,6 +3070,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3144,6 +3189,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3366,7 +3412,7 @@ CONFIG_MFD_MAX77686=y
# CONFIG_MFD_PALMAS is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_PM8XXX is not set
-CONFIG_MFD_QCOM_RPM=m
+# CONFIG_MFD_QCOM_RPM is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RETU is not set
@@ -3451,6 +3497,7 @@ CONFIG_MLX5_SW_STEERING=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
+# CONFIG_MLXBF_BOOTCTL is not set
CONFIG_MLXBF_TMFIFO=m
CONFIG_MLXFW=m
CONFIG_MLXREG_HOTPLUG=m
@@ -3506,6 +3553,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m
CONFIG_MMC_SDHCI_F_SDH30=m
CONFIG_MMC_SDHCI_IPROC=m
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
CONFIG_MMC_SDHCI_MSM=m
CONFIG_MMC_SDHCI_OF_ARASAN=m
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
@@ -3589,6 +3637,7 @@ CONFIG_MSM_GCC_8974=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSM_GCC_8996=y
CONFIG_MSM_GCC_8998=y
+CONFIG_MSM_GPUCC_8998=m
# CONFIG_MSM_LCC_8960 is not set
CONFIG_MSM_MMCC_8960=m
CONFIG_MSM_MMCC_8974=m
@@ -3625,13 +3674,13 @@ CONFIG_MTD_CFI_STAA=m
# CONFIG_MTD_LPDDR2_NVM is not set
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD=m
-CONFIG_MTD_M25P80=m
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3718,6 +3767,7 @@ CONFIG_NATSEMI=m
CONFIG_NCSI_OEM_CMD_GET_MAC=y
CONFIG_ND_BLK=m
CONFIG_ND_BTT=m
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
@@ -3773,6 +3823,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3786,6 +3837,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -4019,6 +4071,7 @@ CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_NET_VENDOR_TI=y
CONFIG_NET_VENDOR_VIA=y
# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_NET_VENDOR_XILINX=y
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_NET_VRF=m
CONFIG_NETWORK_FILESYSTEMS=y
@@ -4062,6 +4115,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -4230,8 +4284,8 @@ CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
CONFIG_NODES_SHIFT=9
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -4251,6 +4305,7 @@ CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_IMX_IIM is not set
CONFIG_NVMEM_IMX_OCOTP=m
CONFIG_NVMEM_IMX_OCOTP_SCU=m
@@ -4296,7 +4351,6 @@ CONFIG_OF_RESERVED_MEM=y
CONFIG_OF_RESOLVE=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
-# CONFIG_OMAP_GPMC_DEBUG is not set
# CONFIG_OMFS_FS is not set
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_OPENVSWITCH_GRE=m
@@ -4401,14 +4455,16 @@ CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
# CONFIG_PCIE_ALTERA is not set
CONFIG_PCIE_ARMADA_8K=y
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_BRCMSTB=m
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_PLAT_EP=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
@@ -4482,6 +4538,7 @@ CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI3660_USB=m
CONFIG_PHY_HI6220_USB=m
@@ -4515,6 +4572,7 @@ CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -4522,6 +4580,7 @@ CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN50I_USB3=m
CONFIG_PHY_SUN6I_MIPI_DPHY=m
# CONFIG_PHY_SUN9I_USB is not set
CONFIG_PHY_TEGRA194_P2U=m
@@ -4542,6 +4601,7 @@ CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX8MM=y
CONFIG_PINCTRL_IMX8MN=y
@@ -4556,6 +4616,7 @@ CONFIG_PINCTRL_MAX77620=y
# CONFIG_PINCTRL_MDM9615 is not set
# CONFIG_PINCTRL_MESON8B is not set
# CONFIG_PINCTRL_MESON8 is not set
+CONFIG_PINCTRL_MESON_A1=y
CONFIG_PINCTRL_MESON_AXG=y
CONFIG_PINCTRL_MESON_G12A=y
CONFIG_PINCTRL_MESON_GXBB=y
@@ -4563,6 +4624,7 @@ CONFIG_PINCTRL_MESON_GXL=y
# CONFIG_PINCTRL_MSM8660 is not set
CONFIG_PINCTRL_MSM8916=y
# CONFIG_PINCTRL_MSM8960 is not set
+# CONFIG_PINCTRL_MSM8976 is not set
# CONFIG_PINCTRL_MSM8994 is not set
CONFIG_PINCTRL_MSM8996=y
CONFIG_PINCTRL_MSM8998=m
@@ -4721,6 +4783,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4735,7 +4798,7 @@ CONFIG_PWM_IMX_TPM=m
CONFIG_PWM_MESON=m
CONFIG_PWM_PCA9685=m
CONFIG_PWM_ROCKCHIP=m
-# CONFIG_PWM_STMPE is not set
+CONFIG_PWM_STMPE=y
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=y
@@ -4752,7 +4815,7 @@ CONFIG_QCOM_APR=m
CONFIG_QCOM_BAM_DMA=y
CONFIG_QCOM_CLK_APCS_MSM8916=m
CONFIG_QCOM_CLK_RPMH=y
-CONFIG_QCOM_CLK_RPM=m
+# CONFIG_QCOM_CLK_RPM is not set
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_COMMAND_DB=y
@@ -4774,6 +4837,7 @@ CONFIG_QCOM_L2_PMU=y
CONFIG_QCOM_L3_PMU=y
CONFIG_QCOM_LLCC=m
CONFIG_QCOM_MDT_LOADER=m
+CONFIG_QCOM_OCMEM=m
CONFIG_QCOM_PDC=y
CONFIG_QCOM_Q6V5_ADSP=m
CONFIG_QCOM_Q6V5_MSS=m
@@ -4786,7 +4850,6 @@ CONFIG_QCOM_RMTFS_MEM=m
CONFIG_QCOM_RPMHPD=y
CONFIG_QCOM_RPMH=y
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
-CONFIG_QCOM_SDM845_LLCC=m
CONFIG_QCOM_SMD_RPM=m
CONFIG_QCOM_SMEM=m
CONFIG_QCOM_SMP2P=m
@@ -4802,6 +4865,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QCS_GCC_404=m
+# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4901,7 +4965,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPMI=y
CONFIG_REGMAP=y
@@ -4947,7 +5010,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88090 is not set
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_RPMH=y
-CONFIG_REGULATOR_QCOM_RPM=m
+# CONFIG_REGULATOR_QCOM_RPM is not set
CONFIG_REGULATOR_QCOM_SMD_RPM=m
CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_REGULATOR_RK808=y
@@ -5020,6 +5083,7 @@ CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_LVDS=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_OTP=m
CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_RGB=y
@@ -5242,6 +5306,7 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_GCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5416,6 +5481,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -5474,6 +5540,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -5541,6 +5609,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5649,6 +5718,7 @@ CONFIG_SETEND_EMULATION=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5777,7 +5847,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -5855,6 +5924,8 @@ CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5868,7 +5939,7 @@ CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
CONFIG_SND_SOC_APQ8016_SBC=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
+CONFIG_SND_SOC_ARNDALE=m
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -5905,6 +5976,7 @@ CONFIG_SND_SOC_FSL_ASRC=m
CONFIG_SND_SOC_FSL_AUDMIX=m
CONFIG_SND_SOC_FSL_ESAI=m
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_SSI=m
@@ -5994,6 +6066,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_STORM is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -6104,6 +6178,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_MANUAL=y
@@ -6218,7 +6293,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_SELFTESTS is not set
-# CONFIG_STMPE_ADC is not set
+CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STRICT_DEVMEM=y
@@ -6259,6 +6334,7 @@ CONFIG_SWAP=y
CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -6301,6 +6377,7 @@ CONFIG_TCG_NSC=m
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -6425,7 +6502,7 @@ CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
CONFIG_TI_ADS8344=m
# CONFIG_TI_ADS8688 is not set
-CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_TICK_CPU_ACCOUNTING is not set
# CONFIG_TI_CPSW_PHY_SEL is not set
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
@@ -6442,6 +6519,7 @@ CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
CONFIG_TINYDRM_ST7735R=m
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -6453,6 +6531,7 @@ CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TLAN is not set
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
# CONFIG_TMP007 is not set
@@ -6460,6 +6539,7 @@ CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOUCHSCREEN_AD7877 is not set
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879 is not set
CONFIG_TOUCHSCREEN_ADC=m
CONFIG_TOUCHSCREEN_ADS7846=m
@@ -6514,7 +6594,6 @@ CONFIG_TOUCHSCREEN_STMPE=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -6540,6 +6619,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -6575,6 +6655,7 @@ CONFIG_TURRIS_MOX_RWTM=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6871,6 +6952,7 @@ CONFIG_USB_NET_SR9700=m
# CONFIG_USB_NET_SR9800 is not set
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_OMAP3 is not set
CONFIG_USB_OHCI_HCD_PCI=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
@@ -6982,6 +7064,7 @@ CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STV06XX=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_TEGRA_PHY=m
+CONFIG_USB_TEGRA_XUDC=m
# CONFIG_USB_TEST is not set
CONFIG_USB_TMC=m
CONFIG_USB_TRANCEVIBRATOR=m
@@ -7030,6 +7113,7 @@ CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
CONFIG_VDSO=y
+CONFIG_VEML6030=m
CONFIG_VEML6070=m
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -7138,6 +7222,7 @@ CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_VIDEO_SUN8I_DEINTERLACE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7154,7 +7239,7 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
@@ -7218,6 +7303,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -7247,6 +7333,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
diff --git a/kernel-aarch64-fedora.config b/kernel-aarch64-fedora.config
index edef6be70..07ab4e405 100644
--- a/kernel-aarch64-fedora.config
+++ b/kernel-aarch64-fedora.config
@@ -102,6 +102,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -143,6 +144,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -202,6 +204,7 @@ CONFIG_AMD_PHY=m
CONFIG_AMD_XGBE_DCB=y
CONFIG_AMD_XGBE=m
CONFIG_AMIGA_PARTITION=y
+CONFIG_AMLOGIC_THERMAL=m
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
@@ -258,6 +261,7 @@ CONFIG_ARCH_QCOM=y
# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_SA1100 is not set
CONFIG_ARCH_SEATTLE=y
@@ -287,8 +291,10 @@ CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_ERRATUM_1024718=y
CONFIG_ARM64_ERRATUM_1165522=y
CONFIG_ARM64_ERRATUM_1286807=y
+CONFIG_ARM64_ERRATUM_1319367=y
CONFIG_ARM64_ERRATUM_1418040=y
CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1542419=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_826319=y
@@ -329,7 +335,6 @@ CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_ARCH_TIMER=y
CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
CONFIG_ARM_ARMADA_8K_CPUFREQ=m
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
# CONFIG_ARM_BIG_LITTLE_CPUIDLE is not set
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -519,8 +524,8 @@ CONFIG_BACKLIGHT_GPIO=m
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+CONFIG_BACKLIGHT_QCOM_WLED=m
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -556,6 +561,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
+CONFIG_BCM2711_THERMAL=m
CONFIG_BCM2835_MBOX=y
CONFIG_BCM2835_POWER=y
CONFIG_BCM2835_THERMAL=m
@@ -721,7 +727,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -829,7 +835,7 @@ CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
@@ -1022,6 +1028,7 @@ CONFIG_COMMON_CLK_ZYNQMP=y
CONFIG_COMMON_RESET_HI3660=m
CONFIG_COMMON_RESET_HI6220=m
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
CONFIG_COMPAT=y
# CONFIG_COMPILE_TEST is not set
@@ -1031,6 +1038,7 @@ CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
@@ -1060,7 +1068,8 @@ CONFIG_CPU_FREQ=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
+CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
CONFIG_CPU_THERMAL=y
@@ -1089,11 +1098,11 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC=m
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_EC_VBC=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CROSS_COMPILE_COMPAT_VDSO=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
CONFIG_CRYPTO_842=y
@@ -1114,7 +1123,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -1135,8 +1145,12 @@ CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DEV_ALLWINNER=y
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m
@@ -1162,6 +1176,8 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
CONFIG_CRYPTO_DEV_HIFN_795X=m
CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_CRYPTO_DEV_HISI_HPRE=m
+CONFIG_CRYPTO_DEV_HISI_SEC2=m
# CONFIG_CRYPTO_DEV_HISI_SEC is not set
# CONFIG_CRYPTO_DEV_HISI_ZIP is not set
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
@@ -1175,6 +1191,10 @@ CONFIG_CRYPTO_DEV_SAFEXCEL=m
CONFIG_CRYPTO_DEV_SP_CCP=y
CONFIG_CRYPTO_DEV_SUN4I_SS=m
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
+# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
+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_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1196,6 +1216,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1212,6 +1237,7 @@ CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_POLY1305_NEON=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
@@ -1345,6 +1371,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_DEV_APPLETALK is not set
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m
@@ -1422,6 +1449,7 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
CONFIG_DP83867_PHY=m
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPAA2_CONSOLE=m
CONFIG_DPOT_DAC=m
@@ -1429,6 +1457,7 @@ CONFIG_DPOT_DAC=m
CONFIG_DRAGONRISE_FF=y
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1469,6 +1498,7 @@ CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
CONFIG_DRM_I2C_SIL164=m
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
@@ -1495,6 +1525,7 @@ CONFIG_DRM_MSM=m
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
CONFIG_DRM_PANEL_BRIDGE=y
@@ -1568,7 +1599,7 @@ CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
-# CONFIG_DRM_V3D is not set
+CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
@@ -1717,6 +1748,7 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
@@ -1736,7 +1768,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1761,7 +1799,7 @@ CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-CONFIG_EXTCON_QCOM_SPMI_MISC=m
+# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USBC_CROS_EC=m
@@ -1895,6 +1933,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
@@ -1904,6 +1943,7 @@ CONFIG_FSI_SCOM=m
CONFIG_FSL_DPAA2_ETH=m
CONFIG_FSL_DPAA2_ETHSW=m
CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2=y
# CONFIG_FSL_DPAA_CHECKING is not set
CONFIG_FSL_DPAA_ETH=m
@@ -1911,8 +1951,9 @@ CONFIG_FSL_DPAA=y
CONFIG_FSL_EDMA=m
CONFIG_FSL_ENETC_HW_TIMESTAMPING=y
CONFIG_FSL_ENETC=m
-# CONFIG_FSL_ENETC_MDIO is not set
+CONFIG_FSL_ENETC_MDIO=m
CONFIG_FSL_ENETC_PTP_CLOCK=m
+CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
CONFIG_FSL_FMAN=m
@@ -1922,6 +1963,7 @@ CONFIG_FSL_MC_DPIO=m
CONFIG_FSL_PQ_MDIO=m
CONFIG_FSL_QDMA=m
# CONFIG_FSL_QMAN_TEST is not set
+CONFIG_FSL_RCPM=y
# CONFIG_FSL_XGMAC_MDIO is not set
CONFIG_FS_MBCACHE=y
CONFIG_FSNOTIFY=y
@@ -1949,12 +1991,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -2077,9 +2122,7 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HD44780=m
CONFIG_HDC100X=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
# CONFIG_HERMES is not set
CONFIG_HERMES_PRISM=y
@@ -2244,6 +2287,7 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_BCM2835=m
CONFIG_HW_RANDOM_CAVIUM=m
CONFIG_HW_RANDOM_HISI=m
+CONFIG_HW_RANDOM_HISI_V2=y
CONFIG_HW_RANDOM_IMX_RNGC=m
CONFIG_HW_RANDOM_MESON=m
CONFIG_HW_RANDOM_OMAP=m
@@ -2486,7 +2530,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2548,7 +2591,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2592,6 +2634,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
CONFIG_INTERCONNECT=m
+# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
CONFIG_INTERCONNECT_QCOM_SDM845=m
CONFIG_INTERCONNECT_QCOM=y
@@ -2895,7 +2938,6 @@ CONFIG_KARMA_PARTITION=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2917,6 +2959,7 @@ CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_IMX is not set
+CONFIG_KEYBOARD_IMX_SC_KEY=m
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
@@ -2965,6 +3008,7 @@ CONFIG_KRAITCC=m
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KUSER_HELPERS=y
CONFIG_KVM=y
CONFIG_KXCJK1013=m
@@ -3008,6 +3052,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3126,6 +3171,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3347,7 +3393,7 @@ CONFIG_MFD_MAX77686=y
# CONFIG_MFD_PALMAS is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_PM8XXX is not set
-CONFIG_MFD_QCOM_RPM=m
+# CONFIG_MFD_QCOM_RPM is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RETU is not set
@@ -3432,6 +3478,7 @@ CONFIG_MLX5_SW_STEERING=y
# CONFIG_MLX5_TLS is not set
CONFIG_MLX90614=m
CONFIG_MLX90632=m
+# CONFIG_MLXBF_BOOTCTL is not set
CONFIG_MLXBF_TMFIFO=m
CONFIG_MLXFW=m
CONFIG_MLXREG_HOTPLUG=m
@@ -3487,6 +3534,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m
CONFIG_MMC_SDHCI_F_SDH30=m
CONFIG_MMC_SDHCI_IPROC=m
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
CONFIG_MMC_SDHCI_MSM=m
CONFIG_MMC_SDHCI_OF_ARASAN=m
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
@@ -3569,6 +3617,7 @@ CONFIG_MSM_GCC_8974=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSM_GCC_8996=y
CONFIG_MSM_GCC_8998=y
+CONFIG_MSM_GPUCC_8998=m
# CONFIG_MSM_LCC_8960 is not set
CONFIG_MSM_MMCC_8960=m
CONFIG_MSM_MMCC_8974=m
@@ -3605,13 +3654,13 @@ CONFIG_MTD_CFI_STAA=m
# CONFIG_MTD_LPDDR2_NVM is not set
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD=m
-CONFIG_MTD_M25P80=m
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3698,6 +3747,7 @@ CONFIG_NATSEMI=m
CONFIG_NCSI_OEM_CMD_GET_MAC=y
CONFIG_ND_BLK=m
CONFIG_ND_BTT=m
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
@@ -3753,6 +3803,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3766,6 +3817,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3999,6 +4051,7 @@ CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_NET_VENDOR_TI=y
CONFIG_NET_VENDOR_VIA=y
# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_NET_VENDOR_XILINX=y
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_NET_VRF=m
CONFIG_NETWORK_FILESYSTEMS=y
@@ -4042,6 +4095,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -4210,8 +4264,8 @@ CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
CONFIG_NODES_SHIFT=9
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -4231,6 +4285,7 @@ CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_IMX_IIM is not set
CONFIG_NVMEM_IMX_OCOTP=m
CONFIG_NVMEM_IMX_OCOTP_SCU=m
@@ -4276,7 +4331,6 @@ CONFIG_OF_RESERVED_MEM=y
CONFIG_OF_RESOLVE=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
-# CONFIG_OMAP_GPMC_DEBUG is not set
# CONFIG_OMFS_FS is not set
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_OPENVSWITCH_GRE=m
@@ -4381,14 +4435,16 @@ CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
# CONFIG_PCIE_ALTERA is not set
CONFIG_PCIE_ARMADA_8K=y
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_BRCMSTB=m
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_PLAT_EP=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
@@ -4462,6 +4518,7 @@ CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI3660_USB=m
CONFIG_PHY_HI6220_USB=m
@@ -4495,6 +4552,7 @@ CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -4502,6 +4560,7 @@ CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN50I_USB3=m
CONFIG_PHY_SUN6I_MIPI_DPHY=m
# CONFIG_PHY_SUN9I_USB is not set
CONFIG_PHY_TEGRA194_P2U=m
@@ -4522,6 +4581,7 @@ CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX8MM=y
CONFIG_PINCTRL_IMX8MN=y
@@ -4536,6 +4596,7 @@ CONFIG_PINCTRL_MAX77620=y
# CONFIG_PINCTRL_MDM9615 is not set
# CONFIG_PINCTRL_MESON8B is not set
# CONFIG_PINCTRL_MESON8 is not set
+CONFIG_PINCTRL_MESON_A1=y
CONFIG_PINCTRL_MESON_AXG=y
CONFIG_PINCTRL_MESON_G12A=y
CONFIG_PINCTRL_MESON_GXBB=y
@@ -4543,6 +4604,7 @@ CONFIG_PINCTRL_MESON_GXL=y
# CONFIG_PINCTRL_MSM8660 is not set
CONFIG_PINCTRL_MSM8916=y
# CONFIG_PINCTRL_MSM8960 is not set
+# CONFIG_PINCTRL_MSM8976 is not set
# CONFIG_PINCTRL_MSM8994 is not set
CONFIG_PINCTRL_MSM8996=y
CONFIG_PINCTRL_MSM8998=m
@@ -4700,6 +4762,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4714,7 +4777,7 @@ CONFIG_PWM_IMX_TPM=m
CONFIG_PWM_MESON=m
CONFIG_PWM_PCA9685=m
CONFIG_PWM_ROCKCHIP=m
-# CONFIG_PWM_STMPE is not set
+CONFIG_PWM_STMPE=y
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=y
@@ -4731,7 +4794,7 @@ CONFIG_QCOM_APR=m
CONFIG_QCOM_BAM_DMA=y
CONFIG_QCOM_CLK_APCS_MSM8916=m
CONFIG_QCOM_CLK_RPMH=y
-CONFIG_QCOM_CLK_RPM=m
+# CONFIG_QCOM_CLK_RPM is not set
CONFIG_QCOM_CLK_SMD_RPM=m
CONFIG_QCOM_COINCELL=m
CONFIG_QCOM_COMMAND_DB=y
@@ -4753,6 +4816,7 @@ CONFIG_QCOM_L2_PMU=y
CONFIG_QCOM_L3_PMU=y
CONFIG_QCOM_LLCC=m
CONFIG_QCOM_MDT_LOADER=m
+CONFIG_QCOM_OCMEM=m
CONFIG_QCOM_PDC=y
CONFIG_QCOM_Q6V5_ADSP=m
CONFIG_QCOM_Q6V5_MSS=m
@@ -4765,7 +4829,6 @@ CONFIG_QCOM_RMTFS_MEM=m
CONFIG_QCOM_RPMHPD=y
CONFIG_QCOM_RPMH=y
# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set
-CONFIG_QCOM_SDM845_LLCC=m
CONFIG_QCOM_SMD_RPM=m
CONFIG_QCOM_SMEM=m
CONFIG_QCOM_SMP2P=m
@@ -4781,6 +4844,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QCS_GCC_404=m
+# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4880,7 +4944,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SPMI=y
CONFIG_REGMAP=y
@@ -4926,7 +4989,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88090 is not set
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_RPMH=y
-CONFIG_REGULATOR_QCOM_RPM=m
+# CONFIG_REGULATOR_QCOM_RPM is not set
CONFIG_REGULATOR_QCOM_SMD_RPM=m
CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_REGULATOR_RK808=y
@@ -4999,6 +5062,7 @@ CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_LVDS=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_OTP=m
CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_RGB=y
@@ -5221,6 +5285,7 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_GCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5395,6 +5460,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -5453,6 +5519,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -5520,6 +5588,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5628,6 +5697,7 @@ CONFIG_SETEND_EMULATION=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5756,7 +5826,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -5833,6 +5902,8 @@ CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5846,7 +5917,7 @@ CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
CONFIG_SND_SOC_APQ8016_SBC=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
+CONFIG_SND_SOC_ARNDALE=m
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -5883,6 +5954,7 @@ CONFIG_SND_SOC_FSL_ASRC=m
CONFIG_SND_SOC_FSL_AUDMIX=m
CONFIG_SND_SOC_FSL_ESAI=m
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_SSI=m
@@ -5972,6 +6044,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_STORM is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -6082,6 +6156,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPARSEMEM_MANUAL=y
@@ -6196,7 +6271,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_SELFTESTS is not set
-# CONFIG_STMPE_ADC is not set
+CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STRICT_DEVMEM=y
@@ -6237,6 +6312,7 @@ CONFIG_SWAP=y
CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -6279,6 +6355,7 @@ CONFIG_TCG_NSC=m
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -6403,7 +6480,7 @@ CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
CONFIG_TI_ADS8344=m
# CONFIG_TI_ADS8688 is not set
-CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_TICK_CPU_ACCOUNTING is not set
# CONFIG_TI_CPSW_PHY_SEL is not set
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
@@ -6420,6 +6497,7 @@ CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
CONFIG_TINYDRM_ST7735R=m
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -6431,6 +6509,7 @@ CONFIG_TI_SCI_PROTOCOL=m
# CONFIG_TLAN is not set
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
# CONFIG_TMP007 is not set
@@ -6438,6 +6517,7 @@ CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOUCHSCREEN_AD7877 is not set
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879 is not set
CONFIG_TOUCHSCREEN_ADC=m
CONFIG_TOUCHSCREEN_ADS7846=m
@@ -6492,7 +6572,6 @@ CONFIG_TOUCHSCREEN_STMPE=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -6518,6 +6597,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -6553,6 +6633,7 @@ CONFIG_TURRIS_MOX_RWTM=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6849,6 +6930,7 @@ CONFIG_USB_NET_SR9700=m
# CONFIG_USB_NET_SR9800 is not set
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_OMAP3 is not set
CONFIG_USB_OHCI_HCD_PCI=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
@@ -6960,6 +7042,7 @@ CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STV06XX=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_TEGRA_PHY=m
+CONFIG_USB_TEGRA_XUDC=m
# CONFIG_USB_TEST is not set
CONFIG_USB_TMC=m
CONFIG_USB_TRANCEVIBRATOR=m
@@ -7008,6 +7091,7 @@ CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
CONFIG_VDSO=y
+CONFIG_VEML6030=m
CONFIG_VEML6070=m
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -7116,6 +7200,7 @@ CONFIG_VIDEO_STK1160_COMMON=m
CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_VIDEO_SUN8I_DEINTERLACE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
@@ -7132,7 +7217,7 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
@@ -7196,6 +7281,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -7225,6 +7311,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
diff --git a/kernel-armv7hl-debug-fedora.config b/kernel-armv7hl-debug-fedora.config
index e8f91acda..76d39eeab 100644
--- a/kernel-armv7hl-debug-fedora.config
+++ b/kernel-armv7hl-debug-fedora.config
@@ -73,6 +73,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -114,6 +115,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -176,6 +178,7 @@ CONFIG_AMD8111_ETH=m
CONFIG_AMD_PHY=m
# CONFIG_AMD_XGBE_DCB is not set
CONFIG_AMIGA_PARTITION=y
+CONFIG_AMLOGIC_THERMAL=m
CONFIG_AMX3_PM=m
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
@@ -250,6 +253,7 @@ CONFIG_ARCH_QCOM=y
# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_SA1100 is not set
@@ -294,7 +298,6 @@ CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
CONFIG_ARM_BIG_LITTLE_CPUIDLE=y
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -520,8 +523,8 @@ CONFIG_BACKLIGHT_GPIO=m
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
CONFIG_BACKLIGHT_PANDORA=m
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
CONFIG_BACKLIGHT_TPS65217=m
# CONFIG_BACKTRACE_SELF_TEST is not set
@@ -562,6 +565,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
+CONFIG_BCM2711_THERMAL=m
CONFIG_BCM2835_MBOX=y
CONFIG_BCM2835_POWER=y
CONFIG_BCM2835_THERMAL=m
@@ -726,7 +730,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -838,7 +842,7 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
@@ -997,6 +1001,7 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
+CONFIG_COMMON_CLK_MMP2=y
CONFIG_COMMON_CLK_PALMAS=m
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_QCOM=y
@@ -1015,6 +1020,7 @@ CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
CONFIG_COMMON_CLK=y
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
@@ -1022,6 +1028,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
@@ -1053,7 +1060,7 @@ CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
CONFIG_CPU_SW_DOMAIN_PAN=y
@@ -1083,6 +1090,7 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC=m
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_EC_VBC=m
@@ -1102,7 +1110,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -1123,8 +1132,13 @@ CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
+CONFIG_CRYPTO_CURVE25519_NEON=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DEV_ALLWINNER=y
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -1167,6 +1181,10 @@ CONFIG_CRYPTO_DEV_STM32_CRYP=m
CONFIG_CRYPTO_DEV_STM32_HASH=m
CONFIG_CRYPTO_DEV_SUN4I_SS=m
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
+# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
+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_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1187,6 +1205,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1202,6 +1225,7 @@ CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_POLY1305_ARM=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -1344,6 +1368,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
CONFIG_DETECT_HUNG_TASK=y
# CONFIG_DEV_APPLETALK is not set
+CONFIG_DEV_DAX_HMEM=m
# CONFIG_DEV_DAX_KMEM is not set
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP=m
@@ -1427,12 +1452,15 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
+CONFIG_DRA752_THERMAL=y
CONFIG_DRAGONRISE_FF=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1493,6 +1521,7 @@ CONFIG_DRM_IMX_LDB=m
CONFIG_DRM_IMX=m
CONFIG_DRM_IMX_PARALLEL_DISPLAY=m
CONFIG_DRM_IMX_TVE=m
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
@@ -1519,6 +1548,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m
CONFIG_DRM_OMAP_CONNECTOR_HDMI=m
@@ -1603,7 +1633,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
-# CONFIG_DRM_V3D is not set
+CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
@@ -1737,6 +1767,7 @@ CONFIG_EDAC_HIGHBANK_L2=m
CONFIG_EDAC_HIGHBANK_MC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_SYNOPSYS=m
+CONFIG_EDAC_TI=m
CONFIG_EDAC=y
CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
@@ -1752,6 +1783,7 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
@@ -1771,7 +1803,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1805,6 +1843,7 @@ CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
+CONFIG_EXYNOS5422_DMC=m
CONFIG_EXYNOS_ADC=m
CONFIG_EXYNOS_AUDSS_CLK_CON=m
# CONFIG_EXYNOS_IOMMU_DEBUG is not set
@@ -1944,16 +1983,17 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
+CONFIG_FSL_RCPM=y
# CONFIG_FSL_XGMAC_MDIO is not set
CONFIG_FS_MBCACHE=y
CONFIG_FSNOTIFY=y
@@ -1979,12 +2019,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -2065,7 +2108,7 @@ CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
-# CONFIG_GPIO_PISOSR is not set
+CONFIG_GPIO_PISOSR=m
CONFIG_GPIO_PL061=y
CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
@@ -2114,9 +2157,7 @@ CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HD44780=m
CONFIG_HDC100X=m
CONFIG_HDQ_MASTER_OMAP=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
# CONFIG_HERMES is not set
CONFIG_HERMES_PRISM=y
@@ -2518,7 +2559,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2583,7 +2623,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=y
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2635,6 +2674,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
@@ -2937,7 +2977,6 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2958,6 +2997,7 @@ CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_IMX is not set
+CONFIG_KEYBOARD_IMX_SC_KEY=m
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
@@ -3011,6 +3051,7 @@ CONFIG_KS8851=m
CONFIG_KS8851_MLL=m
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KUSER_HELPERS=y
CONFIG_KXCJK1013=m
CONFIG_KXSD9_I2C=m
@@ -3054,6 +3095,7 @@ CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
CONFIG_LEDS_DA9052=m
CONFIG_LEDS_DAC124S085=m
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3175,6 +3217,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3209,6 +3252,7 @@ CONFIG_MACH_DOVE=y
# CONFIG_MACH_MESON6 is not set
# CONFIG_MACH_MESON8 is not set
CONFIG_MACH_MMP2_DT=y
+CONFIG_MACH_MMP3_DT=y
# CONFIG_MACH_OMAP3517EVM is not set
# CONFIG_MACH_OMAP3_PANDORA is not set
CONFIG_MACH_STM32MP157=y
@@ -3561,6 +3605,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI_IPROC=m
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
CONFIG_MMC_SDHCI_MSM=m
CONFIG_MMC_SDHCI_OF_ARASAN=m
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
@@ -3651,6 +3696,7 @@ CONFIG_MSM_GCC_8974=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSM_GCC_8996=y
# CONFIG_MSM_GCC_8998 is not set
+# CONFIG_MSM_GPUCC_8998 is not set
# CONFIG_MSM_IOMMU is not set
# CONFIG_MSM_LCC_8960 is not set
CONFIG_MSM_MMCC_8960=m
@@ -3690,13 +3736,13 @@ CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
# CONFIG_MTD_LPDDR2_NVM is not set
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD=m
-CONFIG_MTD_M25P80=m
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3787,6 +3833,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
@@ -3843,6 +3890,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3856,6 +3904,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -4131,6 +4180,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -4298,8 +4348,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -4318,6 +4368,7 @@ CONFIG_NULL_TTY=m
CONFIG_NVEC_PAZ00=y
CONFIG_NVEC_POWER=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
@@ -4386,6 +4437,7 @@ CONFIG_OMAP5_ERRATA_801819=y
CONFIG_OMAP5_THERMAL=y
CONFIG_OMAP_CONTROL_PHY=m
# CONFIG_OMAP_GPMC_DEBUG is not set
+CONFIG_OMAP_GPMC=y
CONFIG_OMAP_INTERCONNECT=y
# CONFIG_OMAP_IOMMU_DEBUG is not set
CONFIG_OMAP_IOMMU=y
@@ -4495,18 +4547,21 @@ CONFIG_PCCARD=y
# CONFIG_PCH_GBE is not set
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DRA7XX_HOST is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
# CONFIG_PCIE_ARMADA_8K is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_BRCMSTB=m
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_PLAT_EP=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
@@ -4589,6 +4644,7 @@ CONFIG_PHY_MESON_G12A_USB3_PCIE=m
CONFIG_PHY_MESON_GXL_USB3=m
CONFIG_PHY_MIPHY28LP=m
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
+CONFIG_PHY_MMP3_USB=m
# CONFIG_PHY_MVEBU_A3700_COMPHY is not set
# CONFIG_PHY_MVEBU_A3700_UTMI is not set
CONFIG_PHY_MVEBU_A38X_COMPHY=m
@@ -4609,6 +4665,7 @@ CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -4618,6 +4675,7 @@ CONFIG_PHY_SAMSUNG_USB2=m
CONFIG_PHY_STIH407_USB=m
CONFIG_PHY_STM32_USBPHYC=m
CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN50I_USB3=m
CONFIG_PHY_SUN6I_MIPI_DPHY=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
@@ -4640,6 +4698,7 @@ CONFIG_PINCTRL_AXP209=m
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX6SL=y
# CONFIG_PINCTRL_IPQ4019 is not set
@@ -4652,6 +4711,7 @@ CONFIG_PINCTRL_IMX6SL=y
CONFIG_PINCTRL_MSM8660=m
CONFIG_PINCTRL_MSM8916=m
CONFIG_PINCTRL_MSM8960=m
+# CONFIG_PINCTRL_MSM8976 is not set
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
CONFIG_PINCTRL_MSM8998=m
@@ -4817,6 +4877,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4835,13 +4896,12 @@ CONFIG_PWM_SAMSUNG=m
CONFIG_PWM_STI=m
# CONFIG_PWM_STM32 is not set
# CONFIG_PWM_STM32_LP is not set
-# CONFIG_PWM_STMPE is not set
+CONFIG_PWM_STMPE=y
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=y
CONFIG_PWM_TIECAP=m
CONFIG_PWM_TIEHRPWM=m
-CONFIG_PWM_TIPWMSS=y
CONFIG_PWM_TWL_LED=m
CONFIG_PWM_TWL=m
CONFIG_PWM=y
@@ -4872,6 +4932,7 @@ CONFIG_QCOM_HFPLL=m
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_IOMMU=y
# CONFIG_QCOM_LLCC is not set
+CONFIG_QCOM_OCMEM=m
CONFIG_QCOM_PDC=y
CONFIG_QCOM_PM8XXX_XOADC=m
CONFIG_QCOM_PM=y
@@ -4893,6 +4954,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QCS_GCC_404=m
+# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4991,7 +5053,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
@@ -5132,6 +5193,7 @@ CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_LVDS=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_OTP=m
CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_RGB=y
@@ -5369,6 +5431,7 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_GCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5541,6 +5604,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DA9052_ADC=m
CONFIG_SENSORS_DA9055=m
@@ -5601,6 +5665,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_LTC2990=m
@@ -5669,6 +5735,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5788,6 +5855,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5917,7 +5985,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -6002,6 +6069,8 @@ CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
CONFIG_SND_SOC_ADI_AXI_I2S=m
CONFIG_SND_SOC_ADI_AXI_SPDIF=m
CONFIG_SND_SOC_ADI=m
@@ -6018,7 +6087,7 @@ CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
-CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m
+CONFIG_SND_SOC_ARNDALE=m
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -6057,6 +6126,7 @@ CONFIG_SND_SOC_FSL_ASRC=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
CONFIG_SND_SOC_FSL_ESAI=m
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_SSI=m
@@ -6168,6 +6238,8 @@ CONFIG_SND_SOC_STI_SAS=m
# CONFIG_SND_SOC_STM32_SPDIFRX is not set
CONFIG_SND_SOC_STORM=m
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -6270,7 +6342,7 @@ CONFIG_SOC_AM33XX=y
CONFIG_SOC_AM43XX=y
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
-# CONFIG_SOC_DRA7XX is not set
+CONFIG_SOC_DRA7XX=y
CONFIG_SOC_EXYNOS3250=y
CONFIG_SOC_EXYNOS4412=y
CONFIG_SOC_EXYNOS5250=y
@@ -6278,6 +6350,7 @@ CONFIG_SOC_EXYNOS5260=y
CONFIG_SOC_EXYNOS5410=y
CONFIG_SOC_EXYNOS5420=y
CONFIG_SOC_EXYNOS5800=y
+CONFIG_SOC_HAS_OMAP2_SDRC=y
CONFIG_SOC_HAS_REALTIME_COUNTER=y
CONFIG_SOC_IMX50=y
CONFIG_SOC_IMX51=y
@@ -6308,6 +6381,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPEAKUP is not set
@@ -6440,7 +6514,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_SELFTESTS is not set
-# CONFIG_STMPE_ADC is not set
+CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STPMIC1_WATCHDOG=m
@@ -6490,6 +6564,7 @@ CONFIG_SWAP=y
CONFIG_SWP_EMULATE=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -6531,6 +6606,7 @@ CONFIG_TCG_NSC=m
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -6569,6 +6645,7 @@ CONFIG_TEE=m
CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_TEGRA20_EMC=y
+CONFIG_TEGRA30_EMC=y
CONFIG_TEGRA_AHB=y
# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
@@ -6651,10 +6728,11 @@ CONFIG_TI_ADS1015=m
CONFIG_TI_ADS8344=m
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AM335X_ADC=m
-CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_TI_CPPI41=m
CONFIG_TI_CPSW=m
# CONFIG_TI_CPSW_PHY_SEL is not set
+CONFIG_TI_CPSW_SWITCHDEV=m
CONFIG_TI_CPTS_MOD=m
CONFIG_TI_CPTS=y
# CONFIG_TI_DAC082S085 is not set
@@ -6666,6 +6744,7 @@ CONFIG_TI_DAVINCI_MDIO=m
CONFIG_TI_EDMA=y
CONFIG_TI_EMIF=m
CONFIG_TI_EMIF_SRAM=m
+CONFIG_TI_EQEP=m
CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
@@ -6677,11 +6756,13 @@ CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
CONFIG_TINYDRM_ST7735R=m
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_PIPE3=m
+CONFIG_TI_PWMSS=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
@@ -6691,6 +6772,7 @@ CONFIG_TI_THERMAL=y
# CONFIG_TLAN is not set
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
# CONFIG_TMP007 is not set
@@ -6698,6 +6780,7 @@ CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879 is not set
CONFIG_TOUCHSCREEN_ADC=m
CONFIG_TOUCHSCREEN_ADS7846=m
@@ -6780,6 +6863,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -6821,6 +6905,7 @@ CONFIG_TWL6030_USB=m
CONFIG_TWL6040_CORE=y
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -7133,7 +7218,7 @@ CONFIG_USB_NET_SR9700=m
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_OHCI_EXYNOS=m
CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_OHCI_HCD_OMAP3=m
+# CONFIG_USB_OHCI_HCD_OMAP3 is not set
CONFIG_USB_OHCI_HCD_PCI=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
@@ -7246,6 +7331,7 @@ CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STV06XX=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_TEGRA_PHY=m
+CONFIG_USB_TEGRA_XUDC=m
# CONFIG_USB_TEST is not set
CONFIG_USB_TI_CPPI41_DMA=y
CONFIG_USB_TMC=m
@@ -7296,6 +7382,7 @@ CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
# CONFIG_VDSO is not set
+CONFIG_VEML6030=m
CONFIG_VEML6070=m
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -7432,9 +7519,13 @@ CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_VIDEO_SUN8I_DEINTERLACE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
+CONFIG_VIDEO_TI_CAL=m
+# CONFIG_VIDEO_TI_VPE_DEBUG is not set
+CONFIG_VIDEO_TI_VPE=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_VIDEO_TM6000=m
@@ -7448,7 +7539,7 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
@@ -7511,6 +7602,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -7540,6 +7632,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -7656,4 +7749,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-armv7hl-fedora.config b/kernel-armv7hl-fedora.config
index 7e4349370..d6f59bf7f 100644
--- a/kernel-armv7hl-fedora.config
+++ b/kernel-armv7hl-fedora.config
@@ -73,6 +73,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -114,6 +115,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -176,6 +178,7 @@ CONFIG_AMD8111_ETH=m
CONFIG_AMD_PHY=m
# CONFIG_AMD_XGBE_DCB is not set
CONFIG_AMIGA_PARTITION=y
+CONFIG_AMLOGIC_THERMAL=m
CONFIG_AMX3_PM=m
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
@@ -250,6 +253,7 @@ CONFIG_ARCH_QCOM=y
# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_SA1100 is not set
@@ -294,7 +298,6 @@ CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
CONFIG_ARM_BIG_LITTLE_CPUIDLE=y
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -520,8 +523,8 @@ CONFIG_BACKLIGHT_GPIO=m
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
CONFIG_BACKLIGHT_PANDORA=m
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
CONFIG_BACKLIGHT_TPS65217=m
# CONFIG_BACKTRACE_SELF_TEST is not set
@@ -562,6 +565,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
+CONFIG_BCM2711_THERMAL=m
CONFIG_BCM2835_MBOX=y
CONFIG_BCM2835_POWER=y
CONFIG_BCM2835_THERMAL=m
@@ -726,7 +730,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -838,7 +842,7 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
@@ -997,6 +1001,7 @@ CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
+CONFIG_COMMON_CLK_MMP2=y
CONFIG_COMMON_CLK_PALMAS=m
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_QCOM=y
@@ -1015,6 +1020,7 @@ CONFIG_COMMON_CLK_VERSATILE=y
CONFIG_COMMON_CLK_XLNX_CLKWZRD=m
CONFIG_COMMON_CLK=y
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
@@ -1022,6 +1028,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
@@ -1053,7 +1060,7 @@ CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
CONFIG_CPU_SW_DOMAIN_PAN=y
@@ -1083,6 +1090,7 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC=m
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_EC_VBC=m
@@ -1102,7 +1110,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -1123,8 +1132,13 @@ CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
+CONFIG_CRYPTO_CURVE25519_NEON=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DEV_ALLWINNER=y
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -1167,6 +1181,10 @@ CONFIG_CRYPTO_DEV_STM32_CRYP=m
CONFIG_CRYPTO_DEV_STM32_HASH=m
CONFIG_CRYPTO_DEV_SUN4I_SS=m
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
+# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
+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_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1187,6 +1205,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1202,6 +1225,7 @@ CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_POLY1305_ARM=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -1337,6 +1361,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_DEV_APPLETALK is not set
+CONFIG_DEV_DAX_HMEM=m
# CONFIG_DEV_DAX_KMEM is not set
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP=m
@@ -1420,12 +1445,15 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
+CONFIG_DRA752_THERMAL=y
CONFIG_DRAGONRISE_FF=y
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1486,6 +1514,7 @@ CONFIG_DRM_IMX_LDB=m
CONFIG_DRM_IMX=m
CONFIG_DRM_IMX_PARALLEL_DISPLAY=m
CONFIG_DRM_IMX_TVE=m
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
@@ -1512,6 +1541,7 @@ CONFIG_DRM_MSM=m
CONFIG_DRM_MXSFB=m
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m
CONFIG_DRM_OMAP_CONNECTOR_HDMI=m
@@ -1596,7 +1626,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
-# CONFIG_DRM_V3D is not set
+CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
@@ -1730,6 +1760,7 @@ CONFIG_EDAC_HIGHBANK_L2=m
CONFIG_EDAC_HIGHBANK_MC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_SYNOPSYS=m
+CONFIG_EDAC_TI=m
CONFIG_EDAC=y
CONFIG_EEPROM_93CX6=m
CONFIG_EEPROM_93XX46=m
@@ -1745,6 +1776,7 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
@@ -1764,7 +1796,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1798,6 +1836,7 @@ CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
+CONFIG_EXYNOS5422_DMC=m
CONFIG_EXYNOS_ADC=m
CONFIG_EXYNOS_AUDSS_CLK_CON=m
# CONFIG_EXYNOS_IOMMU_DEBUG is not set
@@ -1929,16 +1968,17 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
+CONFIG_FSL_RCPM=y
# CONFIG_FSL_XGMAC_MDIO is not set
CONFIG_FS_MBCACHE=y
CONFIG_FSNOTIFY=y
@@ -1964,12 +2004,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -2050,7 +2093,7 @@ CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
-# CONFIG_GPIO_PISOSR is not set
+CONFIG_GPIO_PISOSR=m
CONFIG_GPIO_PL061=y
CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
@@ -2099,9 +2142,7 @@ CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HD44780=m
CONFIG_HDC100X=m
CONFIG_HDQ_MASTER_OMAP=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
# CONFIG_HERMES is not set
CONFIG_HERMES_PRISM=y
@@ -2503,7 +2544,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2568,7 +2608,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=y
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2620,6 +2659,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
@@ -2920,7 +2960,6 @@ CONFIG_KARMA_PARTITION=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2941,6 +2980,7 @@ CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_IMX is not set
+CONFIG_KEYBOARD_IMX_SC_KEY=m
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
@@ -2994,6 +3034,7 @@ CONFIG_KS8851=m
CONFIG_KS8851_MLL=m
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KUSER_HELPERS=y
CONFIG_KXCJK1013=m
CONFIG_KXSD9_I2C=m
@@ -3037,6 +3078,7 @@ CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
CONFIG_LEDS_DA9052=m
CONFIG_LEDS_DAC124S085=m
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3158,6 +3200,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3192,6 +3235,7 @@ CONFIG_MACH_DOVE=y
# CONFIG_MACH_MESON6 is not set
# CONFIG_MACH_MESON8 is not set
CONFIG_MACH_MMP2_DT=y
+CONFIG_MACH_MMP3_DT=y
# CONFIG_MACH_OMAP3517EVM is not set
# CONFIG_MACH_OMAP3_PANDORA is not set
CONFIG_MACH_STM32MP157=y
@@ -3543,6 +3587,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI_IPROC=m
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
CONFIG_MMC_SDHCI_MSM=m
CONFIG_MMC_SDHCI_OF_ARASAN=m
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
@@ -3632,6 +3677,7 @@ CONFIG_MSM_GCC_8974=y
# CONFIG_MSM_GCC_8994 is not set
CONFIG_MSM_GCC_8996=y
# CONFIG_MSM_GCC_8998 is not set
+# CONFIG_MSM_GPUCC_8998 is not set
# CONFIG_MSM_IOMMU is not set
# CONFIG_MSM_LCC_8960 is not set
CONFIG_MSM_MMCC_8960=m
@@ -3671,13 +3717,13 @@ CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
# CONFIG_MTD_LPDDR2_NVM is not set
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD=m
-CONFIG_MTD_M25P80=m
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3768,6 +3814,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
@@ -3824,6 +3871,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3837,6 +3885,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -4112,6 +4161,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -4279,8 +4329,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -4299,6 +4349,7 @@ CONFIG_NULL_TTY=m
CONFIG_NVEC_PAZ00=y
CONFIG_NVEC_POWER=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
@@ -4367,6 +4418,7 @@ CONFIG_OMAP5_ERRATA_801819=y
CONFIG_OMAP5_THERMAL=y
CONFIG_OMAP_CONTROL_PHY=m
# CONFIG_OMAP_GPMC_DEBUG is not set
+CONFIG_OMAP_GPMC=y
CONFIG_OMAP_INTERCONNECT=y
# CONFIG_OMAP_IOMMU_DEBUG is not set
CONFIG_OMAP_IOMMU=y
@@ -4476,18 +4528,21 @@ CONFIG_PCCARD=y
# CONFIG_PCH_GBE is not set
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DRA7XX_HOST is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
# CONFIG_PCIE_ARMADA_8K is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_BRCMSTB=m
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_PLAT_EP=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
@@ -4570,6 +4625,7 @@ CONFIG_PHY_MESON_G12A_USB3_PCIE=m
CONFIG_PHY_MESON_GXL_USB3=m
CONFIG_PHY_MIPHY28LP=m
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
+CONFIG_PHY_MMP3_USB=m
# CONFIG_PHY_MVEBU_A3700_COMPHY is not set
# CONFIG_PHY_MVEBU_A3700_UTMI is not set
CONFIG_PHY_MVEBU_A38X_COMPHY=m
@@ -4590,6 +4646,7 @@ CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -4599,6 +4656,7 @@ CONFIG_PHY_SAMSUNG_USB2=m
CONFIG_PHY_STIH407_USB=m
CONFIG_PHY_STM32_USBPHYC=m
CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN50I_USB3=m
CONFIG_PHY_SUN6I_MIPI_DPHY=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
@@ -4621,6 +4679,7 @@ CONFIG_PINCTRL_AXP209=m
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
CONFIG_PINCTRL_IMX6SL=y
# CONFIG_PINCTRL_IPQ4019 is not set
@@ -4633,6 +4692,7 @@ CONFIG_PINCTRL_IMX6SL=y
CONFIG_PINCTRL_MSM8660=m
CONFIG_PINCTRL_MSM8916=m
CONFIG_PINCTRL_MSM8960=m
+# CONFIG_PINCTRL_MSM8976 is not set
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
CONFIG_PINCTRL_MSM8998=m
@@ -4797,6 +4857,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4815,13 +4876,12 @@ CONFIG_PWM_SAMSUNG=m
CONFIG_PWM_STI=m
# CONFIG_PWM_STM32 is not set
# CONFIG_PWM_STM32_LP is not set
-# CONFIG_PWM_STMPE is not set
+CONFIG_PWM_STMPE=y
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=y
CONFIG_PWM_TIECAP=m
CONFIG_PWM_TIEHRPWM=m
-CONFIG_PWM_TIPWMSS=y
CONFIG_PWM_TWL_LED=m
CONFIG_PWM_TWL=m
CONFIG_PWM=y
@@ -4852,6 +4912,7 @@ CONFIG_QCOM_HFPLL=m
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_IOMMU=y
# CONFIG_QCOM_LLCC is not set
+CONFIG_QCOM_OCMEM=m
CONFIG_QCOM_PDC=y
CONFIG_QCOM_PM8XXX_XOADC=m
CONFIG_QCOM_PM=y
@@ -4873,6 +4934,7 @@ CONFIG_QCOM_WCNSS_CTRL=m
CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QCS_GCC_404=m
+# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4971,7 +5033,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
@@ -5112,6 +5173,7 @@ CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_LVDS=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_OTP=m
CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_RGB=y
@@ -5349,6 +5411,7 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_GCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5521,6 +5584,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DA9052_ADC=m
CONFIG_SENSORS_DA9055=m
@@ -5581,6 +5645,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_LTC2990=m
@@ -5649,6 +5715,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5768,6 +5835,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5897,7 +5965,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -5981,6 +6048,8 @@ CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
CONFIG_SND_SOC_ADI_AXI_I2S=m
CONFIG_SND_SOC_ADI_AXI_SPDIF=m
CONFIG_SND_SOC_ADI=m
@@ -5997,7 +6066,7 @@ CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
-CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m
+CONFIG_SND_SOC_ARNDALE=m
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -6036,6 +6105,7 @@ CONFIG_SND_SOC_FSL_ASRC=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
CONFIG_SND_SOC_FSL_ESAI=m
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_SSI=m
@@ -6147,6 +6217,8 @@ CONFIG_SND_SOC_STI_SAS=m
# CONFIG_SND_SOC_STM32_SPDIFRX is not set
CONFIG_SND_SOC_STORM=m
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -6249,7 +6321,7 @@ CONFIG_SOC_AM33XX=y
CONFIG_SOC_AM43XX=y
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
-# CONFIG_SOC_DRA7XX is not set
+CONFIG_SOC_DRA7XX=y
CONFIG_SOC_EXYNOS3250=y
CONFIG_SOC_EXYNOS4412=y
CONFIG_SOC_EXYNOS5250=y
@@ -6257,6 +6329,7 @@ CONFIG_SOC_EXYNOS5260=y
CONFIG_SOC_EXYNOS5410=y
CONFIG_SOC_EXYNOS5420=y
CONFIG_SOC_EXYNOS5800=y
+CONFIG_SOC_HAS_OMAP2_SDRC=y
CONFIG_SOC_HAS_REALTIME_COUNTER=y
CONFIG_SOC_IMX50=y
CONFIG_SOC_IMX51=y
@@ -6287,6 +6360,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPEAKUP is not set
@@ -6419,7 +6493,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_SELFTESTS is not set
-# CONFIG_STMPE_ADC is not set
+CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STPMIC1_WATCHDOG=m
@@ -6469,6 +6543,7 @@ CONFIG_SWAP=y
CONFIG_SWP_EMULATE=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -6510,6 +6585,7 @@ CONFIG_TCG_NSC=m
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -6548,6 +6624,7 @@ CONFIG_TEE=m
CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
CONFIG_TEGRA20_EMC=y
+CONFIG_TEGRA30_EMC=y
CONFIG_TEGRA_AHB=y
# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
@@ -6630,10 +6707,11 @@ CONFIG_TI_ADS1015=m
CONFIG_TI_ADS8344=m
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AM335X_ADC=m
-CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_TI_CPPI41=m
CONFIG_TI_CPSW=m
# CONFIG_TI_CPSW_PHY_SEL is not set
+CONFIG_TI_CPSW_SWITCHDEV=m
CONFIG_TI_CPTS_MOD=m
CONFIG_TI_CPTS=y
# CONFIG_TI_DAC082S085 is not set
@@ -6645,6 +6723,7 @@ CONFIG_TI_DAVINCI_MDIO=m
CONFIG_TI_EDMA=y
CONFIG_TI_EMIF=m
CONFIG_TI_EMIF_SRAM=m
+CONFIG_TI_EQEP=m
CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
@@ -6656,11 +6735,13 @@ CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
CONFIG_TINYDRM_ST7735R=m
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TI_PIPE3=m
+CONFIG_TI_PWMSS=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
@@ -6670,6 +6751,7 @@ CONFIG_TI_THERMAL=y
# CONFIG_TLAN is not set
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
# CONFIG_TMP007 is not set
@@ -6677,6 +6759,7 @@ CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879 is not set
CONFIG_TOUCHSCREEN_ADC=m
CONFIG_TOUCHSCREEN_ADS7846=m
@@ -6759,6 +6842,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -6800,6 +6884,7 @@ CONFIG_TWL6030_USB=m
CONFIG_TWL6040_CORE=y
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -7112,7 +7197,7 @@ CONFIG_USB_NET_SR9700=m
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_OHCI_EXYNOS=m
CONFIG_USB_OHCI_HCD=m
-CONFIG_USB_OHCI_HCD_OMAP3=m
+# CONFIG_USB_OHCI_HCD_OMAP3 is not set
CONFIG_USB_OHCI_HCD_PCI=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
@@ -7225,6 +7310,7 @@ CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STV06XX=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_TEGRA_PHY=m
+CONFIG_USB_TEGRA_XUDC=m
# CONFIG_USB_TEST is not set
CONFIG_USB_TI_CPPI41_DMA=y
CONFIG_USB_TMC=m
@@ -7275,6 +7361,7 @@ CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
# CONFIG_VDSO is not set
+CONFIG_VEML6030=m
CONFIG_VEML6070=m
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -7411,9 +7498,13 @@ CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_VIDEO_SUN8I_DEINTERLACE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
+CONFIG_VIDEO_TI_CAL=m
+# CONFIG_VIDEO_TI_VPE_DEBUG is not set
+CONFIG_VIDEO_TI_VPE=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_VIDEO_TM6000=m
@@ -7427,7 +7518,7 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
@@ -7490,6 +7581,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -7519,6 +7611,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -7635,4 +7728,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-armv7hl-lpae-debug-fedora.config b/kernel-armv7hl-lpae-debug-fedora.config
index 9183932a2..28225d806 100644
--- a/kernel-armv7hl-lpae-debug-fedora.config
+++ b/kernel-armv7hl-lpae-debug-fedora.config
@@ -73,6 +73,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -114,6 +115,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -167,13 +169,14 @@ CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
# CONFIG_AM2315 is not set
-# CONFIG_AM335X_PHY_USB is not set
+CONFIG_AM335X_PHY_USB=m
CONFIG_AMBA_PL08X=y
CONFIG_AMD8111_ETH=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
# CONFIG_AMD_XGBE_DCB is not set
CONFIG_AMIGA_PARTITION=y
+CONFIG_AMLOGIC_THERMAL=m
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
@@ -232,6 +235,7 @@ CONFIG_ARCH_MVEBU=y
# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_NPCM is not set
# CONFIG_ARCH_OMAP1 is not set
+# CONFIG_ARCH_OMAP2PLUS_TYPICAL is not set
# CONFIG_ARCH_OMAP3 is not set
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_ARCH_PXA is not set
@@ -241,6 +245,7 @@ CONFIG_ARCH_MVEBU=y
# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_SA1100 is not set
@@ -285,7 +290,6 @@ CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
CONFIG_ARM_BIG_LITTLE_CPUIDLE=y
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -332,6 +336,7 @@ CONFIG_ARM_LPAE=y
CONFIG_ARM_MHU=m
# CONFIG_ARM_MODULE_PLTS is not set
CONFIG_ARM_MVEBU_V7_CPUIDLE=y
+# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
CONFIG_ARM_PATCH_IDIV=y
CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
@@ -358,6 +363,7 @@ CONFIG_ARM_TEGRA124_CPUFREQ=y
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
+CONFIG_ARM_TI_CPUFREQ=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_ARM_UNWIND=y
CONFIG_ARM_VEXPRESS_SPC_CPUFREQ=m
@@ -504,8 +510,8 @@ CONFIG_BACKLIGHT_GPIO=m
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -538,6 +544,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
+CONFIG_BCM2711_THERMAL=m
CONFIG_BCM2835_MBOX=y
CONFIG_BCM2835_POWER=y
CONFIG_BCM2835_THERMAL=m
@@ -702,7 +709,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -813,7 +820,7 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
@@ -967,6 +974,7 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
+CONFIG_COMMON_CLK_PALMAS=m
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_S2MPS11=m
@@ -977,11 +985,13 @@ CONFIG_COMMON_CLK_SCPI=m
CONFIG_COMMON_CLK_SI5351=m
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_TI_ADPLL is not set
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMMON_CLK=y
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
@@ -989,6 +999,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
@@ -1020,7 +1031,7 @@ CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
# CONFIG_CPU_SW_DOMAIN_PAN is not set
@@ -1050,6 +1061,7 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC=m
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_EC_VBC=m
@@ -1069,7 +1081,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -1090,8 +1103,13 @@ CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
+CONFIG_CRYPTO_CURVE25519_NEON=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DEV_ALLWINNER=y
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -1118,6 +1136,10 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+CONFIG_CRYPTO_DEV_OMAP_DES=m
+CONFIG_CRYPTO_DEV_OMAP=m
+CONFIG_CRYPTO_DEV_OMAP_SHAM=m
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1129,6 +1151,10 @@ CONFIG_CRYPTO_DEV_STM32_CRYP=m
CONFIG_CRYPTO_DEV_STM32_HASH=m
CONFIG_CRYPTO_DEV_SUN4I_SS=m
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
+# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
+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_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1149,6 +1175,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1164,6 +1195,7 @@ CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_POLY1305_ARM=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -1221,7 +1253,7 @@ CONFIG_DAVICOM_PHY=m
CONFIG_DAVINCI_WATCHDOG=m
CONFIG_DAX=y
CONFIG_DCB=y
-# CONFIG_DDR is not set
+CONFIG_DDR=y
CONFIG_DE2104X_DSL=0
CONFIG_DE2104X=m
CONFIG_DE4X5=m
@@ -1304,6 +1336,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
CONFIG_DETECT_HUNG_TASK=y
# CONFIG_DEV_APPLETALK is not set
+CONFIG_DEV_DAX_HMEM=m
# CONFIG_DEV_DAX_KMEM is not set
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP=m
@@ -1337,6 +1370,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
CONFIG_DMA_OF=y
+CONFIG_DMA_OMAP=m
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
CONFIG_DMARD10=m
@@ -1386,12 +1420,15 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
+CONFIG_DRA752_THERMAL=y
CONFIG_DRAGONRISE_FF=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1448,6 +1485,7 @@ CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA998X is not set
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_IMX is not set
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
@@ -1465,8 +1503,14 @@ CONFIG_DRM_MSM_DSI_10NM_PHY=y
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
-# CONFIG_DRM_OMAP is not set
+CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m
+CONFIG_DRM_OMAP_CONNECTOR_HDMI=m
+CONFIG_DRM_OMAP_ENCODER_OPA362=m
+CONFIG_DRM_OMAP_ENCODER_TPD12S015=m
+CONFIG_DRM_OMAP=m
+CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
@@ -1544,7 +1588,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
-# CONFIG_DRM_V3D is not set
+CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
@@ -1691,6 +1735,7 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
@@ -1710,7 +1755,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1735,14 +1786,15 @@ CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
+CONFIG_EXTCON_PALMAS=m
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
+CONFIG_EXYNOS5422_DMC=m
CONFIG_EXYNOS_ADC=m
CONFIG_EXYNOS_AUDSS_CLK_CON=m
# CONFIG_EXYNOS_IOMMU_DEBUG is not set
@@ -1882,16 +1934,17 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
+CONFIG_FSL_RCPM=y
# CONFIG_FSL_XGMAC_MDIO is not set
CONFIG_FS_MBCACHE=y
CONFIG_FSNOTIFY=y
@@ -1917,12 +1970,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1993,13 +2049,15 @@ CONFIG_GPIO_MC33880=m
CONFIG_GPIO_MOXTET=m
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
+CONFIG_GPIO_OMAP=y
+CONFIG_GPIO_PALMAS=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
-# CONFIG_GPIO_PISOSR is not set
+CONFIG_GPIO_PISOSR=m
CONFIG_GPIO_PL061=y
CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
@@ -2043,9 +2101,8 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HD44780=m
CONFIG_HDC100X=m
-CONFIG_HEADERS_CHECK=y
+CONFIG_HDQ_MASTER_OMAP=m
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
# CONFIG_HERMES is not set
CONFIG_HERMES_PRISM=y
@@ -2214,6 +2271,7 @@ CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_STM32 is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2283,6 +2341,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
@@ -2440,7 +2499,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2501,7 +2559,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2515,6 +2572,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSE=y
# CONFIG_INPUT_MSM_VIBRATOR is not set
+CONFIG_INPUT_PALMAS_PWRBUTTON=m
# CONFIG_INPUT_PCF8574 is not set
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_PM8XXX_VIBRATOR=m
@@ -2547,6 +2605,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
@@ -2848,7 +2907,6 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2869,6 +2927,7 @@ CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_IMX is not set
+CONFIG_KEYBOARD_IMX_SC_KEY=m
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
@@ -2919,6 +2978,7 @@ CONFIG_KS8851=m
CONFIG_KS8851_MLL=m
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KUSER_HELPERS=y
CONFIG_KVM_ARM_HOST=y
CONFIG_KVM=y
@@ -2963,6 +3023,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
CONFIG_LEDS_DAC124S085=m
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3082,6 +3143,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3311,7 +3373,8 @@ CONFIG_MFD_MAX8997=y
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_NVEC is not set
-# CONFIG_MFD_PALMAS is not set
+# CONFIG_MFD_OMAP_USB_HOST is not set
+CONFIG_MFD_PALMAS=y
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_PM8XXX is not set
# CONFIG_MFD_RC5T583 is not set
@@ -3340,7 +3403,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MFD_TC6393XB is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
+CONFIG_MFD_TI_AM335X_TSCADC=m
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
@@ -3444,6 +3507,7 @@ CONFIG_MMC_MESON_MX_SDIO=m
CONFIG_MMC_MVSDIO=m
# CONFIG_MMC_MXC is not set
CONFIG_MMC_OMAP_HS=m
+CONFIG_MMC_OMAP=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3455,6 +3519,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI_IPROC=m
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
CONFIG_MMC_SDHCI_OF_ARASAN=m
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3535,6 +3600,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
# CONFIG_MSM_GCC_8998 is not set
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3569,13 +3635,13 @@ CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
# CONFIG_MTD_LPDDR2_NVM is not set
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD=m
-CONFIG_MTD_M25P80=m
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_CS553X is not set
CONFIG_MTD_NAND_DAVINCI=m
@@ -3665,6 +3731,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
@@ -3721,6 +3788,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3734,6 +3802,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -4008,6 +4077,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -4175,8 +4245,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -4193,6 +4263,7 @@ CONFIG_NS83820=m
# CONFIG_NTFS_FS is not set
CONFIG_NULL_TTY=m
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
@@ -4236,9 +4307,33 @@ CONFIG_OF_RESERVED_MEM=y
CONFIG_OF_RESOLVE=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+# CONFIG_OMAP2_DSS_DEBUGFS is not set
+# CONFIG_OMAP2_DSS_DEBUG is not set
+CONFIG_OMAP2_DSS_DPI=y
+CONFIG_OMAP2_DSS_DSI=y
+CONFIG_OMAP2_DSS=m
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+CONFIG_OMAP2_DSS_SDI=y
+CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
+CONFIG_OMAP2_DSS_VENC=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_32K_TIMER=y
# CONFIG_OMAP3_THERMAL is not set
-CONFIG_OMAP4_DSS_HDMI_CEC=y
+# CONFIG_OMAP4_DSS_HDMI is not set
+# CONFIG_OMAP5_DSS_HDMI is not set
+CONFIG_OMAP5_ERRATA_801819=y
+CONFIG_OMAP5_THERMAL=y
+CONFIG_OMAP_CONTROL_PHY=m
# CONFIG_OMAP_GPMC_DEBUG is not set
+CONFIG_OMAP_GPMC=y
+# CONFIG_OMAP_IOMMU_DEBUG is not set
+CONFIG_OMAP_IOMMU=y
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_OCP2SCP=m
+CONFIG_OMAP_REMOTEPROC=m
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_USB2=m
+CONFIG_OMAP_WATCHDOG=m
# CONFIG_OMFS_FS is not set
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_OPENVSWITCH_GRE=m
@@ -4272,6 +4367,7 @@ CONFIG_PACKING=y
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_POISONING is not set
+CONFIG_PALMAS_GPADC=m
# CONFIG_PANEL_CHANGE_MESSAGE is not set
# CONFIG_PANEL is not set
# CONFIG_PANIC_ON_OOPS is not set
@@ -4338,18 +4434,21 @@ CONFIG_PCCARD=y
# CONFIG_PCH_GBE is not set
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DRA7XX_HOST is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
# CONFIG_PCIE_ARMADA_8K is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_BRCMSTB=m
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_PLAT_EP=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
@@ -4415,6 +4514,7 @@ CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_EXYNOS5250_SATA=m
CONFIG_PHY_EXYNOS5_USBDRD=m
CONFIG_PHY_EXYNOS_DP_VIDEO=m
@@ -4430,6 +4530,7 @@ CONFIG_PHY_MESON_G12A_USB3_PCIE=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
CONFIG_PHY_MESON_GXL_USB3=m
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
+CONFIG_PHY_MMP3_USB=m
# CONFIG_PHY_MVEBU_A3700_COMPHY is not set
# CONFIG_PHY_MVEBU_A3700_UTMI is not set
CONFIG_PHY_MVEBU_A38X_COMPHY=m
@@ -4446,6 +4547,7 @@ CONFIG_PHY_QCOM_UFS=m
# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -4454,9 +4556,11 @@ CONFIG_PHY_ROCKCHIP_USB=m
CONFIG_PHY_SAMSUNG_USB2=m
CONFIG_PHY_STM32_USBPHYC=m
CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN50I_USB3=m
CONFIG_PHY_SUN6I_MIPI_DPHY=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
+CONFIG_PHY_TI_GMII_SEL=m
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
@@ -4473,6 +4577,7 @@ CONFIG_PINCTRL_AXP209=m
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
@@ -4481,11 +4586,13 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_MDM9615 is not set
# CONFIG_PINCTRL_MESON8B is not set
# CONFIG_PINCTRL_MESON8 is not set
+# CONFIG_PINCTRL_MSM8976 is not set
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
CONFIG_PINCTRL_MSM8998=m
CONFIG_PINCTRL_MVEBU=y
# CONFIG_PINCTRL_OCELOT is not set
+CONFIG_PINCTRL_PALMAS=y
# CONFIG_PINCTRL_QCS404 is not set
CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
@@ -4637,6 +4744,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4648,16 +4756,18 @@ CONFIG_PWM_HIBVT=m
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
CONFIG_PWM_MESON=m
+# CONFIG_PWM_OMAP_DMTIMER is not set
CONFIG_PWM_PCA9685=m
CONFIG_PWM_ROCKCHIP=m
CONFIG_PWM_SAMSUNG=m
# CONFIG_PWM_STM32 is not set
# CONFIG_PWM_STM32_LP is not set
-# CONFIG_PWM_STMPE is not set
+CONFIG_PWM_STMPE=y
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=y
CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=y
CONFIG_PWRSEQ_SD8787=m
@@ -4678,6 +4788,7 @@ CONFIG_QCOM_HFPLL=m
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_LLCC is not set
+CONFIG_QCOM_OCMEM=m
CONFIG_QCOM_PDC=y
CONFIG_QCOM_PM8XXX_XOADC=m
CONFIG_QCOM_RMTFS_MEM=m
@@ -4685,6 +4796,7 @@ CONFIG_QCOM_RMTFS_MEM=m
CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCS_GCC_404=m
+# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4782,7 +4894,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
@@ -4820,6 +4931,8 @@ CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
# CONFIG_REGULATOR_MCP16502 is not set
# CONFIG_REGULATOR_MT6311 is not set
+CONFIG_REGULATOR_PALMAS=y
+CONFIG_REGULATOR_PBIAS=m
CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
@@ -4836,6 +4949,7 @@ CONFIG_REGULATOR_STM32_VREFBUF=m
CONFIG_REGULATOR_STPMIC1=m
CONFIG_REGULATOR_SY8106A=m
# CONFIG_REGULATOR_SY8824X is not set
+CONFIG_REGULATOR_TI_ABB=m
CONFIG_REGULATOR_TPS51632=m
CONFIG_REGULATOR_TPS62360=m
CONFIG_REGULATOR_TPS65023=m
@@ -4906,6 +5020,7 @@ CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_LVDS=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_OTP=m
CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_RGB=y
@@ -5018,6 +5133,8 @@ CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_MV=m
# CONFIG_RTC_DRV_MXC is not set
# CONFIG_RTC_DRV_MXC_V2 is not set
+CONFIG_RTC_DRV_OMAP=m
+CONFIG_RTC_DRV_PALMAS=m
CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
@@ -5131,6 +5248,7 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_GCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5303,6 +5421,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -5361,6 +5480,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_LTC2990=m
@@ -5428,6 +5549,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5465,6 +5587,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
@@ -5502,6 +5626,7 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
+# CONFIG_SERIAL_OMAP is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
@@ -5536,6 +5661,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5665,7 +5791,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -5746,6 +5871,8 @@ CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5759,7 +5886,7 @@ CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
-CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m
+CONFIG_SND_SOC_ARNDALE=m
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -5797,6 +5924,7 @@ CONFIG_SND_SOC_FSL_ASRC=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
CONFIG_SND_SOC_FSL_ESAI=m
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_SSI=m
@@ -5832,6 +5960,11 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_NAU8822 is not set
CONFIG_SND_SOC_NAU8824=m
CONFIG_SND_SOC_ODROID=m
+CONFIG_SND_SOC_OMAP_ABE_TWL6040=m
+CONFIG_SND_SOC_OMAP_DMIC=m
+CONFIG_SND_SOC_OMAP_HDMI=m
+CONFIG_SND_SOC_OMAP_MCBSP=m
+CONFIG_SND_SOC_OMAP_MCPDM=m
# CONFIG_SND_SOC_PCM1681 is not set
CONFIG_SND_SOC_PCM1789_I2C=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -5888,6 +6021,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STM32_SAI is not set
# CONFIG_SND_SOC_STM32_SPDIFRX is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5983,18 +6118,20 @@ CONFIG_SND_VX222=m
# CONFIG_SND_XEN_FRONTEND is not set
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_AM33XX is not set
-# CONFIG_SOC_AM43XX is not set
+CONFIG_SOC_AM43XX=y
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
-# CONFIG_SOC_DRA7XX is not set
+CONFIG_SOC_DRA7XX=y
CONFIG_SOC_EXYNOS3250=y
CONFIG_SOC_EXYNOS5250=y
CONFIG_SOC_EXYNOS5260=y
CONFIG_SOC_EXYNOS5410=y
CONFIG_SOC_EXYNOS5420=y
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_OMAP5 is not set
+CONFIG_SOC_OMAP5=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
CONFIG_SOFTLOCKUP_DETECTOR=y
@@ -6005,6 +6142,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPEAKUP is not set
@@ -6039,6 +6177,7 @@ CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_ORION=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6055,6 +6194,7 @@ CONFIG_SPI_SUN6I=m
CONFIG_SPI_TEGRA114=m
# CONFIG_SPI_TEGRA20_SFLASH is not set
# CONFIG_SPI_TEGRA20_SLINK is not set
+CONFIG_SPI_TI_QSPI=m
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
# CONFIG_SPI_XCOMM is not set
@@ -6126,7 +6266,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_SELFTESTS is not set
-# CONFIG_STMPE_ADC is not set
+CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STPMIC1_WATCHDOG=m
@@ -6175,6 +6315,7 @@ CONFIG_SWAP=y
CONFIG_SWP_EMULATE=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -6217,6 +6358,7 @@ CONFIG_TCG_NSC=m
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -6254,6 +6396,7 @@ CONFIG_TCS3472=m
CONFIG_TEE=m
CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
+CONFIG_TEGRA30_EMC=y
CONFIG_TEGRA_AHB=y
# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
@@ -6323,7 +6466,7 @@ CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
# CONFIG_THUNDERBOLT is not set
-# CONFIG_TI_ADC081C is not set
+CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC108S102 is not set
@@ -6336,14 +6479,24 @@ CONFIG_TI_ADS1015=m
CONFIG_TI_ADS8344=m
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AEMIF=m
-CONFIG_TICK_CPU_ACCOUNTING=y
+CONFIG_TI_AM335X_ADC=m
+# CONFIG_TICK_CPU_ACCOUNTING is not set
+CONFIG_TI_CPPI41=m
+CONFIG_TI_CPSW=m
# CONFIG_TI_CPSW_PHY_SEL is not set
+CONFIG_TI_CPSW_SWITCHDEV=m
+CONFIG_TI_CPTS_MOD=m
+CONFIG_TI_CPTS=y
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
CONFIG_TI_DAC7311=m
# CONFIG_TI_DAC7612 is not set
+CONFIG_TI_DAVINCI_EMAC=m
CONFIG_TI_DAVINCI_MDIO=m
CONFIG_TI_EDMA=y
+CONFIG_TI_EMIF=m
+CONFIG_TI_EMIF_SRAM=m
+CONFIG_TI_EQEP=m
CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
@@ -6356,10 +6509,13 @@ CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
CONFIG_TINYDRM_ST7735R=m
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PIPE3=m
+CONFIG_TI_PWMSS=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
@@ -6369,6 +6525,7 @@ CONFIG_TI_THERMAL=y
# CONFIG_TLAN is not set
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
# CONFIG_TMP007 is not set
@@ -6376,6 +6533,7 @@ CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879 is not set
CONFIG_TOUCHSCREEN_ADC=m
CONFIG_TOUCHSCREEN_ADS7846=m
@@ -6457,6 +6615,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -6492,6 +6651,7 @@ CONFIG_TURRIS_MOX_RWTM=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6612,12 +6772,14 @@ CONFIG_USB_DWC3_KEYSTONE=m
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_MESON_G12A=m
CONFIG_USB_DWC3_OF_SIMPLE=m
+CONFIG_USB_DWC3_OMAP=m
CONFIG_USB_DWC3_PCI=m
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EG20T is not set
CONFIG_USB_EHCI_EXYNOS=m
# CONFIG_USB_EHCI_FSL is not set
+CONFIG_USB_EHCI_HCD_OMAP=m
CONFIG_USB_EHCI_HCD_ORION=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
CONFIG_USB_EHCI_HCD=y
@@ -6714,6 +6876,7 @@ CONFIG_USB_HSO=m
CONFIG_USB_HUB_USB251XB=m
# CONFIG_USB_HWA_HCD is not set
CONFIG_USB_IDMOUSE=m
+CONFIG_USB_INVENTRA_DMA=y
CONFIG_USB_IOWARRIOR=m
CONFIG_USBIP_CORE=m
# CONFIG_USBIP_DEBUG is not set
@@ -6750,11 +6913,14 @@ CONFIG_USB_MICROTEK=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_USB_MON=y
CONFIG_USB_MR800=m
+CONFIG_USB_MUSB_AM335X_CHILD=m
+CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_MUSB_DUAL_ROLE=y
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_HDRC=m
# CONFIG_USB_MUSB_HOST is not set
+CONFIG_USB_MUSB_OMAP2PLUS=m
CONFIG_USB_MUSB_SUNXI=m
# CONFIG_USB_MUSB_TUSB6010 is not set
# CONFIG_USB_MV_U3D is not set
@@ -6789,6 +6955,7 @@ CONFIG_USB_NET_SR9700=m
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_OHCI_EXYNOS=m
CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_OMAP3 is not set
CONFIG_USB_OHCI_HCD_PCI=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
@@ -6900,7 +7067,9 @@ CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STV06XX=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_TEGRA_PHY=m
+CONFIG_USB_TEGRA_XUDC=m
# CONFIG_USB_TEST is not set
+CONFIG_USB_TI_CPPI41_DMA=y
CONFIG_USB_TMC=m
CONFIG_USB_TRANCEVIBRATOR=m
# CONFIG_USB_U132_HCD is not set
@@ -6949,6 +7118,7 @@ CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
CONFIG_VDSO=y
+CONFIG_VEML6030=m
CONFIG_VEML6070=m
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -6982,6 +7152,7 @@ CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_VELOCITY=m
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_ALLEGRO_DVT is not set
+CONFIG_VIDEO_AM437X_VPFE=m
# CONFIG_VIDEO_ASPEED is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_AU0828_RC is not set
@@ -7071,9 +7242,13 @@ CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_VIDEO_SUN8I_DEINTERLACE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
+CONFIG_VIDEO_TI_CAL=m
+# CONFIG_VIDEO_TI_VPE_DEBUG is not set
+CONFIG_VIDEO_TI_VPE=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_VIDEO_TM6000=m
@@ -7087,7 +7262,7 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
@@ -7150,6 +7325,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -7179,6 +7355,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -7196,6 +7373,7 @@ CONFIG_WIZNET_BUS_ANY=y
CONFIG_WIZNET_W5100=m
CONFIG_WIZNET_W5100_SPI=m
CONFIG_WIZNET_W5300=m
+CONFIG_WKUP_M3_RPROC=m
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
CONFIG_WL1251_SPI=m
@@ -7292,4 +7470,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-armv7hl-lpae-fedora.config b/kernel-armv7hl-lpae-fedora.config
index 7082d45d3..73bb515c0 100644
--- a/kernel-armv7hl-lpae-fedora.config
+++ b/kernel-armv7hl-lpae-fedora.config
@@ -73,6 +73,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -114,6 +115,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -167,13 +169,14 @@ CONFIG_ALTERA_STAPL=m
CONFIG_ALTERA_TSE=m
CONFIG_ALX=m
# CONFIG_AM2315 is not set
-# CONFIG_AM335X_PHY_USB is not set
+CONFIG_AM335X_PHY_USB=m
CONFIG_AMBA_PL08X=y
CONFIG_AMD8111_ETH=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
# CONFIG_AMD_XGBE_DCB is not set
CONFIG_AMIGA_PARTITION=y
+CONFIG_AMLOGIC_THERMAL=m
# CONFIG_ANDROID is not set
# CONFIG_APDS9300 is not set
CONFIG_APDS9802ALS=m
@@ -232,6 +235,7 @@ CONFIG_ARCH_MVEBU=y
# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_NPCM is not set
# CONFIG_ARCH_OMAP1 is not set
+# CONFIG_ARCH_OMAP2PLUS_TYPICAL is not set
# CONFIG_ARCH_OMAP3 is not set
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_ARCH_PXA is not set
@@ -241,6 +245,7 @@ CONFIG_ARCH_MVEBU=y
# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_ROCKCHIP=y
# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_S32 is not set
# CONFIG_ARCH_S3C24XX is not set
# CONFIG_ARCH_S5PV210 is not set
# CONFIG_ARCH_SA1100 is not set
@@ -285,7 +290,6 @@ CONFIG_ARM_ARMADA_37XX_CPUFREQ=m
# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set
CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
CONFIG_ARM_BIG_LITTLE_CPUIDLE=y
CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CCI5xx_PMU=y
@@ -332,6 +336,7 @@ CONFIG_ARM_LPAE=y
CONFIG_ARM_MHU=m
# CONFIG_ARM_MODULE_PLTS is not set
CONFIG_ARM_MVEBU_V7_CPUIDLE=y
+# CONFIG_ARM_OMAP2PLUS_CPUFREQ is not set
CONFIG_ARM_PATCH_IDIV=y
CONFIG_ARM_PL172_MPMC=m
CONFIG_ARM_PMU=y
@@ -358,6 +363,7 @@ CONFIG_ARM_TEGRA124_CPUFREQ=y
CONFIG_ARM_TEGRA_DEVFREQ=m
CONFIG_ARM_THUMBEE=y
CONFIG_ARM_THUMB=y
+CONFIG_ARM_TI_CPUFREQ=y
CONFIG_ARM_TIMER_SP804=y
CONFIG_ARM_UNWIND=y
CONFIG_ARM_VEXPRESS_SPC_CPUFREQ=m
@@ -504,8 +510,8 @@ CONFIG_BACKLIGHT_GPIO=m
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -538,6 +544,7 @@ CONFIG_BAYCOM_SER_HDX=m
# CONFIG_BCACHE_CLOSURES_DEBUG is not set
# CONFIG_BCACHE_DEBUG is not set
CONFIG_BCACHE=m
+CONFIG_BCM2711_THERMAL=m
CONFIG_BCM2835_MBOX=y
CONFIG_BCM2835_POWER=y
CONFIG_BCM2835_THERMAL=m
@@ -702,7 +709,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -813,7 +820,7 @@ CONFIG_CAN_SLCAN=m
CONFIG_CAN_SOFTING=m
CONFIG_CAN_SUN4I=m
# CONFIG_CAN_TI_HECC is not set
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAN_XILINXCAN=m
@@ -967,6 +974,7 @@ CONFIG_CNIC=m
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
CONFIG_COMMON_CLK_MAX77686=y
# CONFIG_COMMON_CLK_MAX9485 is not set
+CONFIG_COMMON_CLK_PALMAS=m
CONFIG_COMMON_CLK_PWM=m
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_S2MPS11=m
@@ -977,11 +985,13 @@ CONFIG_COMMON_CLK_SCPI=m
CONFIG_COMMON_CLK_SI5351=m
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_TI_ADPLL is not set
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VERSATILE=y
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMMON_CLK=y
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
@@ -989,6 +999,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_CORESIGHT is not set
@@ -1020,7 +1031,7 @@ CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
# CONFIG_CPU_SW_DOMAIN_PAN is not set
@@ -1050,6 +1061,7 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC=m
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SPI=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_EC_VBC=m
@@ -1069,7 +1081,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -1090,8 +1103,13 @@ CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
+CONFIG_CRYPTO_CURVE25519_NEON=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DEV_ALLWINNER=y
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set
+CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -1118,6 +1136,10 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
CONFIG_CRYPTO_DEV_MARVELL_CESA=m
# CONFIG_CRYPTO_DEV_MXS_DCP is not set
# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+# CONFIG_CRYPTO_DEV_OMAP_AES is not set
+CONFIG_CRYPTO_DEV_OMAP_DES=m
+CONFIG_CRYPTO_DEV_OMAP=m
+CONFIG_CRYPTO_DEV_OMAP_SHAM=m
CONFIG_CRYPTO_DEV_QCOM_RNG=m
CONFIG_CRYPTO_DEV_ROCKCHIP=m
CONFIG_CRYPTO_DEV_S5P=m
@@ -1129,6 +1151,10 @@ CONFIG_CRYPTO_DEV_STM32_CRYP=m
CONFIG_CRYPTO_DEV_STM32_HASH=m
CONFIG_CRYPTO_DEV_SUN4I_SS=m
CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y
+# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
+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_DH=y
CONFIG_CRYPTO_DRBG_CTR=y
@@ -1149,6 +1175,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1164,6 +1195,7 @@ CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_OFB=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_POLY1305_ARM=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=m
@@ -1221,7 +1253,7 @@ CONFIG_DAVICOM_PHY=m
CONFIG_DAVINCI_WATCHDOG=m
CONFIG_DAX=y
CONFIG_DCB=y
-# CONFIG_DDR is not set
+CONFIG_DDR=y
CONFIG_DE2104X_DSL=0
CONFIG_DE2104X=m
CONFIG_DE4X5=m
@@ -1297,6 +1329,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEPRECATED_PARAM_STRUCT is not set
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_DEV_APPLETALK is not set
+CONFIG_DEV_DAX_HMEM=m
# CONFIG_DEV_DAX_KMEM is not set
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP=m
@@ -1330,6 +1363,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
CONFIG_DMA_OF=y
+CONFIG_DMA_OMAP=m
# CONFIG_DMARD06 is not set
# CONFIG_DMARD09 is not set
CONFIG_DMARD10=m
@@ -1379,12 +1413,15 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
+CONFIG_DRA752_THERMAL=y
CONFIG_DRAGONRISE_FF=y
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1441,6 +1478,7 @@ CONFIG_DRM_I2C_CH7006=m
# CONFIG_DRM_I2C_NXP_TDA998X is not set
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_IMX is not set
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
CONFIG_DRM_KOMEDA=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LIMA=m
@@ -1458,8 +1496,14 @@ CONFIG_DRM_MSM_DSI_10NM_PHY=y
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
CONFIG_DRM_NXP_PTN3460=m
-# CONFIG_DRM_OMAP is not set
+CONFIG_DRM_OMAP_CONNECTOR_ANALOG_TV=m
+CONFIG_DRM_OMAP_CONNECTOR_HDMI=m
+CONFIG_DRM_OMAP_ENCODER_OPA362=m
+CONFIG_DRM_OMAP_ENCODER_TPD12S015=m
+CONFIG_DRM_OMAP=m
+CONFIG_DRM_OMAP_PANEL_DSI_CM=m
CONFIG_DRM_PANEL_ARM_VERSATILE=m
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
@@ -1537,7 +1581,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TVE200=m
CONFIG_DRM_UDL=m
-# CONFIG_DRM_V3D is not set
+CONFIG_DRM_V3D=m
# CONFIG_DRM_VBOXVIDEO is not set
CONFIG_DRM_VC4_HDMI_CEC=y
CONFIG_DRM_VC4=m
@@ -1684,6 +1728,7 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
@@ -1703,7 +1748,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1728,14 +1779,15 @@ CONFIG_EXTCON_AXP288=m
CONFIG_EXTCON_GPIO=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
+CONFIG_EXTCON_PALMAS=m
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USBC_CROS_EC=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON=y
CONFIG_EXTRA_FIRMWARE=""
+CONFIG_EXYNOS5422_DMC=m
CONFIG_EXYNOS_ADC=m
CONFIG_EXYNOS_AUDSS_CLK_CON=m
# CONFIG_EXYNOS_IOMMU_DEBUG is not set
@@ -1867,16 +1919,17 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_IMX8_DDR_PMU is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
+CONFIG_FSL_RCPM=y
# CONFIG_FSL_XGMAC_MDIO is not set
CONFIG_FS_MBCACHE=y
CONFIG_FSNOTIFY=y
@@ -1902,12 +1955,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1978,13 +2034,15 @@ CONFIG_GPIO_MC33880=m
CONFIG_GPIO_MOXTET=m
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
+CONFIG_GPIO_OMAP=y
+CONFIG_GPIO_PALMAS=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
CONFIG_GPIO_PCI_IDIO_16=m
-# CONFIG_GPIO_PISOSR is not set
+CONFIG_GPIO_PISOSR=m
CONFIG_GPIO_PL061=y
CONFIG_GPIO_RASPBERRYPI_EXP=m
# CONFIG_GPIO_RDC321X is not set
@@ -2028,9 +2086,8 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HD44780=m
CONFIG_HDC100X=m
-CONFIG_HEADERS_CHECK=y
+CONFIG_HDQ_MASTER_OMAP=m
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
# CONFIG_HERMES is not set
CONFIG_HERMES_PRISM=y
@@ -2199,6 +2256,7 @@ CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_STM32 is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2268,6 +2326,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
CONFIG_I2C_NVIDIA_GPU=m
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PIIX4 is not set
@@ -2425,7 +2484,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2486,7 +2544,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2500,6 +2557,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSE=y
# CONFIG_INPUT_MSM_VIBRATOR is not set
+CONFIG_INPUT_PALMAS_PWRBUTTON=m
# CONFIG_INPUT_PCF8574 is not set
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_PM8XXX_VIBRATOR=m
@@ -2532,6 +2590,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_XWAY_PHY=m
# CONFIG_INTERCONNECT is not set
+# CONFIG_INTERCONNECT_QCOM_MSM8974 is not set
# CONFIG_INTERCONNECT_QCOM_QCS404 is not set
# CONFIG_INTERVAL_TREE_TEST is not set
CONFIG_INV_MPU6050_I2C=m
@@ -2831,7 +2890,6 @@ CONFIG_KARMA_PARTITION=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2852,6 +2910,7 @@ CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_IMX is not set
+CONFIG_KEYBOARD_IMX_SC_KEY=m
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
@@ -2902,6 +2961,7 @@ CONFIG_KS8851=m
CONFIG_KS8851_MLL=m
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KUSER_HELPERS=y
CONFIG_KVM_ARM_HOST=y
CONFIG_KVM=y
@@ -2946,6 +3006,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
CONFIG_LEDS_DAC124S085=m
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3065,6 +3126,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3293,7 +3355,8 @@ CONFIG_MFD_MAX8997=y
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_NVEC is not set
-# CONFIG_MFD_PALMAS is not set
+# CONFIG_MFD_OMAP_USB_HOST is not set
+CONFIG_MFD_PALMAS=y
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_PM8XXX is not set
# CONFIG_MFD_RC5T583 is not set
@@ -3322,7 +3385,7 @@ CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TC3589X is not set
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MFD_TC6393XB is not set
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
+CONFIG_MFD_TI_AM335X_TSCADC=m
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TI_LP87565 is not set
@@ -3426,6 +3489,7 @@ CONFIG_MMC_MESON_MX_SDIO=m
CONFIG_MMC_MVSDIO=m
# CONFIG_MMC_MXC is not set
CONFIG_MMC_OMAP_HS=m
+CONFIG_MMC_OMAP=m
CONFIG_MMC_REALTEK_PCI=m
CONFIG_MMC_REALTEK_USB=m
CONFIG_MMC_RICOH_MMC=y
@@ -3437,6 +3501,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI_IPROC=m
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
CONFIG_MMC_SDHCI_OF_ARASAN=m
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3516,6 +3581,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
# CONFIG_MSM_GCC_8994 is not set
# CONFIG_MSM_GCC_8998 is not set
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3550,13 +3616,13 @@ CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
# CONFIG_MTD_LPDDR2_NVM is not set
# CONFIG_MTD_LPDDR is not set
CONFIG_MTD=m
-CONFIG_MTD_M25P80=m
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_CS553X is not set
CONFIG_MTD_NAND_DAVINCI=m
@@ -3646,6 +3712,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
CONFIG_NEON=y
# CONFIG_NET_9P_DEBUG is not set
@@ -3702,6 +3769,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3715,6 +3783,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3989,6 +4058,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -4156,8 +4226,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -4174,6 +4244,7 @@ CONFIG_NS83820=m
# CONFIG_NTFS_FS is not set
CONFIG_NULL_TTY=m
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
CONFIG_NVMEM_IMX_IIM=m
CONFIG_NVMEM_IMX_OCOTP=m
# CONFIG_NVMEM_REBOOT_MODE is not set
@@ -4217,9 +4288,33 @@ CONFIG_OF_RESERVED_MEM=y
CONFIG_OF_RESOLVE=y
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+# CONFIG_OMAP2_DSS_DEBUGFS is not set
+# CONFIG_OMAP2_DSS_DEBUG is not set
+CONFIG_OMAP2_DSS_DPI=y
+CONFIG_OMAP2_DSS_DSI=y
+CONFIG_OMAP2_DSS=m
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+CONFIG_OMAP2_DSS_SDI=y
+CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
+CONFIG_OMAP2_DSS_VENC=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_32K_TIMER=y
# CONFIG_OMAP3_THERMAL is not set
-CONFIG_OMAP4_DSS_HDMI_CEC=y
+# CONFIG_OMAP4_DSS_HDMI is not set
+# CONFIG_OMAP5_DSS_HDMI is not set
+CONFIG_OMAP5_ERRATA_801819=y
+CONFIG_OMAP5_THERMAL=y
+CONFIG_OMAP_CONTROL_PHY=m
# CONFIG_OMAP_GPMC_DEBUG is not set
+CONFIG_OMAP_GPMC=y
+# CONFIG_OMAP_IOMMU_DEBUG is not set
+CONFIG_OMAP_IOMMU=y
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_OCP2SCP=m
+CONFIG_OMAP_REMOTEPROC=m
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_USB2=m
+CONFIG_OMAP_WATCHDOG=m
# CONFIG_OMFS_FS is not set
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_OPENVSWITCH_GRE=m
@@ -4253,6 +4348,7 @@ CONFIG_PACKING=y
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_POISONING is not set
+CONFIG_PALMAS_GPADC=m
# CONFIG_PANEL_CHANGE_MESSAGE is not set
# CONFIG_PANEL is not set
# CONFIG_PANIC_ON_OOPS is not set
@@ -4319,18 +4415,21 @@ CONFIG_PCCARD=y
# CONFIG_PCH_GBE is not set
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DRA7XX_HOST is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
# CONFIG_PCIE_ARMADA_8K is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
CONFIG_PCIEASPM=y
+CONFIG_PCIE_BRCMSTB=m
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_PLAT_EP=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_PLAT_HOST=y
@@ -4396,6 +4495,7 @@ CONFIG_PHY_CADENCE_DPHY=m
CONFIG_PHY_CADENCE_DP=m
CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_DM816X_USB is not set
CONFIG_PHY_EXYNOS5250_SATA=m
CONFIG_PHY_EXYNOS5_USBDRD=m
CONFIG_PHY_EXYNOS_DP_VIDEO=m
@@ -4411,6 +4511,7 @@ CONFIG_PHY_MESON_G12A_USB3_PCIE=m
# CONFIG_PHY_MESON_GXL_USB2 is not set
CONFIG_PHY_MESON_GXL_USB3=m
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
+CONFIG_PHY_MMP3_USB=m
# CONFIG_PHY_MVEBU_A3700_COMPHY is not set
# CONFIG_PHY_MVEBU_A3700_UTMI is not set
CONFIG_PHY_MVEBU_A38X_COMPHY=m
@@ -4427,6 +4528,7 @@ CONFIG_PHY_QCOM_UFS=m
# CONFIG_PHY_QCOM_USB_HS is not set
CONFIG_PHY_ROCKCHIP_DP=m
CONFIG_PHY_ROCKCHIP_EMMC=m
+CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m
CONFIG_PHY_ROCKCHIP_INNO_HDMI=m
CONFIG_PHY_ROCKCHIP_INNO_USB2=m
# CONFIG_PHY_ROCKCHIP_PCIE is not set
@@ -4435,9 +4537,11 @@ CONFIG_PHY_ROCKCHIP_USB=m
CONFIG_PHY_SAMSUNG_USB2=m
CONFIG_PHY_STM32_USBPHYC=m
CONFIG_PHY_SUN4I_USB=m
+CONFIG_PHY_SUN50I_USB3=m
CONFIG_PHY_SUN6I_MIPI_DPHY=m
CONFIG_PHY_SUN9I_USB=m
CONFIG_PHY_TEGRA_XUSB=m
+CONFIG_PHY_TI_GMII_SEL=m
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
# CONFIG_PID_IN_CONTEXTIDR is not set
@@ -4454,6 +4558,7 @@ CONFIG_PINCTRL_AXP209=m
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
CONFIG_PINCTRL_DOVE=y
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_IPQ4019 is not set
# CONFIG_PINCTRL_IPQ8064 is not set
@@ -4462,11 +4567,13 @@ CONFIG_PINCTRL_DOVE=y
# CONFIG_PINCTRL_MDM9615 is not set
# CONFIG_PINCTRL_MESON8B is not set
# CONFIG_PINCTRL_MESON8 is not set
+# CONFIG_PINCTRL_MSM8976 is not set
# CONFIG_PINCTRL_MSM8994 is not set
# CONFIG_PINCTRL_MSM8996 is not set
CONFIG_PINCTRL_MSM8998=m
CONFIG_PINCTRL_MVEBU=y
# CONFIG_PINCTRL_OCELOT is not set
+CONFIG_PINCTRL_PALMAS=y
# CONFIG_PINCTRL_QCS404 is not set
CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_SAMSUNG=y
@@ -4617,6 +4724,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4628,16 +4736,18 @@ CONFIG_PWM_HIBVT=m
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
CONFIG_PWM_MESON=m
+# CONFIG_PWM_OMAP_DMTIMER is not set
CONFIG_PWM_PCA9685=m
CONFIG_PWM_ROCKCHIP=m
CONFIG_PWM_SAMSUNG=m
# CONFIG_PWM_STM32 is not set
# CONFIG_PWM_STM32_LP is not set
-# CONFIG_PWM_STMPE is not set
+CONFIG_PWM_STMPE=y
CONFIG_PWM_SUN4I=m
CONFIG_PWM_SYSFS=y
CONFIG_PWM_TEGRA=y
CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
CONFIG_PWM=y
CONFIG_PWRSEQ_EMMC=y
CONFIG_PWRSEQ_SD8787=m
@@ -4658,6 +4768,7 @@ CONFIG_QCOM_HFPLL=m
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_LLCC is not set
+CONFIG_QCOM_OCMEM=m
CONFIG_QCOM_PDC=y
CONFIG_QCOM_PM8XXX_XOADC=m
CONFIG_QCOM_RMTFS_MEM=m
@@ -4665,6 +4776,7 @@ CONFIG_QCOM_RMTFS_MEM=m
CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCS_GCC_404=m
+# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4762,7 +4874,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
@@ -4800,6 +4911,8 @@ CONFIG_REGULATOR_MAX8973=m
CONFIG_REGULATOR_MAX8997=m
# CONFIG_REGULATOR_MCP16502 is not set
# CONFIG_REGULATOR_MT6311 is not set
+CONFIG_REGULATOR_PALMAS=y
+CONFIG_REGULATOR_PBIAS=m
CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
@@ -4816,6 +4929,7 @@ CONFIG_REGULATOR_STM32_VREFBUF=m
CONFIG_REGULATOR_STPMIC1=m
CONFIG_REGULATOR_SY8106A=m
# CONFIG_REGULATOR_SY8824X is not set
+CONFIG_REGULATOR_TI_ABB=m
CONFIG_REGULATOR_TPS51632=m
CONFIG_REGULATOR_TPS62360=m
CONFIG_REGULATOR_TPS65023=m
@@ -4886,6 +5000,7 @@ CONFIG_ROCKCHIP_IODOMAIN=m
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ROCKCHIP_LVDS=y
CONFIG_ROCKCHIP_MBOX=y
+CONFIG_ROCKCHIP_OTP=m
CONFIG_ROCKCHIP_PHY=m
CONFIG_ROCKCHIP_PM_DOMAINS=y
CONFIG_ROCKCHIP_RGB=y
@@ -4998,6 +5113,8 @@ CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_MV=m
# CONFIG_RTC_DRV_MXC is not set
# CONFIG_RTC_DRV_MXC_V2 is not set
+CONFIG_RTC_DRV_OMAP=m
+CONFIG_RTC_DRV_PALMAS=m
CONFIG_RTC_DRV_PCF2123=m
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_PCF85063=m
@@ -5111,6 +5228,7 @@ CONFIG_SBP_TARGET=m
# CONFIG_SC1200_WDT is not set
CONFIG_SC92031=m
# CONFIG_SCA3000 is not set
+# CONFIG_SC_GCC_7180 is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHED_MC_PRIO is not set
@@ -5283,6 +5401,7 @@ CONFIG_SENSORS_ARM_SCPI=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -5341,6 +5460,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_LTC2990=m
@@ -5408,6 +5529,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5445,6 +5567,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_MID is not set
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_RT288X=y
@@ -5482,6 +5606,7 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y
CONFIG_SERIAL_MVEBU_UART=y
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_SERIAL_OF_PLATFORM=y
+# CONFIG_SERIAL_OMAP is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_SERIAL_RP2 is not set
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
@@ -5516,6 +5641,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5645,7 +5771,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -5725,6 +5850,8 @@ CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU1977_I2C=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5738,7 +5865,7 @@ CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
-CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631=m
+CONFIG_SND_SOC_ARNDALE=m
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -5776,6 +5903,7 @@ CONFIG_SND_SOC_FSL_ASRC=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
CONFIG_SND_SOC_FSL_ESAI=m
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_SSI=m
@@ -5811,6 +5939,11 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_NAU8822 is not set
CONFIG_SND_SOC_NAU8824=m
CONFIG_SND_SOC_ODROID=m
+CONFIG_SND_SOC_OMAP_ABE_TWL6040=m
+CONFIG_SND_SOC_OMAP_DMIC=m
+CONFIG_SND_SOC_OMAP_HDMI=m
+CONFIG_SND_SOC_OMAP_MCBSP=m
+CONFIG_SND_SOC_OMAP_MCPDM=m
# CONFIG_SND_SOC_PCM1681 is not set
CONFIG_SND_SOC_PCM1789_I2C=m
# CONFIG_SND_SOC_PCM179X_I2C is not set
@@ -5867,6 +6000,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STM32_SAI is not set
# CONFIG_SND_SOC_STM32_SPDIFRX is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5962,18 +6097,20 @@ CONFIG_SND_VX222=m
# CONFIG_SND_XEN_FRONTEND is not set
CONFIG_SND_YMFPCI=m
# CONFIG_SOC_AM33XX is not set
-# CONFIG_SOC_AM43XX is not set
+CONFIG_SOC_AM43XX=y
# CONFIG_SOC_BRCMSTB is not set
# CONFIG_SOC_CAMERA is not set
-# CONFIG_SOC_DRA7XX is not set
+CONFIG_SOC_DRA7XX=y
CONFIG_SOC_EXYNOS3250=y
CONFIG_SOC_EXYNOS5250=y
CONFIG_SOC_EXYNOS5260=y
CONFIG_SOC_EXYNOS5410=y
CONFIG_SOC_EXYNOS5420=y
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_OMAP5 is not set
+CONFIG_SOC_OMAP5=y
CONFIG_SOC_TEGRA_FLOWCTRL=y
# CONFIG_SOC_TI is not set
CONFIG_SOFTLOCKUP_DETECTOR=y
@@ -5984,6 +6121,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPEAKUP is not set
@@ -6018,6 +6156,7 @@ CONFIG_SPI_MESON_SPIFC=m
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_ORION=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6034,6 +6173,7 @@ CONFIG_SPI_SUN6I=m
CONFIG_SPI_TEGRA114=m
# CONFIG_SPI_TEGRA20_SFLASH is not set
# CONFIG_SPI_TEGRA20_SLINK is not set
+CONFIG_SPI_TI_QSPI=m
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_TOPCLIFF_PCH is not set
# CONFIG_SPI_XCOMM is not set
@@ -6105,7 +6245,7 @@ CONFIG_STMMAC_ETH=m
# CONFIG_STMMAC_PCI is not set
CONFIG_STMMAC_PLATFORM=m
# CONFIG_STMMAC_SELFTESTS is not set
-# CONFIG_STMPE_ADC is not set
+CONFIG_STMPE_ADC=m
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
CONFIG_STPMIC1_WATCHDOG=m
@@ -6154,6 +6294,7 @@ CONFIG_SWAP=y
CONFIG_SWP_EMULATE=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -6196,6 +6337,7 @@ CONFIG_TCG_NSC=m
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -6233,6 +6375,7 @@ CONFIG_TCS3472=m
CONFIG_TEE=m
CONFIG_TEGRA124_EMC=y
CONFIG_TEGRA20_APB_DMA=y
+CONFIG_TEGRA30_EMC=y
CONFIG_TEGRA_AHB=y
# CONFIG_TEGRA_BPMP is not set
CONFIG_TEGRA_GMI=m
@@ -6302,7 +6445,7 @@ CONFIG_THERMAL=y
CONFIG_THRUSTMASTER_FF=y
# CONFIG_THUMB2_KERNEL is not set
# CONFIG_THUNDERBOLT is not set
-# CONFIG_TI_ADC081C is not set
+CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC0832 is not set
# CONFIG_TI_ADC084S021 is not set
# CONFIG_TI_ADC108S102 is not set
@@ -6315,14 +6458,24 @@ CONFIG_TI_ADS1015=m
CONFIG_TI_ADS8344=m
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AEMIF=m
-CONFIG_TICK_CPU_ACCOUNTING=y
+CONFIG_TI_AM335X_ADC=m
+# CONFIG_TICK_CPU_ACCOUNTING is not set
+CONFIG_TI_CPPI41=m
+CONFIG_TI_CPSW=m
# CONFIG_TI_CPSW_PHY_SEL is not set
+CONFIG_TI_CPSW_SWITCHDEV=m
+CONFIG_TI_CPTS_MOD=m
+CONFIG_TI_CPTS=y
# CONFIG_TI_DAC082S085 is not set
# CONFIG_TI_DAC5571 is not set
CONFIG_TI_DAC7311=m
# CONFIG_TI_DAC7612 is not set
+CONFIG_TI_DAVINCI_EMAC=m
CONFIG_TI_DAVINCI_MDIO=m
CONFIG_TI_EDMA=y
+CONFIG_TI_EMIF=m
+CONFIG_TI_EMIF_SRAM=m
+CONFIG_TI_EQEP=m
CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
@@ -6335,10 +6488,13 @@ CONFIG_TINYDRM_MI0283QT=m
CONFIG_TINYDRM_REPAPER=m
CONFIG_TINYDRM_ST7586=m
CONFIG_TINYDRM_ST7735R=m
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PIPE3=m
+CONFIG_TI_PWMSS=y
# CONFIG_TI_SCI_CLK is not set
CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TI_SOC_THERMAL=m
@@ -6348,6 +6504,7 @@ CONFIG_TI_THERMAL=y
# CONFIG_TLAN is not set
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
CONFIG_TMP006=m
# CONFIG_TMP007 is not set
@@ -6355,6 +6512,7 @@ CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TOUCHSCREEN_AD7877=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
# CONFIG_TOUCHSCREEN_AD7879 is not set
CONFIG_TOUCHSCREEN_ADC=m
CONFIG_TOUCHSCREEN_ADS7846=m
@@ -6436,6 +6594,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -6471,6 +6630,7 @@ CONFIG_TURRIS_MOX_RWTM=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6591,12 +6751,14 @@ CONFIG_USB_DWC3_KEYSTONE=m
CONFIG_USB_DWC3=m
CONFIG_USB_DWC3_MESON_G12A=m
CONFIG_USB_DWC3_OF_SIMPLE=m
+CONFIG_USB_DWC3_OMAP=m
CONFIG_USB_DWC3_PCI=m
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EG20T is not set
CONFIG_USB_EHCI_EXYNOS=m
# CONFIG_USB_EHCI_FSL is not set
+CONFIG_USB_EHCI_HCD_OMAP=m
CONFIG_USB_EHCI_HCD_ORION=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
CONFIG_USB_EHCI_HCD=y
@@ -6693,6 +6855,7 @@ CONFIG_USB_HSO=m
CONFIG_USB_HUB_USB251XB=m
# CONFIG_USB_HWA_HCD is not set
CONFIG_USB_IDMOUSE=m
+CONFIG_USB_INVENTRA_DMA=y
CONFIG_USB_IOWARRIOR=m
CONFIG_USBIP_CORE=m
# CONFIG_USBIP_DEBUG is not set
@@ -6729,11 +6892,14 @@ CONFIG_USB_MICROTEK=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_USB_MON=y
CONFIG_USB_MR800=m
+CONFIG_USB_MUSB_AM335X_CHILD=m
+CONFIG_USB_MUSB_AM35X=m
CONFIG_USB_MUSB_DSPS=m
CONFIG_USB_MUSB_DUAL_ROLE=y
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_HDRC=m
# CONFIG_USB_MUSB_HOST is not set
+CONFIG_USB_MUSB_OMAP2PLUS=m
CONFIG_USB_MUSB_SUNXI=m
# CONFIG_USB_MUSB_TUSB6010 is not set
# CONFIG_USB_MV_U3D is not set
@@ -6768,6 +6934,7 @@ CONFIG_USB_NET_SR9700=m
CONFIG_USB_NET_ZAURUS=m
CONFIG_USB_OHCI_EXYNOS=m
CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_OMAP3 is not set
CONFIG_USB_OHCI_HCD_PCI=m
CONFIG_USB_OHCI_HCD_PLATFORM=m
# CONFIG_USB_OHCI_HCD_SSB is not set
@@ -6879,7 +7046,9 @@ CONFIG_USB_STORAGE_USBAT=m
CONFIG_USB_STV06XX=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_TEGRA_PHY=m
+CONFIG_USB_TEGRA_XUDC=m
# CONFIG_USB_TEST is not set
+CONFIG_USB_TI_CPPI41_DMA=y
CONFIG_USB_TMC=m
CONFIG_USB_TRANCEVIBRATOR=m
# CONFIG_USB_U132_HCD is not set
@@ -6928,6 +7097,7 @@ CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
CONFIG_VDSO=y
+CONFIG_VEML6030=m
CONFIG_VEML6070=m
CONFIG_VETH=m
CONFIG_VEXPRESS_SYSCFG=y
@@ -6961,6 +7131,7 @@ CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_VELOCITY=m
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_ALLEGRO_DVT is not set
+CONFIG_VIDEO_AM437X_VPFE=m
# CONFIG_VIDEO_ASPEED is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_AU0828_RC is not set
@@ -7050,9 +7221,13 @@ CONFIG_VIDEO_STK1160=m
CONFIG_VIDEO_STM32_HDMI_CEC=m
CONFIG_VIDEO_SUN4I_CSI=m
CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_VIDEO_SUN8I_DEINTERLACE=m
CONFIG_VIDEO_SUNXI_CEDRUS=m
CONFIG_VIDEO_SUNXI=y
CONFIG_VIDEO_TEGRA_HDMI_CEC=m
+CONFIG_VIDEO_TI_CAL=m
+# CONFIG_VIDEO_TI_VPE_DEBUG is not set
+CONFIG_VIDEO_TI_VPE=m
CONFIG_VIDEO_TM6000_ALSA=m
CONFIG_VIDEO_TM6000_DVB=m
CONFIG_VIDEO_TM6000=m
@@ -7066,7 +7241,7 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
@@ -7129,6 +7304,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -7158,6 +7334,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -7175,6 +7352,7 @@ CONFIG_WIZNET_BUS_ANY=y
CONFIG_WIZNET_W5100=m
CONFIG_WIZNET_W5100_SPI=m
CONFIG_WIZNET_W5300=m
+CONFIG_WKUP_M3_RPROC=m
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
CONFIG_WL1251_SPI=m
@@ -7271,4 +7449,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-i686-debug-fedora.config b/kernel-i686-debug-fedora.config
index 14b461a9d..9cfceac7e 100644
--- a/kernel-i686-debug-fedora.config
+++ b/kernel-i686-debug-fedora.config
@@ -108,6 +108,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -149,6 +150,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -383,8 +385,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_OT200 is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -570,7 +572,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -623,6 +625,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
CONFIG_BUILD_SALT=""
CONFIG_BXT_WC_PMIC_OPREGION=y
+CONFIG_BYTCRC_PMIC_OPREGION=y
# CONFIG_C2PORT is not set
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set
@@ -674,7 +677,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -767,6 +770,7 @@ CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
# CONFIG_CHROMEOS_TBMC is not set
CONFIG_CHROME_PLATFORMS=y
+CONFIG_CHTCRC_PMIC_OPREGION=y
CONFIG_CHT_DC_TI_PMIC_OPREGION=y
CONFIG_CICADA_PHY=m
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
@@ -821,6 +825,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_COMPILE_TEST is not set
@@ -829,6 +834,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_CORTINA_PHY=m
@@ -856,7 +862,7 @@ CONFIG_CPU_IDLE_GOV_HALTPOLL=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
# CONFIG_CPU_THERMAL is not set
@@ -876,13 +882,13 @@ 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
# CONFIG_CROS_EC is not set
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
@@ -896,7 +902,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -915,8 +922,10 @@ CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
@@ -961,6 +970,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1123,6 +1137,7 @@ CONFIG_DELL_WMI_LED=m
CONFIG_DELL_WMI=m
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
# CONFIG_DEV_DAX_KMEM is not set
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
@@ -1194,6 +1209,7 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
@@ -1205,6 +1221,7 @@ CONFIG_DRM_AMD_DC_DCN1_0=y
CONFIG_DRM_AMD_DC_DCN2_0=y
CONFIG_DRM_AMD_DC_DCN2_1=y
CONFIG_DRM_AMD_DC_DSC_SUPPORT=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1474,6 +1491,7 @@ CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
CONFIG_EFI_RCI2_TABLE=y
CONFIG_EFI_RUNTIME_MAP=y
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_STUB=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
@@ -1494,7 +1512,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1519,7 +1543,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
@@ -1669,13 +1692,13 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1704,12 +1727,15 @@ CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUSION=y
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1827,9 +1853,7 @@ CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
CONFIG_HDMI_LPE_AUDIO=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -2016,6 +2040,7 @@ CONFIG_HYPERV_KEYBOARD=m
CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
+# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
@@ -2214,7 +2239,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2274,7 +2298,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2657,7 +2680,6 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2723,6 +2745,7 @@ CONFIG_KS0108_PORT=0x378
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM_AMD=m
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_KVM_GUEST=y
@@ -2769,6 +2792,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
@@ -2887,6 +2911,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -2894,6 +2919,7 @@ CONFIG_LWTUNNEL_BPF=y
CONFIG_LWTUNNEL=y
CONFIG_LXT_PHY=m
# CONFIG_M486 is not set
+# CONFIG_M486SX is not set
# CONFIG_M586 is not set
# CONFIG_M586MMX is not set
# CONFIG_M586TSC is not set
@@ -3219,6 +3245,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3299,6 +3326,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3331,6 +3359,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3405,6 +3434,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET5501 is not set
# CONFIG_NET_9P_DEBUG is not set
@@ -3461,6 +3491,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3474,6 +3505,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3749,6 +3781,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3938,6 +3971,7 @@ CONFIG_NSC_GPIO=m
CONFIG_NULL_TTY=m
# CONFIG_NUMA is not set
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -4082,7 +4116,6 @@ CONFIG_PCI_DIRECT=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -4090,6 +4123,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -4179,6 +4213,7 @@ CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_DENVERTON=m
+CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -4213,6 +4248,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80_R is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4324,6 +4360,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4440,7 +4477,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4891,6 +4927,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
@@ -4957,6 +4994,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -5023,6 +5062,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5109,7 +5149,8 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
-CONFIG_SFI=y
+# CONFIG_SFI is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5232,7 +5273,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
@@ -5299,6 +5339,8 @@ CONFIG_SND_SOC_AC97_CODEC=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5312,7 +5354,6 @@ CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -5347,6 +5388,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5468,6 +5510,8 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5664,6 +5708,7 @@ CONFIG_SUSPEND=y
CONFIG_SWAP=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5673,6 +5718,7 @@ CONFIG_SYN_COOKIES=y
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_SYSTEM76_ACPI=m
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
@@ -5705,6 +5751,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5831,6 +5878,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5841,6 +5889,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5904,7 +5953,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
CONFIG_TOUCHSCREEN_SURFACE3_SPI=m
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5931,6 +5979,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TQMX86_WDT=m
CONFIG_TRACE_EVAL_MAP_FILE=y
+CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -5964,6 +6013,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6356,6 +6406,7 @@ CONFIG_VALIDATE_FS_PARSER=y
CONFIG_VBOXGUEST=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6532,6 +6583,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6561,6 +6613,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6641,6 +6694,7 @@ CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+CONFIG_X86_IOPL_IOPERM=y
# CONFIG_X86_LEGACY_VM86 is not set
# CONFIG_X86_LONGHAUL is not set
CONFIG_X86_LONGRUN=y
@@ -6764,4 +6818,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-i686-fedora.config b/kernel-i686-fedora.config
index 8626e2144..6a4f6148c 100644
--- a/kernel-i686-fedora.config
+++ b/kernel-i686-fedora.config
@@ -108,6 +108,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -149,6 +150,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -382,8 +384,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_OT200 is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -569,7 +571,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -622,6 +624,7 @@ CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
CONFIG_BUILD_SALT=""
CONFIG_BXT_WC_PMIC_OPREGION=y
+CONFIG_BYTCRC_PMIC_OPREGION=y
# CONFIG_C2PORT is not set
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set
@@ -673,7 +676,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -766,6 +769,7 @@ CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
# CONFIG_CHROMEOS_TBMC is not set
CONFIG_CHROME_PLATFORMS=y
+CONFIG_CHTCRC_PMIC_OPREGION=y
CONFIG_CHT_DC_TI_PMIC_OPREGION=y
CONFIG_CICADA_PHY=m
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
@@ -820,6 +824,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_COMPILE_TEST is not set
@@ -828,6 +833,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_CORTINA_PHY=m
@@ -855,7 +861,7 @@ CONFIG_CPU_IDLE_GOV_HALTPOLL=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
# CONFIG_CPU_THERMAL is not set
@@ -875,13 +881,13 @@ 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
# CONFIG_CROS_EC is not set
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
@@ -895,7 +901,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -914,8 +921,10 @@ CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
@@ -960,6 +969,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1115,6 +1129,7 @@ CONFIG_DELL_WMI_LED=m
CONFIG_DELL_WMI=m
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
# CONFIG_DEV_DAX_KMEM is not set
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
@@ -1185,6 +1200,7 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
@@ -1196,6 +1212,7 @@ CONFIG_DRM_AMD_DC_DCN1_0=y
CONFIG_DRM_AMD_DC_DCN2_0=y
CONFIG_DRM_AMD_DC_DCN2_1=y
CONFIG_DRM_AMD_DC_DSC_SUPPORT=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1465,6 +1482,7 @@ CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
CONFIG_EFI_RCI2_TABLE=y
CONFIG_EFI_RUNTIME_MAP=y
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_STUB=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
@@ -1485,7 +1503,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1510,7 +1534,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
@@ -1652,13 +1675,13 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1687,12 +1710,15 @@ CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUSION=y
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1810,9 +1836,7 @@ CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
CONFIG_HDMI_LPE_AUDIO=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -1999,6 +2023,7 @@ CONFIG_HYPERV_KEYBOARD=m
CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
+# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
@@ -2197,7 +2222,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2257,7 +2281,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2638,7 +2661,6 @@ CONFIG_KARMA_PARTITION=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2704,6 +2726,7 @@ CONFIG_KS0108_PORT=0x378
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM_AMD=m
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_KVM_GUEST=y
@@ -2750,6 +2773,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
@@ -2868,6 +2892,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -2875,6 +2900,7 @@ CONFIG_LWTUNNEL_BPF=y
CONFIG_LWTUNNEL=y
CONFIG_LXT_PHY=m
# CONFIG_M486 is not set
+# CONFIG_M486SX is not set
# CONFIG_M586 is not set
# CONFIG_M586MMX is not set
# CONFIG_M586TSC is not set
@@ -3200,6 +3226,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3280,6 +3307,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3312,6 +3340,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
CONFIG_MTD_NAND_CAFE=m
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3386,6 +3415,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET5501 is not set
# CONFIG_NET_9P_DEBUG is not set
@@ -3442,6 +3472,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3455,6 +3486,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3730,6 +3762,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3919,6 +3952,7 @@ CONFIG_NSC_GPIO=m
CONFIG_NULL_TTY=m
# CONFIG_NUMA is not set
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -4063,7 +4097,6 @@ CONFIG_PCI_DIRECT=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -4071,6 +4104,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -4160,6 +4194,7 @@ CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_DENVERTON=m
+CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -4194,6 +4229,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80_R is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4304,6 +4340,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4420,7 +4457,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4871,6 +4907,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
@@ -4937,6 +4974,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -5003,6 +5042,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5089,7 +5129,8 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
-CONFIG_SFI=y
+# CONFIG_SFI is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -5212,7 +5253,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
@@ -5278,6 +5318,8 @@ CONFIG_SND_SOC_AC97_CODEC=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5291,7 +5333,6 @@ CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -5326,6 +5367,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5447,6 +5489,8 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5643,6 +5687,7 @@ CONFIG_SUSPEND=y
CONFIG_SWAP=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5652,6 +5697,7 @@ CONFIG_SYN_COOKIES=y
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_SYSTEM76_ACPI=m
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
@@ -5684,6 +5730,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5810,6 +5857,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5820,6 +5868,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5883,7 +5932,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
CONFIG_TOUCHSCREEN_SURFACE3_SPI=m
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5910,6 +5958,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TQMX86_WDT=m
CONFIG_TRACE_EVAL_MAP_FILE=y
+# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -5943,6 +5992,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6335,6 +6385,7 @@ CONFIG_VALIDATE_FS_PARSER=y
CONFIG_VBOXGUEST=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6511,6 +6562,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6540,6 +6592,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6620,6 +6673,7 @@ CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+CONFIG_X86_IOPL_IOPERM=y
# CONFIG_X86_LEGACY_VM86 is not set
# CONFIG_X86_LONGHAUL is not set
CONFIG_X86_LONGRUN=y
@@ -6743,4 +6797,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-ppc64le-debug-fedora.config b/kernel-ppc64le-debug-fedora.config
index 74e306c42..fffc610e9 100644
--- a/kernel-ppc64le-debug-fedora.config
+++ b/kernel-ppc64le-debug-fedora.config
@@ -72,6 +72,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -113,6 +114,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -321,8 +323,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -508,7 +510,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -612,7 +614,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -760,6 +762,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
@@ -767,6 +770,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_CORTINA_PHY=m
@@ -793,7 +797,7 @@ CONFIG_CPU_FREQ=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
@@ -820,6 +824,7 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC is not set
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
@@ -832,7 +837,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -850,8 +856,10 @@ CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -890,6 +898,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1037,6 +1050,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_DEV_DAX=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
@@ -1047,6 +1061,7 @@ CONFIG_DEV_DAX_PMEM=m
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVFREQ_THERMAL is not set
+CONFIG_DEVICE_PRIVATE=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1108,12 +1123,14 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
CONFIG_DRAGONRISE_FF=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1154,6 +1171,7 @@ CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
@@ -1343,6 +1361,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
# CONFIG_EMBEDDED is not set
@@ -1356,7 +1375,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1380,7 +1405,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
@@ -1518,6 +1542,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+CONFIG_FSI_MASTER_ASPEED=m
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
@@ -1525,7 +1550,6 @@ CONFIG_FSI_OCC=m
CONFIG_FSI_SBEFIFO=m
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_LBC is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -1553,12 +1577,15 @@ CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUSION=y
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1662,9 +1689,7 @@ CONFIG_HAVE_BOOTMEM_INFO_NODE=y
# CONFIG_HCALL_STATS is not set
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -2022,7 +2047,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2082,7 +2106,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2417,7 +2440,6 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2476,6 +2498,7 @@ CONFIG_KPROBES=y
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM_BOOK3S_64_HV=m
CONFIG_KVM_BOOK3S_64=m
CONFIG_KVM_BOOK3S_64_PR=m
@@ -2521,6 +2544,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -2639,6 +2663,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -2956,6 +2981,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3029,6 +3055,7 @@ CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_BITMAP_SELFTEST=y
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3061,6 +3088,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3129,6 +3157,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
@@ -3184,6 +3213,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3197,6 +3227,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3470,6 +3501,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3637,8 +3669,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -3657,7 +3689,10 @@ 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_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -3782,7 +3817,6 @@ CONFIG_PCCARD=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -3790,6 +3824,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -3805,7 +3840,7 @@ CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
CONFIG_PCI_IOV=y
# CONFIG_PCI_MESON is not set
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
CONFIG_PCI_PASID=y
@@ -3861,6 +3896,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -3966,6 +4002,7 @@ CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_PPC_SVM=y
CONFIG_PPC_TRANSACTIONAL_MEM=y
+CONFIG_PPC_UV=y
CONFIG_PPC_VAS=y
CONFIG_PPC=y
CONFIG_PPDEV=m
@@ -4032,6 +4069,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4138,7 +4176,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4582,6 +4619,7 @@ CONFIG_SENSORS_APDS990X=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -4641,6 +4679,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -4707,6 +4747,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -4793,6 +4834,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -4801,7 +4843,6 @@ CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
-CONFIG_SIMPLE_GPIO=y
# CONFIG_SIMPLE_PM_BUS is not set
# CONFIG_SIOX is not set
CONFIG_SIS190=m
@@ -4915,7 +4956,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
@@ -4981,6 +5021,8 @@ CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -4993,7 +5035,6 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -5026,6 +5067,7 @@ CONFIG_SND_SOC_ES7134=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5093,6 +5135,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5175,6 +5219,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPAPR_TCE_IOMMU=y
CONFIG_SPARSE_IRQ=y
@@ -5282,6 +5327,7 @@ CONFIG_SWAP=y
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5322,6 +5368,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5441,6 +5488,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5451,6 +5499,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5509,7 +5558,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5535,6 +5583,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -5569,6 +5618,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -5962,6 +6012,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6063,8 +6114,8 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
-CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
+# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
@@ -6126,6 +6177,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6156,6 +6208,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6259,7 +6312,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
-# CONFIG_ZONE_DEVICE is not set
+CONFIG_ZONE_DEVICE=y
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
@@ -6269,4 +6322,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-ppc64le-fedora.config b/kernel-ppc64le-fedora.config
index c838f2377..8af4a2b3d 100644
--- a/kernel-ppc64le-fedora.config
+++ b/kernel-ppc64le-fedora.config
@@ -72,6 +72,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -113,6 +114,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -320,8 +322,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -507,7 +509,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -611,7 +613,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -759,6 +761,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPILE_TEST is not set
CONFIG_CONFIGFS_FS=y
@@ -766,6 +769,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_CORTINA_PHY=m
@@ -792,7 +796,7 @@ CONFIG_CPU_FREQ=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE=y
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
@@ -819,6 +823,7 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC is not set
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
@@ -831,7 +836,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -849,8 +855,10 @@ CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -889,6 +897,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1029,6 +1042,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_DEV_DAX=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
@@ -1039,6 +1053,7 @@ CONFIG_DEV_DAX_PMEM=m
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
# CONFIG_DEVFREQ_THERMAL is not set
+CONFIG_DEVICE_PRIVATE=y
# CONFIG_DEVKMEM is not set
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
@@ -1099,12 +1114,14 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
CONFIG_DRAGONRISE_FF=y
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1145,6 +1162,7 @@ CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
+# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
@@ -1334,6 +1352,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
# CONFIG_EMBEDDED is not set
@@ -1347,7 +1366,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1371,7 +1396,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
@@ -1501,6 +1525,7 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+CONFIG_FSI_MASTER_ASPEED=m
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
@@ -1508,7 +1533,6 @@ CONFIG_FSI_OCC=m
CONFIG_FSI_SBEFIFO=m
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_LBC is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
@@ -1536,12 +1560,15 @@ CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUSION=y
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1645,9 +1672,7 @@ CONFIG_HAVE_BOOTMEM_INFO_NODE=y
# CONFIG_HCALL_STATS is not set
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -2005,7 +2030,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2065,7 +2089,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2398,7 +2421,6 @@ CONFIG_KARMA_PARTITION=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2457,6 +2479,7 @@ CONFIG_KPROBES=y
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM_BOOK3S_64_HV=m
CONFIG_KVM_BOOK3S_64=m
CONFIG_KVM_BOOK3S_64_PR=m
@@ -2502,6 +2525,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -2620,6 +2644,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -2936,6 +2961,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3008,6 +3034,7 @@ CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_BITMAP_SELFTEST=y
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3040,6 +3067,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3108,6 +3136,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
@@ -3163,6 +3192,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3176,6 +3206,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3449,6 +3480,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3616,8 +3648,8 @@ CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NOA1305 is not set
-# CONFIG_NO_HZ_FULL is not set
-CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=y
+# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
CONFIG_NOP_USB_XCEIV=m
CONFIG_NORTEL_HERMES=m
@@ -3636,7 +3668,10 @@ 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_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -3761,7 +3796,6 @@ CONFIG_PCCARD=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -3769,6 +3803,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -3784,7 +3819,7 @@ CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
CONFIG_PCI_IOV=y
# CONFIG_PCI_MESON is not set
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
CONFIG_PCI_PASID=y
@@ -3840,6 +3875,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -3945,6 +3981,7 @@ CONFIG_PPC_SPLPAR=y
CONFIG_PPC_SUBPAGE_PROT=y
CONFIG_PPC_SVM=y
CONFIG_PPC_TRANSACTIONAL_MEM=y
+CONFIG_PPC_UV=y
CONFIG_PPC_VAS=y
CONFIG_PPC=y
CONFIG_PPDEV=m
@@ -4010,6 +4047,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4116,7 +4154,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4560,6 +4597,7 @@ CONFIG_SENSORS_APDS990X=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -4619,6 +4657,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -4685,6 +4725,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -4771,6 +4812,7 @@ CONFIG_SERIO=y
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
CONFIG_SGI_PARTITION=y
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -4779,7 +4821,6 @@ CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
# CONFIG_SI7005 is not set
# CONFIG_SI7020 is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
-CONFIG_SIMPLE_GPIO=y
# CONFIG_SIMPLE_PM_BUS is not set
# CONFIG_SIOX is not set
CONFIG_SIS190=m
@@ -4893,7 +4934,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
@@ -4958,6 +4998,8 @@ CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -4970,7 +5012,6 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -5003,6 +5044,7 @@ CONFIG_SND_SOC_ES7134=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5070,6 +5112,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5152,6 +5196,7 @@ CONFIG_SONY_FF=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPAPR_TCE_IOMMU=y
CONFIG_SPARSE_IRQ=y
@@ -5259,6 +5304,7 @@ CONFIG_SWAP=y
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5299,6 +5345,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5418,6 +5465,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5428,6 +5476,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5486,7 +5535,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5512,6 +5560,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -5546,6 +5595,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -5939,6 +5989,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6040,8 +6091,8 @@ CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2_SUBDEV_API=y
# CONFIG_VIDEO_XILINX is not set
# CONFIG_VIPERBOARD_ADC is not set
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
-CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
+# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_BLK=m
@@ -6103,6 +6154,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6133,6 +6185,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6236,7 +6289,7 @@ CONFIG_ZEROPLUS_FF=y
CONFIG_ZISOFS=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y
-# CONFIG_ZONE_DEVICE is not set
+CONFIG_ZONE_DEVICE=y
CONFIG_ZOPT2201=m
# CONFIG_ZPA2326 is not set
CONFIG_ZRAM=m
@@ -6246,4 +6299,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-s390x-debug-fedora.config b/kernel-s390x-debug-fedora.config
index 2dea8d38d..cb7b54839 100644
--- a/kernel-s390x-debug-fedora.config
+++ b/kernel-s390x-debug-fedora.config
@@ -72,6 +72,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -113,6 +114,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -325,8 +327,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=m
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -512,7 +514,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -615,7 +617,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -766,6 +768,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
CONFIG_COMPAT=y
# CONFIG_COMPILE_TEST is not set
@@ -774,6 +777,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_CORTINA_PHY=m
@@ -800,7 +804,7 @@ CONFIG_CPU_FREQ=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
# CONFIG_CPU_IDLE is not set
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
# CONFIG_CPU_THERMAL is not set
@@ -826,6 +830,7 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC is not set
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
@@ -839,7 +844,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -857,9 +863,11 @@ CONFIG_CRYPTO_CRC32_S390=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES_S390=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -892,6 +900,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1046,6 +1059,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
@@ -1116,12 +1130,14 @@ CONFIG_DNS_RESOLVER=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
CONFIG_DRAGONRISE_FF=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1162,6 +1178,7 @@ CONFIG_DRM=m
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
@@ -1350,6 +1367,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
# CONFIG_EMBEDDED is not set
@@ -1364,7 +1382,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
# CONFIG_ETHOC is not set
@@ -1389,7 +1413,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
@@ -1520,13 +1543,13 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1552,12 +1575,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1657,9 +1683,7 @@ CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -2002,7 +2026,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2062,7 +2085,6 @@ CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
# CONFIG_INPUT_KEYBOARD is not set
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2395,7 +2417,6 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2456,6 +2477,7 @@ CONFIG_KPROBES=y
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM=m
# CONFIG_KVM_S390_UCONTROL is not set
CONFIG_KXCJK1013=m
@@ -2498,6 +2520,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -2614,6 +2637,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -2932,6 +2956,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3004,6 +3029,7 @@ CONFIG_MQ_IOSCHED_KYBER=y
# CONFIG_MS_BLOCK is not set
CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3036,6 +3062,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3102,6 +3129,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
@@ -3157,6 +3185,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3170,6 +3199,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3401,6 +3431,7 @@ CONFIG_NET_VENDOR_PENSANDO=y
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_NET_VENDOR_XILINX=y
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_NET_VRF=m
CONFIG_NETWORK_FILESYSTEMS=y
@@ -3442,6 +3473,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3631,6 +3663,7 @@ CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_EMU=y
CONFIG_NUMA=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -3748,7 +3781,6 @@ CONFIG_PCCARD=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -3756,6 +3788,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -3771,7 +3804,7 @@ CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
CONFIG_PCI_IOV=y
# CONFIG_PCI_MESON is not set
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_MSI=y
CONFIG_PCI_NR_FUNCTIONS=64
CONFIG_PCI_P2PDMA=y
@@ -3829,6 +3862,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -3963,6 +3997,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4074,7 +4109,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4330,6 +4364,7 @@ CONFIG_S390_PRNG=m
CONFIG_S390_TAPE_34XX=m
CONFIG_S390_TAPE_3590=m
CONFIG_S390_TAPE=m
+# CONFIG_S390_UNWIND_SELFTEST is not set
CONFIG_S390_VMUR=m
# CONFIG_SAMPLES is not set
CONFIG_SATA_ACARD_AHCI=m
@@ -4528,6 +4563,7 @@ CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -4586,6 +4622,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -4652,6 +4690,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
# CONFIG_SENSORS_TSL2550 is not set
@@ -4735,6 +4774,7 @@ CONFIG_SERIO_SERPORT=m
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
# CONFIG_SGI_PARTITION is not set
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -4858,7 +4898,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
@@ -4923,6 +4962,8 @@ CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -4935,7 +4976,6 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -4968,6 +5008,7 @@ CONFIG_SND_SOC_ES7134=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5035,6 +5076,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5117,6 +5160,7 @@ CONFIG_SONY_FF=y
# CONFIG_SOUND is not set
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPEAKUP is not set
@@ -5218,6 +5262,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SWAP=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5258,6 +5303,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5377,6 +5423,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5387,6 +5434,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5451,7 +5499,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5477,6 +5524,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -5511,6 +5559,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -5899,6 +5948,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6068,6 +6118,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6098,6 +6149,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
# CONFIG_WDTPCI is not set
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6208,4 +6260,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-s390x-fedora.config b/kernel-s390x-fedora.config
index 325c41b4f..2b96ce67c 100644
--- a/kernel-s390x-fedora.config
+++ b/kernel-s390x-fedora.config
@@ -72,6 +72,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -113,6 +114,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -324,8 +326,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=m
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -511,7 +513,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -614,7 +616,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -765,6 +767,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
CONFIG_COMPAT=y
# CONFIG_COMPILE_TEST is not set
@@ -773,6 +776,7 @@ CONFIG_CONNECTOR=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONTEXT_SWITCH_TRACER=y
+# CONFIG_CONTEXT_TRACKING_FORCE is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_CORTINA_PHY=m
@@ -799,7 +803,7 @@ CONFIG_CPU_FREQ=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
# CONFIG_CPU_IDLE_GOV_TEO is not set
# CONFIG_CPU_IDLE is not set
-# CONFIG_CPU_ISOLATION is not set
+CONFIG_CPU_ISOLATION=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPUSETS=y
# CONFIG_CPU_THERMAL is not set
@@ -825,6 +829,7 @@ CONFIG_CROS_EC_ISHTP=m
# CONFIG_CROS_EC is not set
# CONFIG_CROS_EC_LIGHTBAR is not set
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CROS_USBPD_LOGGER=m
@@ -838,7 +843,8 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST5=m
@@ -856,9 +862,11 @@ CONFIG_CRYPTO_CRC32_S390=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES_S390=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
@@ -891,6 +899,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1038,6 +1051,7 @@ CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
@@ -1107,12 +1121,14 @@ CONFIG_DNS_RESOLVER=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
CONFIG_DRAGONRISE_FF=y
# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_DRM_AMD_ACP=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1153,6 +1169,7 @@ CONFIG_DRM=m
# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_NOUVEAU_SVM is not set
# CONFIG_DRM_NXP_PTN3460 is not set
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
@@ -1341,6 +1358,7 @@ CONFIG_EEPROM_MAX6875=m
CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_EFI_RCI2_TABLE is not set
+CONFIG_EFI_SOFT_RESERVE=y
# CONFIG_EFI_TEST is not set
# CONFIG_EFS_FS is not set
# CONFIG_EMBEDDED is not set
@@ -1355,7 +1373,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
# CONFIG_ETHOC is not set
@@ -1380,7 +1404,6 @@ CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXTCON_GPIO is not set
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
@@ -1503,13 +1526,13 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1535,12 +1558,15 @@ CONFIG_FUSION_MAX_SGE=40
CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1640,9 +1666,7 @@ CONFIG_HARDENED_USERCOPY_FALLBACK=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -1985,7 +2009,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
# CONFIG_INFINIBAND_BNXT_RE is not set
-# CONFIG_INFINIBAND_CXGB3 is not set
# CONFIG_INFINIBAND_CXGB4 is not set
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2045,7 +2068,6 @@ CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
# CONFIG_INPUT_KEYBOARD is not set
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2376,7 +2398,6 @@ CONFIG_KARMA_PARTITION=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2437,6 +2458,7 @@ CONFIG_KPROBES=y
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM=m
# CONFIG_KVM_S390_UCONTROL is not set
CONFIG_KXCJK1013=m
@@ -2479,6 +2501,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -2595,6 +2618,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -2912,6 +2936,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -2983,6 +3008,7 @@ CONFIG_MQ_IOSCHED_KYBER=y
# CONFIG_MS_BLOCK is not set
CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3015,6 +3041,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3081,6 +3108,7 @@ CONFIG_NATSEMI=m
# CONFIG_NBPFAXI_DMA is not set
CONFIG_NCSI_OEM_CMD_GET_MAC=y
# CONFIG_ND_BLK is not set
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
CONFIG_NET_9P=m
@@ -3136,6 +3164,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3149,6 +3178,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3380,6 +3410,7 @@ CONFIG_NET_VENDOR_PENSANDO=y
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_NET_VENDOR_XILINX=y
# CONFIG_NET_VENDOR_XIRCOM is not set
CONFIG_NET_VRF=m
CONFIG_NETWORK_FILESYSTEMS=y
@@ -3421,6 +3452,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3610,6 +3642,7 @@ CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_EMU=y
CONFIG_NUMA=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -3727,7 +3760,6 @@ CONFIG_PCCARD=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -3735,6 +3767,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -3750,7 +3783,7 @@ CONFIG_PCI_HERMES=m
# CONFIG_PCI_HOST_GENERIC is not set
CONFIG_PCI_IOV=y
# CONFIG_PCI_MESON is not set
-# CONFIG_PCI_MSI_IRQ_DOMAIN is not set
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_MSI=y
CONFIG_PCI_NR_FUNCTIONS=64
CONFIG_PCI_P2PDMA=y
@@ -3808,6 +3841,7 @@ CONFIG_PID_NS=y
# CONFIG_PINCONF is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
# CONFIG_PINCTRL_IPQ8074 is not set
# CONFIG_PINCTRL is not set
# CONFIG_PINCTRL_MCP23S08 is not set
@@ -3941,6 +3975,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
CONFIG_PVPANIC=m
@@ -4052,7 +4087,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4308,6 +4342,7 @@ CONFIG_S390_PRNG=m
CONFIG_S390_TAPE_34XX=m
CONFIG_S390_TAPE_3590=m
CONFIG_S390_TAPE=m
+# CONFIG_S390_UNWIND_SELFTEST is not set
CONFIG_S390_VMUR=m
# CONFIG_SAMPLES is not set
CONFIG_SATA_ACARD_AHCI=m
@@ -4506,6 +4541,7 @@ CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
# CONFIG_SENSORS_BH1770 is not set
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_DS1621=m
@@ -4564,6 +4600,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -4630,6 +4668,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
# CONFIG_SENSORS_TSL2550 is not set
@@ -4713,6 +4752,7 @@ CONFIG_SERIO_SERPORT=m
CONFIG_SFC_FALCON=m
CONFIG_SFC_FALCON_MTD=y
# CONFIG_SFC is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
# CONFIG_SGI_PARTITION is not set
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@@ -4836,7 +4876,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
@@ -4900,6 +4939,8 @@ CONFIG_SND_SIS7019=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -4912,7 +4953,6 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
# CONFIG_SND_SOC_CS35L32 is not set
@@ -4945,6 +4985,7 @@ CONFIG_SND_SOC_ES7134=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5012,6 +5053,8 @@ CONFIG_SND_SOC_SPDIF=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5094,6 +5137,7 @@ CONFIG_SONY_FF=y
# CONFIG_SOUND is not set
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SOUNDWIRE_CADENCE=m
+# CONFIG_SOUNDWIRE_INTEL is not set
CONFIG_SOUNDWIRE=y
CONFIG_SPARSEMEM_MANUAL=y
# CONFIG_SPEAKUP is not set
@@ -5195,6 +5239,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SWAP=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5235,6 +5280,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5354,6 +5400,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5364,6 +5411,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5428,7 +5476,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5454,6 +5501,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS6507X is not set
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TRACE_EVAL_MAP_FILE=y
+# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -5488,6 +5536,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -5876,6 +5925,7 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VALIDATE_FS_PARSER=y
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6045,6 +6095,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6075,6 +6126,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
# CONFIG_WDTPCI is not set
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6185,4 +6237,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config
index 6bfe6a522..530d0c796 100644
--- a/kernel-x86_64-debug-fedora.config
+++ b/kernel-x86_64-debug-fedora.config
@@ -112,6 +112,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -153,6 +154,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -390,8 +392,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -578,7 +580,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -631,13 +633,13 @@ CONFIG_BTT=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
CONFIG_BUILD_SALT=""
CONFIG_BXT_WC_PMIC_OPREGION=y
+CONFIG_BYTCRC_PMIC_OPREGION=y
# CONFIG_C2PORT is not set
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set
CONFIG_CACHEFILES=m
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_CAIF is not set
-# CONFIG_CALGARY_IOMMU is not set
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_BCM=m
CONFIG_CAN_CALC_BITTIMING=y
@@ -683,7 +685,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -776,6 +778,7 @@ CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
# CONFIG_CHROMEOS_TBMC is not set
CONFIG_CHROME_PLATFORMS=y
+CONFIG_CHTCRC_PMIC_OPREGION=y
CONFIG_CHT_DC_TI_PMIC_OPREGION=y
CONFIG_CHT_WC_PMIC_OPREGION=y
CONFIG_CICADA_PHY=m
@@ -834,6 +837,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_COMPILE_TEST is not set
@@ -890,7 +894,6 @@ 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
@@ -899,6 +902,7 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC_LIGHTBAR=m
CONFIG_CROS_EC_LPC=m
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
@@ -914,7 +918,9 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
+CONFIG_CRYPTO_BLAKE2S_X86=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
@@ -941,9 +947,12 @@ CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
+CONFIG_CRYPTO_CURVE25519_X86=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
@@ -989,6 +998,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1158,6 +1172,7 @@ CONFIG_DELL_WMI_LED=m
CONFIG_DELL_WMI=m
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_DEV_DAX=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
@@ -1232,6 +1247,7 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
@@ -1243,6 +1259,7 @@ CONFIG_DRM_AMD_DC_DCN1_0=y
CONFIG_DRM_AMD_DC_DCN2_0=y
CONFIG_DRM_AMD_DC_DCN2_1=y
CONFIG_DRM_AMD_DC_DSC_SUPPORT=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1513,6 +1530,7 @@ CONFIG_EFI_PARTITION=y
CONFIG_EFI_PGT_DUMP=y
CONFIG_EFI_RCI2_TABLE=y
CONFIG_EFI_RUNTIME_MAP=y
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_STUB=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
@@ -1533,7 +1551,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1560,7 +1584,6 @@ CONFIG_EXTCON_INTEL_CHT_WC=m
CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USBC_CROS_EC=m
@@ -1705,13 +1728,13 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1740,12 +1763,15 @@ CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUSION=y
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1861,9 +1887,7 @@ CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
CONFIG_HDMI_LPE_AUDIO=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -2047,6 +2071,7 @@ CONFIG_HYPERV_KEYBOARD=m
CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
+# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
@@ -2253,7 +2278,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_BNXT_RE=m
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2316,7 +2340,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2707,7 +2730,6 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2774,6 +2796,7 @@ CONFIG_KS0108_PORT=0x378
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_DEBUG_FS is not set
@@ -2821,6 +2844,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
@@ -2939,6 +2963,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3266,6 +3291,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3342,6 +3368,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3374,6 +3401,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3445,6 +3473,7 @@ CONFIG_NATSEMI=m
CONFIG_NCSI_OEM_CMD_GET_MAC=y
CONFIG_ND_BLK=m
CONFIG_ND_BTT=m
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_ND_PFN=m
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
@@ -3501,6 +3530,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3514,6 +3544,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3789,6 +3820,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3992,6 +4024,7 @@ CONFIG_NUMA=y
CONFIG_NVDIMM_DAX=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -4128,7 +4161,6 @@ CONFIG_PCI_BIOS=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -4136,6 +4168,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -4221,6 +4254,7 @@ CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_DENVERTON=m
+CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -4254,6 +4288,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80_R is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4363,6 +4398,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4481,7 +4517,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-CONFIG_REFCOUNT_FULL=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4935,6 +4970,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
@@ -5001,6 +5037,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -5067,6 +5105,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5156,7 +5195,8 @@ CONFIG_SFC=m
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_MTD=y
CONFIG_SFC_SRIOV=y
-CONFIG_SFI=y
+# CONFIG_SFI is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
# CONFIG_SGI_GRU_DEBUG is not set
CONFIG_SGI_GRU=m
@@ -5282,7 +5322,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -5349,6 +5388,8 @@ CONFIG_SND_SOC_AC97_CODEC=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5362,7 +5403,6 @@ CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -5398,6 +5438,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5519,6 +5560,8 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5719,6 +5762,7 @@ CONFIG_SWAP=y
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5728,6 +5772,7 @@ CONFIG_SYN_COOKIES=y
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_SYSTEM76_ACPI=m
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
@@ -5759,6 +5804,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5885,6 +5931,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5895,6 +5942,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5957,7 +6005,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
CONFIG_TOUCHSCREEN_SURFACE3_SPI=m
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5984,6 +6031,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TQMX86_WDT=m
CONFIG_TRACE_EVAL_MAP_FILE=y
+CONFIG_TRACE_EVENT_INJECT=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -6018,6 +6066,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6412,6 +6461,7 @@ CONFIG_VALIDATE_FS_PARSER=y
CONFIG_VBOXGUEST=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6590,6 +6640,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6619,6 +6670,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6694,6 +6746,7 @@ CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+CONFIG_X86_IOPL_IOPERM=y
# CONFIG_X86_LEGACY_VM86 is not set
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_INJECT=m
@@ -6817,4 +6870,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config
index 05d0e0379..ad8735699 100644
--- a/kernel-x86_64-fedora.config
+++ b/kernel-x86_64-fedora.config
@@ -112,6 +112,7 @@ CONFIG_AD7124=m
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
# CONFIG_AD7291 is not set
+CONFIG_AD7292=m
# CONFIG_AD7298 is not set
# CONFIG_AD7303 is not set
# CONFIG_AD7476 is not set
@@ -153,6 +154,7 @@ CONFIG_ADIN_PHY=m
# CONFIG_ADIS16480 is not set
# CONFIG_ADJD_S311 is not set
# CONFIG_ADT7316 is not set
+CONFIG_ADUX1020=m
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADXL345_I2C is not set
# CONFIG_ADXL345_SPI is not set
@@ -389,8 +391,8 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_PM8941_WLED is not set
CONFIG_BACKLIGHT_PWM=m
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_BALLOON_COMPACTION=y
@@ -577,7 +579,7 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_BREDR=y
-CONFIG_BT_CMTP=m
+# CONFIG_BT_CMTP is not set
# CONFIG_BT_DEBUGFS is not set
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBFUSB=m
@@ -630,13 +632,13 @@ CONFIG_BTT=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
CONFIG_BUILD_SALT=""
CONFIG_BXT_WC_PMIC_OPREGION=y
+CONFIG_BYTCRC_PMIC_OPREGION=y
# CONFIG_C2PORT is not set
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_HISTOGRAM is not set
CONFIG_CACHEFILES=m
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_CAIF is not set
-# CONFIG_CALGARY_IOMMU is not set
CONFIG_CAN_8DEV_USB=m
CONFIG_CAN_BCM=m
CONFIG_CAN_CALC_BITTIMING=y
@@ -682,7 +684,7 @@ CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SLCAN=m
# CONFIG_CAN_SOFTING_CS is not set
CONFIG_CAN_SOFTING=m
-# CONFIG_CAN_UCAN is not set
+CONFIG_CAN_UCAN=m
CONFIG_CAN_VCAN=m
CONFIG_CAN_VXCAN=m
CONFIG_CAPI_AVM=y
@@ -775,6 +777,7 @@ CONFIG_CHROMEOS_LAPTOP=m
CONFIG_CHROMEOS_PSTORE=m
# CONFIG_CHROMEOS_TBMC is not set
CONFIG_CHROME_PLATFORMS=y
+CONFIG_CHTCRC_PMIC_OPREGION=y
CONFIG_CHT_DC_TI_PMIC_OPREGION=y
CONFIG_CHT_WC_PMIC_OPREGION=y
CONFIG_CICADA_PHY=m
@@ -833,6 +836,7 @@ CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
CONFIG_COMPACTION=y
CONFIG_COMPAL_LAPTOP=m
+CONFIG_COMPAT_32BIT_TIME=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_COMPILE_TEST is not set
@@ -889,7 +893,6 @@ 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
@@ -898,6 +901,7 @@ CONFIG_CROS_EC_ISHTP=m
CONFIG_CROS_EC_LIGHTBAR=m
CONFIG_CROS_EC_LPC=m
CONFIG_CROS_EC_RPMSG=m
+CONFIG_CROS_EC_SENSORHUB=m
CONFIG_CROS_EC_SYSFS=m
CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_MEMORY_ATTACH=y
@@ -913,7 +917,9 @@ CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_BLAKE2S=m
+CONFIG_CRYPTO_BLAKE2S_X86=m
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
@@ -940,9 +946,12 @@ CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_CURVE25519=m
+CONFIG_CRYPTO_CURVE25519_X86=m
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_CRYPTO_DEV_ATMEL_ECC=m
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
@@ -988,6 +997,11 @@ CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_KEYWRAP=m
CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_POLY1305=m
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_LZ4=m
@@ -1150,6 +1164,7 @@ CONFIG_DELL_WMI_LED=m
CONFIG_DELL_WMI=m
# CONFIG_DETECT_HUNG_TASK is not set
CONFIG_DEV_APPLETALK=m
+CONFIG_DEV_DAX_HMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_DEV_DAX=m
# CONFIG_DEV_DAX_PMEM_COMPAT is not set
@@ -1223,6 +1238,7 @@ CONFIG_DP83640_PHY=m
CONFIG_DP83822_PHY=m
CONFIG_DP83848_PHY=m
# CONFIG_DP83867_PHY is not set
+CONFIG_DP83869_PHY=m
# CONFIG_DP83TC811_PHY is not set
CONFIG_DPOT_DAC=m
# CONFIG_DPS310 is not set
@@ -1234,6 +1250,7 @@ CONFIG_DRM_AMD_DC_DCN1_0=y
CONFIG_DRM_AMD_DC_DCN2_0=y
CONFIG_DRM_AMD_DC_DCN2_1=y
CONFIG_DRM_AMD_DC_DSC_SUPPORT=y
+CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMDGPU_CIK=y
# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
@@ -1504,6 +1521,7 @@ CONFIG_EFI_PARTITION=y
# CONFIG_EFI_PGT_DUMP is not set
CONFIG_EFI_RCI2_TABLE=y
CONFIG_EFI_RUNTIME_MAP=y
+CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_STUB=y
CONFIG_EFI_TEST=m
CONFIG_EFIVAR_FS=y
@@ -1524,7 +1542,13 @@ CONFIG_ENVELOPE_DETECTOR=m
CONFIG_EPIC100=m
CONFIG_EPOLL=y
CONFIG_EQUALIZER=m
-# CONFIG_EROFS_FS is not set
+CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS=m
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
CONFIG_ETHERNET=y
CONFIG_ETHOC=m
@@ -1551,7 +1575,6 @@ CONFIG_EXTCON_INTEL_CHT_WC=m
CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USBC_CROS_EC=m
@@ -1688,13 +1711,13 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FSI=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
# CONFIG_FSI_NEW_DEV_NODE is not set
# CONFIG_FSI_SBEFIFO is not set
CONFIG_FSI_SCOM=m
# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_ENETC_MDIO is not set
# CONFIG_FSL_PQ_MDIO is not set
# CONFIG_FSL_QDMA is not set
CONFIG_FS_MBCACHE=y
@@ -1723,12 +1746,15 @@ CONFIG_FUSION_SAS=m
CONFIG_FUSION_SPI=m
CONFIG_FUSION=y
CONFIG_FUTEX=y
+CONFIG_FW_CACHE=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_FW_CFG_SYSFS=m
CONFIG_FW_LOADER_COMPRESS=y
# CONFIG_FW_LOADER_USER_HELPER is not set
CONFIG_FW_LOADER=y
CONFIG_FXAS21002C=m
+CONFIG_FXOS8700_I2C=m
+CONFIG_FXOS8700_SPI=m
CONFIG_GACT_PROB=y
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m
@@ -1844,9 +1870,7 @@ CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_HD44780=m
# CONFIG_HDC100X is not set
CONFIG_HDMI_LPE_AUDIO=m
-CONFIG_HEADERS_CHECK=y
CONFIG_HEADERS_INSTALL=y
-CONFIG_HEADER_TEST=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_HERMES=m
CONFIG_HERMES_PRISM=y
@@ -2030,6 +2054,7 @@ CONFIG_HYPERV_KEYBOARD=m
CONFIG_HYPERV=m
CONFIG_HYPERV_NET=m
CONFIG_HYPERV_STORAGE=m
+# CONFIG_HYPERV_TESTING is not set
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_VSOCKETS=m
CONFIG_HYSDN_CAPI=y
@@ -2236,7 +2261,6 @@ CONFIG_INET_UDP_DIAG=m
CONFIG_INET=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_BNXT_RE=m
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_EFA=m
# CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI is not set
@@ -2299,7 +2323,6 @@ CONFIG_INPUT_JOYSTICK=y
CONFIG_INPUT_KEYBOARD=y
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_KXTJ9=m
-# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX77650_ONKEY=m
@@ -2688,7 +2711,6 @@ CONFIG_KARMA_PARTITION=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
# CONFIG_KERNEL_BZIP2 is not set
CONFIG_KERNEL_GZIP=y
-CONFIG_KERNEL_HEADER_TEST=y
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
@@ -2755,6 +2777,7 @@ CONFIG_KS0108_PORT=0x378
# CONFIG_KS8851_MLL is not set
CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
+# CONFIG_KUNIT is not set
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_DEBUG_FS is not set
@@ -2802,6 +2825,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLEVO_MAIL=m
CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
@@ -2920,6 +2944,7 @@ CONFIG_LTC1660=m
# CONFIG_LTC2485 is not set
# CONFIG_LTC2497 is not set
# CONFIG_LTC2632 is not set
+CONFIG_LTC2983=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_LTR501 is not set
CONFIG_LV0104CS=m
@@ -3247,6 +3272,7 @@ CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_CADENCE=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_OF_ASPEED is not set
# CONFIG_MMC_SDHCI_OF_AT91 is not set
@@ -3323,6 +3349,7 @@ CONFIG_MSDOS_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
+# CONFIG_MSM_GPUCC_8998 is not set
CONFIG_MSPRO_BLOCK=m
CONFIG_MT7601U=m
CONFIG_MT7603E=m
@@ -3355,6 +3382,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MCHP23K256 is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
+CONFIG_MTD_NAND_CADENCE=m
# CONFIG_MTD_NAND_CAFE is not set
# CONFIG_MTD_NAND_CS553X is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
@@ -3426,6 +3454,7 @@ CONFIG_NATSEMI=m
CONFIG_NCSI_OEM_CMD_GET_MAC=y
CONFIG_ND_BLK=m
CONFIG_ND_BTT=m
+# CONFIG_NDC_DIS_DYNAMIC_CACHING is not set
CONFIG_ND_PFN=m
CONFIG_NE2K_PCI=m
# CONFIG_NET_9P_DEBUG is not set
@@ -3482,6 +3511,7 @@ CONFIG_NET_DSA=m
# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set
CONFIG_NET_DSA_MICROCHIP_KSZ9477=m
CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
+# CONFIG_NET_DSA_MSCC_FELIX is not set
CONFIG_NET_DSA_MT7530=m
# CONFIG_NET_DSA_MV88E6060 is not set
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
@@ -3495,6 +3525,7 @@ CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
CONFIG_NET_DSA_TAG_8021Q=m
CONFIG_NET_DSA_TAG_GSWIP=m
CONFIG_NET_DSA_TAG_KSZ=m
+CONFIG_NET_DSA_TAG_OCELOT=m
CONFIG_NET_DSA_TAG_SJA1105=m
CONFIG_NET_DSA_TAG_TRAILER=m
# CONFIG_NET_DSA_VITESSE_VSC73XX is not set
@@ -3770,6 +3801,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
# CONFIG_NF_CONNTRACK_TIMEOUT is not set
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_ZONES=y
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_PN533_I2C=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
@@ -3973,6 +4005,7 @@ CONFIG_NUMA=y
CONFIG_NVDIMM_DAX=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVME_FC=m
+CONFIG_NVME_HWMON=y
# CONFIG_NVMEM_REBOOT_MODE is not set
CONFIG_NVMEM_SYSFS=y
CONFIG_NVME_MULTIPATH=y
@@ -4109,7 +4142,6 @@ CONFIG_PCI_BIOS=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCIEASPM_DEBUG is not set
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_PERFORMANCE is not set
# CONFIG_PCIEASPM_POWERSAVE is not set
@@ -4117,6 +4149,7 @@ CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCIEASPM=y
# CONFIG_PCIE_BW is not set
CONFIG_PCIE_CADENCE_HOST=y
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ECRC=y
@@ -4202,6 +4235,7 @@ CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_DENVERTON=m
+CONFIG_PINCTRL_EQUILIBRIUM=m
CONFIG_PINCTRL_GEMINILAKE=m
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_IPQ8074 is not set
@@ -4235,6 +4269,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SUN9I_A80_R is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_SX150X is not set
+CONFIG_PINCTRL_TIGERLAKE=m
CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PKCS7_MESSAGE_PARSER=y
@@ -4343,6 +4378,7 @@ CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_RAM=m
CONFIG_PSTORE=y
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
+CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4461,7 +4497,6 @@ CONFIG_RD_XZ=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
-# CONFIG_REFCOUNT_FULL is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4915,6 +4950,7 @@ CONFIG_SENSORS_ASC7621=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATK0110=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_BEL_PFE=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_DELL_SMM=m
@@ -4981,6 +5017,8 @@ CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_LTC2945=m
+CONFIG_SENSORS_LTC2947_I2C=m
+CONFIG_SENSORS_LTC2947_SPI=m
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC2990=m
@@ -5047,6 +5085,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_TMP513=m
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_TSL2550=m
@@ -5136,7 +5175,8 @@ CONFIG_SFC=m
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_MTD=y
CONFIG_SFC_SRIOV=y
-CONFIG_SFI=y
+# CONFIG_SFI is not set
+# CONFIG_SF_PDMA is not set
CONFIG_SFP=m
# CONFIG_SGI_GRU_DEBUG is not set
CONFIG_SGI_GRU=m
@@ -5262,7 +5302,6 @@ CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_INPUT_BEEP=y
-# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set
CONFIG_SND_HDA_INTEL=m
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1
@@ -5328,6 +5367,8 @@ CONFIG_SND_SOC_AC97_CODEC=m
CONFIG_SND_SOC_ADAU1761_I2C=m
CONFIG_SND_SOC_ADAU1761_SPI=m
CONFIG_SND_SOC_ADAU7002=m
+CONFIG_SND_SOC_ADAU7118_HW=m
+CONFIG_SND_SOC_ADAU7118_I2C=m
# CONFIG_SND_SOC_AK4104 is not set
# CONFIG_SND_SOC_AK4118 is not set
# CONFIG_SND_SOC_AK4458 is not set
@@ -5341,7 +5382,6 @@ CONFIG_SND_SOC_AMD_ACP3x=m
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
-# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CROS_EC_CODEC=m
@@ -5377,6 +5417,7 @@ CONFIG_SND_SOC_ES8328_SPI=m
# CONFIG_SND_SOC_FSL_AUDMIX is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_MQS is not set
# CONFIG_SND_SOC_FSL_SAI is not set
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_SSI is not set
@@ -5498,6 +5539,8 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_STA350 is not set
# CONFIG_SND_SOC_STI_SAS is not set
# CONFIG_SND_SOC_TAS2552 is not set
+CONFIG_SND_SOC_TAS2562=m
+CONFIG_SND_SOC_TAS2770=m
# CONFIG_SND_SOC_TAS5086 is not set
# CONFIG_SND_SOC_TAS571X is not set
# CONFIG_SND_SOC_TAS5720 is not set
@@ -5698,6 +5741,7 @@ CONFIG_SWAP=y
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9500 is not set
+CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_SYNC_FILE=y
# CONFIG_SYNCLINK_CS is not set
CONFIG_SYNCLINK_GT=m
@@ -5707,6 +5751,7 @@ CONFIG_SYN_COOKIES=y
# CONFIG_SYSCON_REBOOT_MODE is not set
CONFIG_SYSCTL=y
# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_SYSTEM76_ACPI=m
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
@@ -5738,6 +5783,7 @@ CONFIG_TCG_NSC=m
# CONFIG_TCG_TIS_I2C_ATMEL is not set
# CONFIG_TCG_TIS_I2C_INFINEON is not set
# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_SPI=m
# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
@@ -5864,6 +5910,7 @@ CONFIG_TIGON3=m
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
@@ -5874,6 +5921,7 @@ CONFIG_TI_SCI_PROTOCOL=m
CONFIG_TLAN=m
CONFIG_TLS_DEVICE=y
CONFIG_TLS=m
+# CONFIG_TLS_TOE is not set
# CONFIG_TMD_HERMES is not set
# CONFIG_TMP006 is not set
# CONFIG_TMP007 is not set
@@ -5936,7 +5984,6 @@ CONFIG_TOUCHSCREEN_ST1232=m
# CONFIG_TOUCHSCREEN_SUR40 is not set
CONFIG_TOUCHSCREEN_SURFACE3_SPI=m
# CONFIG_TOUCHSCREEN_SX8654 is not set
-CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
CONFIG_TOUCHSCREEN_TOUCHIT213=m
CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
CONFIG_TOUCHSCREEN_TOUCHWIN=m
@@ -5963,6 +6010,7 @@ CONFIG_TPM_KEY_PARSER=m
# CONFIG_TPS68470_PMIC_OPREGION is not set
CONFIG_TQMX86_WDT=m
CONFIG_TRACE_EVAL_MAP_FILE=y
+# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_TRACER_SNAPSHOT=y
@@ -5997,6 +6045,7 @@ CONFIG_TUN=m
# CONFIG_TWL6040_CORE is not set
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
@@ -6391,6 +6440,7 @@ CONFIG_VALIDATE_FS_PARSER=y
CONFIG_VBOXGUEST=m
# CONFIG_VCNL4000 is not set
CONFIG_VCNL4035=m
+CONFIG_VEML6030=m
# CONFIG_VEML6070 is not set
CONFIG_VETH=m
# CONFIG_VF610_ADC is not set
@@ -6569,6 +6619,7 @@ CONFIG_W1_SLAVE_DS2408=m
# CONFIG_W1_SLAVE_DS2408_READBACK is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2423=m
+CONFIG_W1_SLAVE_DS2430=m
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2433=m
@@ -6598,6 +6649,7 @@ CONFIG_WATCHDOG=y
CONFIG_WCN36XX=m
CONFIG_WDAT_WDT=m
CONFIG_WDTPCI=m
+# CONFIG_WFX is not set
CONFIG_WIL6210_DEBUGFS=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210=m
@@ -6673,6 +6725,7 @@ CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+CONFIG_X86_IOPL_IOPERM=y
# CONFIG_X86_LEGACY_VM86 is not set
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_INJECT=m
@@ -6796,4 +6849,3 @@ CONFIG_ZRAM=m
CONFIG_ZSMALLOC=y
CONFIG_ZSWAP=y
# CONFIG_ZX_TDM is not set
-# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set
diff --git a/kernel.spec b/kernel.spec
index b54b10055..ba74312a6 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -1,8 +1,6 @@
# We have to override the new %%install behavior because, well... the kernel is special.
%global __spec_install_pre %{___build_pre}
-%define pe_signing_token OpenSC Card (Fedora Signer)
-
# At the time of this writing (2019-03), RHEL8 packages use w2.xzdio
# compression for rpms (xz, level 2).
# Kernel has several large (hundreds of mbytes) rpms, they take ~5 mins
@@ -87,7 +85,7 @@ Summary: The Linux kernel
# 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 4
+%define base_sublevel 5
## If this is a released kernel ##
%if 0%{?released_kernel}
@@ -96,7 +94,7 @@ Summary: The Linux kernel
%define stable_rc 0
# Do we have a -stable update to apply?
-%define stable_update 20
+%define stable_update 5
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -141,6 +139,12 @@ Summary: The Linux kernel
# kernel-headers
%define with_headers %{?_without_headers: 0} %{?!_without_headers: 1}
%define with_cross_headers %{?_without_cross_headers: 0} %{?!_without_cross_headers: 1}
+# perf
+%define with_perf %{?_without_perf: 0} %{?!_without_perf: 1}
+# tools
+%define with_tools %{?_without_tools: 0} %{?!_without_tools: 1}
+# bpf tool
+%define with_bpftool %{?_without_bpftool: 0} %{?!_without_bpftool: 1}
# kernel-debuginfo
%define with_debuginfo %{?_with_debuginfo: 1} %{?!_with_debuginfo: 0}
# Want to build a the vsdo directories installed
@@ -336,9 +340,11 @@ Summary: The Linux kernel
%if %{with_dbgonly}
%if %{debugbuildsenabled}
%define with_up 0
-%define with_pae 0
%endif
%define with_pae 0
+%define with_tools 0
+%define with_perf 0
+%define with_bpftool 0
%endif
# turn off kABI DUP check and DWARF-based check if kABI check is disabled
@@ -376,6 +382,9 @@ Summary: The Linux kernel
%define with_up 0
%define with_headers 0
%define with_cross_headers 0
+%define with_tools 0
+%define with_perf 0
+%define with_bpftool 0
%define with_selftests 0
%define with_debug 0
%define all_arch_configs kernel-%{version}-*.config
@@ -478,6 +487,9 @@ Summary: The Linux kernel
%define with_up 0
%define with_debug 0
%define with_debuginfo 0
+%define with_perf 0
+%define with_tools 0
+%define with_bpftool 0
%define with_selftests 0
%define with_pae 0
%define _enable_debug_packages 0
@@ -550,6 +562,24 @@ BuildRequires: xmlto, asciidoc, python3-sphinx
%if %{with_sparse}
BuildRequires: sparse
%endif
+%if %{with_perf}
+BuildRequires: zlib-devel binutils-devel newt-devel perl(ExtUtils::Embed) bison flex xz-devel
+BuildRequires: audit-libs-devel
+BuildRequires: java-devel
+%ifnarch %{arm} s390x
+BuildRequires: numactl-devel
+%endif
+%endif
+%if %{with_tools}
+BuildRequires: gettext ncurses-devel
+%ifnarch s390x
+BuildRequires: pciutils-devel
+%endif
+%endif
+%if %{with_bpftool}
+BuildRequires: python3-docutils
+BuildRequires: zlib-devel binutils-devel
+%endif
%if %{with_selftests}
%if 0%{?fedora}
BuildRequires: clang llvm
@@ -599,6 +629,14 @@ BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
%define cross_opts CROSS_COMPILE=%{_build_arch}-linux-gnu-
%endif
+# These below are required to build man pages
+%if %{with_perf}
+BuildRequires: xmlto
+%endif
+%if %{with_perf} || %{with_tools}
+BuildRequires: asciidoc
+%endif
+
Source0: https://www.kernel.org/pub/linux/kernel/v5.x/linux-%{kversion}.tar.xz
# Name of the packaged file containing signing key
@@ -615,12 +653,22 @@ Source11: x509.genkey.fedora
Source12: securebootca.cer
Source13: secureboot.cer
+Source14: secureboot_s390.cer
+Source15: secureboot_ppc.cer
%define secureboot_ca %{SOURCE12}
%ifarch x86_64 aarch64
%define secureboot_key %{SOURCE13}
%define pesign_name redhatsecureboot301
%endif
+%ifarch s390x
+%define secureboot_key %{SOURCE14}
+%define pesign_name redhatsecureboot302
+%endif
+%ifarch ppc64le
+%define secureboot_key %{SOURCE15}
+%define pesign_name redhatsecureboot303
+%endif
%else # released_kernel
@@ -633,7 +681,7 @@ Source13: redhatsecureboot003.cer
%endif # released_kernel
-Source15: mod-extra.list.rhel
+Source22: mod-extra.list.rhel
Source16: mod-extra.list.fedora
Source17: mod-extra.sh
Source18: mod-sign.sh
@@ -773,6 +821,8 @@ 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
@@ -784,29 +834,30 @@ 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
-# http://www.spinics.net/lists/linux-tegra/msg26029.html
-Patch304: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
-# http://patchwork.ozlabs.org/patch/587554/
-Patch305: ARM-tegra-usb-no-reset.patch
+Patch304: ARM-tegra-usb-no-reset.patch
+
+# Raspberry Pi
+# https://patchwork.kernel.org/cover/11271017/
+Patch310: Raspberry-Pi-4-PCIe-support.patch
+# https://patchwork.kernel.org/patch/11223139/
+Patch311: ARM-Enable-thermal-support-for-Raspberry-Pi-4.patch
+# https://patchwork.kernel.org/patch/11299997/
+Patch312: bcm283x-gpu-drm-v3d-Add-ARCH_BCM2835-to-DRM_V3D-Kconfig.patch
+# https://patchwork.kernel.org/cover/11353083/
+Patch313: arm64-pinctrl-bcm2835-Add-support-for-all-BCM2711-GPIOs.patch
+# https://github.com/raspberrypi/linux/commit/c74b1b53254016fd83b580b8d49bb02d72ce4836
+Patch314: usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch
+# https://patchwork.kernel.org/patch/11372935/
+Patch315: bcm2835-irqchip-Quiesce-IRQs-left-enabled-by-bootloader.patch
# Tegra bits
Patch320: arm64-tegra-jetson-tx1-fixes.patch
# https://www.spinics.net/lists/linux-tegra/msg43110.html
Patch321: arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch
-# https://patchwork.kernel.org/patch/11171225/
-Patch322: mfd-max77620-Do-not-allocate-IRQs-upfront.patch
-# https://patchwork.ozlabs.org/patch/1170631/
-Patch323: gpio-max77620-Use-correct-unit-for-debounce-times.patch
-# https://www.spinics.net/lists/linux-tegra/msg44216.html
-Patch324: arm64-tegra186-enable-USB-on-Jetson-TX2.patch
-# https://patchwork.kernel.org/patch/11224177/
-Patch325: arm64-usb-host-xhci-tegra-set-MODULE_FIRMWARE-for-tegra186.patch
# 400 - IBM (ppc/s390x) patches
# 500 - Temp fixes/CVEs etc
-Patch500: PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch
-
# rhbz 1431375
Patch501: input-rmi4-remove-the-need-for-artifical-IRQ.patch
@@ -817,28 +868,17 @@ Patch502: 0001-Drop-that-for-now.patch
# 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
-Patch504: ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch
-
-# CVE-2019-19054 rhbz 1775063 1775117
-Patch523: media-rc-prevent-memory-leak-in-cx23888_ir_probe.patch
-
-# CVE-2019-18808 rhbz 1777418 1777421
-Patch527: 0001-crypto-ccp-Release-all-allocated-memory-if-sha-type-.patch
-
-# https://gitlab.freedesktop.org/drm/intel/issues/673
-Patch531: drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch
-
-# ALSA code from v5.5 (Intel ASoC Sound Open Firmware driver support)
-Patch600: alsa-5.5.patch
+Patch505: ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch
# ALSA code from v5.6 (Intel ASoC Sound Open Firmware driver support)
-Patch601: alsa-5.6.patch
-
-# This is already in 5.5 rhbz 1794369
-Patch603: 0001-e1000e-Add-support-for-Comet-Lake.patch
+Patch527: alsa-5.6.patch
# END OF PATCH DEFINITIONS
@@ -920,6 +960,123 @@ Provides: installonlypkg(kernel)
This package is required by %{name}-debuginfo subpackages.
It provides the kernel source files common to all builds.
+%if %{with_perf}
+%package -n perf
+Summary: Performance monitoring for the Linux kernel
+License: GPLv2
+%description -n perf
+This package contains the perf tool, which enables performance monitoring
+of the Linux kernel.
+
+%package -n perf-debuginfo
+Summary: Debug information for package perf
+Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
+AutoReqProv: no
+%description -n perf-debuginfo
+This package provides debug information for the perf package.
+
+# Note that this pattern only works right to match the .build-id
+# symlinks because of the trailing nonmatching alternation and
+# the leading .*, because of find-debuginfo.sh's buggy handling
+# of matching the pattern against the symlinks file.
+%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|.*%%{_libdir}/traceevent/plugins/.*|.*%%{_libdir}/libperf-jvmti.so(\.debug)?|XXX' -o perf-debuginfo.list}
+
+%package -n python3-perf
+Summary: Python bindings for apps which will manipulate perf events
+%description -n python3-perf
+The python3-perf package contains a module that permits applications
+written in the Python programming language to use the interface
+to manipulate perf events.
+
+%package -n python3-perf-debuginfo
+Summary: Debug information for package perf python bindings
+Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
+AutoReqProv: no
+%description -n python3-perf-debuginfo
+This package provides debug information for the perf python bindings.
+
+# the python_sitearch macro should already be defined from above
+%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{python3_sitearch}/perf.*so(\.debug)?|XXX' -o python3-perf-debuginfo.list}
+
+
+%endif # with_perf
+
+%if %{with_tools}
+%package -n kernel-tools
+Summary: Assortment of tools for the Linux kernel
+License: GPLv2
+%ifarch %{cpupowerarchs}
+Provides: cpupowerutils = 1:009-0.6.p1
+Obsoletes: cpupowerutils < 1:009-0.6.p1
+Provides: cpufreq-utils = 1:009-0.6.p1
+Provides: cpufrequtils = 1:009-0.6.p1
+Obsoletes: cpufreq-utils < 1:009-0.6.p1
+Obsoletes: cpufrequtils < 1:009-0.6.p1
+Obsoletes: cpuspeed < 1:1.5-16
+Requires: kernel-tools-libs = %{version}-%{release}
+%endif
+%define __requires_exclude ^%{_bindir}/python
+%description -n kernel-tools
+This package contains the tools/ directory from the kernel source
+and the supporting documentation.
+
+%package -n kernel-tools-libs
+Summary: Libraries for the kernels-tools
+License: GPLv2
+%description -n kernel-tools-libs
+This package contains the libraries built from the tools/ directory
+from the kernel source.
+
+%package -n kernel-tools-libs-devel
+Summary: Assortment of tools for the Linux kernel
+License: GPLv2
+Requires: kernel-tools = %{version}-%{release}
+%ifarch %{cpupowerarchs}
+Provides: cpupowerutils-devel = 1:009-0.6.p1
+Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
+%endif
+Requires: kernel-tools-libs = %{version}-%{release}
+Provides: kernel-tools-devel
+%description -n kernel-tools-libs-devel
+This package contains the development files for the tools/ directory from
+the kernel source.
+
+%package -n kernel-tools-debuginfo
+Summary: Debug information for package kernel-tools
+Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
+AutoReqProv: no
+%description -n kernel-tools-debuginfo
+This package provides debug information for package kernel-tools.
+
+# Note that this pattern only works right to match the .build-id
+# symlinks because of the trailing nonmatching alternation and
+# the leading .*, because of find-debuginfo.sh's buggy handling
+# of matching the pattern against the symlinks file.
+%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{_bindir}/turbostat(\.debug)?|.*%%{_bindir}/x86_energy_perf_policy(\.debug)?|.*%%{_bindir}/tmon(\.debug)?|.*%%{_bindir}/lsgpio(\.debug)?|.*%%{_bindir}/gpio-hammer(\.debug)?|.*%%{_bindir}/gpio-event-mon(\.debug)?|.*%%{_bindir}/iio_event_monitor(\.debug)?|.*%%{_bindir}/iio_generic_buffer(\.debug)?|.*%%{_bindir}/lsiio(\.debug)?|XXX' -o kernel-tools-debuginfo.list}
+
+%endif # with_tools
+
+%if %{with_bpftool}
+
+%package -n bpftool
+Summary: Inspection and simple manipulation of eBPF programs and maps
+License: GPLv2
+%description -n bpftool
+This package contains the bpftool, which allows inspection and simple
+manipulation of eBPF programs and maps.
+
+%package -n bpftool-debuginfo
+Summary: Debug information for package bpftool
+Group: Development/Debug
+Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
+AutoReqProv: no
+%description -n bpftool-debuginfo
+This package provides debug information for the bpftool package.
+
+%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_sbindir}/bpftool(\.debug)?|XXX' -o bpftool-debuginfo.list}
+
+%endif # with_bpftool
+
%if %{with_selftests}
%package selftests-internal
Summary: Kernel samples and selftests
@@ -1407,6 +1564,7 @@ pathfix.py -i "%{__python3} %{py3_shbang_opts}" -p -n \
scripts/show_delta \
scripts/diffconfig \
scripts/bloat-o-meter \
+ scripts/jobserver-exec \
tools/perf/tests/attr.py \
tools/perf/scripts/python/stat-cpi.py \
tools/perf/scripts/python/sched-migration.py \
@@ -2075,6 +2233,54 @@ BuildKernel %make_target %kernel_image %{use_vdso} lpae
BuildKernel %make_target %kernel_image %{_use_vdso}
%endif
+%global perf_make \
+ make -s EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=%{_prefix} PYTHON=%{__python3}
+%if %{with_perf}
+# perf
+# make sure check-headers.sh is executable
+chmod +x tools/perf/check-headers.sh
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT all
+%endif
+
+%if %{with_tools}
+%ifarch %{cpupowerarchs}
+# cpupower
+# make sure version-gen.sh is executable.
+chmod +x tools/power/cpupower/utils/version-gen.sh
+%{make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
+%ifarch x86_64
+ pushd tools/power/cpupower/debug/x86_64
+ %{make} %{?_smp_mflags} centrino-decode powernow-k8-decode
+ popd
+%endif
+%ifarch x86_64
+ pushd tools/power/x86/x86_energy_perf_policy/
+ %{make}
+ popd
+ pushd tools/power/x86/turbostat
+ %{make}
+ popd
+%endif #turbostat/x86_energy_perf_policy
+%endif
+pushd tools/thermal/tmon/
+%{make}
+popd
+pushd tools/iio/
+%{make}
+popd
+pushd tools/gpio/
+%{make}
+popd
+%endif
+
+%global bpftool_make \
+ make EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}" DESTDIR=$RPM_BUILD_ROOT V=1
+%if %{with_bpftool}
+pushd tools/bpf/bpftool
+%{bpftool_make}
+popd
+%endif
+
%if %{with_selftests}
%{make} -s ARCH=$Arch V=1 samples/bpf/
pushd tools/testing/selftests
@@ -2224,6 +2430,80 @@ mkdir -p $INSTALL_KABI_PATH
tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH
%endif
+%if %{with_perf}
+# perf tool binary and supporting scripts/binaries
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT lib=%{_lib} install-bin install-traceevent-plugins
+# remove the 'trace' symlink.
+rm -f %{buildroot}%{_bindir}/trace
+
+# For both of the below, yes, this should be using a macro but right now
+# it's hard coded and we don't actually want it anyway right now.
+# Whoever wants examples can fix it up!
+
+# remove examples
+rm -rf %{buildroot}/usr/lib/perf/examples
+# remove the stray files that somehow got packaged
+rm -rf %{buildroot}/usr/lib/perf/include/bpf/bpf.h
+rm -rf %{buildroot}/usr/lib/perf/include/bpf/stdio.h
+rm -rf %{buildroot}/usr/lib/perf/include/bpf/linux/socket.h
+rm -rf %{buildroot}/usr/lib/perf/include/bpf/pid_filter.h
+rm -rf %{buildroot}/usr/lib/perf/include/bpf/unistd.h
+
+# python-perf extension
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
+
+# perf man pages (note: implicit rpm magic compresses them later)
+mkdir -p %{buildroot}/%{_mandir}/man1
+%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man
+%endif
+
+%if %{with_tools}
+%ifarch %{cpupowerarchs}
+%{make} -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
+rm -f %{buildroot}%{_libdir}/*.{a,la}
+%find_lang cpupower
+mv cpupower.lang ../
+%ifarch x86_64
+ pushd tools/power/cpupower/debug/x86_64
+ install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
+ install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
+ popd
+%endif
+chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
+mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
+install -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service
+install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
+%endif
+%ifarch x86_64
+ mkdir -p %{buildroot}%{_mandir}/man8
+ pushd tools/power/x86/x86_energy_perf_policy
+ make DESTDIR=%{buildroot} install
+ popd
+ pushd tools/power/x86/turbostat
+ make DESTDIR=%{buildroot} install
+ popd
+%endif #turbostat/x86_energy_perf_policy
+pushd tools/thermal/tmon
+make INSTALL_ROOT=%{buildroot} install
+popd
+pushd tools/iio
+make DESTDIR=%{buildroot} install
+popd
+pushd tools/gpio
+make DESTDIR=%{buildroot} install
+popd
+pushd tools/kvm/kvm_stat
+make INSTALL_ROOT=%{buildroot} install-tools
+make INSTALL_ROOT=%{buildroot} install-man
+popd
+%endif
+
+%if %{with_bpftool}
+pushd tools/bpf/bpftool
+%{bpftool_make} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install
+popd
+%endif
+
%if %{with_selftests}
pushd samples
install -d %{buildroot}%{_libexecdir}/ksamples
@@ -2278,6 +2558,14 @@ popd
### scripts
###
+%if %{with_tools}
+%post -n kernel-tools-libs
+/sbin/ldconfig
+
+%postun -n kernel-tools-libs
+/sbin/ldconfig
+%endif
+
#
# This macro defines a %%post script for a kernel*-devel package.
# %%kernel_devel_post [<subpackage>]
@@ -2433,6 +2721,95 @@ fi
%dir %{_datadir}/doc/kernel-doc-%{rpmversion}
%endif
+%if %{with_perf}
+%files -n perf
+%{_bindir}/perf
+%{_libdir}/libperf-jvmti.so
+%dir %{_libdir}/traceevent/plugins
+%{_libdir}/traceevent/plugins/*
+%dir %{_libexecdir}/perf-core
+%{_libexecdir}/perf-core/*
+%{_datadir}/perf-core/*
+%{_mandir}/man[1-8]/perf*
+%{_sysconfdir}/bash_completion.d/perf
+%doc linux-%{KVERREL}/tools/perf/Documentation/examples.txt
+%{_docdir}/perf-tip/tips.txt
+
+%files -n python3-perf
+%{python3_sitearch}/*
+
+%if %{with_debuginfo}
+%files -f perf-debuginfo.list -n perf-debuginfo
+
+%files -f python3-perf-debuginfo.list -n python3-perf-debuginfo
+%endif
+%endif # with_perf
+
+%if %{with_tools}
+%files -n kernel-tools
+%ifarch %{cpupowerarchs}
+%files -n kernel-tools -f cpupower.lang
+%{_bindir}/cpupower
+%{_datadir}/bash-completion/completions/cpupower
+%ifarch x86_64
+%{_bindir}/centrino-decode
+%{_bindir}/powernow-k8-decode
+%endif
+%{_unitdir}/cpupower.service
+%{_mandir}/man[1-8]/cpupower*
+%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
+%ifarch x86_64
+%{_bindir}/x86_energy_perf_policy
+%{_mandir}/man8/x86_energy_perf_policy*
+%{_bindir}/turbostat
+%{_mandir}/man8/turbostat*
+%endif
+%endif # cpupowerarchs
+%{_bindir}/tmon
+%{_bindir}/iio_event_monitor
+%{_bindir}/iio_generic_buffer
+%{_bindir}/lsiio
+%{_bindir}/lsgpio
+%{_bindir}/gpio-hammer
+%{_bindir}/gpio-event-mon
+%{_mandir}/man1/kvm_stat*
+%{_bindir}/kvm_stat
+
+%if %{with_debuginfo}
+%files -f kernel-tools-debuginfo.list -n kernel-tools-debuginfo
+%endif
+
+%ifarch %{cpupowerarchs}
+%files -n kernel-tools-libs
+%{_libdir}/libcpupower.so.0
+%{_libdir}/libcpupower.so.0.0.1
+
+%files -n kernel-tools-libs-devel
+%{_libdir}/libcpupower.so
+%{_includedir}/cpufreq.h
+%endif
+%endif # with_tools
+
+%if %{with_bpftool}
+%files -n bpftool
+%{_sbindir}/bpftool
+%{_sysconfdir}/bash_completion.d/bpftool
+%{_mandir}/man8/bpftool-cgroup.8.gz
+%{_mandir}/man8/bpftool-map.8.gz
+%{_mandir}/man8/bpftool-prog.8.gz
+%{_mandir}/man8/bpftool-perf.8.gz
+%{_mandir}/man8/bpftool.8.gz
+%{_mandir}/man7/bpf-helpers.7.gz
+%{_mandir}/man8/bpftool-net.8.gz
+%{_mandir}/man8/bpftool-feature.8.gz
+%{_mandir}/man8/bpftool-btf.8.gz
+
+%if %{with_debuginfo}
+%files -f bpftool-debuginfo.list -n bpftool-debuginfo
+%defattr(-,root,root)
+%endif
+%endif
+
%if %{with_selftests}
%files selftests-internal
%{_libexecdir}/ksamples
@@ -2487,12 +2864,7 @@ fi
/lib/modules/%{KVERREL}%{?3:+%{3}}/source\
/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\
/lib/modules/%{KVERREL}%{?3:+%{3}}/bls.conf\
-%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}/kernel-signing-ca.cer\
-%ifarch s390x ppc64le\
-%if 0%{!?4:1}\
-%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}/%{signing_key_filename} \
-%endif\
-%endif\
+%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}\
%if %{1}\
/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
%endif\
@@ -2540,6 +2912,9 @@ fi
#
#
%changelog
+* Wed Feb 19 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.5.5-200
+- Linux v5.5.5
+
* Mon Feb 17 2020 Jeremy Cline <jcline@redhat.com> - 5.4.20-200
- Linux v5.4.20
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/mfd-max77620-Do-not-allocate-IRQs-upfront.patch b/mfd-max77620-Do-not-allocate-IRQs-upfront.patch
deleted file mode 100644
index 0b4820ad7..000000000
--- a/mfd-max77620-Do-not-allocate-IRQs-upfront.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From patchwork Wed Oct 2 14:43:18 2019
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com>
-X-Patchwork-Id: 11171225
-Return-Path:
- <SRS0=hIqC=X3=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 C771E1747
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 2 Oct 2019 14:45:14 +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 9703B21D81
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Wed, 2 Oct 2019 14:45:14 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="LCP5OdWP";
- dkim=fail reason="signature verification failed" (2048-bit key)
- header.d=gmail.com header.i=@gmail.com header.b="ahoJ80fO"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9703B21D81
-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: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=csIWPoJz7RR9msf1imaCNOLXiDPcaRmxRKjOL8gMaXM=; b=LCP5OdWPpIBxJz
- tSNffGBZI2pwLSarAvmqKIowLW5LghNe3CVQh7HM3sIR+IqrUtTSXi/0EEQAQORrYHSnR4zrDlubl
- 8IIqIetbgOrEmYRpHQxWZV/Z0p5JTdvNVeOiR63CuFbjz/h9UXPWOiLZijU1eZfSN2UuEJWxzoWMF
- CsXxW+3rZ3os8AAa9x0lt6gGLwAPEPrxP44q4AJTVp3q+cD7GTXHu0F2ZT2flxES+cFF2/cPg2GiM
- yR5j7GNMDhdxFKjGp8qcDhfCKx/0jF0DofnC4JsVlN0R25HdwYHzdHhysk8ca7JxLIMJlgXsgM5aY
- 4XUIEB/0CjoPtdbP+8yw==;
-Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org)
- by bombadil.infradead.org with esmtp (Exim 4.92.2 #3 (Red Hat Linux))
- id 1iFfsO-0006Nf-SR; Wed, 02 Oct 2019 14:45:12 +0000
-Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443])
- by bombadil.infradead.org with esmtps (Exim 4.92.2 #3 (Red Hat Linux))
- id 1iFfqd-0003rK-EL
- for linux-arm-kernel@lists.infradead.org; Wed, 02 Oct 2019 14:43:47 +0000
-Received: by mail-wr1-x443.google.com with SMTP id w12so19991081wro.5
- for <linux-arm-kernel@lists.infradead.org>;
- Wed, 02 Oct 2019 07:43:21 -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=y9l/1MkRoZLCyZNPXaR5fzwvTbuyIzYA20JLtWuhYR4=;
- b=ahoJ80fONPxwQPqvbuQRAba40syj0YJFK3SbqTxd0FOzhs1n3WTvNd/gHQ+2WK5WwB
- 8joqipXveUGBgePR1RwHR0oQyDAumewRmSMStvhyCHPeo154CNqZfGQNlbNlRng2QJqd
- 1/Sq8GNJ1DjcLifpHWbCC9LoK5U3UkvdIWHPFx0cqJ+ENvPHkYPr2FdpaZ8jxuJta3TT
- dplkNk0AsL/tc33KBJbKUSlnYppX878WQXUvnhdB+TRmr5R3dtc5Ewc0TH4h7V1SXTly
- GiNnbbCc+BKzzqk9PTo/Pqf5dzWcpNDBA1GUkzQZDTXOXXUzBjnlrTaQctjSdE6meWfJ
- JbDw==
-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=y9l/1MkRoZLCyZNPXaR5fzwvTbuyIzYA20JLtWuhYR4=;
- b=m4CouDn44ioMScPU+9h/V5vlxCAt0m4CSZKRu3pcsThkHE6u1TeKieaoBr1mh1qnIv
- YS+V9Cd7osJa8R8USg+SJkEaSSarOn4kUq2MPTgMMmvKb63SSCCs0QD44nwEBAjIgMd/
- /akFUOMTGQBnN7P8Iq3KWI00bVJLeoVWmqtQPkLFI1cIRrkCKTF4jh6b+i6xsiT8t2rd
- l6WPsWnKkqUmPAqzpmLJ9bmSsiGBBFUexUJDcQnskkx6tTBzFhyNtpsbq6VdcY2mS3LR
- rgGbisZRFdLvdZfGhmPX1hRgDoiHQLuWNAv49LtJtR7/CjNFmsKr4MBg1ydz0uO01Axr
- zoIQ==
-X-Gm-Message-State: APjAAAXPZ9a+CEGZKeL6T+FXZoBRFrxryg3xujpPFnNpjznB8ehsaTI0
- P6wL6cWqK9IRnS17Y/YRAb4=
-X-Google-Smtp-Source:
- APXvYqyETp8FIXhzzDrv+mhfzHhU0D9h3bcpLQ9oRbkEYPG7JvxLk5RVWx/ooYmku2+exI6oXsHTnA==
-X-Received: by 2002:a5d:4dd0:: with SMTP id f16mr2905889wru.85.1570027400467;
- Wed, 02 Oct 2019 07:43:20 -0700 (PDT)
-Received: from localhost (p2E5BE2CE.dip0.t-ipconnect.de. [46.91.226.206])
- by smtp.gmail.com with ESMTPSA id z125sm10251381wme.37.2019.10.02.07.43.19
- (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
- Wed, 02 Oct 2019 07:43:19 -0700 (PDT)
-From: Thierry Reding <thierry.reding@gmail.com>
-To: Lee Jones <lee.jones@linaro.org>
-Subject: [PATCH] mfd: max77620: Do not allocate IRQs upfront
-Date: Wed, 2 Oct 2019 16:43:18 +0200
-Message-Id: <20191002144318.140365-1-thierry.reding@gmail.com>
-X-Mailer: git-send-email 2.23.0
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20191002_074330_018855_CC323A91
-X-CRM114-Status: GOOD ( 11.81 )
-X-Spam-Score: -0.2 (/)
-X-Spam-Report: SpamAssassin version 3.4.2 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 [2a00:1450:4864:20:0:0:0:443 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 FREEMAIL_FROM Sender email is commonly abused enduser mail
- provider (thierry.reding[at]gmail.com)
- -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: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
- linux-arm-kernel@lists.infradead.org
-Content-Type: text/plain; charset="us-ascii"
-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: Thierry Reding <treding@nvidia.com>
-
-regmap_add_irq_chip() will try to allocate all of the IRQ descriptors
-upfront if passed a non-zero irq_base parameter. However, the intention
-is to allocate IRQ descriptors on an as-needed basis if possible. Pass 0
-instead of -1 to fix that use-case.
-
-Signed-off-by: Thierry Reding <treding@nvidia.com>
----
- drivers/mfd/max77620.c | 5 ++---
- include/linux/mfd/max77620.h | 1 -
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/mfd/max77620.c b/drivers/mfd/max77620.c
-index a851ff473a44..c7ed5c353553 100644
---- a/drivers/mfd/max77620.c
-+++ b/drivers/mfd/max77620.c
-@@ -507,7 +507,6 @@ static int max77620_probe(struct i2c_client *client,
-
- i2c_set_clientdata(client, chip);
- chip->dev = &client->dev;
-- chip->irq_base = -1;
- chip->chip_irq = client->irq;
- chip->chip_id = (enum max77620_chip_id)id->driver_data;
-
-@@ -545,8 +544,8 @@ static int max77620_probe(struct i2c_client *client,
-
- max77620_top_irq_chip.irq_drv_data = chip;
- ret = devm_regmap_add_irq_chip(chip->dev, chip->rmap, client->irq,
-- IRQF_ONESHOT | IRQF_SHARED,
-- chip->irq_base, &max77620_top_irq_chip,
-+ IRQF_ONESHOT | IRQF_SHARED, 0,
-+ &max77620_top_irq_chip,
- &chip->top_irq_data);
- if (ret < 0) {
- dev_err(chip->dev, "Failed to add regmap irq: %d\n", ret);
-diff --git a/include/linux/mfd/max77620.h b/include/linux/mfd/max77620.h
-index 12ba157cb83f..f552ef5b1100 100644
---- a/include/linux/mfd/max77620.h
-+++ b/include/linux/mfd/max77620.h
-@@ -329,7 +329,6 @@ struct max77620_chip {
- struct regmap *rmap;
-
- int chip_irq;
-- int irq_base;
-
- /* chip id */
- enum max77620_chip_id chip_id;
diff --git a/s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch b/s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch
new file mode 100644
index 000000000..0779418b4
--- /dev/null
+++ b/s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch
@@ -0,0 +1,66 @@
+From eaa12998810bd9db85dec71f0da55fd5aae73d0f 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_CONFIDENTIALITY_MAX if
+the IPL secure flag is set.
+
+Suggested-by: Philipp Rudo <prudo@redhat.com>
+Signed-off-by: Jeremy Cline <jcline@redhat.com>
+---
+ arch/s390/include/asm/ipl.h | 1 +
+ arch/s390/kernel/ipl.c | 5 +++++
+ arch/s390/kernel/setup.c | 4 ++++
+ 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
+--- 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,
+ unsigned char flags, unsigned short cert);
+ 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
+--- a/arch/s390/kernel/ipl.c
++++ b/arch/s390/kernel/ipl.c
+@@ -1842,3 +1842,8 @@ int ipl_report_free(struct ipl_report *report)
+ }
+
+ #endif
++
++bool ipl_get_secureboot(void)
++{
++ return !!ipl_secure_flag;
++}
+diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
+index 9cbf490fd162..0510ecdfc3f6 100644
+--- a/arch/s390/kernel/setup.c
++++ b/arch/s390/kernel/setup.c
+@@ -49,6 +49,7 @@
+ #include <linux/memory.h>
+ #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)
+
+ log_component_list();
+
++ if (ipl_get_secureboot())
++ security_lock_kernel_down("Secure IPL mode", LOCKDOWN_CONFIDENTIALITY_MAX);
++
+ /* Have one command line that is parsed and saved in /proc/cmdline */
+ /* boot_command_line has been already set up in early.c */
+ *cmdline_p = boot_command_line;
+--
+2.24.1
+
diff --git a/secureboot_ppc.cer b/secureboot_ppc.cer
new file mode 100644
index 000000000..2c0087dbc
--- /dev/null
+++ b/secureboot_ppc.cer
Binary files differ
diff --git a/secureboot_s390.cer b/secureboot_s390.cer
new file mode 100644
index 000000000..137d3858f
--- /dev/null
+++ b/secureboot_s390.cer
Binary files differ
diff --git a/sources b/sources
index 1cabb63ab..6767138b4 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (linux-5.4.tar.xz) = 9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f
-SHA512 (patch-5.4.20.xz) = 65fbcdbd41e35c17601ff15bbe33933be2ab7a694aa181a0b802cc11c1c653c9b688dbb382076cbad05983a0c07467955c035ae25f5175f7ce5bc24339303d77
+SHA512 (linux-5.5.tar.xz) = fa74fdabb5e63384a39e54da05b86a9ae9ea16179524b041fbbdffc7177e80b53600ae98d76be127ba216148f9dc55fe07ab20637e22c6d6030cb4aa09eb2f86
+SHA512 (patch-5.5.5.xz) = 250f48e451aac4674b12cabc4efa9a65bf5d0ebec64c3cd91372343f12a38d2481a7ac9e7d3c232ef75f9455f75a7731c174d97af4538943a273e9b27d09e602
diff --git a/usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch b/usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
deleted file mode 100644
index 2a44851d7..000000000
--- a/usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From patchwork Wed Apr 6 07:54:05 2016
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: usb: phy: tegra: Add 38.4MHz clock table entry
-From: Hunter Laux <hunterlaux@gmail.com>
-X-Patchwork-Id: 606877
-Message-Id: <1459929245-23449-1-git-send-email-hunterlaux@gmail.com>
-To: Stephen Warren <swarren@wwwdotorg.org>,
- Thierry Reding <thierry.reding@gmail.com>,
- Alexandre Courbot <gnurou@gmail.com>, linux-tegra@vger.kernel.org
-Cc: Hunter Laux <hunterlaux@gmail.com>
-Date: Wed, 6 Apr 2016 00:54:05 -0700
-
-The Tegra210 uses a 38.4MHz OSC. This clock table entry is required to
-use the ehci phy on the Jetson TX1.
-
-The xtal_freq_count is actually a 12 bit value, so it should be a u16
-instead of u8.
-
-Signed-off-by: Hunter Laux <hunterlaux@gmail.com>
----
- drivers/usb/phy/phy-tegra-usb.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/usb/phy/phy-tegra-usb.c b/drivers/usb/phy/phy-tegra-usb.c
-index 5fe4a57..f0431f0 100644
---- a/drivers/usb/phy/phy-tegra-usb.c
-+++ b/drivers/usb/phy/phy-tegra-usb.c
-@@ -164,7 +164,7 @@ struct tegra_xtal_freq {
- u8 enable_delay;
- u8 stable_count;
- u8 active_delay;
-- u8 xtal_freq_count;
-+ u16 xtal_freq_count;
- u16 debounce;
- };
-
-@@ -201,6 +201,14 @@ static const struct tegra_xtal_freq tegra_freq_table[] = {
- .xtal_freq_count = 0xFE,
- .debounce = 0xFDE8,
- },
-+ {
-+ .freq = 38400000,
-+ .enable_delay = 0x00,
-+ .stable_count = 0x00,
-+ .active_delay = 0x18,
-+ .xtal_freq_count = 0x177,
-+ .debounce = 0xBB80,
-+ },
- };
-
- static void set_pts(struct tegra_usb_phy *phy, u8 pts_val)
diff --git a/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch b/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch
new file mode 100644
index 000000000..7bf875c6d
--- /dev/null
+++ b/usb-xhci-Raspberry-Pi-FW-loader-for-VIA-VL805.patch
@@ -0,0 +1,91 @@
+From eb05efbfe58a7815957844e6dbe28735e85393cf Mon Sep 17 00:00:00 2001
+From: Tim Gover <990920+timg236@users.noreply.github.com>
+Date: Wed, 15 Jan 2020 11:26:19 +0000
+Subject: [PATCH] usb: xhci: Raspberry Pi FW loader for VIA VL805
+
+The VL805 FW may either be loaded from an SPI EEPROM or alternatively
+loaded directly by the VideoCore firmware. A PCI reset will reset
+the VL805 XHCI controller on the Raspberry Pi4 requiring the firmware
+to be reloaded if an SPI EEPROM is not present.
+
+Use a VideoCore mailbox to trigger the loading of the VL805
+firmware (if necessary) after a PCI reset.
+
+Signed-off-by: Tim Gover <tim.gover@raspberrypi.org>
+---
+ drivers/usb/host/pci-quirks.c | 31 +++++++++++++++++++++-
+ include/soc/bcm2835/raspberrypi-firmware.h | 2 +-
+ 2 files changed, 31 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
+index 6c7f0a876b96..c3367b053044 100644
+--- a/drivers/usb/host/pci-quirks.c
++++ b/drivers/usb/host/pci-quirks.c
+@@ -18,7 +18,7 @@
+ #include <linux/dmi.h>
+ #include "pci-quirks.h"
+ #include "xhci-ext-caps.h"
+-
++#include <soc/bcm2835/raspberrypi-firmware.h>
+
+ #define UHCI_USBLEGSUP 0xc0 /* legacy support */
+ #define UHCI_USBCMD 0 /* command register */
+@@ -630,6 +630,32 @@ bool usb_amd_pt_check_port(struct device *device, int port)
+ }
+ EXPORT_SYMBOL_GPL(usb_amd_pt_check_port);
+
++/* The VL805 firmware may either be loaded from an EEPROM or by the BIOS into
++ * memory. If run from memory it must be reloaded after a PCI fundmental reset.
++ * The Raspberry Pi firmware acts as the BIOS in this case.
++ */
++static void usb_vl805_init(struct pci_dev *pdev)
++{
++#if IS_ENABLED(CONFIG_RASPBERRYPI_FIRMWARE)
++ struct rpi_firmware *fw;
++ struct {
++ u32 dev_addr;
++ } packet;
++ int ret;
++
++ fw = rpi_firmware_get(NULL);
++ if (!fw)
++ return;
++
++ packet.dev_addr = (pdev->bus->number << 20) |
++ (PCI_SLOT(pdev->devfn) << 15) | (PCI_FUNC(pdev->devfn) << 12);
++
++ dev_dbg(&pdev->dev, "RPI_FIRMWARE_NOTIFY_XHCI_RESET %x", packet.dev_addr);
++ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
++ &packet, sizeof(packet));
++#endif
++}
++
+ /*
+ * Make sure the controller is completely inactive, unable to
+ * generate interrupts or do DMA.
+@@ -1207,6 +1233,9 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
+ if (pdev->vendor == PCI_VENDOR_ID_INTEL)
+ usb_enable_intel_xhci_ports(pdev);
+
++ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483)
++ usb_vl805_init(pdev);
++
+ op_reg_base = base + XHCI_HC_LENGTH(readl(base));
+
+ /* Wait for the host controller to be ready before writing any
+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.24.1
+