From 9ab9ea2db0b13375d3d7114d5c82eb298a118740 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Tue, 4 Aug 2020 17:00:01 -0500 Subject: Linux v5.8 rebase Signed-off-by: Justin M. Forbes --- ...rm64-Ignore-broken-HPE-moonshot-APEI-supp.patch | 2 +- 0001-ARM-tegra-usb-no-reset.patch | 2 +- ...tatus_to_str-and-rework-efi_status_to_err.patch | 10 +- ...-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch | 4 +- 0001-Drop-that-for-now.patch | 4 +- ...MCFG-quirks-for-Tegra194-host-controllers.patch | 209 ----- ...-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch | 57 -- ...a-Revert-raw_violation_fixup-for-tegra124.patch | 65 ++ ...RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch | 81 ++ ...4-allwinner-dts-a64-add-LCD-related-devic.patch | 76 ++ ...ert-drm-panel-add-Xingbangda-XBD599-panel.patch | 418 +++++++++ ...sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch | 56 ++ ...indings-panel-add-binding-for-Xingbangda-.patch | 71 ++ 0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch | 72 -- ...-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch | 4 +- ...-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch | 29 + ...i-scan-Fix-regression-related-to-X-Gene-U.patch | 4 +- 0001-acpi-prefer-booting-with-ACPI-over-DTS.patch | 56 -- ...Use-kmemdup-instead-of-kmalloc-and-memcpy.patch | 55 -- ...-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch | 4 +- ...NFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch | 4 +- ...nner-dts-a64-add-LCD-related-device-nodes.patch | 81 ++ ...un50i-a64-pinephone-Add-touchscreen-suppo.patch | 46 + ...un50i-a64-pinephone-Enable-LCD-support-on.patch | 112 +++ ...-remove-redundant-assignments-to-variable.patch | 32 - ...vice-detect-if-changing-endianness-failed.patch | 62 -- 0001-device-detect-vGPUs.patch | 59 -- ...rk-mmio-mapping-code-to-get-rid-of-second.patch | 84 -- ...regular-PRI-accessors-in-chipset-detectio.patch | 113 --- 0001-disp-gv100-expose-capabilities-class.patch | 149 ---- ...119-add-HAL-for-programming-device-entry-.patch | 146 ---- ...119-select-HDA-device-entry-based-on-boun.patch | 49 -- ...p-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch | 83 -- ...100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch | 105 --- ...ncrease-timeout-on-pio-channel-free-polli.patch | 26 - ...Use-generic-helper-to-check-_PR3-presence.patch | 96 --- 0001-drm-panel-add-Xingbangda-XBD599-panel.patch | 423 +++++++++ ...ocktech-jh057n00900-Rename-the-driver-to-.patch | 948 +++++++++++++++++++++ ...-st7703-Add-support-for-Xingbangda-XBD599.patch | 251 ++++++ ...t7703-Assert-reset-prior-to-powering-down.patch | 29 + ...anel-st7703-Enter-sleep-after-display-off.patch | 41 + ...t7703-Move-code-specific-to-jh057n-closer.patch | 84 ++ ...t7703-Move-generic-part-of-init-sequence-.patch | 84 ++ ...t7703-Prepare-for-supporting-multiple-pan.patch | 128 +++ ...t7703-Rename-functions-from-jh057n-prefix.patch | 265 ++++++ ...un6i_mipi_dsi-fix-horizontal-timing-calcu.patch | 59 ++ ...-panel-Add-compatible-for-Xingbangda-XBD5.patch | 37 + ...-panel-Convert-rocktech-jh057n00900-to-ya.patch | 119 +++ ...-panel-add-binding-for-Xingbangda-XBD599-.patch | 74 ++ ...t-bindings-vendor-prefixes-Add-Xingbangda.patch | 8 +- ...-up-timeout-to-wait-when-ME-un-configure-.patch | 4 +- ...EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch | 161 ---- ...wn-the-kernel-if-booted-in-secure-boot-mo.patch | 4 +- ...-raspberrypi-Introduce-vl805-init-routine.patch | 110 --- ...iommu-arm-smmu-workaround-DMA-mode-issues.patch | 4 +- 0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch | 6 +- ...neric-kABI-macros-to-use-for-kABI-workaro.patch | 214 ----- 0001-kdump-add-support-for-crashkernel-auto.patch | 2 +- ...ms-gv100-Add-support-for-interlaced-modes.patch | 64 -- ...itialize-core-channel-in-nouveau_display_.patch | 47 - ...ve-8BPC-limit-for-MST-into-nv50_mstc_get_.patch | 65 -- ...obe-SOR-and-PIOR-caps-for-DP-interlacing-.patch | 439 ---------- ...Share-DP-SST-mode_valid-handling-with-MST.patch | 209 ----- 0001-mmu-Remove-unneeded-semicolon.patch | 47 - 0001-modules-add-rhelversion-MODULE_INFO-tag.patch | 151 ---- ...-perf-cs-etm-Move-defined-of-traceid_list.patch | 58 -- ...6-thinkpad_acpi-Add-support-for-dual-fan-.patch | 136 --- ...own-the-kernel-when-the-IPL-secure-flag-i.patch | 12 +- ...ckdown-expose-a-hook-to-lock-the-kernel-d.patch | 22 +- ...ow-reading-labels-before-policy-is-loaded.patch | 49 ++ ...-Sync-xHCI-reset-firmware-property-with-d.patch | 32 - ...b-fusb302-Convert-to-use-GPIO-descriptors.patch | 162 ---- ...ix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch | 123 --- ...rt-vbox-Fix-guest-capabilities-mask-check.patch | 47 - ...-panel-Convert-rocktech-jh057n00900-to-ya.patch | 120 --- ...-panel-Add-compatible-for-Xingbangda-XBD5.patch | 37 - ...ocktech-jh057n00900-Rename-the-driver-to-.patch | 91 -- ...t7703-Rename-functions-from-jh057n-prefix.patch | 265 ------ ...t7703-Prepare-for-supporting-multiple-pan.patch | 129 --- ...t7703-Move-code-specific-to-jh057n-closer.patch | 84 -- ...t7703-Move-generic-part-of-init-sequence-.patch | 84 -- ...-st7703-Add-support-for-Xingbangda-XBD599.patch | 251 ------ ...anel-st7703-Enter-sleep-after-display-off.patch | 41 - ...t7703-Assert-reset-prior-to-powering-down.patch | 29 - ...un50i-a64-pinephone-Enable-LCD-support-on.patch | 112 --- ...un50i-a64-pinephone-Add-touchscreen-suppo.patch | 47 - 20200505_leo_yan_linaro_org.patch | 70 -- configs/fedora/debug/CONFIG_BTRFS_ASSERT | 1 + configs/fedora/debug/CONFIG_DEBUG_VM_PGTABLE | 24 + configs/fedora/debug/CONFIG_DMADEVICES_DEBUG | 2 +- configs/fedora/debug/CONFIG_KASAN_VMALLOC | 1 + configs/fedora/debug/CONFIG_KPROBE_EVENT_GEN_TEST | 1 + configs/fedora/debug/CONFIG_MMIOTRACE | 1 - configs/fedora/debug/CONFIG_PROVE_RCU | 1 - configs/fedora/debug/CONFIG_PTDUMP_DEBUGFS | 1 + configs/fedora/debug/CONFIG_SND_CTL_VALIDATION | 1 + .../fedora/debug/CONFIG_SND_SOC_SOF_DEBUG_PROBES | 1 + configs/fedora/debug/CONFIG_SND_SOC_SOF_HDA_PROBES | 1 + configs/fedora/debug/CONFIG_SYNTH_EVENT_GEN_TEST | 1 + configs/fedora/debug/CONFIG_TEST_MIN_HEAP | 1 + configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT | 1 - .../debug/arm/aarch64/CONFIG_ARM64_FORCE_52BIT | 1 + configs/fedora/debug/arm/aarch64/README | 0 configs/fedora/debug/arm/armv7/README | 0 configs/fedora/debug/powerpc/README | 0 configs/fedora/debug/s390x/README | 0 configs/fedora/generic/CONFIG_ACPI_TABLE_UPGRADE | 1 + configs/fedora/generic/CONFIG_AD9467 | 26 + configs/fedora/generic/CONFIG_ADIS16475 | 23 + configs/fedora/generic/CONFIG_ADI_AXI_ADC | 32 + configs/fedora/generic/CONFIG_AMDTEE | 1 + configs/fedora/generic/CONFIG_ARCH_REALTEK | 1 + configs/fedora/generic/CONFIG_ARCH_S32 | 1 + configs/fedora/generic/CONFIG_ARM64_AMU_EXTN | 1 + configs/fedora/generic/CONFIG_ARM64_BTI | 31 + configs/fedora/generic/CONFIG_ARM64_E0PD | 1 + .../fedora/generic/CONFIG_ARM64_ERRATUM_1319367 | 1 + .../fedora/generic/CONFIG_ARM64_ERRATUM_1530923 | 1 + .../fedora/generic/CONFIG_ARM64_ERRATUM_1542419 | 1 + .../fedora/generic/CONFIG_ARM64_USE_LSE_ATOMICS | 1 + configs/fedora/generic/CONFIG_ARM_SMC_WATCHDOG | 21 + .../generic/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS | 1 + configs/fedora/generic/CONFIG_ATLAS_EZO_SENSOR | 1 + .../fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED | 1 + configs/fedora/generic/CONFIG_BATTERY_CW2015 | 21 + .../fedora/generic/CONFIG_BCACHE_ASYNC_REGISTRAION | 20 + configs/fedora/generic/CONFIG_BCM54140_PHY | 21 + configs/fedora/generic/CONFIG_BLK_DEV_RNBD_CLIENT | 1 + configs/fedora/generic/CONFIG_BLK_DEV_RNBD_SERVER | 1 + .../fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION | 17 + .../generic/CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK | 1 + configs/fedora/generic/CONFIG_BRIDGE_MRP | 22 + configs/fedora/generic/CONFIG_BTRFS_FS | 2 +- configs/fedora/generic/CONFIG_BT_MSFTEXT | 17 + configs/fedora/generic/CONFIG_CAPI_AVM | 1 + configs/fedora/generic/CONFIG_CEC_SECO | 20 + configs/fedora/generic/CONFIG_CEC_SECO_RC | 20 + configs/fedora/generic/CONFIG_CHARGER_BD99954 | 19 + configs/fedora/generic/CONFIG_CHELSIO_TLS_DEVICE | 18 + configs/fedora/generic/CONFIG_COMMON_CLK | 24 + .../fedora/generic/CONFIG_COMMON_CLK_MMP2_AUDIO | 16 + configs/fedora/generic/CONFIG_CPU_LITTLE_ENDIAN | 1 + configs/fedora/generic/CONFIG_CRYPTO_BLAKE2B | 2 +- configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S_X86 | 1 + configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER | 1 + .../fedora/generic/CONFIG_CRYPTO_CURVE25519_X86 | 1 + configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_HPRE | 1 + configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_SEC2 | 1 + .../fedora/generic/CONFIG_CRYPTO_DEV_OCTEONTX_CPT | 21 + configs/fedora/generic/CONFIG_CRYPTO_POLY1305_NEON | 1 + configs/fedora/generic/CONFIG_CRYPTO_SHA512 | 1 - configs/fedora/generic/CONFIG_CRYPTO_XXHASH | 2 +- .../fedora/generic/CONFIG_DEBUG_INFO_COMPRESSED | 1 + configs/fedora/generic/CONFIG_DEBUG_VM_PGTABLE | 24 + configs/fedora/generic/CONFIG_DEBUG_WX | 1 + configs/fedora/generic/CONFIG_DEFAULT_INIT | 18 + configs/fedora/generic/CONFIG_DMABUF_HEAPS | 2 +- configs/fedora/generic/CONFIG_DMABUF_HEAPS_CMA | 19 + configs/fedora/generic/CONFIG_DMABUF_HEAPS_SYSTEM | 18 + configs/fedora/generic/CONFIG_DM_EBS | 19 + configs/fedora/generic/CONFIG_DM_MULTIPATH_HST | 23 + .../generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG | 2 +- configs/fedora/generic/CONFIG_DRM_AMD_DC_DCN2_0 | 1 + .../fedora/generic/CONFIG_DRM_AMD_DC_DSC_SUPPORT | 1 + configs/fedora/generic/CONFIG_DRM_CHRONTEL_CH7033 | 21 + configs/fedora/generic/CONFIG_DRM_DP_CEC | 2 +- configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER | 1 + configs/fedora/generic/CONFIG_DRM_NWL_MIPI_DSI | 1 + .../fedora/generic/CONFIG_DRM_PANEL_ARM_VERSATILE | 1 + .../CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 | 19 + .../generic/CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W | 20 + .../generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 | 1 + .../generic/CONFIG_DRM_PANEL_SITRONIX_ST7703 | 2 +- .../generic/CONFIG_DRM_PANEL_VISIONOX_RM69299 | 18 + configs/fedora/generic/CONFIG_DWMAC_IMX8 | 25 + configs/fedora/generic/CONFIG_EDAC_DMC520 | 1 + .../fedora/generic/CONFIG_EFI_CUSTOM_SSDT_OVERLAYS | 19 + .../CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER | 21 + .../fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC | 1 + configs/fedora/generic/CONFIG_F2FS_FS_LZORLE | 18 + configs/fedora/generic/CONFIG_FLATMEM_MANUAL | 25 + configs/fedora/generic/CONFIG_FRAME_WARN | 2 +- configs/fedora/generic/CONFIG_FSL_RCPM | 1 + configs/fedora/generic/CONFIG_GIGASET_BASE | 1 + configs/fedora/generic/CONFIG_GIGASET_CAPI | 1 + configs/fedora/generic/CONFIG_GIGASET_DEBUG | 1 + configs/fedora/generic/CONFIG_GIGASET_M101 | 1 + configs/fedora/generic/CONFIG_GIGASET_M105 | 1 + configs/fedora/generic/CONFIG_GPIO_AGGREGATOR | 23 + configs/fedora/generic/CONFIG_GPIO_BCM_XGS_IPROC | 1 + configs/fedora/generic/CONFIG_GPIO_MLXBF2 | 1 + configs/fedora/generic/CONFIG_GPIO_PCA953X_IRQ | 1 + configs/fedora/generic/CONFIG_GPIO_SYSCON | 1 + configs/fedora/generic/CONFIG_HEADERS_CHECK | 1 + configs/fedora/generic/CONFIG_HEADER_TEST | 1 + .../fedora/generic/CONFIG_HIBERNATION_SNAPSHOT_DEV | 1 + configs/fedora/generic/CONFIG_HISI_DMA | 1 + configs/fedora/generic/CONFIG_HIST_TRIGGERS_DEBUG | 33 + configs/fedora/generic/CONFIG_HW_RANDOM_CCTRNG | 1 + configs/fedora/generic/CONFIG_HYPERV_TESTING | 1 + configs/fedora/generic/CONFIG_HYSDN | 1 + configs/fedora/generic/CONFIG_HYSDN_CAPI | 1 + configs/fedora/generic/CONFIG_I2C_QCOM_CCI | 1 + configs/fedora/generic/CONFIG_ICST | 20 + configs/fedora/generic/CONFIG_INET6_ESPINTCP | 23 + .../fedora/generic/CONFIG_INFINIBAND_RTRS_CLIENT | 21 + .../fedora/generic/CONFIG_INFINIBAND_RTRS_SERVER | 21 + configs/fedora/generic/CONFIG_INPUT_FF_MEMLESS | 1 + configs/fedora/generic/CONFIG_INPUT_IQS269A | 23 + configs/fedora/generic/CONFIG_INTEL_IDXD | 1 + .../CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON | 1 + configs/fedora/generic/CONFIG_INTEL_SCU_PCI | 27 + configs/fedora/generic/CONFIG_INTEL_SCU_PLATFORM | 19 + .../generic/CONFIG_INTEL_UNCORE_FREQ_CONTROL | 1 + .../fedora/generic/CONFIG_INTEL_WMI_SBL_FW_UPDATE | 21 + configs/fedora/generic/CONFIG_INTERCONNECT | 20 +- configs/fedora/generic/CONFIG_IR_SERIAL | 2 +- configs/fedora/generic/CONFIG_ISDN_CAPI | 1 + configs/fedora/generic/CONFIG_KASAN_VMALLOC | 1 + configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST | 1 + configs/fedora/generic/CONFIG_KEXEC_SIG | 1 + configs/fedora/generic/CONFIG_KEYBOARD_BCM | 22 + configs/fedora/generic/CONFIG_KEY_NOTIFICATIONS | 19 + configs/fedora/generic/CONFIG_KVM_ARM_PMU | 17 + configs/fedora/generic/CONFIG_LEDS_AW2013 | 20 + configs/fedora/generic/CONFIG_LEDS_SGM3140 | 17 + configs/fedora/generic/CONFIG_LEDS_SYSCON | 1 + configs/fedora/generic/CONFIG_LIBCRC32C | 2 +- configs/fedora/generic/CONFIG_MAX1241 | 21 + configs/fedora/generic/CONFIG_MDIO_IPQ4019 | 18 + configs/fedora/generic/CONFIG_MDIO_IPQ8064 | 1 + .../fedora/generic/CONFIG_MEDIA_PLATFORM_SUPPORT | 25 + configs/fedora/generic/CONFIG_MEDIA_SUPPORT_FILTER | 25 + configs/fedora/generic/CONFIG_MEDIA_TEST_SUPPORT | 26 + configs/fedora/generic/CONFIG_MFD_GATEWORKS_GSC | 1 + configs/fedora/generic/CONFIG_MFD_INTEL_PMC_BXT | 21 + configs/fedora/generic/CONFIG_MFD_MP2629 | 19 + configs/fedora/generic/CONFIG_MFD_MT6360 | 20 + configs/fedora/generic/CONFIG_MFD_SYSCON | 2 +- configs/fedora/generic/CONFIG_MLX5_CLS_ACT | 28 + configs/fedora/generic/CONFIG_MLXBF_BOOTCTL | 1 + configs/fedora/generic/CONFIG_MODULE_SIG_SHA256 | 2 +- configs/fedora/generic/CONFIG_MODULE_SIG_SHA512 | 2 +- configs/fedora/generic/CONFIG_MSM_GCC_8939 | 20 + configs/fedora/generic/CONFIG_MT7663U | 21 + configs/fedora/generic/CONFIG_MT7915E | 24 + configs/fedora/generic/CONFIG_MTD_NAND_ARASAN | 19 + configs/fedora/generic/CONFIG_MTD_PSTORE | 20 + configs/fedora/generic/CONFIG_NET_ACT_GATE | 24 + configs/fedora/generic/CONFIG_NET_SCH_ETS | 2 +- configs/fedora/generic/CONFIG_NVME_TCP | 1 - configs/fedora/generic/CONFIG_OPAL_CORE | 1 + configs/fedora/generic/CONFIG_PAGE_REPORTING | 1 + configs/fedora/generic/CONFIG_PCIEASPM_DEBUG | 1 + configs/fedora/generic/CONFIG_PCIE_LAYERSCAPE_GEN4 | 1 + configs/fedora/generic/CONFIG_PHY_CADENCE_SALVO | 19 + configs/fedora/generic/CONFIG_PHY_QCOM_IPQ4019_USB | 1 + configs/fedora/generic/CONFIG_PHY_QCOM_USB_HS_28NM | 1 + .../generic/CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 | 1 + configs/fedora/generic/CONFIG_PHY_QCOM_USB_SS | 1 + configs/fedora/generic/CONFIG_PINCTRL_JASPERLAKE | 18 + configs/fedora/generic/CONFIG_PINCTRL_LYNXPOINT | 1 + configs/fedora/generic/CONFIG_PINCTRL_MSM8976 | 1 + configs/fedora/generic/CONFIG_PINCTRL_SM8250 | 19 + configs/fedora/generic/CONFIG_PMU_SYSFS | 14 + configs/fedora/generic/CONFIG_POWER_RESET_VEXPRESS | 17 + configs/fedora/generic/CONFIG_PRIME_NUMBERS | 1 + configs/fedora/generic/CONFIG_PSTORE_BLK | 23 + configs/fedora/generic/CONFIG_PSTORE_BLK_BLKDEV | 40 + configs/fedora/generic/CONFIG_PSTORE_BLK_KMSG_SIZE | 22 + .../fedora/generic/CONFIG_PSTORE_BLK_MAX_REASON | 23 + configs/fedora/generic/CONFIG_PTP_1588_CLOCK_VMW | 1 + configs/fedora/generic/CONFIG_QCOM_IPCC | 20 + configs/fedora/generic/CONFIG_QCOM_OCMEM | 21 + configs/fedora/generic/CONFIG_QRTR | 1 + configs/fedora/generic/CONFIG_QRTR_MHI | 18 + configs/fedora/generic/CONFIG_QUICC_ENGINE | 1 + configs/fedora/generic/CONFIG_REFCOUNT_FULL | 1 + configs/fedora/generic/CONFIG_REGULATOR_MAX77826 | 20 + configs/fedora/generic/CONFIG_RTW88_8723DE | 22 + configs/fedora/generic/CONFIG_RTW88_8822BE | 2 +- configs/fedora/generic/CONFIG_RTW88_8822CE | 2 +- configs/fedora/generic/CONFIG_SENSORS_AMD_ENERGY | 1 + configs/fedora/generic/CONFIG_SENSORS_MAX16601 | 1 + configs/fedora/generic/CONFIG_SERIAL_LANTIQ | 21 + configs/fedora/generic/CONFIG_SND_SOC_AMD_RENOIR | 18 + .../generic/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH | 1 + .../generic/CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH | 21 + .../generic/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH | 1 + .../generic/CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH | 23 + .../CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES | 1 + configs/fedora/generic/CONFIG_SND_SOC_MAX98390 | 1 + configs/fedora/generic/CONFIG_SND_SOC_PCM512x_I2C | 2 +- .../CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 | 1 + configs/fedora/generic/CONFIG_SND_SOC_ZL38060 | 24 + configs/fedora/generic/CONFIG_SPI_AMD | 16 + configs/fedora/generic/CONFIG_STAGING_EXFAT_FS | 1 - .../fedora/generic/CONFIG_SURFACE_3_POWER_OPREGION | 1 + configs/fedora/generic/CONFIG_SX9310 | 22 + configs/fedora/generic/CONFIG_SYNTH_EVENTS | 28 + configs/fedora/generic/CONFIG_SYSTEM76_ACPI | 1 + configs/fedora/generic/CONFIG_TARGET_TCP | 1 + configs/fedora/generic/CONFIG_TEST_BITOPS | 24 + configs/fedora/generic/CONFIG_TEST_HMM | 1 + configs/fedora/generic/CONFIG_TIME_NS | 1 + .../fedora/generic/CONFIG_TOUCHSCREEN_CY8CTMA140 | 24 + configs/fedora/generic/CONFIG_USB4 | 1 + configs/fedora/generic/CONFIG_USB4_NET | 1 + configs/fedora/generic/CONFIG_USB_XHCI_PCI_RENESAS | 20 + configs/fedora/generic/CONFIG_VBOXSF_FS | 1 + configs/fedora/generic/CONFIG_VCNL3020 | 22 + configs/fedora/generic/CONFIG_VEXPRESS_CONFIG | 18 + configs/fedora/generic/CONFIG_VIDEO_AD5820 | 21 + configs/fedora/generic/CONFIG_VIDEO_ADP1653 | 21 + configs/fedora/generic/CONFIG_VIDEO_AK7375 | 23 + configs/fedora/generic/CONFIG_VIDEO_DW9714 | 23 + configs/fedora/generic/CONFIG_VIDEO_DW9807_VCM | 23 + configs/fedora/generic/CONFIG_VIDEO_ET8EK8 | 21 + configs/fedora/generic/CONFIG_VIDEO_HI556 | 24 + configs/fedora/generic/CONFIG_VIDEO_IMX214 | 24 + configs/fedora/generic/CONFIG_VIDEO_IMX219 | 24 + configs/fedora/generic/CONFIG_VIDEO_IMX258 | 24 + configs/fedora/generic/CONFIG_VIDEO_IMX274 | 21 + configs/fedora/generic/CONFIG_VIDEO_IMX290 | 24 + configs/fedora/generic/CONFIG_VIDEO_IMX319 | 24 + configs/fedora/generic/CONFIG_VIDEO_IMX355 | 24 + configs/fedora/generic/CONFIG_VIDEO_IPU3_CIO2 | 25 + configs/fedora/generic/CONFIG_VIDEO_LM3560 | 21 + configs/fedora/generic/CONFIG_VIDEO_LM3646 | 20 + configs/fedora/generic/CONFIG_VIDEO_M5MOLS | 20 + configs/fedora/generic/CONFIG_VIDEO_MT9M001 | 21 + configs/fedora/generic/CONFIG_VIDEO_MT9M032 | 21 + configs/fedora/generic/CONFIG_VIDEO_MT9M111 | 23 + configs/fedora/generic/CONFIG_VIDEO_MT9P031 | 21 + configs/fedora/generic/CONFIG_VIDEO_MT9T001 | 21 + configs/fedora/generic/CONFIG_VIDEO_MT9T112 | 23 + configs/fedora/generic/CONFIG_VIDEO_MT9V011 | 23 + configs/fedora/generic/CONFIG_VIDEO_MT9V032 | 21 + configs/fedora/generic/CONFIG_VIDEO_MT9V111 | 23 + configs/fedora/generic/CONFIG_VIDEO_NOON010PC30 | 20 + configs/fedora/generic/CONFIG_VIDEO_OV13858 | 21 + configs/fedora/generic/CONFIG_VIDEO_OV2640 | 25 + configs/fedora/generic/CONFIG_VIDEO_OV2659 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV2680 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV2685 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV2740 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV5640 | 21 + configs/fedora/generic/CONFIG_VIDEO_OV5645 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV5647 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV5670 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV5675 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV5695 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV6650 | 23 + configs/fedora/generic/CONFIG_VIDEO_OV7251 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV7640 | 25 + configs/fedora/generic/CONFIG_VIDEO_OV7670 | 26 + configs/fedora/generic/CONFIG_VIDEO_OV772X | 24 + configs/fedora/generic/CONFIG_VIDEO_OV7740 | 21 + configs/fedora/generic/CONFIG_VIDEO_OV8856 | 24 + configs/fedora/generic/CONFIG_VIDEO_OV9640 | 20 + configs/fedora/generic/CONFIG_VIDEO_OV9650 | 21 + configs/fedora/generic/CONFIG_VIDEO_RJ54N1 | 23 + configs/fedora/generic/CONFIG_VIDEO_ROCKCHIP_VDEC | 21 + configs/fedora/generic/CONFIG_VIDEO_S5C73M3 | 21 + configs/fedora/generic/CONFIG_VIDEO_S5K4ECGX | 21 + configs/fedora/generic/CONFIG_VIDEO_S5K5BAF | 21 + configs/fedora/generic/CONFIG_VIDEO_S5K6A3 | 21 + configs/fedora/generic/CONFIG_VIDEO_S5K6AA | 21 + configs/fedora/generic/CONFIG_VIDEO_SMIAPP | 20 + configs/fedora/generic/CONFIG_VIDEO_SR030PC30 | 19 + configs/fedora/generic/CONFIG_VIDEO_VS6624 | 23 + configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI | 1 + configs/fedora/generic/CONFIG_VIRTIO_MEM | 23 + configs/fedora/generic/CONFIG_WATCH_QUEUE | 20 + configs/fedora/generic/CONFIG_X86_IOPL_IOPERM | 1 + configs/fedora/generic/CONFIG_ZLIB_DFLTCC | 1 + .../fedora/generic/CONFIG_ZSMALLOC_PGTABLE_MAPPING | 23 + configs/fedora/generic/arm/CONFIG_ARCH_ASPEED | 1 - configs/fedora/generic/arm/CONFIG_ARCH_S32 | 1 - .../fedora/generic/arm/CONFIG_ARM_IMX_BUS_DEVFREQ | 18 + .../fedora/generic/arm/CONFIG_ARM_QCOM_SPM_CPUIDLE | 22 + configs/fedora/generic/arm/CONFIG_ARM_SMC_WATCHDOG | 21 + .../generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS | 1 - configs/fedora/generic/arm/CONFIG_CEC_CROS_EC | 20 + configs/fedora/generic/arm/CONFIG_CEC_MESON_AO | 19 + .../fedora/generic/arm/CONFIG_CEC_MESON_G12A_AO | 22 + configs/fedora/generic/arm/CONFIG_CEC_TEGRA | 20 + configs/fedora/generic/arm/CONFIG_CLK_IMX8MM | 1 + configs/fedora/generic/arm/CONFIG_CLK_IMX8MN | 1 + configs/fedora/generic/arm/CONFIG_CLK_IMX8MP | 1 + configs/fedora/generic/arm/CONFIG_CLK_IMX8MQ | 1 + configs/fedora/generic/arm/CONFIG_DEBUG_WX | 1 - configs/fedora/generic/arm/CONFIG_DRM_DUMB_VGA_DAC | 1 - configs/fedora/generic/arm/CONFIG_DRM_MCDE | 1 - configs/fedora/generic/arm/CONFIG_DRM_NWL_MIPI_DSI | 19 + .../generic/arm/CONFIG_DRM_PANEL_SITRONIX_ST7703 | 1 + .../fedora/generic/arm/CONFIG_FSL_DPAA2_ETH_DCB | 19 + .../fedora/generic/arm/CONFIG_HISILICON_IRQ_MBIGEN | 1 - configs/fedora/generic/arm/CONFIG_HOTPLUG_PCI_SHPC | 1 + configs/fedora/generic/arm/CONFIG_I2C_BRCMSTB | 21 + configs/fedora/generic/arm/CONFIG_ICST | 20 + configs/fedora/generic/arm/CONFIG_INPUT_PWM_BEEPER | 1 - configs/fedora/generic/arm/CONFIG_INTERCONNECT_IMX | 1 + .../fedora/generic/arm/CONFIG_INTERCONNECT_IMX8MM | 1 + .../fedora/generic/arm/CONFIG_INTERCONNECT_IMX8MN | 1 + .../fedora/generic/arm/CONFIG_INTERCONNECT_IMX8MQ | 1 + .../fedora/generic/arm/CONFIG_INTERCONNECT_QCOM | 1 + configs/fedora/generic/arm/CONFIG_LEDS_SGM3140 | 1 + configs/fedora/generic/arm/CONFIG_MESON_WATCHDOG | 1 + configs/fedora/generic/arm/CONFIG_MFD_SYSCON | 1 - .../fedora/generic/arm/CONFIG_MMC_MESON_MX_SDHC | 22 + configs/fedora/generic/arm/CONFIG_MSM_GCC_8939 | 20 + .../fedora/generic/arm/CONFIG_NET_VENDOR_MELLANOX | 1 - configs/fedora/generic/arm/CONFIG_PINCTRL_IMX8DXL | 17 + configs/fedora/generic/arm/CONFIG_PINCTRL_MSM8976 | 1 - configs/fedora/generic/arm/CONFIG_QCOM_RPMPD | 20 + .../arm/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT | 1 - configs/fedora/generic/arm/CONFIG_QUICC_ENGINE | 1 - configs/fedora/generic/arm/CONFIG_REGMAP_MMIO | 1 + configs/fedora/generic/arm/CONFIG_SND_MMP_SOC_SSPA | 20 + .../fedora/generic/arm/CONFIG_SND_SOC_FSL_EASRC | 23 + configs/fedora/generic/arm/CONFIG_SND_SOC_SGTL5000 | 1 - configs/fedora/generic/arm/CONFIG_SPI_DW_DMA | 1 + configs/fedora/generic/arm/CONFIG_SUN50I_IOMMU | 17 + configs/fedora/generic/arm/CONFIG_VIDEO_TEGRA | 21 + .../generic/arm/aarch64/CONFIG_ACPI_TABLE_UPGRADE | 1 - .../generic/arm/aarch64/CONFIG_ARM64_AMU_EXTN | 1 - .../generic/arm/aarch64/CONFIG_ARM64_BTI_KERNEL | 1 + .../fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD | 1 - .../arm/aarch64/CONFIG_ARM64_ERRATUM_1319367 | 1 - .../arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 | 1 - .../arm/aarch64/CONFIG_ARM64_ERRATUM_1542419 | 1 - .../generic/arm/aarch64/CONFIG_ARM64_FORCE_52BIT | 1 + .../arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS | 1 - .../generic/arm/aarch64/CONFIG_ARM_PSCI_CPUIDLE | 1 + .../fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MM | 1 - .../fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MN | 1 - .../fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP | 1 - .../fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MQ | 1 - .../arm/aarch64/CONFIG_COMMON_CLK_MESON_PHASE | 1 + .../arm/aarch64/CONFIG_COMMON_CLK_MESON_SCLK_DIV | 1 + .../generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN | 1 - .../fedora/generic/arm/aarch64/CONFIG_EDAC_DMC520 | 1 - .../arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC | 1 - .../generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER | 3 +- .../fedora/generic/arm/aarch64/CONFIG_GPIO_MLXBF2 | 1 - .../generic/arm/aarch64/CONFIG_HW_RANDOM_HISI_V2 | 1 - .../generic/arm/aarch64/CONFIG_IMX_REMOTEPROC | 1 - .../fedora/generic/arm/aarch64/CONFIG_INTERCONNECT | 1 - .../generic/arm/aarch64/CONFIG_INTERCONNECT_QCOM | 1 - .../generic/arm/aarch64/CONFIG_MESON_WATCHDOG | 1 - .../generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL | 1 - .../generic/arm/aarch64/CONFIG_PCIE_TEGRA194 | 1 - .../generic/arm/aarch64/CONFIG_PINCTRL_IMX8MM | 1 - .../generic/arm/aarch64/CONFIG_PINCTRL_IMX8MN | 1 - .../generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP | 1 - .../generic/arm/aarch64/CONFIG_PINCTRL_IMX8MQ | 1 - .../generic/arm/aarch64/CONFIG_SND_SOC_MAX98357A | 1 - .../arm/aarch64/CONFIG_SND_SOC_SOF_IMX8M_SUPPORT | 22 + .../generic/arm/aarch64/CONFIG_STRICT_DEVMEM | 1 + .../fedora/generic/arm/aarch64/CONFIG_XILINX_XADC | 1 - .../generic/arm/armv7/CONFIG_CEC_SAMSUNG_S5P | 20 + configs/fedora/generic/arm/armv7/CONFIG_CEC_STI | 20 + configs/fedora/generic/arm/armv7/CONFIG_CEC_STM32 | 20 + .../fedora/generic/arm/armv7/CONFIG_DRM_EXYNOS_G2D | 18 + .../fedora/generic/arm/armv7/CONFIG_MESON_WATCHDOG | 1 - .../generic/arm/armv7/CONFIG_MTD_NAND_BRCMNAND | 1 - .../generic/arm/armv7/CONFIG_NET_VENDOR_XILINX | 1 - .../generic/arm/armv7/CONFIG_NVMEM_STM32_ROMEM | 1 - .../fedora/generic/arm/armv7/CONFIG_REGMAP_MMIO | 1 - .../generic/arm/armv7/CONFIG_SPI_CADENCE_QUADSPI | 1 - .../generic/arm/armv7/CONFIG_STRICT_KERNEL_RWX | 1 - .../generic/arm/armv7/armv7/CONFIG_AM335X_PHY_USB | 1 - .../generic/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ | 1 - .../fedora/generic/arm/armv7/armv7/CONFIG_AXI_DMAC | 1 - .../generic/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC | 1 - .../arm/armv7/armv7/CONFIG_NVMEM_SNVS_LPGPR | 1 - .../generic/arm/armv7/armv7/CONFIG_PHY_DM816X_USB | 1 - .../generic/arm/armv7/armv7/CONFIG_PWM_TIEHRPWM | 1 - .../arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23 | 1 - .../arm/armv7/armv7/CONFIG_ST_THERMAL_SYSCFG | 1 - .../generic/arm/armv7/armv7/CONFIG_WKUP_M3_RPROC | 1 - .../generic/arm/armv7/armv7/CONFIG_XILINX_XADC | 1 - configs/fedora/generic/arm/armv7/armv7/README | 0 configs/fedora/generic/powerpc/CONFIG_COMPAT | 11 + .../generic/powerpc/CONFIG_CPU_LITTLE_ENDIAN | 1 - configs/fedora/generic/powerpc/CONFIG_EFI_TEST | 1 - configs/fedora/generic/powerpc/CONFIG_FRAME_WARN | 1 - .../fedora/generic/powerpc/CONFIG_INPUT_PWM_BEEPER | 1 + configs/fedora/generic/powerpc/CONFIG_OPAL_CORE | 1 - configs/fedora/generic/powerpc/CONFIG_PMU_SYSFS | 1 - configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE | 1 - configs/fedora/generic/powerpc/CONFIG_SIMPLE_GPIO | 1 + .../generic/powerpc/CONFIG_TICK_CPU_ACCOUNTING | 1 - configs/fedora/generic/s390x/CONFIG_EFI_TEST | 1 - configs/fedora/generic/s390x/CONFIG_SCLP_ASYNC | 1 + configs/fedora/generic/s390x/CONFIG_SCLP_ASYNC_ID | 1 + .../generic/s390x/CONFIG_TICK_CPU_ACCOUNTING | 1 - configs/fedora/generic/s390x/CONFIG_TUNE_DEFAULT | 4 + configs/fedora/generic/s390x/CONFIG_TUNE_Z14 | 1 + configs/fedora/generic/s390x/CONFIG_VIRTIO_FS | 1 + configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC | 1 - configs/fedora/generic/s390x/README | 0 .../generic/s390x/zfcpdump/CONFIG_CRYPTO_ESSIV | 1 + .../s390x/zfcpdump/CONFIG_CRYPTO_LIB_CHACHA | 1 + .../s390x/zfcpdump/CONFIG_CRYPTO_LIB_POLY1305 | 1 + .../s390x/zfcpdump/CONFIG_CRYPTO_SHA3_256_S390 | 1 + .../s390x/zfcpdump/CONFIG_CRYPTO_SHA3_512_S390 | 1 + configs/fedora/generic/s390x/zfcpdump/README | 0 .../fedora/generic/x86/CONFIG_ACPI_TABLE_UPGRADE | 1 - configs/fedora/generic/x86/CONFIG_ACRN_GUEST | 1 + configs/fedora/generic/x86/CONFIG_CEC_SECO | 20 + configs/fedora/generic/x86/CONFIG_CLK_LGM_CGU | 18 + configs/fedora/generic/x86/CONFIG_DEBUG_WX | 1 - .../fedora/generic/x86/CONFIG_DRM_AMD_DC_DCN2_0 | 1 - .../generic/x86/CONFIG_DRM_AMD_DC_DSC_SUPPORT | 1 - configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM | 1 - .../fedora/generic/x86/CONFIG_EXTCON_INTEL_MRFLD | 17 + configs/fedora/generic/x86/CONFIG_GPIO_MSIC | 18 + .../fedora/generic/x86/CONFIG_GPIO_WHISKEY_COVE | 2 +- configs/fedora/generic/x86/CONFIG_HYPERV_TESTING | 1 - configs/fedora/generic/x86/CONFIG_IMA_ARCH_POLICY | 1 - configs/fedora/generic/x86/CONFIG_INTEL_ATOMISP | 19 + .../fedora/generic/x86/CONFIG_INTEL_MFLD_THERMAL | 17 + .../generic/x86/CONFIG_INTEL_MID_POWER_BUTTON | 18 + configs/fedora/generic/x86/CONFIG_INTEL_MRFLD_ADC | 22 + .../fedora/generic/x86/CONFIG_INTEL_MRFLD_PWRBTN | 20 + .../fedora/generic/x86/CONFIG_INTEL_SCU_IPC_UTIL | 18 + configs/fedora/generic/x86/CONFIG_INTEL_SCU_PCI | 27 + .../fedora/generic/x86/CONFIG_INTEL_SCU_PLATFORM | 19 + .../fedora/generic/x86/CONFIG_INTEL_SOC_PMIC_BXTWC | 2 +- .../fedora/generic/x86/CONFIG_INTEL_SOC_PMIC_MRFLD | 18 + configs/fedora/generic/x86/CONFIG_INTEL_TH | 1 + configs/fedora/generic/x86/CONFIG_INTEL_TH_ACPI | 1 + configs/fedora/generic/x86/CONFIG_INTEL_TH_DEBUG | 1 + configs/fedora/generic/x86/CONFIG_INTEL_TH_GTH | 1 + configs/fedora/generic/x86/CONFIG_INTEL_TH_MSU | 1 + configs/fedora/generic/x86/CONFIG_INTEL_TH_PCI | 1 + configs/fedora/generic/x86/CONFIG_INTEL_TH_PTI | 1 + configs/fedora/generic/x86/CONFIG_INTEL_TH_STH | 1 + .../generic/x86/CONFIG_INTEL_WMI_SBL_FW_UPDATE | 21 + configs/fedora/generic/x86/CONFIG_MFD_INTEL_MSIC | 21 + .../fedora/generic/x86/CONFIG_MFD_INTEL_PMC_BXT | 21 + .../fedora/generic/x86/CONFIG_NET_VENDOR_XILINX | 1 - configs/fedora/generic/x86/CONFIG_PHY_INTEL_COMBO | 21 + .../fedora/generic/x86/CONFIG_PINCTRL_JASPERLAKE | 18 + .../fedora/generic/x86/CONFIG_SENSORS_AMD_ENERGY | 20 + configs/fedora/generic/x86/CONFIG_SERIAL_LANTIQ | 21 + .../generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC | 1 + .../fedora/generic/x86/CONFIG_SND_SOC_AMD_RENOIR | 18 + .../generic/x86/CONFIG_SND_SOC_AMD_RENOIR_MACH | 1 + .../x86/CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH | 21 + .../x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH | 1 - .../x86/CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH | 23 + .../fedora/generic/x86/CONFIG_SND_SOC_PCM512x_I2C | 1 + .../x86/CONFIG_SND_SOC_SOF_BAYTRAIL_SUPPORT | 1 + .../x86/CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT | 1 + .../CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 | 1 - configs/fedora/generic/x86/CONFIG_SND_SOC_WM8804 | 1 + .../fedora/generic/x86/CONFIG_SND_SOC_WM8804_I2C | 1 + configs/fedora/generic/x86/CONFIG_STM | 1 + configs/fedora/generic/x86/CONFIG_STM_DUMMY | 1 + configs/fedora/generic/x86/CONFIG_STM_PROTO_BASIC | 1 + configs/fedora/generic/x86/CONFIG_STM_PROTO_SYS_T | 1 + .../fedora/generic/x86/CONFIG_STM_SOURCE_CONSOLE | 1 + .../fedora/generic/x86/CONFIG_STM_SOURCE_FTRACE | 1 + .../fedora/generic/x86/CONFIG_STM_SOURCE_HEARTBEAT | 1 + configs/fedora/generic/x86/CONFIG_TIME_NS | 1 - configs/fedora/generic/x86/CONFIG_USB4_NET | 1 - configs/fedora/generic/x86/CONFIG_X86_IOPL_IOPERM | 1 - configs/fedora/generic/x86/CONFIG_XILINX_LL_TEMAC | 1 - .../fedora/generic/x86/i686/CONFIG_FLATMEM_MANUAL | 1 - .../generic/x86/i686/CONFIG_HOTPLUG_PCI_SHPC | 1 - .../generic/x86/i686/CONFIG_INPUT_PWM_BEEPER | 1 - configs/fedora/generic/x86/i686/README | 0 .../fedora/generic/x86/x86_64/CONFIG_CALGARY_IOMMU | 1 + .../x86/x86_64/CONFIG_CONTEXT_TRACKING_FORCE | 1 - .../x86/x86_64/CONFIG_CPU_FREQ_GOV_SCHEDUTIL | 1 + .../generic/x86/x86_64/CONFIG_CRYPTO_BLAKE2S_x86 | 1 - .../fedora/generic/x86/x86_64/CONFIG_FRAME_WARN | 1 - .../fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD | 1 - .../x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL | 1 - .../generic/x86/x86_64/CONFIG_KEYBOARD_APPLESPI | 1 - .../CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY | 1 - .../x86_64/CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY | 1 - .../x86/x86_64/CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE | 1 - .../generic/x86/x86_64/CONFIG_SND_XEN_FRONTEND | 1 + .../x86/x86_64/CONFIG_VIRT_CPU_ACCOUNTING_GEN | 1 - configs/fedora/generic/x86/x86_64/README | 0 kernel-aarch64-debug-fedora.config | 302 ++++++- kernel-aarch64-fedora.config | 281 +++++- kernel-armv7hl-debug-fedora.config | 315 ++++++- kernel-armv7hl-fedora.config | 294 ++++++- kernel-armv7hl-lpae-debug-fedora.config | 316 ++++++- kernel-armv7hl-lpae-fedora.config | 295 ++++++- kernel-i686-debug-fedora.config | 329 ++++++- kernel-i686-fedora.config | 309 ++++++- kernel-ppc64le-debug-fedora.config | 308 ++++++- kernel-ppc64le-fedora.config | 287 ++++++- kernel-s390x-debug-fedora.config | 315 ++++++- kernel-s390x-fedora.config | 294 ++++++- kernel-x86_64-debug-fedora.config | 327 ++++++- kernel-x86_64-fedora.config | 307 ++++++- kernel.spec | 215 ++--- sources | 3 +- 605 files changed, 12198 insertions(+), 5533 deletions(-) delete mode 100644 0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch delete mode 100644 0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch create mode 100644 0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch create mode 100644 0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch create mode 100644 0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch create mode 100644 0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch create mode 100644 0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch create mode 100644 0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch delete mode 100644 0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch create mode 100644 0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch delete mode 100644 0001-acpi-prefer-booting-with-ACPI-over-DTS.patch delete mode 100644 0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch create mode 100644 0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch create mode 100644 0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch create mode 100644 0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch delete mode 100644 0001-core-memory-remove-redundant-assignments-to-variable.patch delete mode 100644 0001-device-detect-if-changing-endianness-failed.patch delete mode 100644 0001-device-detect-vGPUs.patch delete mode 100644 0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch delete mode 100644 0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch delete mode 100644 0001-disp-gv100-expose-capabilities-class.patch delete mode 100644 0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch delete mode 100644 0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch delete mode 100644 0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch delete mode 100644 0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch delete mode 100644 0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch delete mode 100644 0001-drm-Use-generic-helper-to-check-_PR3-presence.patch create mode 100644 0001-drm-panel-add-Xingbangda-XBD599-panel.patch create mode 100644 0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch create mode 100644 0001-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch create mode 100644 0001-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch create mode 100644 0001-drm-panel-st7703-Enter-sleep-after-display-off.patch create mode 100644 0001-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch create mode 100644 0001-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch create mode 100644 0001-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch create mode 100644 0001-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch create mode 100644 0001-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timing-calcu.patch create mode 100644 0001-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch create mode 100644 0001-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch create mode 100644 0001-dt-bindings-panel-add-binding-for-Xingbangda-XBD599-.patch delete mode 100644 0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch delete mode 100644 0001-firmware-raspberrypi-Introduce-vl805-init-routine.patch delete mode 100644 0001-kABI-Add-generic-kABI-macros-to-use-for-kABI-workaro.patch delete mode 100644 0001-kms-gv100-Add-support-for-interlaced-modes.patch delete mode 100644 0001-kms-nv50-Initialize-core-channel-in-nouveau_display_.patch delete mode 100644 0001-kms-nv50-Move-8BPC-limit-for-MST-into-nv50_mstc_get_.patch delete mode 100644 0001-kms-nv50-Probe-SOR-and-PIOR-caps-for-DP-interlacing-.patch delete mode 100644 0001-kms-nv50-Share-DP-SST-mode_valid-handling-with-MST.patch delete mode 100644 0001-mmu-Remove-unneeded-semicolon.patch delete mode 100644 0001-modules-add-rhelversion-MODULE_INFO-tag.patch delete mode 100644 0001-perf-cs-etm-Move-defined-of-traceid_list.patch delete mode 100644 0001-platform-x86-thinkpad_acpi-Add-support-for-dual-fan-.patch create mode 100644 0001-selinux-allow-reading-labels-before-policy-is-loaded.patch delete mode 100644 0001-soc-bcm2835-Sync-xHCI-reset-firmware-property-with-d.patch delete mode 100644 0001-usb-fusb302-Convert-to-use-GPIO-descriptors.patch delete mode 100644 0001-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-and-_LOG.patch delete mode 100644 0001-virt-vbox-Fix-guest-capabilities-mask-check.patch delete mode 100644 0002-dt-bindings-panel-Convert-rocktech-jh057n00900-to-ya.patch delete mode 100644 0003-dt-bindings-panel-Add-compatible-for-Xingbangda-XBD5.patch delete mode 100644 0004-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch delete mode 100644 0005-drm-panel-st7703-Rename-functions-from-jh057n-prefix.patch delete mode 100644 0006-drm-panel-st7703-Prepare-for-supporting-multiple-pan.patch delete mode 100644 0007-drm-panel-st7703-Move-code-specific-to-jh057n-closer.patch delete mode 100644 0008-drm-panel-st7703-Move-generic-part-of-init-sequence-.patch delete mode 100644 0009-drm-panel-st7703-Add-support-for-Xingbangda-XBD599.patch delete mode 100644 0010-drm-panel-st7703-Enter-sleep-after-display-off.patch delete mode 100644 0011-drm-panel-st7703-Assert-reset-prior-to-powering-down.patch delete mode 100644 0012-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch delete mode 100644 0013-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch delete mode 100644 20200505_leo_yan_linaro_org.patch create mode 100644 configs/fedora/debug/CONFIG_BTRFS_ASSERT create mode 100644 configs/fedora/debug/CONFIG_DEBUG_VM_PGTABLE create mode 100644 configs/fedora/debug/CONFIG_KASAN_VMALLOC create mode 100644 configs/fedora/debug/CONFIG_KPROBE_EVENT_GEN_TEST delete mode 100644 configs/fedora/debug/CONFIG_MMIOTRACE delete mode 100644 configs/fedora/debug/CONFIG_PROVE_RCU create mode 100644 configs/fedora/debug/CONFIG_PTDUMP_DEBUGFS create mode 100644 configs/fedora/debug/CONFIG_SND_CTL_VALIDATION create mode 100644 configs/fedora/debug/CONFIG_SND_SOC_SOF_DEBUG_PROBES create mode 100644 configs/fedora/debug/CONFIG_SND_SOC_SOF_HDA_PROBES create mode 100644 configs/fedora/debug/CONFIG_SYNTH_EVENT_GEN_TEST create mode 100644 configs/fedora/debug/CONFIG_TEST_MIN_HEAP delete mode 100644 configs/fedora/debug/CONFIG_TRACE_EVENT_INJECT create mode 100644 configs/fedora/debug/arm/aarch64/CONFIG_ARM64_FORCE_52BIT create mode 100644 configs/fedora/debug/arm/aarch64/README create mode 100644 configs/fedora/debug/arm/armv7/README create mode 100644 configs/fedora/debug/powerpc/README create mode 100644 configs/fedora/debug/s390x/README create mode 100644 configs/fedora/generic/CONFIG_ACPI_TABLE_UPGRADE create mode 100644 configs/fedora/generic/CONFIG_AD9467 create mode 100644 configs/fedora/generic/CONFIG_ADIS16475 create mode 100644 configs/fedora/generic/CONFIG_ADI_AXI_ADC create mode 100644 configs/fedora/generic/CONFIG_AMDTEE create mode 100644 configs/fedora/generic/CONFIG_ARCH_REALTEK create mode 100644 configs/fedora/generic/CONFIG_ARCH_S32 create mode 100644 configs/fedora/generic/CONFIG_ARM64_AMU_EXTN create mode 100644 configs/fedora/generic/CONFIG_ARM64_BTI create mode 100644 configs/fedora/generic/CONFIG_ARM64_E0PD create mode 100644 configs/fedora/generic/CONFIG_ARM64_ERRATUM_1319367 create mode 100644 configs/fedora/generic/CONFIG_ARM64_ERRATUM_1530923 create mode 100644 configs/fedora/generic/CONFIG_ARM64_ERRATUM_1542419 create mode 100644 configs/fedora/generic/CONFIG_ARM64_USE_LSE_ATOMICS create mode 100644 configs/fedora/generic/CONFIG_ARM_SMC_WATCHDOG create mode 100644 configs/fedora/generic/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS create mode 100644 configs/fedora/generic/CONFIG_ATLAS_EZO_SENSOR create mode 100644 configs/fedora/generic/CONFIG_BACKLIGHT_PM8941_WLED create mode 100644 configs/fedora/generic/CONFIG_BATTERY_CW2015 create mode 100644 configs/fedora/generic/CONFIG_BCACHE_ASYNC_REGISTRAION create mode 100644 configs/fedora/generic/CONFIG_BCM54140_PHY create mode 100644 configs/fedora/generic/CONFIG_BLK_DEV_RNBD_CLIENT create mode 100644 configs/fedora/generic/CONFIG_BLK_DEV_RNBD_SERVER create mode 100644 configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION create mode 100644 configs/fedora/generic/CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK create mode 100644 configs/fedora/generic/CONFIG_BRIDGE_MRP create mode 100644 configs/fedora/generic/CONFIG_BT_MSFTEXT create mode 100644 configs/fedora/generic/CONFIG_CAPI_AVM create mode 100644 configs/fedora/generic/CONFIG_CEC_SECO create mode 100644 configs/fedora/generic/CONFIG_CEC_SECO_RC create mode 100644 configs/fedora/generic/CONFIG_CHARGER_BD99954 create mode 100644 configs/fedora/generic/CONFIG_COMMON_CLK create mode 100644 configs/fedora/generic/CONFIG_COMMON_CLK_MMP2_AUDIO create mode 100644 configs/fedora/generic/CONFIG_CPU_LITTLE_ENDIAN create mode 100644 configs/fedora/generic/CONFIG_CRYPTO_BLAKE2S_X86 create mode 100644 configs/fedora/generic/CONFIG_CRYPTO_BLKCIPHER create mode 100644 configs/fedora/generic/CONFIG_CRYPTO_CURVE25519_X86 create mode 100644 configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_HPRE create mode 100644 configs/fedora/generic/CONFIG_CRYPTO_DEV_HISI_SEC2 create mode 100644 configs/fedora/generic/CONFIG_CRYPTO_DEV_OCTEONTX_CPT create mode 100644 configs/fedora/generic/CONFIG_CRYPTO_POLY1305_NEON delete mode 100644 configs/fedora/generic/CONFIG_CRYPTO_SHA512 create mode 100644 configs/fedora/generic/CONFIG_DEBUG_INFO_COMPRESSED create mode 100644 configs/fedora/generic/CONFIG_DEBUG_VM_PGTABLE create mode 100644 configs/fedora/generic/CONFIG_DEBUG_WX create mode 100644 configs/fedora/generic/CONFIG_DEFAULT_INIT create mode 100644 configs/fedora/generic/CONFIG_DMABUF_HEAPS_CMA create mode 100644 configs/fedora/generic/CONFIG_DMABUF_HEAPS_SYSTEM create mode 100644 configs/fedora/generic/CONFIG_DM_EBS create mode 100644 configs/fedora/generic/CONFIG_DM_MULTIPATH_HST create mode 100644 configs/fedora/generic/CONFIG_DRM_AMD_DC_DCN2_0 create mode 100644 configs/fedora/generic/CONFIG_DRM_AMD_DC_DSC_SUPPORT create mode 100644 configs/fedora/generic/CONFIG_DRM_CHRONTEL_CH7033 create mode 100644 configs/fedora/generic/CONFIG_DRM_LVDS_ENCODER create mode 100644 configs/fedora/generic/CONFIG_DRM_NWL_MIPI_DSI create mode 100644 configs/fedora/generic/CONFIG_DRM_PANEL_ARM_VERSATILE create mode 100644 configs/fedora/generic/CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 create mode 100644 configs/fedora/generic/CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W create mode 100644 configs/fedora/generic/CONFIG_DRM_PANEL_ROCKTECH_JH057N00900 create mode 100644 configs/fedora/generic/CONFIG_DRM_PANEL_VISIONOX_RM69299 create mode 100644 configs/fedora/generic/CONFIG_DWMAC_IMX8 create mode 100644 configs/fedora/generic/CONFIG_EDAC_DMC520 create mode 100644 configs/fedora/generic/CONFIG_EFI_CUSTOM_SSDT_OVERLAYS create mode 100644 configs/fedora/generic/CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER create mode 100644 configs/fedora/generic/CONFIG_EXTCON_QCOM_SPMI_MISC create mode 100644 configs/fedora/generic/CONFIG_F2FS_FS_LZORLE create mode 100644 configs/fedora/generic/CONFIG_FLATMEM_MANUAL create mode 100644 configs/fedora/generic/CONFIG_FSL_RCPM create mode 100644 configs/fedora/generic/CONFIG_GIGASET_BASE create mode 100644 configs/fedora/generic/CONFIG_GIGASET_CAPI create mode 100644 configs/fedora/generic/CONFIG_GIGASET_DEBUG create mode 100644 configs/fedora/generic/CONFIG_GIGASET_M101 create mode 100644 configs/fedora/generic/CONFIG_GIGASET_M105 create mode 100644 configs/fedora/generic/CONFIG_GPIO_AGGREGATOR create mode 100644 configs/fedora/generic/CONFIG_GPIO_BCM_XGS_IPROC create mode 100644 configs/fedora/generic/CONFIG_GPIO_MLXBF2 create mode 100644 configs/fedora/generic/CONFIG_GPIO_PCA953X_IRQ create mode 100644 configs/fedora/generic/CONFIG_GPIO_SYSCON create mode 100644 configs/fedora/generic/CONFIG_HEADERS_CHECK create mode 100644 configs/fedora/generic/CONFIG_HEADER_TEST create mode 100644 configs/fedora/generic/CONFIG_HIBERNATION_SNAPSHOT_DEV create mode 100644 configs/fedora/generic/CONFIG_HISI_DMA create mode 100644 configs/fedora/generic/CONFIG_HIST_TRIGGERS_DEBUG create mode 100644 configs/fedora/generic/CONFIG_HW_RANDOM_CCTRNG create mode 100644 configs/fedora/generic/CONFIG_HYPERV_TESTING create mode 100644 configs/fedora/generic/CONFIG_HYSDN create mode 100644 configs/fedora/generic/CONFIG_HYSDN_CAPI create mode 100644 configs/fedora/generic/CONFIG_I2C_QCOM_CCI create mode 100644 configs/fedora/generic/CONFIG_ICST create mode 100644 configs/fedora/generic/CONFIG_INET6_ESPINTCP create mode 100644 configs/fedora/generic/CONFIG_INFINIBAND_RTRS_CLIENT create mode 100644 configs/fedora/generic/CONFIG_INFINIBAND_RTRS_SERVER create mode 100644 configs/fedora/generic/CONFIG_INPUT_IQS269A create mode 100644 configs/fedora/generic/CONFIG_INTEL_IDXD create mode 100644 configs/fedora/generic/CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON create mode 100644 configs/fedora/generic/CONFIG_INTEL_SCU_PCI create mode 100644 configs/fedora/generic/CONFIG_INTEL_SCU_PLATFORM create mode 100644 configs/fedora/generic/CONFIG_INTEL_UNCORE_FREQ_CONTROL create mode 100644 configs/fedora/generic/CONFIG_INTEL_WMI_SBL_FW_UPDATE create mode 100644 configs/fedora/generic/CONFIG_ISDN_CAPI create mode 100644 configs/fedora/generic/CONFIG_KASAN_VMALLOC create mode 100644 configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST create mode 100644 configs/fedora/generic/CONFIG_KEXEC_SIG create mode 100644 configs/fedora/generic/CONFIG_KEYBOARD_BCM create mode 100644 configs/fedora/generic/CONFIG_KEY_NOTIFICATIONS create mode 100644 configs/fedora/generic/CONFIG_KVM_ARM_PMU create mode 100644 configs/fedora/generic/CONFIG_LEDS_AW2013 create mode 100644 configs/fedora/generic/CONFIG_LEDS_SGM3140 create mode 100644 configs/fedora/generic/CONFIG_LEDS_SYSCON create mode 100644 configs/fedora/generic/CONFIG_MAX1241 create mode 100644 configs/fedora/generic/CONFIG_MDIO_IPQ4019 create mode 100644 configs/fedora/generic/CONFIG_MDIO_IPQ8064 create mode 100644 configs/fedora/generic/CONFIG_MEDIA_PLATFORM_SUPPORT create mode 100644 configs/fedora/generic/CONFIG_MEDIA_SUPPORT_FILTER create mode 100644 configs/fedora/generic/CONFIG_MEDIA_TEST_SUPPORT create mode 100644 configs/fedora/generic/CONFIG_MFD_GATEWORKS_GSC create mode 100644 configs/fedora/generic/CONFIG_MFD_INTEL_PMC_BXT create mode 100644 configs/fedora/generic/CONFIG_MFD_MP2629 create mode 100644 configs/fedora/generic/CONFIG_MFD_MT6360 create mode 100644 configs/fedora/generic/CONFIG_MLX5_CLS_ACT create mode 100644 configs/fedora/generic/CONFIG_MLXBF_BOOTCTL create mode 100644 configs/fedora/generic/CONFIG_MSM_GCC_8939 create mode 100644 configs/fedora/generic/CONFIG_MT7663U create mode 100644 configs/fedora/generic/CONFIG_MT7915E create mode 100644 configs/fedora/generic/CONFIG_MTD_NAND_ARASAN create mode 100644 configs/fedora/generic/CONFIG_MTD_PSTORE create mode 100644 configs/fedora/generic/CONFIG_NET_ACT_GATE delete mode 100644 configs/fedora/generic/CONFIG_NVME_TCP create mode 100644 configs/fedora/generic/CONFIG_OPAL_CORE create mode 100644 configs/fedora/generic/CONFIG_PAGE_REPORTING create mode 100644 configs/fedora/generic/CONFIG_PCIEASPM_DEBUG create mode 100644 configs/fedora/generic/CONFIG_PCIE_LAYERSCAPE_GEN4 create mode 100644 configs/fedora/generic/CONFIG_PHY_CADENCE_SALVO create mode 100644 configs/fedora/generic/CONFIG_PHY_QCOM_IPQ4019_USB create mode 100644 configs/fedora/generic/CONFIG_PHY_QCOM_USB_HS_28NM create mode 100644 configs/fedora/generic/CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 create mode 100644 configs/fedora/generic/CONFIG_PHY_QCOM_USB_SS create mode 100644 configs/fedora/generic/CONFIG_PINCTRL_JASPERLAKE create mode 100644 configs/fedora/generic/CONFIG_PINCTRL_LYNXPOINT create mode 100644 configs/fedora/generic/CONFIG_PINCTRL_MSM8976 create mode 100644 configs/fedora/generic/CONFIG_PINCTRL_SM8250 create mode 100644 configs/fedora/generic/CONFIG_PMU_SYSFS create mode 100644 configs/fedora/generic/CONFIG_POWER_RESET_VEXPRESS create mode 100644 configs/fedora/generic/CONFIG_PRIME_NUMBERS create mode 100644 configs/fedora/generic/CONFIG_PSTORE_BLK create mode 100644 configs/fedora/generic/CONFIG_PSTORE_BLK_BLKDEV create mode 100644 configs/fedora/generic/CONFIG_PSTORE_BLK_KMSG_SIZE create mode 100644 configs/fedora/generic/CONFIG_PSTORE_BLK_MAX_REASON create mode 100644 configs/fedora/generic/CONFIG_PTP_1588_CLOCK_VMW create mode 100644 configs/fedora/generic/CONFIG_QCOM_IPCC create mode 100644 configs/fedora/generic/CONFIG_QCOM_OCMEM create mode 100644 configs/fedora/generic/CONFIG_QRTR create mode 100644 configs/fedora/generic/CONFIG_QRTR_MHI create mode 100644 configs/fedora/generic/CONFIG_QUICC_ENGINE create mode 100644 configs/fedora/generic/CONFIG_REFCOUNT_FULL create mode 100644 configs/fedora/generic/CONFIG_REGULATOR_MAX77826 create mode 100644 configs/fedora/generic/CONFIG_RTW88_8723DE create mode 100644 configs/fedora/generic/CONFIG_SENSORS_AMD_ENERGY create mode 100644 configs/fedora/generic/CONFIG_SENSORS_MAX16601 create mode 100644 configs/fedora/generic/CONFIG_SERIAL_LANTIQ create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_AMD_RENOIR create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_MAX98390 create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 create mode 100644 configs/fedora/generic/CONFIG_SND_SOC_ZL38060 create mode 100644 configs/fedora/generic/CONFIG_SPI_AMD delete mode 100644 configs/fedora/generic/CONFIG_STAGING_EXFAT_FS create mode 100644 configs/fedora/generic/CONFIG_SURFACE_3_POWER_OPREGION create mode 100644 configs/fedora/generic/CONFIG_SX9310 create mode 100644 configs/fedora/generic/CONFIG_SYNTH_EVENTS create mode 100644 configs/fedora/generic/CONFIG_SYSTEM76_ACPI create mode 100644 configs/fedora/generic/CONFIG_TARGET_TCP create mode 100644 configs/fedora/generic/CONFIG_TEST_BITOPS create mode 100644 configs/fedora/generic/CONFIG_TEST_HMM create mode 100644 configs/fedora/generic/CONFIG_TIME_NS create mode 100644 configs/fedora/generic/CONFIG_TOUCHSCREEN_CY8CTMA140 create mode 100644 configs/fedora/generic/CONFIG_USB4 create mode 100644 configs/fedora/generic/CONFIG_USB4_NET create mode 100644 configs/fedora/generic/CONFIG_USB_XHCI_PCI_RENESAS create mode 100644 configs/fedora/generic/CONFIG_VBOXSF_FS create mode 100644 configs/fedora/generic/CONFIG_VCNL3020 create mode 100644 configs/fedora/generic/CONFIG_VEXPRESS_CONFIG create mode 100644 configs/fedora/generic/CONFIG_VIDEO_AD5820 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_ADP1653 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_AK7375 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_DW9714 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_DW9807_VCM create mode 100644 configs/fedora/generic/CONFIG_VIDEO_ET8EK8 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_HI556 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IMX214 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IMX219 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IMX258 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IMX274 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IMX290 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IMX319 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IMX355 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_IPU3_CIO2 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_LM3560 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_LM3646 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_M5MOLS create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9M001 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9M032 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9M111 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9P031 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9T001 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9T112 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9V011 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9V032 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_MT9V111 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_NOON010PC30 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV13858 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV2640 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV2659 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV2680 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV2685 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV2740 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV5640 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV5645 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV5647 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV5670 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV5675 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV5695 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV6650 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV7251 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV7640 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV7670 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV772X create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV7740 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV8856 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV9640 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_OV9650 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_RJ54N1 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_ROCKCHIP_VDEC create mode 100644 configs/fedora/generic/CONFIG_VIDEO_S5C73M3 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_S5K4ECGX create mode 100644 configs/fedora/generic/CONFIG_VIDEO_S5K5BAF create mode 100644 configs/fedora/generic/CONFIG_VIDEO_S5K6A3 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_S5K6AA create mode 100644 configs/fedora/generic/CONFIG_VIDEO_SMIAPP create mode 100644 configs/fedora/generic/CONFIG_VIDEO_SR030PC30 create mode 100644 configs/fedora/generic/CONFIG_VIDEO_VS6624 create mode 100644 configs/fedora/generic/CONFIG_VIRTIO_BLK_SCSI create mode 100644 configs/fedora/generic/CONFIG_VIRTIO_MEM create mode 100644 configs/fedora/generic/CONFIG_WATCH_QUEUE create mode 100644 configs/fedora/generic/CONFIG_X86_IOPL_IOPERM create mode 100644 configs/fedora/generic/CONFIG_ZLIB_DFLTCC create mode 100644 configs/fedora/generic/CONFIG_ZSMALLOC_PGTABLE_MAPPING delete mode 100644 configs/fedora/generic/arm/CONFIG_ARCH_ASPEED delete mode 100644 configs/fedora/generic/arm/CONFIG_ARCH_S32 create mode 100644 configs/fedora/generic/arm/CONFIG_ARM_IMX_BUS_DEVFREQ create mode 100644 configs/fedora/generic/arm/CONFIG_ARM_QCOM_SPM_CPUIDLE create mode 100644 configs/fedora/generic/arm/CONFIG_ARM_SMC_WATCHDOG delete mode 100644 configs/fedora/generic/arm/CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS create mode 100644 configs/fedora/generic/arm/CONFIG_CEC_CROS_EC create mode 100644 configs/fedora/generic/arm/CONFIG_CEC_MESON_AO create mode 100644 configs/fedora/generic/arm/CONFIG_CEC_MESON_G12A_AO create mode 100644 configs/fedora/generic/arm/CONFIG_CEC_TEGRA create mode 100644 configs/fedora/generic/arm/CONFIG_CLK_IMX8MM create mode 100644 configs/fedora/generic/arm/CONFIG_CLK_IMX8MN create mode 100644 configs/fedora/generic/arm/CONFIG_CLK_IMX8MP create mode 100644 configs/fedora/generic/arm/CONFIG_CLK_IMX8MQ delete mode 100644 configs/fedora/generic/arm/CONFIG_DEBUG_WX delete mode 100644 configs/fedora/generic/arm/CONFIG_DRM_DUMB_VGA_DAC delete mode 100644 configs/fedora/generic/arm/CONFIG_DRM_MCDE create mode 100644 configs/fedora/generic/arm/CONFIG_DRM_NWL_MIPI_DSI create mode 100644 configs/fedora/generic/arm/CONFIG_DRM_PANEL_SITRONIX_ST7703 create mode 100644 configs/fedora/generic/arm/CONFIG_FSL_DPAA2_ETH_DCB delete mode 100644 configs/fedora/generic/arm/CONFIG_HISILICON_IRQ_MBIGEN create mode 100644 configs/fedora/generic/arm/CONFIG_HOTPLUG_PCI_SHPC create mode 100644 configs/fedora/generic/arm/CONFIG_I2C_BRCMSTB create mode 100644 configs/fedora/generic/arm/CONFIG_ICST delete mode 100644 configs/fedora/generic/arm/CONFIG_INPUT_PWM_BEEPER create mode 100644 configs/fedora/generic/arm/CONFIG_INTERCONNECT_IMX create mode 100644 configs/fedora/generic/arm/CONFIG_INTERCONNECT_IMX8MM create mode 100644 configs/fedora/generic/arm/CONFIG_INTERCONNECT_IMX8MN create mode 100644 configs/fedora/generic/arm/CONFIG_INTERCONNECT_IMX8MQ create mode 100644 configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM create mode 100644 configs/fedora/generic/arm/CONFIG_LEDS_SGM3140 create mode 100644 configs/fedora/generic/arm/CONFIG_MESON_WATCHDOG delete mode 100644 configs/fedora/generic/arm/CONFIG_MFD_SYSCON create mode 100644 configs/fedora/generic/arm/CONFIG_MMC_MESON_MX_SDHC create mode 100644 configs/fedora/generic/arm/CONFIG_MSM_GCC_8939 delete mode 100644 configs/fedora/generic/arm/CONFIG_NET_VENDOR_MELLANOX create mode 100644 configs/fedora/generic/arm/CONFIG_PINCTRL_IMX8DXL delete mode 100644 configs/fedora/generic/arm/CONFIG_PINCTRL_MSM8976 create mode 100644 configs/fedora/generic/arm/CONFIG_QCOM_RPMPD delete mode 100644 configs/fedora/generic/arm/CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT delete mode 100644 configs/fedora/generic/arm/CONFIG_QUICC_ENGINE create mode 100644 configs/fedora/generic/arm/CONFIG_REGMAP_MMIO create mode 100644 configs/fedora/generic/arm/CONFIG_SND_MMP_SOC_SSPA create mode 100644 configs/fedora/generic/arm/CONFIG_SND_SOC_FSL_EASRC delete mode 100644 configs/fedora/generic/arm/CONFIG_SND_SOC_SGTL5000 create mode 100644 configs/fedora/generic/arm/CONFIG_SPI_DW_DMA create mode 100644 configs/fedora/generic/arm/CONFIG_SUN50I_IOMMU create mode 100644 configs/fedora/generic/arm/CONFIG_VIDEO_TEGRA delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ACPI_TABLE_UPGRADE delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_AMU_EXTN create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_BTI_KERNEL delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_E0PD delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1319367 delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1530923 delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_ERRATUM_1542419 create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_FORCE_52BIT delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM64_USE_LSE_ATOMICS create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_ARM_PSCI_CPUIDLE delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MM delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MN delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MP delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MQ create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_COMMON_CLK_MESON_PHASE create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_COMMON_CLK_MESON_SCLK_DIV delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_CPU_LITTLE_ENDIAN delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_EDAC_DMC520 delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_EXTCON_QCOM_SPMI_MISC delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_GPIO_MLXBF2 delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_HW_RANDOM_HISI_V2 delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_IMX_REMOTEPROC delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_INTERCONNECT delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_INTERCONNECT_QCOM delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_MESON_WATCHDOG delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_MLXBF_BOOTCTL delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_PCIE_TEGRA194 delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MM delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MN delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MP delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_PINCTRL_IMX8MQ delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_SND_SOC_MAX98357A create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_SND_SOC_SOF_IMX8M_SUPPORT create mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_STRICT_DEVMEM delete mode 100644 configs/fedora/generic/arm/aarch64/CONFIG_XILINX_XADC create mode 100644 configs/fedora/generic/arm/armv7/CONFIG_CEC_SAMSUNG_S5P create mode 100644 configs/fedora/generic/arm/armv7/CONFIG_CEC_STI create mode 100644 configs/fedora/generic/arm/armv7/CONFIG_CEC_STM32 create mode 100644 configs/fedora/generic/arm/armv7/CONFIG_DRM_EXYNOS_G2D delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_MESON_WATCHDOG delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_MTD_NAND_BRCMNAND delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_NET_VENDOR_XILINX delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_NVMEM_STM32_ROMEM delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_REGMAP_MMIO delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_SPI_CADENCE_QUADSPI delete mode 100644 configs/fedora/generic/arm/armv7/CONFIG_STRICT_KERNEL_RWX delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_AM335X_PHY_USB delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_TI_CPUFREQ delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_AXI_DMAC delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_IMX_REMOTEPROC delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_NVMEM_SNVS_LPGPR delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_PHY_DM816X_USB delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_PWM_TIEHRPWM delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23 delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_ST_THERMAL_SYSCFG delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_WKUP_M3_RPROC delete mode 100644 configs/fedora/generic/arm/armv7/armv7/CONFIG_XILINX_XADC create mode 100644 configs/fedora/generic/arm/armv7/armv7/README delete mode 100644 configs/fedora/generic/powerpc/CONFIG_CPU_LITTLE_ENDIAN delete mode 100644 configs/fedora/generic/powerpc/CONFIG_EFI_TEST delete mode 100644 configs/fedora/generic/powerpc/CONFIG_FRAME_WARN create mode 100644 configs/fedora/generic/powerpc/CONFIG_INPUT_PWM_BEEPER delete mode 100644 configs/fedora/generic/powerpc/CONFIG_OPAL_CORE delete mode 100644 configs/fedora/generic/powerpc/CONFIG_PMU_SYSFS delete mode 100644 configs/fedora/generic/powerpc/CONFIG_QUICC_ENGINE create mode 100644 configs/fedora/generic/powerpc/CONFIG_SIMPLE_GPIO delete mode 100644 configs/fedora/generic/powerpc/CONFIG_TICK_CPU_ACCOUNTING delete mode 100644 configs/fedora/generic/s390x/CONFIG_EFI_TEST create mode 100644 configs/fedora/generic/s390x/CONFIG_SCLP_ASYNC create mode 100644 configs/fedora/generic/s390x/CONFIG_SCLP_ASYNC_ID delete mode 100644 configs/fedora/generic/s390x/CONFIG_TICK_CPU_ACCOUNTING create mode 100644 configs/fedora/generic/s390x/CONFIG_TUNE_DEFAULT create mode 100644 configs/fedora/generic/s390x/CONFIG_TUNE_Z14 create mode 100644 configs/fedora/generic/s390x/CONFIG_VIRTIO_FS delete mode 100644 configs/fedora/generic/s390x/CONFIG_ZLIB_DFLTCC create mode 100644 configs/fedora/generic/s390x/README create mode 100644 configs/fedora/generic/s390x/zfcpdump/CONFIG_CRYPTO_ESSIV create mode 100644 configs/fedora/generic/s390x/zfcpdump/CONFIG_CRYPTO_LIB_CHACHA create mode 100644 configs/fedora/generic/s390x/zfcpdump/CONFIG_CRYPTO_LIB_POLY1305 create mode 100644 configs/fedora/generic/s390x/zfcpdump/CONFIG_CRYPTO_SHA3_256_S390 create mode 100644 configs/fedora/generic/s390x/zfcpdump/CONFIG_CRYPTO_SHA3_512_S390 create mode 100644 configs/fedora/generic/s390x/zfcpdump/README delete mode 100644 configs/fedora/generic/x86/CONFIG_ACPI_TABLE_UPGRADE create mode 100644 configs/fedora/generic/x86/CONFIG_ACRN_GUEST create mode 100644 configs/fedora/generic/x86/CONFIG_CEC_SECO create mode 100644 configs/fedora/generic/x86/CONFIG_CLK_LGM_CGU delete mode 100644 configs/fedora/generic/x86/CONFIG_DEBUG_WX delete mode 100644 configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DCN2_0 delete mode 100644 configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DSC_SUPPORT delete mode 100644 configs/fedora/generic/x86/CONFIG_DRM_NOUVEAU_SVM create mode 100644 configs/fedora/generic/x86/CONFIG_EXTCON_INTEL_MRFLD create mode 100644 configs/fedora/generic/x86/CONFIG_GPIO_MSIC delete mode 100644 configs/fedora/generic/x86/CONFIG_HYPERV_TESTING delete mode 100644 configs/fedora/generic/x86/CONFIG_IMA_ARCH_POLICY create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_ATOMISP create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_MFLD_THERMAL create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_MID_POWER_BUTTON create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_MRFLD_ADC create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_MRFLD_PWRBTN create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_SCU_IPC_UTIL create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_SCU_PCI create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_SCU_PLATFORM create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_SOC_PMIC_MRFLD create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH_ACPI create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH_DEBUG create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH_GTH create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH_MSU create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH_PCI create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH_PTI create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_TH_STH create mode 100644 configs/fedora/generic/x86/CONFIG_INTEL_WMI_SBL_FW_UPDATE create mode 100644 configs/fedora/generic/x86/CONFIG_MFD_INTEL_MSIC create mode 100644 configs/fedora/generic/x86/CONFIG_MFD_INTEL_PMC_BXT delete mode 100644 configs/fedora/generic/x86/CONFIG_NET_VENDOR_XILINX create mode 100644 configs/fedora/generic/x86/CONFIG_PHY_INTEL_COMBO create mode 100644 configs/fedora/generic/x86/CONFIG_PINCTRL_JASPERLAKE create mode 100644 configs/fedora/generic/x86/CONFIG_SENSORS_AMD_ENERGY create mode 100644 configs/fedora/generic/x86/CONFIG_SERIAL_LANTIQ create mode 100644 configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_AMD_RENOIR create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_AMD_RENOIR_MACH create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH delete mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_PCM512x_I2C create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_BAYTRAIL_SUPPORT create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT delete mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_WM8804 create mode 100644 configs/fedora/generic/x86/CONFIG_SND_SOC_WM8804_I2C create mode 100644 configs/fedora/generic/x86/CONFIG_STM create mode 100644 configs/fedora/generic/x86/CONFIG_STM_DUMMY create mode 100644 configs/fedora/generic/x86/CONFIG_STM_PROTO_BASIC create mode 100644 configs/fedora/generic/x86/CONFIG_STM_PROTO_SYS_T create mode 100644 configs/fedora/generic/x86/CONFIG_STM_SOURCE_CONSOLE create mode 100644 configs/fedora/generic/x86/CONFIG_STM_SOURCE_FTRACE create mode 100644 configs/fedora/generic/x86/CONFIG_STM_SOURCE_HEARTBEAT delete mode 100644 configs/fedora/generic/x86/CONFIG_TIME_NS delete mode 100644 configs/fedora/generic/x86/CONFIG_USB4_NET delete mode 100644 configs/fedora/generic/x86/CONFIG_X86_IOPL_IOPERM delete mode 100644 configs/fedora/generic/x86/CONFIG_XILINX_LL_TEMAC delete mode 100644 configs/fedora/generic/x86/i686/CONFIG_FLATMEM_MANUAL delete mode 100644 configs/fedora/generic/x86/i686/CONFIG_HOTPLUG_PCI_SHPC delete mode 100644 configs/fedora/generic/x86/i686/CONFIG_INPUT_PWM_BEEPER create mode 100644 configs/fedora/generic/x86/i686/README create mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_CALGARY_IOMMU delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_CONTEXT_TRACKING_FORCE create mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_CPU_FREQ_GOV_SCHEDUTIL delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_BLAKE2S_x86 delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_FRAME_WARN delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_INTEL_IDXD delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_INTEL_UNCORE_FREQ_CONTROL delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_KEYBOARD_APPLESPI delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE create mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_SND_XEN_FRONTEND delete mode 100644 configs/fedora/generic/x86/x86_64/CONFIG_VIRT_CPU_ACCOUNTING_GEN create mode 100644 configs/fedora/generic/x86/x86_64/README diff --git a/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch b/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch index ec362d9b2..1a5bec6ce 100644 --- a/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch +++ b/0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch @@ -48,7 +48,7 @@ Signed-off-by: Herton R. Krzesinski 1 file changed, 8 insertions(+) diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c -index 822402480f7d..3f87d8602560 100644 +index 953a2fae8b15..7ea07f7da582 100644 --- a/drivers/acpi/apei/hest.c +++ b/drivers/acpi/apei/hest.c @@ -88,6 +88,14 @@ int apei_hest_parse(apei_hest_func_t func, void *data) diff --git a/0001-ARM-tegra-usb-no-reset.patch b/0001-ARM-tegra-usb-no-reset.patch index f91c6b83e..21ebad41e 100644 --- a/0001-ARM-tegra-usb-no-reset.patch +++ b/0001-ARM-tegra-usb-no-reset.patch @@ -10,7 +10,7 @@ Patch for disconnect issues with storage attached to a 1 file changed, 7 insertions(+) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index fc748c731832..7d35e12de70f 100644 +index b1e14beaac5f..b28779779058 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -5517,6 +5517,13 @@ static void hub_event(struct work_struct *work) diff --git a/0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch b/0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch index ee11a2428..9fa2f1a8e 100644 --- a/0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch +++ b/0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch @@ -15,7 +15,7 @@ Signed-off-by: Peter Jones 2 files changed, 96 insertions(+), 31 deletions(-) diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c -index 4e3055238f31..36ca9e2943ce 100644 +index fdd1db025dbf..8ef7d1df09dd 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -31,6 +31,7 @@ @@ -26,7 +26,7 @@ index 4e3055238f31..36ca9e2943ce 100644 #include -@@ -828,40 +829,101 @@ int efi_mem_type(unsigned long phys_addr) +@@ -831,40 +832,101 @@ int efi_mem_type(unsigned long phys_addr) } #endif @@ -160,10 +160,10 @@ index 4e3055238f31..36ca9e2943ce 100644 static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); diff --git a/include/linux/efi.h b/include/linux/efi.h -index 9430d01c0c3d..51503bf118ab 100644 +index 05c47f857383..2e2f9f608f68 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -42,6 +42,8 @@ +@@ -43,6 +43,8 @@ #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1))) #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1))) @@ -172,7 +172,7 @@ index 9430d01c0c3d..51503bf118ab 100644 typedef unsigned long efi_status_t; typedef u8 efi_bool_t; typedef u16 efi_char16_t; /* UNICODE character */ -@@ -825,6 +827,7 @@ static inline bool efi_rt_services_supported(unsigned int mask) +@@ -828,6 +830,7 @@ static inline bool efi_rt_services_supported(unsigned int mask) #endif extern int efi_status_to_err(efi_status_t status); diff --git a/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch b/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch index 970824d59..64cdd4136 100644 --- a/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch +++ b/0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch @@ -16,10 +16,10 @@ Signed-off-by: Jeremy Cline 1 file changed, 1 insertion(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 7f37a6d0658a..c88ee0e8ce6e 100644 +index 2e0700a451e5..77e7e749d7e5 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -1126,6 +1126,7 @@ config XEN +@@ -1133,6 +1133,7 @@ config XEN config FORCE_MAX_ZONEORDER int default "14" if (ARM64_64K_PAGES && TRANSPARENT_HUGEPAGE) diff --git a/0001-Drop-that-for-now.patch b/0001-Drop-that-for-now.patch index bc898b654..c26066ec6 100644 --- a/0001-Drop-that-for-now.patch +++ b/0001-Drop-that-for-now.patch @@ -8,10 +8,10 @@ Subject: [PATCH] Drop that for now 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 3d65d1153aac..0e2fb7fe2675 100644 +index 37cfb39d77af..c65a263990ae 100644 --- a/Makefile +++ b/Makefile -@@ -479,7 +479,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE +@@ -496,7 +496,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ -Werror=implicit-function-declaration -Werror=implicit-int \ diff --git a/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch b/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch deleted file mode 100644 index 6fc81f845..000000000 --- a/0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 92c547f35f4852908f40c2861d9b9d10e0c5099b Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 28 Jun 2020 16:48:50 +0100 -Subject: [PATCH] PCI: Add MCFG quirks for Tegra194 host controllers - -The PCIe controller in Tegra194 SoC is not completely ECAM-compliant. -With the current hardware design limitations in place, ECAM can be enabled -only for one controller (C5 controller to be precise) with bus numbers -starting from 160 instead of 0. A different approach is taken to avoid this -abnormal way of enabling ECAM for just one controller but to enable -configuration space access for all the other controllers. In this approach, -ops are added through MCFG quirk mechanism which access the configuration -spaces by dynamically programming iATU (internal AddressTranslation Unit) -to generate respective configuration accesses just like the way it is -done in DesignWare core sub-system. - -Signed-off-by: Vidya Sagar -Reported-by: kbuild test robot -Signed-off-by: Peter Robinson ---- -V3: -* Removed MCFG address hardcoding in pci_mcfg.c file -* Started using 'dbi_base' for accessing root port's own config space -* and using 'config_base' for accessing config space of downstream hierarchy - -V2: -* Fixed build issues reported by kbuild test bot ---- - drivers/acpi/pci_mcfg.c | 7 ++ - drivers/pci/controller/dwc/Makefile | 2 +- - drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++++++++++++++++++ - include/linux/pci-ecam.h | 1 + - 4 files changed, 111 insertions(+), 1 deletion(-) - -diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c -index 6b347d9920cc2..7071814081736 100644 ---- a/drivers/acpi/pci_mcfg.c -+++ b/drivers/acpi/pci_mcfg.c -@@ -116,6 +116,13 @@ static struct mcfg_fixup mcfg_quirks[] = { - THUNDER_ECAM_QUIRK(2, 12), - THUNDER_ECAM_QUIRK(2, 13), - -+ { "NVIDIA", "TEGRA194", 1, 0, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 1, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 2, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 3, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 4, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ { "NVIDIA", "TEGRA194", 1, 5, MCFG_BUS_ANY, &tegra194_pcie_ops}, -+ - #define XGENE_V1_ECAM_MCFG(rev, seg) \ - {"APM ", "XGENE ", rev, seg, MCFG_BUS_ANY, \ - &xgene_v1_pcie_ecam_ops } -diff --git a/drivers/pci/controller/dwc/Makefile b/drivers/pci/controller/dwc/Makefile -index 8a637cfcf6e99..76a6c52b8500e 100644 ---- a/drivers/pci/controller/dwc/Makefile -+++ b/drivers/pci/controller/dwc/Makefile -@@ -17,7 +17,6 @@ obj-$(CONFIG_PCIE_INTEL_GW) += pcie-intel-gw.o - obj-$(CONFIG_PCIE_KIRIN) += pcie-kirin.o - obj-$(CONFIG_PCIE_HISI_STB) += pcie-histb.o - obj-$(CONFIG_PCI_MESON) += pci-meson.o --obj-$(CONFIG_PCIE_TEGRA194) += pcie-tegra194.o - obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o - - # The following drivers are for devices that use the generic ACPI -@@ -33,4 +32,5 @@ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o - ifdef CONFIG_PCI - obj-$(CONFIG_ARM64) += pcie-al.o - obj-$(CONFIG_ARM64) += pcie-hisi.o -+obj-$(CONFIG_ARM64) += pcie-tegra194.o - endif -diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c -index ae30a2fd3716a..571b39c5cac63 100644 ---- a/drivers/pci/controller/dwc/pcie-tegra194.c -+++ b/drivers/pci/controller/dwc/pcie-tegra194.c -@@ -22,6 +22,8 @@ - #include - #include - #include -+#include -+#include - #include - #include - #include -@@ -324,6 +326,103 @@ struct tegra_pcie_dw_of_data { - enum dw_pcie_device_mode mode; - }; - -+#if defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) -+struct tegra194_pcie_acpi { -+ void __iomem *config_base; -+ void __iomem *iatu_base; -+ void __iomem *dbi_base; -+}; -+ -+static int tegra194_acpi_init(struct pci_config_window *cfg) -+{ -+ struct device *dev = cfg->parent; -+ struct tegra194_pcie_acpi *pcie; -+ -+ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); -+ if (!pcie) -+ return -ENOMEM; -+ -+ pcie->config_base = cfg->win; -+ pcie->iatu_base = cfg->win + SZ_256K; -+ pcie->dbi_base = cfg->win + SZ_512K; -+ cfg->priv = pcie; -+ -+ return 0; -+} -+ -+static inline void atu_reg_write(struct tegra194_pcie_acpi *pcie, int index, -+ u32 val, u32 reg) -+{ -+ u32 offset = PCIE_GET_ATU_OUTB_UNR_REG_OFFSET(index); -+ -+ writel(val, pcie->iatu_base + offset + reg); -+} -+ -+static void program_outbound_atu(struct tegra194_pcie_acpi *pcie, int index, -+ int type, u64 cpu_addr, u64 pci_addr, u64 size) -+{ -+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr), -+ PCIE_ATU_LOWER_BASE); -+ atu_reg_write(pcie, index, upper_32_bits(cpu_addr), -+ PCIE_ATU_UPPER_BASE); -+ atu_reg_write(pcie, index, lower_32_bits(pci_addr), -+ PCIE_ATU_LOWER_TARGET); -+ atu_reg_write(pcie, index, lower_32_bits(cpu_addr + size - 1), -+ PCIE_ATU_LIMIT); -+ atu_reg_write(pcie, index, upper_32_bits(pci_addr), -+ PCIE_ATU_UPPER_TARGET); -+ atu_reg_write(pcie, index, type, PCIE_ATU_CR1); -+ atu_reg_write(pcie, index, PCIE_ATU_ENABLE, PCIE_ATU_CR2); -+} -+ -+static void __iomem *tegra194_map_bus(struct pci_bus *bus, -+ unsigned int devfn, int where) -+{ -+ struct pci_config_window *cfg = bus->sysdata; -+ struct tegra194_pcie_acpi *pcie = cfg->priv; -+ u32 busdev; -+ int type; -+ -+ if (bus->number < cfg->busr.start || bus->number > cfg->busr.end) -+ return NULL; -+ -+ if (bus->number == cfg->busr.start) { -+ if (PCI_SLOT(devfn) == 0) -+ return pcie->dbi_base + where; -+ else -+ return NULL; -+ } -+ -+ busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) | -+ PCIE_ATU_FUNC(PCI_FUNC(devfn)); -+ -+ if (bus->parent->number == cfg->busr.start) { -+ if (PCI_SLOT(devfn) == 0) -+ type = PCIE_ATU_TYPE_CFG0; -+ else -+ return NULL; -+ } else { -+ type = PCIE_ATU_TYPE_CFG1; -+ } -+ -+ program_outbound_atu(pcie, PCIE_ATU_REGION_INDEX0, type, -+ cfg->res.start, busdev, SZ_256K); -+ return (void __iomem *)(pcie->config_base + where); -+} -+ -+struct pci_ecam_ops tegra194_pcie_ops = { -+ .bus_shift = 20, -+ .init = tegra194_acpi_init, -+ .pci_ops = { -+ .map_bus = tegra194_map_bus, -+ .read = pci_generic_config_read, -+ .write = pci_generic_config_write, -+ } -+}; -+#endif /* defined(CONFIG_ACPI) && defined(CONFIG_PCI_QUIRKS) */ -+ -+#ifdef CONFIG_PCIE_TEGRA194 -+ - static inline struct tegra_pcie_dw *to_tegra_pcie(struct dw_pcie *pci) - { - return container_of(pci, struct tegra_pcie_dw, pci); -@@ -2406,3 +2505,6 @@ MODULE_DEVICE_TABLE(of, tegra_pcie_dw_of_match); - MODULE_AUTHOR("Vidya Sagar "); - MODULE_DESCRIPTION("NVIDIA PCIe host controller driver"); - MODULE_LICENSE("GPL v2"); -+ -+#endif /* CONFIG_PCIE_TEGRA194 */ -+ -diff --git a/include/linux/pci-ecam.h b/include/linux/pci-ecam.h -index a73164c85e78b..6156140dcbb65 100644 ---- a/include/linux/pci-ecam.h -+++ b/include/linux/pci-ecam.h -@@ -57,6 +57,7 @@ extern struct pci_ecam_ops pci_thunder_ecam_ops; /* Cavium ThunderX 1.x */ - extern struct pci_ecam_ops xgene_v1_pcie_ecam_ops; /* APM X-Gene PCIe v1 */ - extern struct pci_ecam_ops xgene_v2_pcie_ecam_ops; /* APM X-Gene PCIe v2.x */ - extern struct pci_ecam_ops al_pcie_ops; /* Amazon Annapurna Labs PCIe */ -+extern struct pci_ecam_ops tegra194_pcie_ops; /* Tegra194 PCIe */ - #endif - - #ifdef CONFIG_PCI_HOST_COMMON --- -2.26.2 - diff --git a/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch b/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch deleted file mode 100644 index 07f8b4e26..000000000 --- a/0001-PCI-brcmstb-Wait-for-Raspberry-Pi-s-firmware-when-pr.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Saenz Julienne -Date: Tue, 10 Mar 2020 13:52:41 +0100 -Subject: [PATCH] PCI: brcmstb: Wait for Raspberry Pi's firmware when present - -xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on -RPi4's VideoCore firmware interface to be up and running. It's possible -for both initializations to race, so make sure it's available prior to -starting. - -Signed-off-by: Nicolas Saenz Julienne -Reviewed-by: Florian Fainelli ---- - drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c -index 6d79d14527a6..aee84679a997 100644 ---- a/drivers/pci/controller/pcie-brcmstb.c -+++ b/drivers/pci/controller/pcie-brcmstb.c -@@ -28,6 +28,8 @@ - #include - #include - -+#include -+ - #include "../pci.h" - - /* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */ -@@ -917,11 +919,24 @@ static int brcm_pcie_probe(struct platform_device *pdev) - { - struct device_node *np = pdev->dev.of_node, *msi_np; - struct pci_host_bridge *bridge; -+ struct device_node *fw_np; - struct brcm_pcie *pcie; - struct pci_bus *child; - struct resource *res; - int ret; - -+ /* -+ * We have to wait for the Raspberry Pi's firmware interface to be up -+ * as some PCI fixups depend on it. -+ */ -+ fw_np = of_find_compatible_node(NULL, NULL, -+ "raspberrypi,bcm2835-firmware"); -+ if (fw_np && !rpi_firmware_get(fw_np)) { -+ of_node_put(fw_np); -+ return -EPROBE_DEFER; -+ } -+ of_node_put(fw_np); -+ - bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie)); - if (!bridge) - return -ENOMEM; --- -2.26.2 - diff --git a/0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch b/0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch new file mode 100644 index 000000000..0af11db2d --- /dev/null +++ b/0001-PCI-tegra-Revert-raw_violation_fixup-for-tegra124.patch @@ -0,0 +1,65 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Nicolas Chauvet +Date: Mon, 20 Apr 2020 18:43:04 +0200 +Subject: [PATCH] PCI: tegra: Revert raw_violation_fixup for tegra124 + +As reported in https://bugzilla.kernel.org/206217 , raw_violation_fixup +is causing more harm than good in some common use-cases. + +This patch as RFC is a partial revert of the 191cd6fb5 commit: + "PCI: tegra: Add SW fixup for RAW violations" +that was first introduced in 5.3 kernel. +This fix the following regression since then. + +When using both the network NIC and I/O on MMC this can lead to the +following message on jetson-tk1: + + NETDEV WATCHDOG: enp1s0 (r8169): transmit queue 0 timed out + +and + + pcieport 0000:00:02.0: AER: Uncorrected (Non-Fatal) error received: 0000:01:00.0 + r8169 0000:01:00.0: AER: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID) + r8169 0000:01:00.0: AER: device [10ec:8168] error status/mask=00004000/00400000 + r8169 0000:01:00.0: AER: [14] CmpltTO (First) + r8169 0000:01:00.0: AER: can't recover (no error_detected callback) + pcieport 0000:00:02.0: AER: device recovery failed + +After that, the ethernet NIC isn't functional anymore even after reloading +the module. +After a reboot, this is reproducible by copying a large file over the +ethernet NIC to the MMC. +For some reasons this cannot be reproduced when the same file is copied +to a tmpfs. + +This patch is RFC because it requires more understanding from Nvidia. + - Is the fixup (available in l4t downstrem) still needed for upstream ? + - Is there a need to update the fixup values for upstream ? + - If the fixup is reverted, does the hw bug can still be seen with + upstream ? + +Others can also provides more understanding: + - Conditions to reproduce the bug (or not)... + +Signed-off-by: Nicolas Chauvet +Reviewed-by: Manikanta Maddireddy +--- + drivers/pci/controller/pci-tegra.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/pci/controller/pci-tegra.c b/drivers/pci/controller/pci-tegra.c +index 235b456698fc..d5a4a167ffa1 100644 +--- a/drivers/pci/controller/pci-tegra.c ++++ b/drivers/pci/controller/pci-tegra.c +@@ -2470,7 +2470,7 @@ static const struct tegra_pcie_soc tegra124_pcie = { + .program_uphy = true, + .update_clamp_threshold = true, + .program_deskew_time = false, +- .raw_violation_fixup = true, ++ .raw_violation_fixup = false, + .update_fc_timer = false, + .has_cache_bars = false, + .ectl.enable = false, +-- +2.26.2 + diff --git a/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch b/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch new file mode 100644 index 000000000..dd77c307a --- /dev/null +++ b/0001-Rename-RH_DISABLE_DEPRECATED-to-RHEL_DIFFERENCES.patch @@ -0,0 +1,81 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Don Zickus +Date: Tue, 3 Mar 2020 09:35:28 -0500 +Subject: [PATCH] Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES + +The intent of RH_DISABLE_DEPRECATED was to provide Red Hat a +simple way to disable drivers it did not want to support in RHEL. + +As the config option was applied to more drivers and infra, it became +clear the option was being used for not only deprecating drivers (which +implied limited support) to disabling drivers (implying no support). + +Using the word 'deprecated' seemed confusing in the second scenario. +Rename the option to be more generic and useable across more parts +of the kernel tree. + +The new wording is RHEL_DIFFERENCES. + +Upstream Status: RHEL only +--- + Kconfig.redhat | 2 +- + arch/x86/kernel/setup.c | 2 +- + include/linux/kernel.h | 2 +- + kernel/Makefile | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Kconfig.redhat b/Kconfig.redhat +index 733a26bd887a..effb81d04bfd 100644 +--- a/Kconfig.redhat ++++ b/Kconfig.redhat +@@ -5,7 +5,7 @@ + + menu "Red Hat options" + +-config RH_DISABLE_DEPRECATED ++config RHEL_DIFFERENCES + bool "Remove support for deprecated features" + help + Red Hat may choose to deprecate certain features in its kernels. +diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c +index 19d57bfc12f9..e677bb144835 100644 +--- a/arch/x86/kernel/setup.c ++++ b/arch/x86/kernel/setup.c +@@ -1372,7 +1372,7 @@ void __init setup_arch(char **cmdline_p) + efi_apply_memmap_quirks(); + #endif + +-#ifdef CONFIG_RH_DISABLE_DEPRECATED ++#ifdef CONFIG_RHEL_DIFFERENCES + rh_check_supported(); + #endif + +diff --git a/include/linux/kernel.h b/include/linux/kernel.h +index 0a0081b10edb..cfaaa6a234d4 100644 +--- a/include/linux/kernel.h ++++ b/include/linux/kernel.h +@@ -1058,7 +1058,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } + + struct module; + +-#ifdef CONFIG_RH_DISABLE_DEPRECATED ++#ifdef CONFIG_RHEL_DIFFERENCES + void mark_hardware_unsupported(const char *msg); + void mark_hardware_deprecated(const char *msg); + void mark_tech_preview(const char *msg, struct module *mod); +diff --git a/kernel/Makefile b/kernel/Makefile +index c0a4904413b5..1a0c362cddfb 100644 +--- a/kernel/Makefile ++++ b/kernel/Makefile +@@ -12,7 +12,7 @@ obj-y = fork.o exec_domain.o panic.o \ + notifier.o ksysfs.o cred.o reboot.o \ + async.o range.o smpboot.o ucount.o + +-obj-$(CONFIG_RH_DISABLE_DEPRECATED) += rh_taint.o ++obj-$(CONFIG_RHEL_DIFFERENCES) += rh_taint.o + + obj-$(CONFIG_MODULES) += kmod.o + obj-$(CONFIG_MULTIUSER) += groups.o +-- +2.26.2 + diff --git a/0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch b/0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch new file mode 100644 index 000000000..0ea8f7da8 --- /dev/null +++ b/0001-Revert-arm64-allwinner-dts-a64-add-LCD-related-devic.patch @@ -0,0 +1,76 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 12 Jul 2020 13:42:14 +0100 +Subject: [PATCH] Revert "arm64: allwinner: dts: a64: add LCD-related device + nodes for PinePhone" + +This reverts commit 6b9deda8c30064a254bc66e3f6763281c96db7db. +--- + .../dts/allwinner/sun50i-a64-pinephone.dtsi | 37 ------------------- + 1 file changed, 37 deletions(-) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +index 96d9150423e0..cefda145c3c9 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +@@ -16,15 +16,6 @@ aliases { + serial0 = &uart0; + }; + +- backlight: backlight { +- compatible = "pwm-backlight"; +- pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; +- brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>; +- default-brightness-level = <15>; +- enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ +- power-supply = <®_ldo_io0>; +- }; +- + chosen { + stdout-path = "serial0:115200n8"; + }; +@@ -93,30 +84,6 @@ &dai { + status = "okay"; + }; + +-&de { +- status = "okay"; +-}; +- +-&dphy { +- status = "okay"; +-}; +- +-&dsi { +- vcc-dsi-supply = <®_dldo1>; +- #address-cells = <1>; +- #size-cells = <0>; +- status = "okay"; +- +- panel@0 { +- compatible = "xingbangda,xbd599"; +- reg = <0>; +- reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ +- iovcc-supply = <®_dldo2>; +- vcc-supply = <®_ldo_io0>; +- backlight = <&backlight>; +- }; +-}; +- + &ehci0 { + status = "okay"; + }; +@@ -221,10 +188,6 @@ &r_pio { + */ + }; + +-&r_pwm { +- status = "okay"; +-}; +- + &r_rsb { + status = "okay"; + +-- +2.26.2 + diff --git a/0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch b/0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch new file mode 100644 index 000000000..2950f8a79 --- /dev/null +++ b/0001-Revert-drm-panel-add-Xingbangda-XBD599-panel.patch @@ -0,0 +1,418 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 12 Jul 2020 13:41:56 +0100 +Subject: [PATCH] Revert "drm: panel: add Xingbangda XBD599 panel" + +This reverts commit 5d53795bb19e39f048ac8028ec36ff04765e1237. +--- + drivers/gpu/drm/panel/Kconfig | 9 - + drivers/gpu/drm/panel/Makefile | 1 - + .../gpu/drm/panel/panel-xingbangda-xbd599.c | 366 ------------------ + 3 files changed, 376 deletions(-) + delete mode 100644 drivers/gpu/drm/panel/panel-xingbangda-xbd599.c + +diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig +index 1f55a87bb657..39055c1f0e2f 100644 +--- a/drivers/gpu/drm/panel/Kconfig ++++ b/drivers/gpu/drm/panel/Kconfig +@@ -462,15 +462,6 @@ config DRM_PANEL_VISIONOX_RM69299 + Say Y here if you want to enable support for Visionox + RM69299 DSI Video Mode panel. + +-config DRM_PANEL_XINGBANGDA_XBD599 +- tristate "Xingbangda XBD599 panel" +- depends on OF +- depends on DRM_MIPI_DSI +- depends on BACKLIGHT_CLASS_DEVICE +- help +- Say Y here if you want to enable support for the Xingbangda XBD599 +- MIPI DSI Video Mode panel. +- + config DRM_PANEL_XINPENG_XPP055C272 + tristate "Xinpeng XPP055C272 panel driver" + depends on OF +diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile +index 7b6b0c0397d6..de74f282c433 100644 +--- a/drivers/gpu/drm/panel/Makefile ++++ b/drivers/gpu/drm/panel/Makefile +@@ -49,5 +49,4 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o + obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o + obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o + obj-$(CONFIG_DRM_PANEL_VISIONOX_RM69299) += panel-visionox-rm69299.o +-obj-$(CONFIG_DRM_PANEL_XINGBANGDA_XBD599) += panel-xingbangda-xbd599.o + obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o +diff --git a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c +deleted file mode 100644 +index b483f96ee1db..000000000000 +--- a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c ++++ /dev/null +@@ -1,366 +0,0 @@ +-// SPDX-License-Identifier: GPL-2.0 +-/* +- * Xingbangda XBD599 MIPI-DSI panel driver +- * +- * Copyright (C) 2019-2020 Icenowy Zheng +- * +- * Based on panel-rocktech-jh057n00900.c, which is: +- * Copyright (C) Purism SPC 2019 +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include +-#include +-#include +-#include +- +-/* Manufacturer specific Commands send via DSI */ +-#define ST7703_CMD_ALL_PIXEL_OFF 0x22 +-#define ST7703_CMD_ALL_PIXEL_ON 0x23 +-#define ST7703_CMD_SETDISP 0xB2 +-#define ST7703_CMD_SETRGBIF 0xB3 +-#define ST7703_CMD_SETCYC 0xB4 +-#define ST7703_CMD_SETBGP 0xB5 +-#define ST7703_CMD_SETVCOM 0xB6 +-#define ST7703_CMD_SETOTP 0xB7 +-#define ST7703_CMD_SETPOWER_EXT 0xB8 +-#define ST7703_CMD_SETEXTC 0xB9 +-#define ST7703_CMD_SETMIPI 0xBA +-#define ST7703_CMD_SETVDC 0xBC +-#define ST7703_CMD_SETSCR 0xC0 +-#define ST7703_CMD_SETPOWER 0xC1 +-#define ST7703_CMD_UNK_C6 0xC6 +-#define ST7703_CMD_SETPANEL 0xCC +-#define ST7703_CMD_SETGAMMA 0xE0 +-#define ST7703_CMD_SETEQ 0xE3 +-#define ST7703_CMD_SETGIP1 0xE9 +-#define ST7703_CMD_SETGIP2 0xEA +- +-static const char * const regulator_names[] = { +- "iovcc", +- "vcc", +-}; +- +-struct xbd599 { +- struct device *dev; +- struct drm_panel panel; +- struct gpio_desc *reset_gpio; +- struct regulator_bulk_data supplies[ARRAY_SIZE(regulator_names)]; +- bool prepared; +-}; +- +-static inline struct xbd599 *panel_to_xbd599(struct drm_panel *panel) +-{ +- return container_of(panel, struct xbd599, panel); +-} +- +-#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ +- static const u8 d[] = { seq }; \ +- int ret; \ +- ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ +- if (ret < 0) \ +- return ret; \ +- } while (0) +- +-static int xbd599_init_sequence(struct xbd599 *ctx) +-{ +- struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); +- struct device *dev = ctx->dev; +- int ret; +- +- /* +- * Init sequence was supplied by the panel vendor. +- */ +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, +- 0xF1, 0x12, 0x83); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, +- 0x33, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, +- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, +- 0x00, 0x91, 0x0a, 0x00, 0x00, 0x02, 0x4F, 0x11, +- 0x00, 0x00, 0x37); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, +- 0x25, 0x22, 0x20, 0x03); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, +- 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00, +- 0x00, 0x00); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, +- 0x73, 0x73, 0x50, 0x50, 0x00, 0xC0, 0x08, 0x70, +- 0x00); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0xF0); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, +- 0x00, 0x00, 0x0B, 0x0B, 0x10, 0x10, 0x00, 0x00, +- 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10); +- dsi_dcs_write_seq(dsi, 0xC6, 0x01, 0x00, 0xFF, 0xFF, 0x00); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, +- 0x74, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xFF, 0xFF, +- 0xCC, 0xCC, 0x77, 0x77); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x07, 0x07); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x2C, 0x2C); +- dsi_dcs_write_seq(dsi, 0xBF, 0x02, 0x11, 0x00); +- +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, +- 0x82, 0x10, 0x06, 0x05, 0xA2, 0x0A, 0xA5, 0x12, +- 0x31, 0x23, 0x37, 0x83, 0x04, 0xBC, 0x27, 0x38, +- 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, +- 0x03, 0x00, 0x00, 0x00, 0x75, 0x75, 0x31, 0x88, +- 0x88, 0x88, 0x88, 0x88, 0x88, 0x13, 0x88, 0x64, +- 0x64, 0x20, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, +- 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, +- 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +- 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x02, 0x88, +- 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x88, 0x13, +- 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, +- 0x75, 0x88, 0x23, 0x14, 0x00, 0x00, 0x02, 0x00, +- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0A, +- 0xA5, 0x00, 0x00, 0x00, 0x00); +- dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, +- 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, 0x35, +- 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, 0x12, +- 0x18, 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, +- 0x35, 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, +- 0x12, 0x18); +- msleep(20); +- +- ret = mipi_dsi_dcs_exit_sleep_mode(dsi); +- if (ret < 0) { +- DRM_DEV_ERROR(dev, "Failed to exit sleep mode\n"); +- return ret; +- } +- msleep(250); +- +- ret = mipi_dsi_dcs_set_display_on(dsi); +- if (ret) +- return ret; +- msleep(50); +- +- DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); +- return 0; +-} +- +-static int xbd599_prepare(struct drm_panel *panel) +-{ +- struct xbd599 *ctx = panel_to_xbd599(panel); +- int ret; +- +- if (ctx->prepared) +- return 0; +- +- ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); +- if (ret) +- return ret; +- +- DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n"); +- gpiod_set_value_cansleep(ctx->reset_gpio, 1); +- usleep_range(20, 40); +- gpiod_set_value_cansleep(ctx->reset_gpio, 0); +- msleep(20); +- +- ctx->prepared = true; +- +- return 0; +-} +- +-static int xbd599_enable(struct drm_panel *panel) +-{ +- struct xbd599 *ctx = panel_to_xbd599(panel); +- int ret; +- +- ret = xbd599_init_sequence(ctx); +- if (ret < 0) { +- DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n", +- ret); +- return ret; +- } +- +- return 0; +-} +- +-static int xbd599_disable(struct drm_panel *panel) +-{ +- struct xbd599 *ctx = panel_to_xbd599(panel); +- struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); +- +- return mipi_dsi_dcs_set_display_off(dsi); +-} +- +-static int xbd599_unprepare(struct drm_panel *panel) +-{ +- struct xbd599 *ctx = panel_to_xbd599(panel); +- +- if (!ctx->prepared) +- return 0; +- +- gpiod_set_value_cansleep(ctx->reset_gpio, 1); +- regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); +- ctx->prepared = false; +- +- return 0; +-} +- +-static const struct drm_display_mode xbd599_default_mode = { +- .hdisplay = 720, +- .hsync_start = 720 + 40, +- .hsync_end = 720 + 40 + 40, +- .htotal = 720 + 40 + 40 + 40, +- .vdisplay = 1440, +- .vsync_start = 1440 + 18, +- .vsync_end = 1440 + 18 + 10, +- .vtotal = 1440 + 18 + 10 + 17, +- .vrefresh = 60, +- .clock = 69000, +- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, +- +- .width_mm = 68, +- .height_mm = 136, +- .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, +-}; +- +-static int xbd599_get_modes(struct drm_panel *panel, +- struct drm_connector *connector) +-{ +- struct xbd599 *ctx = panel_to_xbd599(panel); +- struct drm_display_mode *mode; +- +- mode = drm_mode_duplicate(connector->dev, &xbd599_default_mode); +- if (!mode) { +- DRM_DEV_ERROR(ctx->dev, "Failed to add mode\n"); +- return -ENOMEM; +- } +- +- drm_mode_set_name(mode); +- +- mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; +- connector->display_info.width_mm = mode->width_mm; +- connector->display_info.height_mm = mode->height_mm; +- drm_mode_probed_add(connector, mode); +- +- return 1; +-} +- +-static const struct drm_panel_funcs xbd599_drm_funcs = { +- .prepare = xbd599_prepare, +- .enable = xbd599_enable, +- .disable = xbd599_disable, +- .unprepare = xbd599_unprepare, +- .get_modes = xbd599_get_modes, +-}; +- +-static int xbd599_probe(struct mipi_dsi_device *dsi) +-{ +- struct device *dev = &dsi->dev; +- struct xbd599 *ctx; +- int i, ret; +- +- ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); +- if (!ctx) +- return -ENOMEM; +- +- for (i = 0; i < ARRAY_SIZE(ctx->supplies); i++) +- ctx->supplies[i].supply = regulator_names[i]; +- +- ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies), +- ctx->supplies); +- if (ret < 0) { +- DRM_DEV_ERROR(&dsi->dev, "cannot get regulators\n"); +- return ret; +- } +- +- ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); +- if (IS_ERR(ctx->reset_gpio)) { +- DRM_DEV_ERROR(dev, "cannot get reset gpio\n"); +- return PTR_ERR(ctx->reset_gpio); +- } +- +- mipi_dsi_set_drvdata(dsi, ctx); +- +- ctx->dev = dev; +- +- dsi->lanes = 4; +- dsi->format = MIPI_DSI_FMT_RGB888; +- dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; +- +- drm_panel_init(&ctx->panel, &dsi->dev, &xbd599_drm_funcs, +- DRM_MODE_CONNECTOR_DSI); +- +- ret = drm_panel_of_backlight(&ctx->panel); +- if (ret) +- return ret; +- +- drm_panel_add(&ctx->panel); +- +- ret = mipi_dsi_attach(dsi); +- if (ret < 0) { +- DRM_DEV_ERROR(dev, "mipi_dsi_attach failed. Is host ready?\n"); +- drm_panel_remove(&ctx->panel); +- return ret; +- } +- +- DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", +- xbd599_default_mode.hdisplay, +- xbd599_default_mode.vdisplay, +- xbd599_default_mode.vrefresh, +- mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); +- +- return 0; +-} +- +-static void xbd599_shutdown(struct mipi_dsi_device *dsi) +-{ +- struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); +- int ret; +- +- ret = drm_panel_unprepare(&ctx->panel); +- if (ret < 0) +- DRM_DEV_ERROR(&dsi->dev, "Failed to unprepare panel: %d\n", +- ret); +-} +- +-static int xbd599_remove(struct mipi_dsi_device *dsi) +-{ +- struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); +- int ret; +- +- xbd599_shutdown(dsi); +- +- ret = mipi_dsi_detach(dsi); +- if (ret < 0) +- DRM_DEV_ERROR(&dsi->dev, "Failed to detach from DSI host: %d\n", +- ret); +- +- drm_panel_remove(&ctx->panel); +- +- return 0; +-} +- +-static const struct of_device_id xbd599_of_match[] = { +- { .compatible = "xingbangda,xbd599", }, +- { /* sentinel */ } +-}; +-MODULE_DEVICE_TABLE(of, xbd599_of_match); +- +-static struct mipi_dsi_driver xbd599_driver = { +- .probe = xbd599_probe, +- .remove = xbd599_remove, +- .shutdown = xbd599_shutdown, +- .driver = { +- .name = "panel-xingbangda-xbd599", +- .of_match_table = xbd599_of_match, +- }, +-}; +-module_mipi_dsi_driver(xbd599_driver); +- +-MODULE_AUTHOR("Icenowy Zheng "); +-MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel"); +-MODULE_LICENSE("GPL v2"); +-- +2.26.2 + diff --git a/0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch b/0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch new file mode 100644 index 000000000..c290e7ab7 --- /dev/null +++ b/0001-Revert-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timin.patch @@ -0,0 +1,56 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 12 Jul 2020 13:42:04 +0100 +Subject: [PATCH] Revert "drm/sun4i: sun6i_mipi_dsi: fix horizontal timing + calculation" + +This reverts commit d20a2ac9c6ecf514e115f06b6744b584bbc7c1b8. +--- + drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +index 52e009dc632b..aa67cb037e9d 100644 +--- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c ++++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +@@ -556,7 +556,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HSA_PACKET_OVERHEAD 10 + hsa = max((unsigned int)HSA_PACKET_OVERHEAD, +- (mode->hsync_end - mode->hsync_start) * Bpp) - HSA_PACKET_OVERHEAD; ++ (mode->hsync_end - mode->hsync_start) * Bpp - HSA_PACKET_OVERHEAD); + + /* + * The backporch is set using a blanking packet (4 +@@ -565,7 +565,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HBP_PACKET_OVERHEAD 6 + hbp = max((unsigned int)HBP_PACKET_OVERHEAD, +- (mode->htotal - mode->hsync_end) * Bpp) - HBP_PACKET_OVERHEAD; ++ (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD); + + /* + * The frontporch is set using a sync event (4 bytes) +@@ -575,7 +575,7 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HFP_PACKET_OVERHEAD 16 + hfp = max((unsigned int)HFP_PACKET_OVERHEAD, +- (mode->hsync_start - mode->hdisplay) * Bpp) - HFP_PACKET_OVERHEAD; ++ (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD); + + /* + * The blanking is set using a sync event (4 bytes) +@@ -584,8 +584,8 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi, + */ + #define HBLK_PACKET_OVERHEAD 10 + hblk = max((unsigned int)HBLK_PACKET_OVERHEAD, +- (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp) - +- HBLK_PACKET_OVERHEAD; ++ (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp - ++ HBLK_PACKET_OVERHEAD); + + /* + * And I'm not entirely sure what vblk is about. The driver in +-- +2.26.2 + diff --git a/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch b/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch new file mode 100644 index 000000000..990e624d3 --- /dev/null +++ b/0001-Revert-dt-bindings-panel-add-binding-for-Xingbangda-.patch @@ -0,0 +1,71 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 12 Jul 2020 13:41:49 +0100 +Subject: [PATCH] Revert "dt-bindings: panel: add binding for Xingbangda XBD599 + panel" + +This reverts commit 8a717270db2000ff734d89e9448b32fbc038c49a. +--- + .../display/panel/xingbangda,xbd599.yaml | 50 ------------------- + 1 file changed, 50 deletions(-) + delete mode 100644 Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml + +diff --git a/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml b/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml +deleted file mode 100644 +index b27bcf11198f..000000000000 +--- a/Documentation/devicetree/bindings/display/panel/xingbangda,xbd599.yaml ++++ /dev/null +@@ -1,50 +0,0 @@ +-# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +-%YAML 1.2 +---- +-$id: http://devicetree.org/schemas/display/panel/xingbangda,xbd599.yaml# +-$schema: http://devicetree.org/meta-schemas/core.yaml# +- +-title: Xingbangda XBD599 5.99in MIPI-DSI LCD panel +- +-maintainers: +- - Icenowy Zheng +- +-allOf: +- - $ref: panel-common.yaml# +- +-properties: +- compatible: +- const: xingbangda,xbd599 +- reg: true +- backlight: true +- reset-gpios: true +- vcc-supply: +- description: regulator that supplies the VCC voltage +- iovcc-supply: +- description: regulator that supplies the IOVCC voltage +- +-required: +- - compatible +- - reg +- - backlight +- - vcc-supply +- - iovcc-supply +- +-additionalProperties: false +- +-examples: +- - | +- dsi { +- #address-cells = <1>; +- #size-cells = <0>; +- +- panel@0 { +- compatible = "xingbangda,xbd599"; +- reg = <0>; +- backlight = <&backlight>; +- iovcc-supply = <®_dldo2>; +- vcc-supply = <®_ldo_io0>; +- }; +- }; +- +-... +-- +2.26.2 + diff --git a/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch deleted file mode 100644 index 7f13ec1f5..000000000 --- a/0001-USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Nicolas Saenz Julienne -Date: Tue, 10 Mar 2020 13:52:42 +0100 -Subject: [PATCH] USB: pci-quirks: Add Raspberry Pi 4 quirk - -On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be -loaded directly from an EEPROM or, if not present, by the SoC's -VideCore. Inform VideCore that VL805 was just reset. - -Also, as this creates a dependency between XHCI_PCI and VideoCore's -firmware interface, reflect that on the firmware interface Kconfg. - -Signed-off-by: Nicolas Saenz Julienne ---- - drivers/firmware/Kconfig | 1 + - drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++ - 2 files changed, 17 insertions(+) - -diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig -index 8007d4aa76dc..7ca346d3d337 100644 ---- a/drivers/firmware/Kconfig -+++ b/drivers/firmware/Kconfig -@@ -180,6 +180,7 @@ config ISCSI_IBFT - config RASPBERRYPI_FIRMWARE - tristate "Raspberry Pi Firmware Driver" - depends on BCM2835_MBOX -+ default XHCI_PCI - help - This option enables support for communicating with the firmware on the - Raspberry Pi. -diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c -index beb2efa71341..0dc34668bb2a 100644 ---- a/drivers/usb/host/pci-quirks.c -+++ b/drivers/usb/host/pci-quirks.c -@@ -16,6 +16,9 @@ - #include - #include - #include -+ -+#include -+ - #include "pci-quirks.h" - #include "xhci-ext-caps.h" - -@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev) - - static void quirk_usb_early_handoff(struct pci_dev *pdev) - { -+ int ret; -+ - /* Skip Netlogic mips SoC's internal PCI USB controller. - * This device does not need/support EHCI/OHCI handoff - */ - if (pdev->vendor == 0x184e) /* vendor Netlogic */ - return; -+ -+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) { -+ ret = rpi_firmware_init_vl805(pdev); -+ if (ret) { -+ /* Firmware might be outdated, or something failed */ -+ dev_warn(&pdev->dev, -+ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n", -+ ret); -+ } -+ } -+ - if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI && - pdev->class != PCI_CLASS_SERIAL_USB_OHCI && - pdev->class != PCI_CLASS_SERIAL_USB_EHCI && --- -2.26.2 - diff --git a/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch b/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch index 828ed5d9a..6352ff73a 100644 --- a/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch +++ b/0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch @@ -36,10 +36,10 @@ Signed-off-by: Herton R. Krzesinski 1 file changed, 24 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index ca9ed5774eb1..bd0cee4236b0 100644 +index 2ea61abd5830..abb314891f5b 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -4183,6 +4183,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, +@@ -4196,6 +4196,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000, DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084, quirk_bridge_cavm_thrx2_pcie_root); diff --git a/0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch b/0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch new file mode 100644 index 000000000..93b1e9be0 --- /dev/null +++ b/0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch @@ -0,0 +1,29 @@ +From 90750a5b1205a7dcc002224738585b861779cdae Mon Sep 17 00:00:00 2001 +From: "Justin M. Forbes" +Date: Thu, 30 Jul 2020 10:26:11 -0500 +Subject: [PATCH] Work around for gcc bug + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96377 + +Signed-off-by: Justin M. Forbes +--- + crypto/aegis128-neon-inner.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/crypto/aegis128-neon-inner.c b/crypto/aegis128-neon-inner.c +index 2a660ac1bc3a..fa87ff6a2a71 100644 +--- a/crypto/aegis128-neon-inner.c ++++ b/crypto/aegis128-neon-inner.c +@@ -148,8 +148,8 @@ void crypto_aegis128_init_neon(void *state, const void *key, const void *iv) + kiv, + vld1q_u8(const1), + vld1q_u8(const0), +- k ^ vld1q_u8(const0), +- k ^ vld1q_u8(const1), ++ (uint8x16_t) (k ^ vld1q_u8(const0)), ++ (uint8x16_t) (k ^ vld1q_u8(const1)), + }}; + int i; + +-- +2.26.2 + diff --git a/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch b/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch index 86cbf5dad..eea0deea2 100644 --- a/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch +++ b/0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch @@ -28,10 +28,10 @@ Signed-off-by: Herton R. Krzesinski 1 file changed, 9 insertions(+) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c -index 6d3448895382..221255007dc8 100644 +index 8777faced51a..2e60d792005f 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c -@@ -1563,6 +1563,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) +@@ -1572,6 +1572,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device) if (!acpi_match_device_ids(device, i2c_multi_instantiate_ids)) return false; diff --git a/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch b/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch deleted file mode 100644 index e188b5a2d..000000000 --- a/0001-acpi-prefer-booting-with-ACPI-over-DTS.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mark Salter -Date: Fri, 11 May 2018 21:01:17 -0400 -Subject: [PATCH] acpi: prefer booting with ACPI over DTS - -Message-id: <20180511210117.10457-1-msalter@redhat.com> -Patchwork-id: 214708 -O-Subject: [RHEL-8 BZ1576869] [RHEL only] acpi: prefer booting with ACPI over DTS -Bugzilla: 1576869 -RH-Acked-by: Jonathan Toppins -RH-Acked-by: Tony Camuso -RH-Acked-by: Bhupesh Sharma -RH-Acked-by: Dean Nelson - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1576869 -Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16208479 -Testing: Verified kernel defaults to ACPI on Mustang - -From: Jonathan Toppins - - This patch forces ACPI boot tables to be preferred over DTS. - - Currently for ACPI to be used a user either has to set acpi=on on the - kernel command line or make sure any device tree passed to the kernel - is empty. If the dtb passed to the kernel is non-empty then device-tree - will be chosen as the boot method of choice. - - RHEL does not wish to support this boot method so change table boot - preferences to use ACPI. In the event ACPI table checks fail the kernel - will fallback to using DTS to boot. - - Signed-off-by: Jonathan Toppins - -Upstream Status: RHEL only -Signed-off-by: Mark Salter -Signed-off-by: Herton R. Krzesinski ---- - arch/arm64/kernel/acpi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c -index a100483b47c4..29f693734edb 100644 ---- a/arch/arm64/kernel/acpi.c -+++ b/arch/arm64/kernel/acpi.c -@@ -39,7 +39,7 @@ int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ initialization */ - EXPORT_SYMBOL(acpi_pci_disabled); - - static bool param_acpi_off __initdata; --static bool param_acpi_on __initdata; -+static bool param_acpi_on __initdata = true; - static bool param_acpi_force __initdata; - - static int __init parse_acpi(char *arg) --- -2.26.2 - diff --git a/0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch b/0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch deleted file mode 100644 index 9470c4608..000000000 --- a/0001-acr-Use-kmemdup-instead-of-kmalloc-and-memcpy.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Zou Wei -Date: Tue, 21 Apr 2020 20:37:31 +0800 -Subject: [PATCH] acr: Use kmemdup instead of kmalloc and memcpy - -Fixes coccicheck warning: - -drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:103:23-30: WARNING opportunity for kmemdup -drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:113:22-29: WARNING opportunity for kmemdup - -Fixes: 22dcda45a3d1 ("drivers/gpu/drm/nouveau/acr: implement new subdev to replace "secure boot"") -Reported-by: Hulk Robot -Signed-off-by: Zou Wei -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c -index aecce2dac558..667fa016496e 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c -+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c -@@ -100,25 +100,21 @@ nvkm_acr_hsfw_load_image(struct nvkm_acr *acr, const char *name, int ver, - hsfw->data_size = lhdr->data_size; - - hsfw->sig.prod.size = fwhdr->sig_prod_size; -- hsfw->sig.prod.data = kmalloc(hsfw->sig.prod.size, GFP_KERNEL); -+ hsfw->sig.prod.data = kmemdup(fw->data + fwhdr->sig_prod_offset + sig, -+ hsfw->sig.prod.size, GFP_KERNEL); - if (!hsfw->sig.prod.data) { - ret = -ENOMEM; - goto done; - } - -- memcpy(hsfw->sig.prod.data, fw->data + fwhdr->sig_prod_offset + sig, -- hsfw->sig.prod.size); -- - hsfw->sig.dbg.size = fwhdr->sig_dbg_size; -- hsfw->sig.dbg.data = kmalloc(hsfw->sig.dbg.size, GFP_KERNEL); -+ hsfw->sig.dbg.data = kmemdup(fw->data + fwhdr->sig_dbg_offset + sig, -+ hsfw->sig.dbg.size, GFP_KERNEL); - if (!hsfw->sig.dbg.data) { - ret = -ENOMEM; - goto done; - } - -- memcpy(hsfw->sig.dbg.data, fw->data + fwhdr->sig_dbg_offset + sig, -- hsfw->sig.dbg.size); -- - hsfw->sig.patch_loc = loc; - done: - nvkm_firmware_put(fw); --- -2.26.2 - diff --git a/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch b/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch index 286c898cb..89eea8f8b 100644 --- a/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch +++ b/0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch @@ -21,10 +21,10 @@ Signed-off-by: Jeremy Cline 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig -index 5d513f461957..7f37a6d0658a 100644 +index 66dc41fd49f2..2e0700a451e5 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig -@@ -858,7 +858,7 @@ endchoice +@@ -861,7 +861,7 @@ endchoice config ARM64_FORCE_52BIT bool "Force 52-bit virtual addresses for userspace" diff --git a/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch b/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch index 040f33cb1..498ffaf18 100644 --- a/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch +++ b/0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch @@ -11,10 +11,10 @@ Signed-off-by: Jon Masters 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index c77c93c485a0..f808c4e0727f 100644 +index 2ac74904a3ce..f0094424f76a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -1543,9 +1543,9 @@ config HIGHMEM +@@ -1549,9 +1549,9 @@ config HIGHMEM If unsure, say n. config HIGHPTE diff --git a/0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch b/0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch new file mode 100644 index 000000000..e3b07c2bb --- /dev/null +++ b/0001-arm64-allwinner-dts-a64-add-LCD-related-device-nodes.patch @@ -0,0 +1,81 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Mon, 16 Mar 2020 21:35:03 +0800 +Subject: [PATCH] arm64: allwinner: dts: a64: add LCD-related device nodes for + PinePhone + +PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for +display. + +Add its device nodes. + +Signed-off-by: Icenowy Zheng +--- + .../dts/allwinner/sun50i-a64-pinephone.dtsi | 37 +++++++++++++++++++ + 1 file changed, 37 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +index cefda145c3c9..96d9150423e0 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +@@ -16,6 +16,15 @@ aliases { + serial0 = &uart0; + }; + ++ backlight: backlight { ++ compatible = "pwm-backlight"; ++ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; ++ brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>; ++ default-brightness-level = <15>; ++ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ ++ power-supply = <®_ldo_io0>; ++ }; ++ + chosen { + stdout-path = "serial0:115200n8"; + }; +@@ -84,6 +93,30 @@ &dai { + status = "okay"; + }; + ++&de { ++ status = "okay"; ++}; ++ ++&dphy { ++ status = "okay"; ++}; ++ ++&dsi { ++ vcc-dsi-supply = <®_dldo1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ panel@0 { ++ compatible = "xingbangda,xbd599"; ++ reg = <0>; ++ reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ ++ iovcc-supply = <®_dldo2>; ++ vcc-supply = <®_ldo_io0>; ++ backlight = <&backlight>; ++ }; ++}; ++ + &ehci0 { + status = "okay"; + }; +@@ -188,6 +221,10 @@ &r_pio { + */ + }; + ++&r_pwm { ++ status = "okay"; ++}; ++ + &r_rsb { + status = "okay"; + +-- +2.26.2 + diff --git a/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch b/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch new file mode 100644 index 000000000..d2511ae64 --- /dev/null +++ b/0001-arm64-dts-sun50i-a64-pinephone-Add-touchscreen-suppo.patch @@ -0,0 +1,46 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman +Date: Fri, 26 Jun 2020 02:56:01 +0200 +Subject: [PATCH] arm64: dts: sun50i-a64-pinephone: Add touchscreen support + +Pinephone has a Goodix GT917S capacitive touchscreen controller on +I2C0 bus. Add support for it. + +Signed-off-by: Ondrej Jirman +--- + .../dts/allwinner/sun50i-a64-pinephone.dtsi | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +index 85a7aa5efd32..2d5694446d17 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +@@ -123,6 +123,25 @@ &ehci1 { + status = "okay"; + }; + ++&i2c0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2c0_pins>; ++ status = "okay"; ++ ++ touchscreen@5d { ++ compatible = "goodix,gt917s", "goodix,gt911"; ++ reg = <0x5d>; ++ interrupt-parent = <&pio>; ++ interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */ ++ irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ ++ reset-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ ++ AVDD28-supply = <®_ldo_io0>; ++ VDDIO-supply = <®_ldo_io0>; ++ touchscreen-size-x = <720>; ++ touchscreen-size-y = <1440>; ++ }; ++}; ++ + &i2c1 { + status = "okay"; + +-- +2.26.2 + diff --git a/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch b/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch new file mode 100644 index 000000000..a38cd7250 --- /dev/null +++ b/0001-arm64-dts-sun50i-a64-pinephone-Enable-LCD-support-on.patch @@ -0,0 +1,112 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 26 Jun 2020 02:56:00 +0200 +Subject: [PATCH] arm64: dts: sun50i-a64-pinephone: Enable LCD support on + PinePhone + +PinePhone uses PWM backlight and a XBD599 LCD panel over DSI for +display. + +Backlight levels curve was optimized by Martijn Braam using a +lux meter. + +Add its device nodes. + +Signed-off-by: Icenowy Zheng +Signed-off-by: Martijn Braam +Signed-off-by: Ondrej Jirman +--- + .../allwinner/sun50i-a64-pinephone-1.1.dts | 19 ++++++++++ + .../dts/allwinner/sun50i-a64-pinephone.dtsi | 35 +++++++++++++++++++ + 2 files changed, 54 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts +index 06a775c41664..3e99a87e9ce5 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts +@@ -9,3 +9,22 @@ / { + model = "Pine64 PinePhone Braveheart (1.1)"; + compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64"; + }; ++ ++&backlight { ++ power-supply = <®_ldo_io0>; ++ /* ++ * PWM backlight circuit on this PinePhone revision was changed since ++ * 1.0, and the lowest PWM duty cycle that doesn't lead to backlight ++ * being off is around 20%. Duty cycle for the lowest brightness level ++ * also varries quite a bit between individual boards, so the lowest ++ * value here was chosen as a safe default. ++ */ ++ brightness-levels = < ++ 774 793 814 842 ++ 882 935 1003 1088 ++ 1192 1316 1462 1633 ++ 1830 2054 2309 2596 ++ 2916 3271 3664 4096>; ++ num-interpolated-steps = <50>; ++ default-brightness-level = <400>; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +index cefda145c3c9..85a7aa5efd32 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi +@@ -16,6 +16,13 @@ aliases { + serial0 = &uart0; + }; + ++ backlight: backlight { ++ compatible = "pwm-backlight"; ++ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>; ++ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ ++ /* Backlight configuration differs per PinePhone revision. */ ++ }; ++ + chosen { + stdout-path = "serial0:115200n8"; + }; +@@ -84,6 +91,30 @@ &dai { + status = "okay"; + }; + ++&de { ++ status = "okay"; ++}; ++ ++&dphy { ++ status = "okay"; ++}; ++ ++&dsi { ++ vcc-dsi-supply = <®_dldo1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ panel@0 { ++ compatible = "xingbangda,xbd599"; ++ reg = <0>; ++ reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */ ++ iovcc-supply = <®_dldo2>; ++ vcc-supply = <®_ldo_io0>; ++ backlight = <&backlight>; ++ }; ++}; ++ + &ehci0 { + status = "okay"; + }; +@@ -188,6 +219,10 @@ &r_pio { + */ + }; + ++&r_pwm { ++ status = "okay"; ++}; ++ + &r_rsb { + status = "okay"; + +-- +2.26.2 + diff --git a/0001-core-memory-remove-redundant-assignments-to-variable.patch b/0001-core-memory-remove-redundant-assignments-to-variable.patch deleted file mode 100644 index d490d68d2..000000000 --- a/0001-core-memory-remove-redundant-assignments-to-variable.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Colin Ian King -Date: Sat, 29 Feb 2020 00:53:07 +0000 -Subject: [PATCH] core/memory: remove redundant assignments to variable ret - -The variable ret is being initialized with a value that is never -read and it is being updated later with a new value. The initialization -is redundant and can be removed. - -Addresses-Coverity: ("Unused value") -Signed-off-by: Colin Ian King -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/nvkm/core/memory.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/core/memory.c b/drivers/gpu/drm/nouveau/nvkm/core/memory.c -index 4cc186262d34..38130ef272d6 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/core/memory.c -+++ b/drivers/gpu/drm/nouveau/nvkm/core/memory.c -@@ -140,7 +140,7 @@ nvkm_memory_new(struct nvkm_device *device, enum nvkm_memory_target target, - { - struct nvkm_instmem *imem = device->imem; - struct nvkm_memory *memory; -- int ret = -ENOSYS; -+ int ret; - - if (unlikely(target != NVKM_MEM_TARGET_INST || !imem)) - return -ENOSYS; --- -2.26.2 - diff --git a/0001-device-detect-if-changing-endianness-failed.patch b/0001-device-detect-if-changing-endianness-failed.patch deleted file mode 100644 index 1089b7e87..000000000 --- a/0001-device-detect-if-changing-endianness-failed.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Karol Herbst -Date: Tue, 28 Apr 2020 18:54:03 +0200 -Subject: [PATCH] device: detect if changing endianness failed - -v2: relax the checks a little - -Signed-off-by: Karol Herbst -Signed-off-by: Ben Skeggs ---- - .../gpu/drm/nouveau/nvkm/engine/device/base.c | 26 +++++++++++++++---- - 1 file changed, 21 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index 37589f36546d..c732074bf790 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2924,6 +2924,20 @@ nvkm_device_del(struct nvkm_device **pdevice) - } - } - -+static inline bool -+nvkm_device_endianness(void __iomem *pri) -+{ -+ u32 boot1 = ioread32_native(pri + 0x000004) & 0x01000001; -+#ifdef __BIG_ENDIAN -+ if (!boot1) -+ return false; -+#else -+ if (boot1) -+ return false; -+#endif -+ return true; -+} -+ - int - nvkm_device_ctor(const struct nvkm_device_func *func, - const struct nvkm_device_quirk *quirk, -@@ -2973,13 +2987,15 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - /* identify the chipset, and determine classes of subdev/engines */ - if (detect) { - /* switch mmio to cpu's native endianness */ --#ifndef __BIG_ENDIAN -- if (ioread32_native(map + 0x000004) != 0x00000000) { --#else -- if (ioread32_native(map + 0x000004) == 0x00000000) { --#endif -+ if (!nvkm_device_endianness(map)) { - iowrite32_native(0x01000001, map + 0x000004); - ioread32_native(map); -+ if (!nvkm_device_endianness(map)) { -+ nvdev_error(device, -+ "GPU not supported on big-endian\n"); -+ ret = -ENOSYS; -+ goto done; -+ } - } - - /* read boot0 and strapping information */ --- -2.26.2 - diff --git a/0001-device-detect-vGPUs.patch b/0001-device-detect-vGPUs.patch deleted file mode 100644 index 08f591ff7..000000000 --- a/0001-device-detect-vGPUs.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Karol Herbst -Date: Tue, 28 Apr 2020 18:54:04 +0200 -Subject: [PATCH] device: detect vGPUs - -Using ENODEV as this prevents probe failed errors in dmesg. - -v2: move check further down - -Signed-off-by: Karol Herbst -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index c732074bf790..f977dddcd809 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2948,7 +2948,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - { - struct nvkm_subdev *subdev; - u64 mmio_base, mmio_size; -- u32 boot0, strap; -+ u32 boot0, boot1, strap; - void __iomem *map = NULL; - int ret = -EEXIST, i; - unsigned chipset; -@@ -2998,9 +2998,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - } - } - -- /* read boot0 and strapping information */ - boot0 = ioread32_native(map + 0x000000); -- strap = ioread32_native(map + 0x101000); - - /* chipset can be overridden for devel/testing purposes */ - chipset = nvkm_longopt(device->cfgopt, "NvChipset", 0); -@@ -3158,6 +3156,17 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - nvdev_info(device, "NVIDIA %s (%08x)\n", - device->chip->name, boot0); - -+ /* vGPU detection */ -+ boot1 = ioread32_native(map + 0x000004); -+ if (device->card_type >= TU100 && (boot1 & 0x00030000)) { -+ nvdev_info(device, "vGPUs are not supported\n"); -+ ret = -ENODEV; -+ goto done; -+ } -+ -+ /* read strapping information */ -+ strap = ioread32_native(map + 0x101000); -+ - /* determine frequency of timing crystal */ - if ( device->card_type <= NV_10 || device->chipset < 0x17 || - (device->chipset >= 0x20 && device->chipset < 0x25)) --- -2.26.2 - diff --git a/0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch b/0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch deleted file mode 100644 index bde820ba5..000000000 --- a/0001-device-rework-mmio-mapping-code-to-get-rid-of-second.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Karol Herbst -Date: Tue, 28 Apr 2020 18:54:02 +0200 -Subject: [PATCH] device: rework mmio mapping code to get rid of second map - -Fixes warnings on GPUs with smaller a smaller mmio region like vGPUs. - -Signed-off-by: Karol Herbst -Signed-off-by: Ben Skeggs ---- - .../gpu/drm/nouveau/nvkm/engine/device/base.c | 27 ++++++++++--------- - 1 file changed, 15 insertions(+), 12 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index 8ebbe1656008..37589f36546d 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2935,7 +2935,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - struct nvkm_subdev *subdev; - u64 mmio_base, mmio_size; - u32 boot0, strap; -- void __iomem *map; -+ void __iomem *map = NULL; - int ret = -EEXIST, i; - unsigned chipset; - -@@ -2961,12 +2961,17 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - mmio_base = device->func->resource_addr(device, 0); - mmio_size = device->func->resource_size(device, 0); - -- /* identify the chipset, and determine classes of subdev/engines */ -- if (detect) { -- map = ioremap(mmio_base, 0x102000); -- if (ret = -ENOMEM, map == NULL) -+ if (detect || mmio) { -+ map = ioremap(mmio_base, mmio_size); -+ if (map == NULL) { -+ nvdev_error(device, "unable to map PRI\n"); -+ ret = -ENOMEM; - goto done; -+ } -+ } - -+ /* identify the chipset, and determine classes of subdev/engines */ -+ if (detect) { - /* switch mmio to cpu's native endianness */ - #ifndef __BIG_ENDIAN - if (ioread32_native(map + 0x000004) != 0x00000000) { -@@ -2980,7 +2985,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - /* read boot0 and strapping information */ - boot0 = ioread32_native(map + 0x000000); - strap = ioread32_native(map + 0x101000); -- iounmap(map); - - /* chipset can be overridden for devel/testing purposes */ - chipset = nvkm_longopt(device->cfgopt, "NvChipset", 0); -@@ -3159,12 +3163,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - device->name = device->chip->name; - - if (mmio) { -- device->pri = ioremap(mmio_base, mmio_size); -- if (!device->pri) { -- nvdev_error(device, "unable to map PRI\n"); -- ret = -ENOMEM; -- goto done; -- } -+ device->pri = map; - } - - mutex_init(&device->mutex); -@@ -3254,6 +3253,10 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - - ret = 0; - done: -+ if (map && (!mmio || ret)) { -+ device->pri = NULL; -+ iounmap(map); -+ } - mutex_unlock(&nv_devices_mutex); - return ret; - } --- -2.26.2 - diff --git a/0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch b/0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch deleted file mode 100644 index ec4345169..000000000 --- a/0001-device-use-regular-PRI-accessors-in-chipset-detectio.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Thu, 30 Apr 2020 14:08:53 +1000 -Subject: [PATCH] device: use regular PRI accessors in chipset detection - -Signed-off-by: Ben Skeggs ---- - .../gpu/drm/nouveau/nvkm/engine/device/base.c | 31 ++++++++----------- - 1 file changed, 13 insertions(+), 18 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -index f977dddcd809..5b90c2a1bf3d 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c -@@ -2925,9 +2925,9 @@ nvkm_device_del(struct nvkm_device **pdevice) - } - - static inline bool --nvkm_device_endianness(void __iomem *pri) -+nvkm_device_endianness(struct nvkm_device *device) - { -- u32 boot1 = ioread32_native(pri + 0x000004) & 0x01000001; -+ u32 boot1 = nvkm_rd32(device, 0x000004) & 0x01000001; - #ifdef __BIG_ENDIAN - if (!boot1) - return false; -@@ -2949,7 +2949,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - struct nvkm_subdev *subdev; - u64 mmio_base, mmio_size; - u32 boot0, boot1, strap; -- void __iomem *map = NULL; - int ret = -EEXIST, i; - unsigned chipset; - -@@ -2976,8 +2975,8 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - mmio_size = device->func->resource_size(device, 0); - - if (detect || mmio) { -- map = ioremap(mmio_base, mmio_size); -- if (map == NULL) { -+ device->pri = ioremap(mmio_base, mmio_size); -+ if (device->pri == NULL) { - nvdev_error(device, "unable to map PRI\n"); - ret = -ENOMEM; - goto done; -@@ -2987,10 +2986,10 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - /* identify the chipset, and determine classes of subdev/engines */ - if (detect) { - /* switch mmio to cpu's native endianness */ -- if (!nvkm_device_endianness(map)) { -- iowrite32_native(0x01000001, map + 0x000004); -- ioread32_native(map); -- if (!nvkm_device_endianness(map)) { -+ if (!nvkm_device_endianness(device)) { -+ nvkm_wr32(device, 0x000004, 0x01000001); -+ nvkm_rd32(device, 0x000000); -+ if (!nvkm_device_endianness(device)) { - nvdev_error(device, - "GPU not supported on big-endian\n"); - ret = -ENOSYS; -@@ -2998,7 +2997,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - } - } - -- boot0 = ioread32_native(map + 0x000000); -+ boot0 = nvkm_rd32(device, 0x000000); - - /* chipset can be overridden for devel/testing purposes */ - chipset = nvkm_longopt(device->cfgopt, "NvChipset", 0); -@@ -3157,7 +3156,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - device->chip->name, boot0); - - /* vGPU detection */ -- boot1 = ioread32_native(map + 0x000004); -+ boot1 = nvkm_rd32(device, 0x0000004); - if (device->card_type >= TU100 && (boot1 & 0x00030000)) { - nvdev_info(device, "vGPUs are not supported\n"); - ret = -ENODEV; -@@ -3165,7 +3164,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - } - - /* read strapping information */ -- strap = ioread32_native(map + 0x101000); -+ strap = nvkm_rd32(device, 0x101000); - - /* determine frequency of timing crystal */ - if ( device->card_type <= NV_10 || device->chipset < 0x17 || -@@ -3187,10 +3186,6 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - if (!device->name) - device->name = device->chip->name; - -- if (mmio) { -- device->pri = map; -- } -- - mutex_init(&device->mutex); - - for (i = 0; i < NVKM_SUBDEV_NR; i++) { -@@ -3278,9 +3273,9 @@ nvkm_device_ctor(const struct nvkm_device_func *func, - - ret = 0; - done: -- if (map && (!mmio || ret)) { -+ if (device->pri && (!mmio || ret)) { -+ iounmap(device->pri); - device->pri = NULL; -- iounmap(map); - } - mutex_unlock(&nv_devices_mutex); - return ret; --- -2.26.2 - diff --git a/0001-disp-gv100-expose-capabilities-class.patch b/0001-disp-gv100-expose-capabilities-class.patch deleted file mode 100644 index 60293792f..000000000 --- a/0001-disp-gv100-expose-capabilities-class.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Thu, 13 Feb 2020 09:39:34 +1000 -Subject: [PATCH] disp/gv100-: expose capabilities class - -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/include/nvif/class.h | 2 + - .../gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 2 + - .../drm/nouveau/nvkm/engine/disp/capsgv100.c | 60 +++++++++++++++++++ - .../drm/nouveau/nvkm/engine/disp/rootgv100.c | 1 + - .../drm/nouveau/nvkm/engine/disp/rootnv50.h | 3 + - .../drm/nouveau/nvkm/engine/disp/roottu102.c | 1 + - 6 files changed, 69 insertions(+) - create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c - -diff --git a/drivers/gpu/drm/nouveau/include/nvif/class.h b/drivers/gpu/drm/nouveau/include/nvif/class.h -index 30659747ffe8..2c79beb41126 100644 ---- a/drivers/gpu/drm/nouveau/include/nvif/class.h -+++ b/drivers/gpu/drm/nouveau/include/nvif/class.h -@@ -89,6 +89,8 @@ - #define GV100_DISP /* cl5070.h */ 0x0000c370 - #define TU102_DISP /* cl5070.h */ 0x0000c570 - -+#define GV100_DISP_CAPS 0x0000c373 -+ - #define NV31_MPEG 0x00003174 - #define G82_MPEG 0x00008274 - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -index 0d584d0da59c..f7af648e0c17 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -@@ -74,6 +74,8 @@ nvkm-y += nvkm/engine/disp/rootgp102.o - nvkm-y += nvkm/engine/disp/rootgv100.o - nvkm-y += nvkm/engine/disp/roottu102.o - -+nvkm-y += nvkm/engine/disp/capsgv100.o -+ - nvkm-y += nvkm/engine/disp/channv50.o - nvkm-y += nvkm/engine/disp/changf119.o - nvkm-y += nvkm/engine/disp/changv100.o -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c -new file mode 100644 -index 000000000000..5026e530f4bb ---- /dev/null -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/capsgv100.c -@@ -0,0 +1,60 @@ -+/* -+ * Copyright 2020 Red Hat Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+#define gv100_disp_caps(p) container_of((p), struct gv100_disp_caps, object) -+#include "rootnv50.h" -+ -+struct gv100_disp_caps { -+ struct nvkm_object object; -+ struct nv50_disp *disp; -+}; -+ -+static int -+gv100_disp_caps_map(struct nvkm_object *object, void *argv, u32 argc, -+ enum nvkm_object_map *type, u64 *addr, u64 *size) -+{ -+ struct gv100_disp_caps *caps = gv100_disp_caps(object); -+ struct nvkm_device *device = caps->disp->base.engine.subdev.device; -+ *type = NVKM_OBJECT_MAP_IO; -+ *addr = 0x640000 + device->func->resource_addr(device, 0); -+ *size = 0x1000; -+ return 0; -+} -+ -+static const struct nvkm_object_func -+gv100_disp_caps = { -+ .map = gv100_disp_caps_map, -+}; -+ -+int -+gv100_disp_caps_new(const struct nvkm_oclass *oclass, void *argv, u32 argc, -+ struct nv50_disp *disp, struct nvkm_object **pobject) -+{ -+ struct gv100_disp_caps *caps; -+ -+ if (!(caps = kzalloc(sizeof(*caps), GFP_KERNEL))) -+ return -ENOMEM; -+ *pobject = &caps->object; -+ -+ nvkm_object_ctor(&gv100_disp_caps, oclass, &caps->object); -+ caps->disp = disp; -+ return 0; -+} -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c -index 9c658d632d37..47efb48d769a 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootgv100.c -@@ -27,6 +27,7 @@ - static const struct nv50_disp_root_func - gv100_disp_root = { - .user = { -+ {{-1,-1,GV100_DISP_CAPS }, gv100_disp_caps_new }, - {{0,0,GV100_DISP_CURSOR }, gv100_disp_curs_new }, - {{0,0,GV100_DISP_WINDOW_IMM_CHANNEL_DMA}, gv100_disp_wimm_new }, - {{0,0,GV100_DISP_CORE_CHANNEL_DMA }, gv100_disp_core_new }, -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h -index a1f942793f98..7070f5408d92 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h -@@ -24,6 +24,9 @@ int nv50_disp_root_new_(const struct nv50_disp_root_func *, struct nvkm_disp *, - const struct nvkm_oclass *, void *data, u32 size, - struct nvkm_object **); - -+int gv100_disp_caps_new(const struct nvkm_oclass *, void *, u32, -+ struct nv50_disp *, struct nvkm_object **); -+ - extern const struct nvkm_disp_oclass nv50_disp_root_oclass; - extern const struct nvkm_disp_oclass g84_disp_root_oclass; - extern const struct nvkm_disp_oclass g94_disp_root_oclass; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c -index 579a5d02308a..d8719d38b98a 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/roottu102.c -@@ -27,6 +27,7 @@ - static const struct nv50_disp_root_func - tu102_disp_root = { - .user = { -+ {{-1,-1,GV100_DISP_CAPS }, gv100_disp_caps_new }, - {{0,0,TU102_DISP_CURSOR }, gv100_disp_curs_new }, - {{0,0,TU102_DISP_WINDOW_IMM_CHANNEL_DMA}, gv100_disp_wimm_new }, - {{0,0,TU102_DISP_CORE_CHANNEL_DMA }, gv100_disp_core_new }, --- -2.26.2 - diff --git a/0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch b/0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch deleted file mode 100644 index cba6699dc..000000000 --- a/0001-disp-hda-gf119-add-HAL-for-programming-device-entry-.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Wed, 6 May 2020 14:40:56 +1000 -Subject: [PATCH] disp/hda/gf119-: add HAL for programming device entry in SF - -Register has moved on GV100. - -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c | 11 +++++++++-- - drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 2 ++ - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c | 1 + - drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c | 1 + - 8 files changed, 17 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -index 1080ba6ecd64..8a0ec7db5145 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -@@ -23,6 +23,14 @@ - */ - #include "ior.h" - -+void -+gf119_hda_device_entry(struct nvkm_ior *ior, int head) -+{ -+ struct nvkm_device *device = ior->disp->engine.subdev.device; -+ const u32 hoff = 0x800 * head; -+ nvkm_mask(device, 0x616548 + hoff, 0x00000070, 0x00000000); -+} -+ - void - gf119_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { -@@ -41,11 +49,10 @@ void - gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; -- const u32 hoff = 0x800 * head; - u32 data = 0x80000000; - u32 mask = 0x80000001; - if (present) { -- nvkm_mask(device, 0x616548 + hoff, 0x00000070, 0x00000000); -+ ior->func->hda.device_entry(ior, head); - data |= 0x00000001; - } else { - mask |= 0x00000002; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -index c60acf71831e..eb1155e47ecd 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -@@ -88,6 +88,7 @@ struct nvkm_ior_func { - struct { - void (*hpd)(struct nvkm_ior *, int head, bool present); - void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size); -+ void (*device_entry)(struct nvkm_ior *, int head); - } hda; - }; - -@@ -162,6 +163,7 @@ void gt215_hda_eld(struct nvkm_ior *, int, u8 *, u8); - - void gf119_hda_hpd(struct nvkm_ior *, int, bool); - void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8); -+void gf119_hda_device_entry(struct nvkm_ior *, int); - - #define IOR_MSG(i,l,f,a...) do { \ - struct nvkm_ior *_ior = (i); \ -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c -index 456a5a143522..3b3643fb1019 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgf119.c -@@ -177,6 +177,7 @@ gf119_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c -index b94090edaebf..0c0925680790 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgk104.c -@@ -43,6 +43,7 @@ gk104_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c -index e6965dec09c9..38045c92197f 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm107.c -@@ -57,6 +57,7 @@ gm107_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c -index 384f82652bec..cf2075db742a 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgm200.c -@@ -115,6 +115,7 @@ gm200_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -index b0597ff9a714..565cfbc65550 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -@@ -103,6 +103,7 @@ gv100_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -index 4d5f3791ea7b..b16ecea098c7 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -@@ -88,6 +88,7 @@ tu102_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -+ .device_entry = gf119_hda_device_entry, - }, - }; - --- -2.26.2 - diff --git a/0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch b/0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch deleted file mode 100644 index 714d1a0f3..000000000 --- a/0001-disp-hda-gf119-select-HDA-device-entry-based-on-boun.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Wed, 6 May 2020 14:40:58 +1000 -Subject: [PATCH] disp/hda/gf119-: select HDA device entry based on bound head - -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -index 8a0ec7db5145..19d2d58344e4 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -@@ -28,14 +28,14 @@ gf119_hda_device_entry(struct nvkm_ior *ior, int head) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; - const u32 hoff = 0x800 * head; -- nvkm_mask(device, 0x616548 + hoff, 0x00000070, 0x00000000); -+ nvkm_mask(device, 0x616548 + hoff, 0x00000070, head << 4); - } - - void - gf119_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; -- const u32 soff = 0x030 * ior->id; -+ const u32 soff = 0x030 * ior->id + (head * 0x04); - int i; - - for (i = 0; i < size; i++) -@@ -49,6 +49,7 @@ void - gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; -+ const u32 soff = 0x030 * ior->id + (head * 0x04); - u32 data = 0x80000000; - u32 mask = 0x80000001; - if (present) { -@@ -57,5 +58,5 @@ gf119_hda_hpd(struct nvkm_ior *ior, int head, bool present) - } else { - mask |= 0x00000002; - } -- nvkm_mask(device, 0x10ec10 + ior->id * 0x030, mask, data); -+ nvkm_mask(device, 0x10ec10 + soff, mask, data); - } --- -2.26.2 - diff --git a/0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch b/0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch deleted file mode 100644 index 0011e60ae..000000000 --- a/0001-disp-hda-gt215-pass-head-to-nvkm_ior.hda.eld.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Wed, 6 May 2020 14:40:52 +1000 -Subject: [PATCH] disp/hda/gt215-: pass head to nvkm_ior.hda.eld() - -We're going to use the bound head to select HDA device entry. - -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c | 2 +- - drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c | 2 +- - drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h | 6 +++--- - drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -index 0fa0ec0a1de0..1080ba6ecd64 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagf119.c -@@ -24,7 +24,7 @@ - #include "ior.h" - - void --gf119_hda_eld(struct nvkm_ior *ior, u8 *data, u8 size) -+gf119_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; - const u32 soff = 0x030 * ior->id; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c -index 4509d2ba880e..0d1b81fe1093 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagt215.c -@@ -24,7 +24,7 @@ - #include "ior.h" - - void --gt215_hda_eld(struct nvkm_ior *ior, u8 *data, u8 size) -+gt215_hda_eld(struct nvkm_ior *ior, int head, u8 *data, u8 size) - { - struct nvkm_device *device = ior->disp->engine.subdev.device; - const u32 soff = ior->id * 0x800; -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -index 009d3a8b7a50..c60acf71831e 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -@@ -87,7 +87,7 @@ struct nvkm_ior_func { - - struct { - void (*hpd)(struct nvkm_ior *, int head, bool present); -- void (*eld)(struct nvkm_ior *, u8 *data, u8 size); -+ void (*eld)(struct nvkm_ior *, int head, u8 *data, u8 size); - } hda; - }; - -@@ -158,10 +158,10 @@ void gv100_hdmi_ctrl(struct nvkm_ior *, int, bool, u8, u8, u8 *, u8 , u8 *, u8); - void gm200_hdmi_scdc(struct nvkm_ior *, int, u8); - - void gt215_hda_hpd(struct nvkm_ior *, int, bool); --void gt215_hda_eld(struct nvkm_ior *, u8 *, u8); -+void gt215_hda_eld(struct nvkm_ior *, int, u8 *, u8); - - void gf119_hda_hpd(struct nvkm_ior *, int, bool); --void gf119_hda_eld(struct nvkm_ior *, u8 *, u8); -+void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8); - - #define IOR_MSG(i,l,f,a...) do { \ - struct nvkm_ior *_ior = (i); \ -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c -index 5f758948d6e1..a7672ef17d3b 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.c -@@ -155,7 +155,7 @@ nv50_disp_root_mthd_(struct nvkm_object *object, u32 mthd, void *data, u32 size) - if (outp->info.type == DCB_OUTPUT_DP) - ior->func->dp.audio(ior, hidx, true); - ior->func->hda.hpd(ior, hidx, true); -- ior->func->hda.eld(ior, data, size); -+ ior->func->hda.eld(ior, hidx, data, size); - } else { - if (outp->info.type == DCB_OUTPUT_DP) - ior->func->dp.audio(ior, hidx, false); --- -2.26.2 - diff --git a/0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch b/0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch deleted file mode 100644 index b93c9f13b..000000000 --- a/0001-disp-hda-gv100-NV_PDISP_SF_AUDIO_CNTRL0-register-mov.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Wed, 6 May 2020 14:41:01 +1000 -Subject: [PATCH] disp/hda/gv100-: NV_PDISP_SF_AUDIO_CNTRL0 register moved - -Signed-off-by: Ben Skeggs ---- - .../gpu/drm/nouveau/nvkm/engine/disp/Kbuild | 1 + - .../drm/nouveau/nvkm/engine/disp/hdagv100.c | 30 +++++++++++++++++++ - .../gpu/drm/nouveau/nvkm/engine/disp/ior.h | 2 ++ - .../drm/nouveau/nvkm/engine/disp/sorgv100.c | 2 +- - .../drm/nouveau/nvkm/engine/disp/sortu102.c | 2 +- - 5 files changed, 35 insertions(+), 2 deletions(-) - create mode 100644 drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -index f7af648e0c17..571687ba85b8 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/Kbuild -@@ -47,6 +47,7 @@ nvkm-y += nvkm/engine/disp/dp.o - - nvkm-y += nvkm/engine/disp/hdagt215.o - nvkm-y += nvkm/engine/disp/hdagf119.o -+nvkm-y += nvkm/engine/disp/hdagv100.o - - nvkm-y += nvkm/engine/disp/hdmi.o - nvkm-y += nvkm/engine/disp/hdmig84.o -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c -new file mode 100644 -index 000000000000..57d374ecfeef ---- /dev/null -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdagv100.c -@@ -0,0 +1,30 @@ -+/* -+ * Copyright 2020 Red Hat Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR -+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+#include "ior.h" -+ -+void -+gv100_hda_device_entry(struct nvkm_ior *ior, int head) -+{ -+ struct nvkm_device *device = ior->disp->engine.subdev.device; -+ const u32 hoff = 0x800 * head; -+ nvkm_mask(device, 0x616528 + hoff, 0x00000070, head << 4); -+} -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -index eb1155e47ecd..c1d7a36e4d3c 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/ior.h -@@ -165,6 +165,8 @@ void gf119_hda_hpd(struct nvkm_ior *, int, bool); - void gf119_hda_eld(struct nvkm_ior *, int, u8 *, u8); - void gf119_hda_device_entry(struct nvkm_ior *, int); - -+void gv100_hda_device_entry(struct nvkm_ior *, int); -+ - #define IOR_MSG(i,l,f,a...) do { \ - struct nvkm_ior *_ior = (i); \ - nvkm_##l(&_ior->disp->engine.subdev, "%s: "f"\n", _ior->name, ##a); \ -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -index 565cfbc65550..d11a0dff10c6 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sorgv100.c -@@ -103,7 +103,7 @@ gv100_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -- .device_entry = gf119_hda_device_entry, -+ .device_entry = gv100_hda_device_entry, - }, - }; - -diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -index b16ecea098c7..fa6d74251237 100644 ---- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/sortu102.c -@@ -88,7 +88,7 @@ tu102_sor = { - .hda = { - .hpd = gf119_hda_hpd, - .eld = gf119_hda_eld, -- .device_entry = gf119_hda_device_entry, -+ .device_entry = gv100_hda_device_entry, - }, - }; - --- -2.26.2 - diff --git a/0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch b/0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch deleted file mode 100644 index d8c1a93d5..000000000 --- a/0001-disp-nv50-increase-timeout-on-pio-channel-free-polli.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Ben Skeggs -Date: Wed, 6 May 2020 14:40:45 +1000 -Subject: [PATCH] disp/nv50-: increase timeout on pio channel free() polling - -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/dispnv50/curs507a.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/nouveau/dispnv50/curs507a.c b/drivers/gpu/drm/nouveau/dispnv50/curs507a.c -index 8c5cf096f69b..658a200ab616 100644 ---- a/drivers/gpu/drm/nouveau/dispnv50/curs507a.c -+++ b/drivers/gpu/drm/nouveau/dispnv50/curs507a.c -@@ -32,7 +32,7 @@ - bool - curs507a_space(struct nv50_wndw *wndw) - { -- nvif_msec(&nouveau_drm(wndw->plane.dev)->client.device, 2, -+ nvif_msec(&nouveau_drm(wndw->plane.dev)->client.device, 100, - if (nvif_rd32(&wndw->wimm.base.user, 0x0008) >= 4) - return true; - ); --- -2.26.2 - diff --git a/0001-drm-Use-generic-helper-to-check-_PR3-presence.patch b/0001-drm-Use-generic-helper-to-check-_PR3-presence.patch deleted file mode 100644 index f0f9e0dfd..000000000 --- a/0001-drm-Use-generic-helper-to-check-_PR3-presence.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Kai-Heng Feng -Date: Thu, 23 Apr 2020 14:23:58 +0800 -Subject: [PATCH] drm: Use generic helper to check _PR3 presence - -Replace nouveau_pr3_present() in favor of a more generic one, -pci_pr3_present(). - -Also the presence of upstream bridge _PR3 doesn't need to go hand in -hand with device's _DSM, so check _PR3 before _DSM. - -Signed-off-by: Kai-Heng Feng -Signed-off-by: Ben Skeggs ---- - drivers/gpu/drm/nouveau/nouveau_acpi.c | 44 ++++++-------------------- - 1 file changed, 10 insertions(+), 34 deletions(-) - -diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c -index fe3a10255c36..b84dff1b0f28 100644 ---- a/drivers/gpu/drm/nouveau/nouveau_acpi.c -+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c -@@ -212,37 +212,6 @@ static const struct vga_switcheroo_handler nouveau_dsm_handler = { - .get_client_id = nouveau_dsm_get_client_id, - }; - --/* -- * Firmware supporting Windows 8 or later do not use _DSM to put the device into -- * D3cold, they instead rely on disabling power resources on the parent. -- */ --static bool nouveau_pr3_present(struct pci_dev *pdev) --{ -- struct pci_dev *parent_pdev = pci_upstream_bridge(pdev); -- struct acpi_device *parent_adev; -- -- if (!parent_pdev) -- return false; -- -- if (!parent_pdev->bridge_d3) { -- /* -- * Parent PCI bridge is currently not power managed. -- * Since userspace can change these afterwards to be on -- * the safe side we stick with _DSM and prevent usage of -- * _PR3 from the bridge. -- */ -- pci_d3cold_disable(pdev); -- return false; -- } -- -- parent_adev = ACPI_COMPANION(&parent_pdev->dev); -- if (!parent_adev) -- return false; -- -- return parent_adev->power.flags.power_resources && -- acpi_has_method(parent_adev->handle, "_PR3"); --} -- - static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out, - bool *has_mux, bool *has_opt, - bool *has_opt_flags, bool *has_pr3) -@@ -250,6 +219,16 @@ static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out - acpi_handle dhandle; - bool supports_mux; - int optimus_funcs; -+ struct pci_dev *parent_pdev; -+ -+ *has_pr3 = false; -+ parent_pdev = pci_upstream_bridge(pdev); -+ if (parent_pdev) { -+ if (parent_pdev->bridge_d3) -+ *has_pr3 = pci_pr3_present(parent_pdev); -+ else -+ pci_d3cold_disable(pdev); -+ } - - dhandle = ACPI_HANDLE(&pdev->dev); - if (!dhandle) -@@ -270,7 +249,6 @@ static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out - *has_mux = supports_mux; - *has_opt = !!optimus_funcs; - *has_opt_flags = optimus_funcs & (1 << NOUVEAU_DSM_OPTIMUS_FLAGS); -- *has_pr3 = false; - - if (optimus_funcs) { - uint32_t result; -@@ -280,8 +258,6 @@ static void nouveau_dsm_pci_probe(struct pci_dev *pdev, acpi_handle *dhandle_out - (result & OPTIMUS_ENABLED) ? "enabled" : "disabled", - (result & OPTIMUS_DYNAMIC_PWR_CAP) ? "dynamic power, " : "", - (result & OPTIMUS_HDA_CODEC_MASK) ? "hda bios codec supported" : ""); -- -- *has_pr3 = nouveau_pr3_present(pdev); - } - } - --- -2.26.2 - diff --git a/0001-drm-panel-add-Xingbangda-XBD599-panel.patch b/0001-drm-panel-add-Xingbangda-XBD599-panel.patch new file mode 100644 index 000000000..6866d5f69 --- /dev/null +++ b/0001-drm-panel-add-Xingbangda-XBD599-panel.patch @@ -0,0 +1,423 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Mon, 16 Mar 2020 21:35:01 +0800 +Subject: [PATCH] drm: panel: add Xingbangda XBD599 panel + +Xingbangda XBD599 is a 5.99" 720x1440 MIPI-DSI IPS LCD panel made by +Xingbangda, which is used on PinePhone final assembled phones. + +Add support for it. + +Signed-off-by: Icenowy Zheng +--- + drivers/gpu/drm/panel/Kconfig | 9 + + drivers/gpu/drm/panel/Makefile | 1 + + .../gpu/drm/panel/panel-xingbangda-xbd599.c | 366 ++++++++++++++++++ + 3 files changed, 376 insertions(+) + create mode 100644 drivers/gpu/drm/panel/panel-xingbangda-xbd599.c + +diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig +index 39055c1f0e2f..1f55a87bb657 100644 +--- a/drivers/gpu/drm/panel/Kconfig ++++ b/drivers/gpu/drm/panel/Kconfig +@@ -462,6 +462,15 @@ config DRM_PANEL_VISIONOX_RM69299 + Say Y here if you want to enable support for Visionox + RM69299 DSI Video Mode panel. + ++config DRM_PANEL_XINGBANGDA_XBD599 ++ tristate "Xingbangda XBD599 panel" ++ depends on OF ++ depends on DRM_MIPI_DSI ++ depends on BACKLIGHT_CLASS_DEVICE ++ help ++ Say Y here if you want to enable support for the Xingbangda XBD599 ++ MIPI DSI Video Mode panel. ++ + config DRM_PANEL_XINPENG_XPP055C272 + tristate "Xinpeng XPP055C272 panel driver" + depends on OF +diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile +index de74f282c433..7b6b0c0397d6 100644 +--- a/drivers/gpu/drm/panel/Makefile ++++ b/drivers/gpu/drm/panel/Makefile +@@ -49,4 +49,5 @@ obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o + obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o + obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o + obj-$(CONFIG_DRM_PANEL_VISIONOX_RM69299) += panel-visionox-rm69299.o ++obj-$(CONFIG_DRM_PANEL_XINGBANGDA_XBD599) += panel-xingbangda-xbd599.o + obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o +diff --git a/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c +new file mode 100644 +index 000000000000..b483f96ee1db +--- /dev/null ++++ b/drivers/gpu/drm/panel/panel-xingbangda-xbd599.c +@@ -0,0 +1,366 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * Xingbangda XBD599 MIPI-DSI panel driver ++ * ++ * Copyright (C) 2019-2020 Icenowy Zheng ++ * ++ * Based on panel-rocktech-jh057n00900.c, which is: ++ * Copyright (C) Purism SPC 2019 ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++/* Manufacturer specific Commands send via DSI */ ++#define ST7703_CMD_ALL_PIXEL_OFF 0x22 ++#define ST7703_CMD_ALL_PIXEL_ON 0x23 ++#define ST7703_CMD_SETDISP 0xB2 ++#define ST7703_CMD_SETRGBIF 0xB3 ++#define ST7703_CMD_SETCYC 0xB4 ++#define ST7703_CMD_SETBGP 0xB5 ++#define ST7703_CMD_SETVCOM 0xB6 ++#define ST7703_CMD_SETOTP 0xB7 ++#define ST7703_CMD_SETPOWER_EXT 0xB8 ++#define ST7703_CMD_SETEXTC 0xB9 ++#define ST7703_CMD_SETMIPI 0xBA ++#define ST7703_CMD_SETVDC 0xBC ++#define ST7703_CMD_SETSCR 0xC0 ++#define ST7703_CMD_SETPOWER 0xC1 ++#define ST7703_CMD_UNK_C6 0xC6 ++#define ST7703_CMD_SETPANEL 0xCC ++#define ST7703_CMD_SETGAMMA 0xE0 ++#define ST7703_CMD_SETEQ 0xE3 ++#define ST7703_CMD_SETGIP1 0xE9 ++#define ST7703_CMD_SETGIP2 0xEA ++ ++static const char * const regulator_names[] = { ++ "iovcc", ++ "vcc", ++}; ++ ++struct xbd599 { ++ struct device *dev; ++ struct drm_panel panel; ++ struct gpio_desc *reset_gpio; ++ struct regulator_bulk_data supplies[ARRAY_SIZE(regulator_names)]; ++ bool prepared; ++}; ++ ++static inline struct xbd599 *panel_to_xbd599(struct drm_panel *panel) ++{ ++ return container_of(panel, struct xbd599, panel); ++} ++ ++#define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ ++ static const u8 d[] = { seq }; \ ++ int ret; \ ++ ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ ++ if (ret < 0) \ ++ return ret; \ ++ } while (0) ++ ++static int xbd599_init_sequence(struct xbd599 *ctx) ++{ ++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); ++ struct device *dev = ctx->dev; ++ int ret; ++ ++ /* ++ * Init sequence was supplied by the panel vendor. ++ */ ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, ++ 0xF1, 0x12, 0x83); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, ++ 0x33, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x25, ++ 0x00, 0x91, 0x0a, 0x00, 0x00, 0x02, 0x4F, 0x11, ++ 0x00, 0x00, 0x37); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, ++ 0x25, 0x22, 0x20, 0x03); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, ++ 0x10, 0x10, 0x05, 0x05, 0x03, 0xFF, 0x00, 0x00, ++ 0x00, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, ++ 0x73, 0x73, 0x50, 0x50, 0x00, 0xC0, 0x08, 0x70, ++ 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x4E); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xF0, 0x12, 0xF0); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, ++ 0x00, 0x00, 0x0B, 0x0B, 0x10, 0x10, 0x00, 0x00, ++ 0x00, 0x00, 0xFF, 0x00, 0xC0, 0x10); ++ dsi_dcs_write_seq(dsi, 0xC6, 0x01, 0x00, 0xFF, 0xFF, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, ++ 0x74, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xFF, 0xFF, ++ 0xCC, 0xCC, 0x77, 0x77); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x07, 0x07); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x2C, 0x2C); ++ dsi_dcs_write_seq(dsi, 0xBF, 0x02, 0x11, 0x00); ++ ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, ++ 0x82, 0x10, 0x06, 0x05, 0xA2, 0x0A, 0xA5, 0x12, ++ 0x31, 0x23, 0x37, 0x83, 0x04, 0xBC, 0x27, 0x38, ++ 0x0C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, ++ 0x03, 0x00, 0x00, 0x00, 0x75, 0x75, 0x31, 0x88, ++ 0x88, 0x88, 0x88, 0x88, 0x88, 0x13, 0x88, 0x64, ++ 0x64, 0x20, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, ++ 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, ++ 0x02, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x02, 0x46, 0x02, 0x88, ++ 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x88, 0x13, ++ 0x57, 0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, ++ 0x75, 0x88, 0x23, 0x14, 0x00, 0x00, 0x02, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0A, ++ 0xA5, 0x00, 0x00, 0x00, 0x00); ++ dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, ++ 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, 0x35, ++ 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, 0x12, ++ 0x18, 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, ++ 0x35, 0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, ++ 0x12, 0x18); ++ msleep(20); ++ ++ ret = mipi_dsi_dcs_exit_sleep_mode(dsi); ++ if (ret < 0) { ++ DRM_DEV_ERROR(dev, "Failed to exit sleep mode\n"); ++ return ret; ++ } ++ msleep(250); ++ ++ ret = mipi_dsi_dcs_set_display_on(dsi); ++ if (ret) ++ return ret; ++ msleep(50); ++ ++ DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); ++ return 0; ++} ++ ++static int xbd599_prepare(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ int ret; ++ ++ if (ctx->prepared) ++ return 0; ++ ++ ret = regulator_bulk_enable(ARRAY_SIZE(ctx->supplies), ctx->supplies); ++ if (ret) ++ return ret; ++ ++ DRM_DEV_DEBUG_DRIVER(ctx->dev, "Resetting the panel\n"); ++ gpiod_set_value_cansleep(ctx->reset_gpio, 1); ++ usleep_range(20, 40); ++ gpiod_set_value_cansleep(ctx->reset_gpio, 0); ++ msleep(20); ++ ++ ctx->prepared = true; ++ ++ return 0; ++} ++ ++static int xbd599_enable(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ int ret; ++ ++ ret = xbd599_init_sequence(ctx); ++ if (ret < 0) { ++ DRM_DEV_ERROR(ctx->dev, "Panel init sequence failed: %d\n", ++ ret); ++ return ret; ++ } ++ ++ return 0; ++} ++ ++static int xbd599_disable(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); ++ ++ return mipi_dsi_dcs_set_display_off(dsi); ++} ++ ++static int xbd599_unprepare(struct drm_panel *panel) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ ++ if (!ctx->prepared) ++ return 0; ++ ++ gpiod_set_value_cansleep(ctx->reset_gpio, 1); ++ regulator_bulk_disable(ARRAY_SIZE(ctx->supplies), ctx->supplies); ++ ctx->prepared = false; ++ ++ return 0; ++} ++ ++static const struct drm_display_mode xbd599_default_mode = { ++ .hdisplay = 720, ++ .hsync_start = 720 + 40, ++ .hsync_end = 720 + 40 + 40, ++ .htotal = 720 + 40 + 40 + 40, ++ .vdisplay = 1440, ++ .vsync_start = 1440 + 18, ++ .vsync_end = 1440 + 18 + 10, ++ .vtotal = 1440 + 18 + 10 + 17, ++ .vrefresh = 60, ++ .clock = 69000, ++ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, ++ ++ .width_mm = 68, ++ .height_mm = 136, ++ .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, ++}; ++ ++static int xbd599_get_modes(struct drm_panel *panel, ++ struct drm_connector *connector) ++{ ++ struct xbd599 *ctx = panel_to_xbd599(panel); ++ struct drm_display_mode *mode; ++ ++ mode = drm_mode_duplicate(connector->dev, &xbd599_default_mode); ++ if (!mode) { ++ DRM_DEV_ERROR(ctx->dev, "Failed to add mode\n"); ++ return -ENOMEM; ++ } ++ ++ drm_mode_set_name(mode); ++ ++ mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED; ++ connector->display_info.width_mm = mode->width_mm; ++ connector->display_info.height_mm = mode->height_mm; ++ drm_mode_probed_add(connector, mode); ++ ++ return 1; ++} ++ ++static const struct drm_panel_funcs xbd599_drm_funcs = { ++ .prepare = xbd599_prepare, ++ .enable = xbd599_enable, ++ .disable = xbd599_disable, ++ .unprepare = xbd599_unprepare, ++ .get_modes = xbd599_get_modes, ++}; ++ ++static int xbd599_probe(struct mipi_dsi_device *dsi) ++{ ++ struct device *dev = &dsi->dev; ++ struct xbd599 *ctx; ++ int i, ret; ++ ++ ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); ++ if (!ctx) ++ return -ENOMEM; ++ ++ for (i = 0; i < ARRAY_SIZE(ctx->supplies); i++) ++ ctx->supplies[i].supply = regulator_names[i]; ++ ++ ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ctx->supplies), ++ ctx->supplies); ++ if (ret < 0) { ++ DRM_DEV_ERROR(&dsi->dev, "cannot get regulators\n"); ++ return ret; ++ } ++ ++ ctx->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); ++ if (IS_ERR(ctx->reset_gpio)) { ++ DRM_DEV_ERROR(dev, "cannot get reset gpio\n"); ++ return PTR_ERR(ctx->reset_gpio); ++ } ++ ++ mipi_dsi_set_drvdata(dsi, ctx); ++ ++ ctx->dev = dev; ++ ++ dsi->lanes = 4; ++ dsi->format = MIPI_DSI_FMT_RGB888; ++ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE; ++ ++ drm_panel_init(&ctx->panel, &dsi->dev, &xbd599_drm_funcs, ++ DRM_MODE_CONNECTOR_DSI); ++ ++ ret = drm_panel_of_backlight(&ctx->panel); ++ if (ret) ++ return ret; ++ ++ drm_panel_add(&ctx->panel); ++ ++ ret = mipi_dsi_attach(dsi); ++ if (ret < 0) { ++ DRM_DEV_ERROR(dev, "mipi_dsi_attach failed. Is host ready?\n"); ++ drm_panel_remove(&ctx->panel); ++ return ret; ++ } ++ ++ DRM_DEV_INFO(dev, "%ux%u@%u %ubpp dsi %udl - ready\n", ++ xbd599_default_mode.hdisplay, ++ xbd599_default_mode.vdisplay, ++ xbd599_default_mode.vrefresh, ++ mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->lanes); ++ ++ return 0; ++} ++ ++static void xbd599_shutdown(struct mipi_dsi_device *dsi) ++{ ++ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); ++ int ret; ++ ++ ret = drm_panel_unprepare(&ctx->panel); ++ if (ret < 0) ++ DRM_DEV_ERROR(&dsi->dev, "Failed to unprepare panel: %d\n", ++ ret); ++} ++ ++static int xbd599_remove(struct mipi_dsi_device *dsi) ++{ ++ struct xbd599 *ctx = mipi_dsi_get_drvdata(dsi); ++ int ret; ++ ++ xbd599_shutdown(dsi); ++ ++ ret = mipi_dsi_detach(dsi); ++ if (ret < 0) ++ DRM_DEV_ERROR(&dsi->dev, "Failed to detach from DSI host: %d\n", ++ ret); ++ ++ drm_panel_remove(&ctx->panel); ++ ++ return 0; ++} ++ ++static const struct of_device_id xbd599_of_match[] = { ++ { .compatible = "xingbangda,xbd599", }, ++ { /* sentinel */ } ++}; ++MODULE_DEVICE_TABLE(of, xbd599_of_match); ++ ++static struct mipi_dsi_driver xbd599_driver = { ++ .probe = xbd599_probe, ++ .remove = xbd599_remove, ++ .shutdown = xbd599_shutdown, ++ .driver = { ++ .name = "panel-xingbangda-xbd599", ++ .of_match_table = xbd599_of_match, ++ }, ++}; ++module_mipi_dsi_driver(xbd599_driver); ++ ++MODULE_AUTHOR("Icenowy Zheng "); ++MODULE_DESCRIPTION("DRM driver for Xingbangda XBD599 MIPI DSI panel"); ++MODULE_LICENSE("GPL v2"); +-- +2.26.2 + diff --git a/0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch b/0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch new file mode 100644 index 000000000..d78bf5644 --- /dev/null +++ b/0001-drm-panel-rocktech-jh057n00900-Rename-the-driver-to-.patch @@ -0,0 +1,948 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman +Date: Fri, 26 Jun 2020 02:55:52 +0200 +Subject: [PATCH] drm/panel: rocktech-jh057n00900: Rename the driver to st7703 + +This rename is done so that the driver matches the name of the +display controller and in preparation for adding support for more +panels to the driver. + +This is just a basic file rename, with no code changes. + +Signed-off-by: Ondrej Jirman +--- + drivers/gpu/drm/panel/Kconfig | 26 +- + drivers/gpu/drm/panel/Makefile | 2 +- + .../drm/panel/panel-rocktech-jh057n00900.c | 424 ------------------ + drivers/gpu/drm/panel/panel-sitronix-st7703.c | 424 ++++++++++++++++++ + 4 files changed, 438 insertions(+), 438 deletions(-) + delete mode 100644 drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c + create mode 100644 drivers/gpu/drm/panel/panel-sitronix-st7703.c + +diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig +index 39055c1f0e2f..de2f2a452be5 100644 +--- a/drivers/gpu/drm/panel/Kconfig ++++ b/drivers/gpu/drm/panel/Kconfig +@@ -283,19 +283,6 @@ config DRM_PANEL_RAYDIUM_RM68200 + Say Y here if you want to enable support for Raydium RM68200 + 720x1280 DSI video mode panel. + +-config DRM_PANEL_ROCKTECH_JH057N00900 +- tristate "Rocktech JH057N00900 MIPI touchscreen panel" +- depends on OF +- depends on DRM_MIPI_DSI +- depends on BACKLIGHT_CLASS_DEVICE +- help +- Say Y here if you want to enable support for Rocktech JH057N00900 +- MIPI DSI panel as e.g. used in the Librem 5 devkit. It has a +- resolution of 720x1440 pixels, a built in backlight and touch +- controller. +- Touch input support is provided by the goodix driver and needs to be +- selected separately. +- + config DRM_PANEL_RONBO_RB070D30 + tristate "Ronbo Electronics RB070D30 panel" + depends on OF +@@ -395,6 +382,19 @@ config DRM_PANEL_SITRONIX_ST7701 + ST7701 controller for 480X864 LCD panels with MIPI/RGB/SPI + system interfaces. + ++config DRM_PANEL_SITRONIX_ST7703 ++ tristate "Sitronix ST7703 based MIPI touchscreen panels" ++ depends on OF ++ depends on DRM_MIPI_DSI ++ depends on BACKLIGHT_CLASS_DEVICE ++ help ++ Say Y here if you want to enable support for Sitronix ST7703 based ++ panels, souch as Rocktech JH057N00900 MIPI DSI panel as e.g. used in ++ the Librem 5 devkit. It has a resolution of 720x1440 pixels, a built ++ in backlight and touch controller. ++ Touch input support is provided by the goodix driver and needs to be ++ selected separately. ++ + config DRM_PANEL_SITRONIX_ST7789V + tristate "Sitronix ST7789V panel" + depends on OF && SPI +diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile +index de74f282c433..e45ceac6286f 100644 +--- a/drivers/gpu/drm/panel/Makefile ++++ b/drivers/gpu/drm/panel/Makefile +@@ -27,7 +27,6 @@ obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o + obj-$(CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN) += panel-raspberrypi-touchscreen.o + obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM67191) += panel-raydium-rm67191.o + obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o +-obj-$(CONFIG_DRM_PANEL_ROCKTECH_JH057N00900) += panel-rocktech-jh057n00900.o + obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o + obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o + obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) += panel-samsung-s6d16d0.o +@@ -41,6 +40,7 @@ obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o + obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o + obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o + obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o ++obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o + obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o + obj-$(CONFIG_DRM_PANEL_SONY_ACX424AKP) += panel-sony-acx424akp.o + obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o +diff --git a/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c b/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c +deleted file mode 100644 +index 38ff742bc120..000000000000 +--- a/drivers/gpu/drm/panel/panel-rocktech-jh057n00900.c ++++ /dev/null +@@ -1,424 +0,0 @@ +-// SPDX-License-Identifier: GPL-2.0 +-/* +- * Rockteck jh057n00900 5.5" MIPI-DSI panel driver +- * +- * Copyright (C) Purism SPC 2019 +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include