update to 6.5.9

This commit is contained in:
Ward from fusion-voyager-3 2023-11-04 21:37:27 +03:00
parent f7701af36c
commit a1bf107ddc
25 changed files with 73961 additions and 696 deletions

View File

@ -1 +1 @@
6.5.5 6.5.9

224
config
View File

@ -1,8 +1,8 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/x86 6.6.0 Kernel Configuration # Linux/x86 6.5.0 Kernel Configuration
# #
CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.2.1 20230801" CONFIG_CC_VERSION_TEXT="gcc (GCC) 13.2.1 20230730"
CONFIG_CC_IS_GCC=y CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=130201 CONFIG_GCC_VERSION=130201
CONFIG_CLANG_VERSION=0 CONFIG_CLANG_VERSION=0
@ -305,6 +305,7 @@ CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y CONFIG_KCMP=y
CONFIG_RSEQ=y CONFIG_RSEQ=y
CONFIG_CACHESTAT_SYSCALL=y CONFIG_CACHESTAT_SYSCALL=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y CONFIG_GUEST_PERF_EVENTS=y
@ -318,22 +319,6 @@ CONFIG_PERF_EVENTS=y
CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y CONFIG_TRACEPOINTS=y
#
# Kexec and crash features
#
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y
CONFIG_KEXEC_SIG=y
# CONFIG_KEXEC_SIG_FORCE is not set
CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_KEXEC_JUMP=y
CONFIG_CRASH_DUMP=y
CONFIG_CRASH_HOTPLUG=y
CONFIG_CRASH_MAX_MEMORY_RANGES=8192
# end of Kexec and crash features
# end of General setup # end of General setup
CONFIG_64BIT=y CONFIG_64BIT=y
@ -507,6 +492,8 @@ CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
# CONFIG_MICROCODE_LATE_LOADING is not set # CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y CONFIG_X86_CPUID=y
@ -538,14 +525,12 @@ CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=n CONFIG_CC_HAS_IBT=n
CONFIG_X86_CET=y
CONFIG_X86_KERNEL_IBT=n CONFIG_X86_KERNEL_IBT=n
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set # CONFIG_X86_INTEL_TSX_MODE_OFF is not set
# CONFIG_X86_INTEL_TSX_MODE_ON is not set # CONFIG_X86_INTEL_TSX_MODE_ON is not set
CONFIG_X86_INTEL_TSX_MODE_AUTO=y CONFIG_X86_INTEL_TSX_MODE_AUTO=y
CONFIG_X86_SGX=y CONFIG_X86_SGX=y
CONFIG_X86_USER_SHADOW_STACK=y
CONFIG_EFI=y CONFIG_EFI=y
CONFIG_EFI_STUB=y CONFIG_EFI_STUB=y
CONFIG_EFI_HANDOVER_PROTOCOL=y CONFIG_EFI_HANDOVER_PROTOCOL=y
@ -561,16 +546,14 @@ CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set # CONFIG_HZ_1000 is not set
CONFIG_HZ=300 CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y CONFIG_SCHED_HRTICK=y
CONFIG_ARCH_SUPPORTS_KEXEC=y CONFIG_KEXEC=y
CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y CONFIG_KEXEC_FILE=y
CONFIG_ARCH_SELECTS_KEXEC_FILE=y CONFIG_ARCH_HAS_KEXEC_PURGATORY=y
CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y CONFIG_KEXEC_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y # CONFIG_KEXEC_SIG_FORCE is not set
CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y CONFIG_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y CONFIG_KEXEC_JUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
CONFIG_ARCH_SUPPORTS_CRASH_HOTPLUG=y
CONFIG_PHYSICAL_START=0x1000000 CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_BASE=y
@ -613,6 +596,7 @@ CONFIG_CPU_SRSO=y
CONFIG_SLS=y CONFIG_SLS=y
# CONFIG_GDS_FORCE_MITIGATION is not set # CONFIG_GDS_FORCE_MITIGATION is not set
CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_HAS_ADD_PAGES=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
# #
# Power management and ACPI options # Power management and ACPI options
@ -827,11 +811,12 @@ CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y CONFIG_AS_GFNI=y
CONFIG_AS_WRUSS=y
# #
# General architecture-dependent options # General architecture-dependent options
# #
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HOTPLUG_SMT=y CONFIG_HOTPLUG_SMT=y
CONFIG_HOTPLUG_CORE_SYNC=y CONFIG_HOTPLUG_CORE_SYNC=y
CONFIG_HOTPLUG_CORE_SYNC_DEAD=y CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
@ -929,7 +914,6 @@ CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y CONFIG_MODULES_USE_ELF_RELA=y
@ -1158,7 +1142,6 @@ CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_HARDENED=y
# CONFIG_SLUB_STATS is not set # CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SLUB_CPU_PARTIAL=y
# CONFIG_RANDOM_KMALLOC_CACHES is not set
# end of SLAB allocator options # end of SLAB allocator options
CONFIG_SHUFFLE_PAGE_ALLOCATOR=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
@ -1167,8 +1150,7 @@ CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_DAX_VMEMMAP=y CONFIG_ARCH_WANT_OPTIMIZE_VMEMMAP=y
CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y CONFIG_MEMORY_ISOLATION=y
@ -1180,7 +1162,6 @@ CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTREMOVE=y CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y CONFIG_MEMORY_BALLOON=y
@ -1211,6 +1192,7 @@ CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_FRONTSWAP=y
CONFIG_CMA=y CONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUG is not set
CONFIG_CMA_DEBUGFS=y CONFIG_CMA_DEBUGFS=y
@ -1239,7 +1221,6 @@ CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_DMAPOOL_TEST is not set # CONFIG_DMAPOOL_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_MEMFD_CREATE=y
CONFIG_SECRETMEM=y CONFIG_SECRETMEM=y
CONFIG_ANON_VMA_NAME=y CONFIG_ANON_VMA_NAME=y
CONFIG_USERFAULTFD=y CONFIG_USERFAULTFD=y
@ -1264,7 +1245,6 @@ CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y CONFIG_NET_EGRESS=y
CONFIG_NET_XGRESS=y
CONFIG_NET_REDIRECT=y CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y CONFIG_SKB_EXTENSIONS=y
@ -2395,11 +2375,6 @@ CONFIG_MHI_BUS_PCI_GENERIC=m
CONFIG_MHI_BUS_EP=m CONFIG_MHI_BUS_EP=m
# end of Bus devices # end of Bus devices
#
# Cache Drivers
#
# end of Cache Drivers
CONFIG_CONNECTOR=y CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y CONFIG_PROC_EVENTS=y
@ -2431,7 +2406,6 @@ CONFIG_GOOGLE_CBMEM=m
CONFIG_GOOGLE_COREBOOT_TABLE=m CONFIG_GOOGLE_COREBOOT_TABLE=m
CONFIG_GOOGLE_MEMCONSOLE=m CONFIG_GOOGLE_MEMCONSOLE=m
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set # CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m
CONFIG_GOOGLE_VPD=m CONFIG_GOOGLE_VPD=m
@ -3042,7 +3016,6 @@ CONFIG_ATA_GENERIC=m
CONFIG_PATA_LEGACY=m CONFIG_PATA_LEGACY=m
CONFIG_MD=y CONFIG_MD=y
CONFIG_BLK_DEV_MD=m CONFIG_BLK_DEV_MD=m
CONFIG_MD_BITMAP_FILE=y
CONFIG_MD_LINEAR=m CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m CONFIG_MD_RAID1=m
@ -3156,7 +3129,6 @@ CONFIG_AMT=m
CONFIG_MACSEC=m CONFIG_MACSEC=m
CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETCONSOLE_DYNAMIC=y
# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETPOLL=y CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y CONFIG_NET_POLL_CONTROLLER=y
CONFIG_NTB_NETDEV=m CONFIG_NTB_NETDEV=m
@ -3430,7 +3402,7 @@ CONFIG_MLX5_TC_CT=y
CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_TC_SAMPLE=y
CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN_DCB=y
CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_MACSEC=y CONFIG_MLX5_EN_MACSEC=y
CONFIG_MLX5_EN_IPSEC=y CONFIG_MLX5_EN_IPSEC=y
CONFIG_MLX5_EN_TLS=y CONFIG_MLX5_EN_TLS=y
CONFIG_MLX5_SW_STEERING=y CONFIG_MLX5_SW_STEERING=y
@ -3631,11 +3603,9 @@ CONFIG_INTEL_XWAY_PHY=m
CONFIG_LSI_ET1011C_PHY=m CONFIG_LSI_ET1011C_PHY=m
CONFIG_MARVELL_PHY=m CONFIG_MARVELL_PHY=m
CONFIG_MARVELL_10G_PHY=m CONFIG_MARVELL_10G_PHY=m
CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MAXLINEAR_GPHY=m CONFIG_MAXLINEAR_GPHY=m
CONFIG_MEDIATEK_GE_PHY=m CONFIG_MEDIATEK_GE_PHY=m
# CONFIG_MEDIATEK_GE_SOC_PHY is not set
CONFIG_MICREL_PHY=m CONFIG_MICREL_PHY=m
CONFIG_MICROCHIP_T1S_PHY=m CONFIG_MICROCHIP_T1S_PHY=m
CONFIG_MICROCHIP_PHY=m CONFIG_MICROCHIP_PHY=m
@ -4032,8 +4002,6 @@ CONFIG_MT76_SDIO=m
CONFIG_MT76x02_LIB=m CONFIG_MT76x02_LIB=m
CONFIG_MT76x02_USB=m CONFIG_MT76x02_USB=m
CONFIG_MT76_CONNAC_LIB=m CONFIG_MT76_CONNAC_LIB=m
CONFIG_MT792x_LIB=m
CONFIG_MT792x_USB=m
CONFIG_MT76x0_COMMON=m CONFIG_MT76x0_COMMON=m
CONFIG_MT76x0U=m CONFIG_MT76x0U=m
CONFIG_MT76x0E=m CONFIG_MT76x0E=m
@ -4477,7 +4445,6 @@ CONFIG_TOUCHSCREEN_ZFORCE=m
CONFIG_TOUCHSCREEN_COLIBRI_VF50=m CONFIG_TOUCHSCREEN_COLIBRI_VF50=m
CONFIG_TOUCHSCREEN_ROHM_BU21023=m CONFIG_TOUCHSCREEN_ROHM_BU21023=m
CONFIG_TOUCHSCREEN_IQS5XX=m CONFIG_TOUCHSCREEN_IQS5XX=m
CONFIG_TOUCHSCREEN_IQS7211=m
CONFIG_TOUCHSCREEN_ZINITIX=m CONFIG_TOUCHSCREEN_ZINITIX=m
CONFIG_TOUCHSCREEN_HIMAX_HX83112B=m CONFIG_TOUCHSCREEN_HIMAX_HX83112B=m
CONFIG_INPUT_MISC=y CONFIG_INPUT_MISC=y
@ -4578,6 +4545,8 @@ CONFIG_HYPERV_KEYBOARD=m
CONFIG_SERIO_GPIO_PS2=m CONFIG_SERIO_GPIO_PS2=m
CONFIG_USERIO=m CONFIG_USERIO=m
CONFIG_GAMEPORT=m CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
CONFIG_GAMEPORT_EMU10K1=m CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m CONFIG_GAMEPORT_FM801=m
# end of Hardware I/O ports # end of Hardware I/O ports
@ -4664,6 +4633,7 @@ CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y CONFIG_SERIAL_NONSTANDARD=y
CONFIG_MOXA_INTELLIO=m CONFIG_MOXA_INTELLIO=m
CONFIG_MOXA_SMARTIO=m CONFIG_MOXA_SMARTIO=m
CONFIG_SYNCLINK_GT=m
CONFIG_N_HDLC=m CONFIG_N_HDLC=m
CONFIG_IPWIRELESS=m CONFIG_IPWIRELESS=m
CONFIG_N_GSM=m CONFIG_N_GSM=m
@ -4733,6 +4703,7 @@ CONFIG_XILLYBUS_CLASS=m
CONFIG_XILLYBUS=m CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_PCIE=m CONFIG_XILLYBUS_PCIE=m
CONFIG_XILLYUSB=m CONFIG_XILLYUSB=m
CONFIG_DDCCI=m
# end of Character devices # end of Character devices
# #
@ -4860,7 +4831,6 @@ CONFIG_SPI_AXI_SPI_ENGINE=m
CONFIG_SPI_BITBANG=m CONFIG_SPI_BITBANG=m
CONFIG_SPI_BUTTERFLY=m CONFIG_SPI_BUTTERFLY=m
CONFIG_SPI_CADENCE=m CONFIG_SPI_CADENCE=m
CONFIG_SPI_CS42L43=m
CONFIG_SPI_DESIGNWARE=m CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DW_DMA=y CONFIG_SPI_DW_DMA=y
CONFIG_SPI_DW_PCI=m CONFIG_SPI_DW_PCI=m
@ -4928,7 +4898,6 @@ CONFIG_PTP_1588_CLOCK_INES=m
CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_IDT82P33=m CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m CONFIG_PTP_1588_CLOCK_IDTCM=m
CONFIG_PTP_1588_CLOCK_MOCK=m
CONFIG_PTP_1588_CLOCK_VMW=m CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK_OCP=m CONFIG_PTP_1588_CLOCK_OCP=m
CONFIG_PTP_DFL_TOD=m CONFIG_PTP_DFL_TOD=m
@ -4946,7 +4915,6 @@ CONFIG_PINCTRL_MCP23S08_I2C=m
CONFIG_PINCTRL_MCP23S08_SPI=m CONFIG_PINCTRL_MCP23S08_SPI=m
CONFIG_PINCTRL_MCP23S08=m CONFIG_PINCTRL_MCP23S08=m
CONFIG_PINCTRL_SX150X=y CONFIG_PINCTRL_SX150X=y
CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_MADERA=m CONFIG_PINCTRL_MADERA=m
CONFIG_PINCTRL_CS47L15=y CONFIG_PINCTRL_CS47L15=y
CONFIG_PINCTRL_CS47L35=y CONFIG_PINCTRL_CS47L35=y
@ -5026,7 +4994,6 @@ CONFIG_GPIO_WS16C48=m
# I2C GPIO expanders # I2C GPIO expanders
# #
CONFIG_GPIO_FXL6408=m CONFIG_GPIO_FXL6408=m
CONFIG_GPIO_DS4520=m
CONFIG_GPIO_MAX7300=m CONFIG_GPIO_MAX7300=m
CONFIG_GPIO_MAX732X=m CONFIG_GPIO_MAX732X=m
CONFIG_GPIO_PCA953X=m CONFIG_GPIO_PCA953X=m
@ -5286,7 +5253,6 @@ CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_G760A=m CONFIG_SENSORS_G760A=m
CONFIG_SENSORS_G762=m CONFIG_SENSORS_G762=m
CONFIG_SENSORS_HIH6130=m CONFIG_SENSORS_HIH6130=m
CONFIG_SENSORS_HS3001=m
CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_IIO_HWMON=m
@ -5398,7 +5364,6 @@ CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_MAX8688=m
CONFIG_SENSORS_MP2888=m CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m CONFIG_SENSORS_MP2975=m
CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y CONFIG_SENSORS_MPQ7932_REGULATOR=y
CONFIG_SENSORS_MPQ7932=m CONFIG_SENSORS_MPQ7932=m
@ -5441,6 +5406,7 @@ CONFIG_SENSORS_SCH56XX_COMMON=m
CONFIG_SENSORS_SCH5627=m CONFIG_SENSORS_SCH5627=m
CONFIG_SENSORS_SCH5636=m CONFIG_SENSORS_SCH5636=m
CONFIG_SENSORS_STTS751=m CONFIG_SENSORS_STTS751=m
CONFIG_SENSORS_SMM665=m
CONFIG_SENSORS_ADC128D818=m CONFIG_SENSORS_ADC128D818=m
CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADS7871=m
@ -5665,9 +5631,6 @@ CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_AXP20X=m CONFIG_MFD_AXP20X=m
CONFIG_MFD_AXP20X_I2C=m CONFIG_MFD_AXP20X_I2C=m
CONFIG_MFD_CROS_EC_DEV=m CONFIG_MFD_CROS_EC_DEV=m
CONFIG_MFD_CS42L43=m
CONFIG_MFD_CS42L43_I2C=m
CONFIG_MFD_CS42L43_SDW=m
CONFIG_MFD_MADERA=m CONFIG_MFD_MADERA=m
CONFIG_MFD_MADERA_I2C=m CONFIG_MFD_MADERA_I2C=m
CONFIG_MFD_MADERA_SPI=m CONFIG_MFD_MADERA_SPI=m
@ -5803,7 +5766,6 @@ CONFIG_REGULATOR_ARIZONA_LDO1=m
CONFIG_REGULATOR_ARIZONA_MICSUPP=m CONFIG_REGULATOR_ARIZONA_MICSUPP=m
CONFIG_REGULATOR_AS3711=m CONFIG_REGULATOR_AS3711=m
CONFIG_REGULATOR_ATC260X=m CONFIG_REGULATOR_ATC260X=m
CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_AXP20X=m CONFIG_REGULATOR_AXP20X=m
CONFIG_REGULATOR_BCM590XX=m CONFIG_REGULATOR_BCM590XX=m
CONFIG_REGULATOR_BD9571MWV=m CONFIG_REGULATOR_BD9571MWV=m
@ -5828,7 +5790,6 @@ CONFIG_REGULATOR_LTC3676=m
CONFIG_REGULATOR_MAX14577=m CONFIG_REGULATOR_MAX14577=m
CONFIG_REGULATOR_MAX1586=m CONFIG_REGULATOR_MAX1586=m
CONFIG_REGULATOR_MAX77541=m CONFIG_REGULATOR_MAX77541=m
CONFIG_REGULATOR_MAX77857=m
CONFIG_REGULATOR_MAX8649=m CONFIG_REGULATOR_MAX8649=m
CONFIG_REGULATOR_MAX8660=m CONFIG_REGULATOR_MAX8660=m
CONFIG_REGULATOR_MAX8893=m CONFIG_REGULATOR_MAX8893=m
@ -5879,7 +5840,6 @@ CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTQ2134=m CONFIG_REGULATOR_RTQ2134=m
CONFIG_REGULATOR_RTMV20=m CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ6752=m CONFIG_REGULATOR_RTQ6752=m
CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_SKY81452=m CONFIG_REGULATOR_SKY81452=m
CONFIG_REGULATOR_SLG51000=m CONFIG_REGULATOR_SLG51000=m
CONFIG_REGULATOR_SY7636A=m CONFIG_REGULATOR_SY7636A=m
@ -5988,8 +5948,8 @@ CONFIG_V4L2_MEM2MEM_DEV=m
CONFIG_V4L2_FLASH_LED_CLASS=m CONFIG_V4L2_FLASH_LED_CLASS=m
CONFIG_V4L2_FWNODE=m CONFIG_V4L2_FWNODE=m
CONFIG_V4L2_ASYNC=m CONFIG_V4L2_ASYNC=m
CONFIG_V4L2_CCI=m CONFIG_VIDEOBUF_GEN=m
CONFIG_V4L2_CCI_I2C=m CONFIG_VIDEOBUF_DMA_SG=m
# end of Video4Linux options # end of Video4Linux options
# #
@ -6237,9 +6197,9 @@ CONFIG_DVB_BUDGET_CORE=m
CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET=m
CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_CI=m
CONFIG_DVB_BUDGET_AV=m CONFIG_DVB_BUDGET_AV=m
CONFIG_VIDEO_IPU3_CIO2=m
CONFIG_INTEL_VSC=m
CONFIG_IPU_BRIDGE=m CONFIG_IPU_BRIDGE=m
CONFIG_VIDEO_IPU3_CIO2=m
CONFIG_CIO2_BRIDGE=y
CONFIG_RADIO_ADAPTERS=m CONFIG_RADIO_ADAPTERS=m
CONFIG_RADIO_MAXIRADIO=m CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_SAA7706H=m CONFIG_RADIO_SAA7706H=m
@ -6492,7 +6452,6 @@ CONFIG_VIDEO_ET8EK8=m
CONFIG_VIDEO_AD5820=m CONFIG_VIDEO_AD5820=m
CONFIG_VIDEO_AK7375=m CONFIG_VIDEO_AK7375=m
CONFIG_VIDEO_DW9714=m CONFIG_VIDEO_DW9714=m
CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m CONFIG_VIDEO_DW9807_VCM=m
# end of Lens drivers # end of Lens drivers
@ -6540,11 +6499,6 @@ CONFIG_VIDEO_UPD64083=m
CONFIG_VIDEO_SAA6752HS=m CONFIG_VIDEO_SAA6752HS=m
CONFIG_VIDEO_M52790=m CONFIG_VIDEO_M52790=m
#
# Video serializers and deserializers
#
# end of Video serializers and deserializers
# #
# SPI I2C drivers auto-selected by 'Autoselect ancillary drivers' # SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'
# #
@ -6767,8 +6721,6 @@ CONFIG_DVB_DUMMY_FE=m
CONFIG_APERTURE_HELPERS=y CONFIG_APERTURE_HELPERS=y
CONFIG_VIDEO_CMDLINE=y CONFIG_VIDEO_CMDLINE=y
CONFIG_VIDEO_NOMODESET=y CONFIG_VIDEO_NOMODESET=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_AGP=y CONFIG_AGP=y
CONFIG_AGP_AMD64=m CONFIG_AGP_AMD64=m
CONFIG_AGP_INTEL=m CONFIG_AGP_INTEL=m
@ -6791,7 +6743,6 @@ CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DP_CEC=y CONFIG_DRM_DP_CEC=y
CONFIG_DRM_TTM=m CONFIG_DRM_TTM=m
CONFIG_DRM_EXEC=m
CONFIG_DRM_BUDDY=m CONFIG_DRM_BUDDY=m
CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_VRAM_HELPER=m
CONFIG_DRM_TTM_HELPER=m CONFIG_DRM_TTM_HELPER=m
@ -6894,7 +6845,6 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m CONFIG_DRM_ANALOGIX_DP=m
# end of Display Interface Bridges # end of Display Interface Bridges
CONFIG_DRM_LOONGSON=m
# CONFIG_DRM_ETNAVIV is not set # CONFIG_DRM_ETNAVIV is not set
CONFIG_DRM_BOCHS=m CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_CIRRUS_QEMU=m
@ -6925,7 +6875,27 @@ CONFIG_DRM_PRIVACY_SCREEN=y
# #
# Frame buffer Devices # Frame buffer Devices
# #
CONFIG_FB_NOTIFY=y
CONFIG_FB=y CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_IO_HELPERS=y
CONFIG_FB_SYS_HELPERS=y
CONFIG_FB_SYS_HELPERS_DEFERRED=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set # CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set # CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set # CONFIG_FB_CYBER2000 is not set
@ -6972,25 +6942,6 @@ CONFIG_XEN_FBDEV_FRONTEND=m
# CONFIG_FB_HYPERV is not set # CONFIG_FB_HYPERV is not set
# CONFIG_FB_SSD1307 is not set # CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set # CONFIG_FB_SM712 is not set
CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_DEVICE=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_DMAMEM_HELPERS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
# end of Frame buffer Devices # end of Frame buffer Devices
# #
@ -7020,6 +6971,7 @@ CONFIG_BACKLIGHT_MAX8925=m
CONFIG_BACKLIGHT_MT6370=m CONFIG_BACKLIGHT_MT6370=m
CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_APPLE=m
CONFIG_BACKLIGHT_QCOM_WLED=m CONFIG_BACKLIGHT_QCOM_WLED=m
CONFIG_BACKLIGHT_DDCCI=m
CONFIG_BACKLIGHT_RT4831=m CONFIG_BACKLIGHT_RT4831=m
CONFIG_BACKLIGHT_SAHARA=m CONFIG_BACKLIGHT_SAHARA=m
CONFIG_BACKLIGHT_WM831X=m CONFIG_BACKLIGHT_WM831X=m
@ -7080,7 +7032,7 @@ CONFIG_SND_HWDEP=m
CONFIG_SND_SEQ_DEVICE=m CONFIG_SND_SEQ_DEVICE=m
CONFIG_SND_RAWMIDI=m CONFIG_SND_RAWMIDI=m
CONFIG_SND_UMP=m CONFIG_SND_UMP=m
CONFIG_SND_UMP_LEGACY_RAWMIDI=y # CONFIG_SND_UMP_LEGACY_RAWMIDI is not set
CONFIG_SND_COMPRESS_OFFLOAD=m CONFIG_SND_COMPRESS_OFFLOAD=m
CONFIG_SND_JACK=y CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y CONFIG_SND_JACK_INPUT_DEV=y
@ -7224,10 +7176,6 @@ CONFIG_SND_HDA_SCODEC_CS35L41=m
CONFIG_SND_HDA_CS_DSP_CONTROLS=m CONFIG_SND_HDA_CS_DSP_CONTROLS=m
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
CONFIG_SND_HDA_SCODEC_CS35L56=m
CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_REALTEK=m
CONFIG_SND_HDA_CODEC_ANALOG=m CONFIG_SND_HDA_CODEC_ANALOG=m
CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_SIGMATEL=m
@ -7313,7 +7261,6 @@ CONFIG_SND_SOC_AMD_YC_MACH=m
CONFIG_SND_AMD_ACP_CONFIG=m CONFIG_SND_AMD_ACP_CONFIG=m
CONFIG_SND_SOC_AMD_ACP_COMMON=m CONFIG_SND_SOC_AMD_ACP_COMMON=m
CONFIG_SND_SOC_AMD_ACP_PDM=m CONFIG_SND_SOC_AMD_ACP_PDM=m
CONFIG_SND_SOC_AMD_ACP_LEGACY_COMMON=m
CONFIG_SND_SOC_AMD_ACP_I2S=m CONFIG_SND_SOC_AMD_ACP_I2S=m
CONFIG_SND_SOC_AMD_ACP_PCM=m CONFIG_SND_SOC_AMD_ACP_PCM=m
CONFIG_SND_SOC_AMD_ACP_PCI=m CONFIG_SND_SOC_AMD_ACP_PCI=m
@ -7389,7 +7336,6 @@ CONFIG_SND_SOC_INTEL_AVS=m
# #
CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219=m CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219=m
CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC=m CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC=m
CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336=m
CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO=m CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO=m
CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST=m CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST=m
CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98927=m CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98927=m
@ -7400,7 +7346,6 @@ CONFIG_SND_SOC_INTEL_AVS_MACH_PROBE=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=m CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=m
CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=m CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=m
# end of Intel AVS Machine drivers # end of Intel AVS Machine drivers
@ -7468,9 +7413,7 @@ CONFIG_SND_SOC_SOF_INTEL_IPC4=y
CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m
CONFIG_SND_SOC_SOF_AMD_COMMON=m CONFIG_SND_SOC_SOF_AMD_COMMON=m
CONFIG_SND_SOC_SOF_AMD_RENOIR=m CONFIG_SND_SOC_SOF_AMD_RENOIR=m
CONFIG_SND_SOC_SOF_AMD_VANGOGH=m
CONFIG_SND_SOC_SOF_AMD_REMBRANDT=m CONFIG_SND_SOC_SOF_AMD_REMBRANDT=m
CONFIG_SND_SOC_SOF_ACP_PROBES=m
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m
CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m
@ -7496,8 +7439,6 @@ CONFIG_SND_SOC_SOF_ELKHARTLAKE=m
CONFIG_SND_SOC_SOF_ALDERLAKE=m CONFIG_SND_SOC_SOF_ALDERLAKE=m
CONFIG_SND_SOC_SOF_INTEL_MTL=m CONFIG_SND_SOC_SOF_INTEL_MTL=m
CONFIG_SND_SOC_SOF_METEORLAKE=m CONFIG_SND_SOC_SOF_METEORLAKE=m
CONFIG_SND_SOC_SOF_INTEL_LNL=m
CONFIG_SND_SOC_SOF_LUNARLAKE=m
CONFIG_SND_SOC_SOF_HDA_COMMON=m CONFIG_SND_SOC_SOF_HDA_COMMON=m
CONFIG_SND_SOC_SOF_HDA_MLINK=m CONFIG_SND_SOC_SOF_HDA_MLINK=m
CONFIG_SND_SOC_SOF_HDA_LINK=y CONFIG_SND_SOC_SOF_HDA_LINK=y
@ -7549,11 +7490,9 @@ CONFIG_SND_SOC_AK4642=m
CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_AK5386=m
CONFIG_SND_SOC_AK5558=m CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_ALC5623=m CONFIG_SND_SOC_ALC5623=m
CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m CONFIG_SND_SOC_AW8738=m
CONFIG_SND_SOC_AW88395_LIB=m CONFIG_SND_SOC_AW88395_LIB=m
CONFIG_SND_SOC_AW88395=m CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_BD28623=m CONFIG_SND_SOC_BD28623=m
# CONFIG_SND_SOC_BT_SCO is not set # CONFIG_SND_SOC_BT_SCO is not set
CONFIG_SND_SOC_CHV3_CODEC=m CONFIG_SND_SOC_CHV3_CODEC=m
@ -7578,8 +7517,6 @@ CONFIG_SND_SOC_CS35L56_SDW=m
CONFIG_SND_SOC_CS42L42_CORE=m CONFIG_SND_SOC_CS42L42_CORE=m
CONFIG_SND_SOC_CS42L42=m CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m CONFIG_SND_SOC_CS42L42_SDW=m
CONFIG_SND_SOC_CS42L43=m
CONFIG_SND_SOC_CS42L43_SDW=m
CONFIG_SND_SOC_CS42L51=m CONFIG_SND_SOC_CS42L51=m
CONFIG_SND_SOC_CS42L51_I2C=m CONFIG_SND_SOC_CS42L51_I2C=m
CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L52=m
@ -7662,7 +7599,6 @@ CONFIG_SND_SOC_RT298=m
CONFIG_SND_SOC_RT1011=m CONFIG_SND_SOC_RT1011=m
CONFIG_SND_SOC_RT1015=m CONFIG_SND_SOC_RT1015=m
CONFIG_SND_SOC_RT1015P=m CONFIG_SND_SOC_RT1015P=m
CONFIG_SND_SOC_RT1017_SDCA_SDW=m
CONFIG_SND_SOC_RT1019=m CONFIG_SND_SOC_RT1019=m
CONFIG_SND_SOC_RT1308=m CONFIG_SND_SOC_RT1308=m
CONFIG_SND_SOC_RT1308_SDW=m CONFIG_SND_SOC_RT1308_SDW=m
@ -7750,7 +7686,6 @@ CONFIG_SND_SOC_TS3A227E=m
CONFIG_SND_SOC_TSCS42XX=m CONFIG_SND_SOC_TSCS42XX=m
CONFIG_SND_SOC_TSCS454=m CONFIG_SND_SOC_TSCS454=m
CONFIG_SND_SOC_UDA1334=m CONFIG_SND_SOC_UDA1334=m
CONFIG_SND_SOC_WCD_CLASSH=m
CONFIG_SND_SOC_WCD9335=m CONFIG_SND_SOC_WCD9335=m
CONFIG_SND_SOC_WCD_MBHC=m CONFIG_SND_SOC_WCD_MBHC=m
CONFIG_SND_SOC_WCD934X=m CONFIG_SND_SOC_WCD934X=m
@ -7863,7 +7798,6 @@ CONFIG_HID_HOLTEK=m
CONFIG_HOLTEK_FF=y CONFIG_HOLTEK_FF=y
CONFIG_HID_VIVALDI_COMMON=m CONFIG_HID_VIVALDI_COMMON=m
CONFIG_HID_GOOGLE_HAMMER=m CONFIG_HID_GOOGLE_HAMMER=m
CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_VIVALDI=m CONFIG_HID_VIVALDI=m
CONFIG_HID_GT683R=m CONFIG_HID_GT683R=m
CONFIG_HID_KEYTOUCH=m CONFIG_HID_KEYTOUCH=m
@ -8318,7 +8252,6 @@ CONFIG_USB_F_UAC1_LEGACY=m
CONFIG_USB_F_UAC2=m CONFIG_USB_F_UAC2=m
CONFIG_USB_F_UVC=m CONFIG_USB_F_UVC=m
CONFIG_USB_F_MIDI=m CONFIG_USB_F_MIDI=m
CONFIG_USB_F_MIDI2=m
CONFIG_USB_F_HID=m CONFIG_USB_F_HID=m
CONFIG_USB_F_PRINTER=m CONFIG_USB_F_PRINTER=m
CONFIG_USB_F_TCM=m CONFIG_USB_F_TCM=m
@ -8339,7 +8272,6 @@ CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_MIDI2=y
CONFIG_USB_CONFIGFS_F_HID=y CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y CONFIG_USB_CONFIGFS_F_PRINTER=y
@ -8456,6 +8388,7 @@ CONFIG_MMC_SDHCI_XENON=m
CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFS_BSG=y CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_UFS_CRYPTO=y CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_SCSI_UFS_HPB=y
CONFIG_SCSI_UFS_HWMON=y CONFIG_SCSI_UFS_HWMON=y
CONFIG_SCSI_UFSHCD_PCI=m CONFIG_SCSI_UFSHCD_PCI=m
# CONFIG_SCSI_UFS_DWC_TC_PCI is not set # CONFIG_SCSI_UFS_DWC_TC_PCI is not set
@ -8507,7 +8440,6 @@ CONFIG_LEDS_LP8788=m
CONFIG_LEDS_PCA955X=m CONFIG_LEDS_PCA955X=m
CONFIG_LEDS_PCA955X_GPIO=y CONFIG_LEDS_PCA955X_GPIO=y
CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PCA963X=m
CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_WM831X_STATUS=m CONFIG_LEDS_WM831X_STATUS=m
CONFIG_LEDS_WM8350=m CONFIG_LEDS_WM8350=m
CONFIG_LEDS_DA903X=m CONFIG_LEDS_DA903X=m
@ -8587,7 +8519,6 @@ CONFIG_LEDS_TRIGGER_BLKDEV=m
CONFIG_LEDS_SIEMENS_SIMATIC_IPC=m CONFIG_LEDS_SIEMENS_SIMATIC_IPC=m
CONFIG_LEDS_SIEMENS_SIMATIC_IPC_APOLLOLAKE=m CONFIG_LEDS_SIEMENS_SIMATIC_IPC_APOLLOLAKE=m
CONFIG_LEDS_SIEMENS_SIMATIC_IPC_F7188X=m CONFIG_LEDS_SIEMENS_SIMATIC_IPC_F7188X=m
CONFIG_LEDS_SIEMENS_SIMATIC_IPC_ELKHARTLAKE=m
CONFIG_ACCESSIBILITY=y CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y CONFIG_A11Y_BRAILLE_CONSOLE=y
@ -8790,6 +8721,7 @@ CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T35=m CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m CONFIG_RTC_DRV_M48T59=m
CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_RP5C01=m CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_WM831X=m CONFIG_RTC_DRV_WM831X=m
CONFIG_RTC_DRV_WM8350=m CONFIG_RTC_DRV_WM8350=m
@ -8828,7 +8760,6 @@ CONFIG_INTEL_IDXD_SVM=y
CONFIG_INTEL_IDXD_PERFMON=y CONFIG_INTEL_IDXD_PERFMON=y
CONFIG_INTEL_IOATDMA=m CONFIG_INTEL_IOATDMA=m
CONFIG_PLX_DMA=m CONFIG_PLX_DMA=m
CONFIG_XILINX_DMA=m
CONFIG_XILINX_XDMA=m CONFIG_XILINX_XDMA=m
CONFIG_AMD_PTDMA=m CONFIG_AMD_PTDMA=m
CONFIG_QCOM_HIDMA_MGMT=m CONFIG_QCOM_HIDMA_MGMT=m
@ -8865,6 +8796,8 @@ CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options # end of DMABUF options
CONFIG_DCA=m CONFIG_DCA=m
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_UIO=m CONFIG_UIO=m
CONFIG_UIO_CIF=m CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV_GENIRQ=m CONFIG_UIO_PDRV_GENIRQ=m
@ -8878,8 +8811,6 @@ CONFIG_UIO_MF624=m
CONFIG_UIO_HV_GENERIC=m CONFIG_UIO_HV_GENERIC=m
CONFIG_UIO_DFL=m CONFIG_UIO_DFL=m
CONFIG_VFIO=m CONFIG_VFIO=m
CONFIG_VFIO_DEVICE_CDEV=y
CONFIG_VFIO_GROUP=y
CONFIG_VFIO_CONTAINER=y CONFIG_VFIO_CONTAINER=y
CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO_IOMMU_TYPE1=m
# CONFIG_VFIO_NOIOMMU is not set # CONFIG_VFIO_NOIOMMU is not set
@ -8895,7 +8826,6 @@ CONFIG_VFIO_PCI=m
CONFIG_VFIO_PCI_VGA=y CONFIG_VFIO_PCI_VGA=y
CONFIG_VFIO_PCI_IGD=y CONFIG_VFIO_PCI_IGD=y
CONFIG_MLX5_VFIO_PCI=m CONFIG_MLX5_VFIO_PCI=m
CONFIG_PDS_VFIO_PCI=m
# end of VFIO support for PCI devices # end of VFIO support for PCI devices
CONFIG_VFIO_MDEV=m CONFIG_VFIO_MDEV=m
@ -8981,7 +8911,6 @@ CONFIG_XEN_PVCALLS_FRONTEND=m
CONFIG_XEN_PVCALLS_BACKEND=y CONFIG_XEN_PVCALLS_BACKEND=y
CONFIG_XEN_SCSI_BACKEND=m CONFIG_XEN_SCSI_BACKEND=m
CONFIG_XEN_PRIVCMD=m CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_ACPI_PROCESSOR=m CONFIG_XEN_ACPI_PROCESSOR=m
CONFIG_XEN_MCE_LOG=y CONFIG_XEN_MCE_LOG=y
CONFIG_XEN_HAVE_PVMMU=y CONFIG_XEN_HAVE_PVMMU=y
@ -9178,7 +9107,6 @@ CONFIG_GPD_POCKET_FAN=m
CONFIG_X86_PLATFORM_DRIVERS_HP=y CONFIG_X86_PLATFORM_DRIVERS_HP=y
CONFIG_HP_ACCEL=m CONFIG_HP_ACCEL=m
CONFIG_HP_WMI=m CONFIG_HP_WMI=m
CONFIG_HP_BIOSCFG=m
CONFIG_WIRELESS_HOTKEY=m CONFIG_WIRELESS_HOTKEY=m
CONFIG_IBM_RTL=m CONFIG_IBM_RTL=m
CONFIG_IDEAPAD_LAPTOP=m CONFIG_IDEAPAD_LAPTOP=m
@ -9271,12 +9199,7 @@ CONFIG_INTEL_SCU_PCI=y
CONFIG_INTEL_SCU_PLATFORM=m CONFIG_INTEL_SCU_PLATFORM=m
CONFIG_INTEL_SCU_IPC_UTIL=m CONFIG_INTEL_SCU_IPC_UTIL=m
CONFIG_SIEMENS_SIMATIC_IPC=m CONFIG_SIEMENS_SIMATIC_IPC=m
CONFIG_SIEMENS_SIMATIC_IPC_BATT=m
CONFIG_SIEMENS_SIMATIC_IPC_BATT_APOLLOLAKE=m
CONFIG_SIEMENS_SIMATIC_IPC_BATT_ELKHARTLAKE=m
CONFIG_SIEMENS_SIMATIC_IPC_BATT_F7188X=m
CONFIG_WINMATE_FM07_KEYS=m CONFIG_WINMATE_FM07_KEYS=m
CONFIG_SEL3350_PLATFORM=m
CONFIG_STEAMDECK=m CONFIG_STEAMDECK=m
CONFIG_P2SB=y CONFIG_P2SB=y
CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK=y
@ -9689,7 +9612,6 @@ CONFIG_HID_SENSOR_IIO_COMMON=m
CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_HID_SENSOR_IIO_TRIGGER=m
# end of Hid Sensor IIO Common # end of Hid Sensor IIO Common
CONFIG_IIO_INV_SENSORS_TIMESTAMP=m
CONFIG_IIO_MS_SENSORS_I2C=m CONFIG_IIO_MS_SENSORS_I2C=m
# #
@ -9746,7 +9668,6 @@ CONFIG_MAX517=m
CONFIG_MAX5522=m CONFIG_MAX5522=m
CONFIG_MAX5821=m CONFIG_MAX5821=m
CONFIG_MCP4725=m CONFIG_MCP4725=m
CONFIG_MCP4728=m
CONFIG_MCP4922=m CONFIG_MCP4922=m
CONFIG_TI_DAC082S085=m CONFIG_TI_DAC082S085=m
CONFIG_TI_DAC5571=m CONFIG_TI_DAC5571=m
@ -10060,7 +9981,6 @@ CONFIG_AS3935=m
# Proximity and distance sensors # Proximity and distance sensors
# #
CONFIG_CROS_EC_MKBP_PROXIMITY=m CONFIG_CROS_EC_MKBP_PROXIMITY=m
CONFIG_IRSD200=m
CONFIG_ISL29501=m CONFIG_ISL29501=m
CONFIG_LIDAR_LITE_V2=m CONFIG_LIDAR_LITE_V2=m
CONFIG_MB1232=m CONFIG_MB1232=m
@ -10302,7 +10222,6 @@ CONFIG_HTE=y
CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y CONFIG_FS_IOMAP=y
CONFIG_BUFFER_HEAD=y
CONFIG_LEGACY_DIRECT_IO=y CONFIG_LEGACY_DIRECT_IO=y
# CONFIG_EXT2_FS is not set # CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set # CONFIG_EXT3_FS is not set
@ -10333,7 +10252,6 @@ CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y CONFIG_XFS_RT=y
CONFIG_XFS_DRAIN_INTENTS=y CONFIG_XFS_DRAIN_INTENTS=y
CONFIG_XFS_ONLINE_SCRUB=y CONFIG_XFS_ONLINE_SCRUB=y
# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_REPAIR=y CONFIG_XFS_ONLINE_REPAIR=y
# CONFIG_XFS_WARN is not set # CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set # CONFIG_XFS_DEBUG is not set
@ -10398,6 +10316,7 @@ CONFIG_QUOTA_TREE=m
CONFIG_QFMT_V1=m CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
CONFIG_AUTOFS_FS=y CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=m CONFIG_FUSE_FS=m
CONFIG_CUSE=m CONFIG_CUSE=m
@ -10409,7 +10328,6 @@ CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_INDEX=y CONFIG_OVERLAY_FS_INDEX=y
CONFIG_OVERLAY_FS_XINO_AUTO=y CONFIG_OVERLAY_FS_XINO_AUTO=y
CONFIG_OVERLAY_FS_METACOPY=y CONFIG_OVERLAY_FS_METACOPY=y
# CONFIG_OVERLAY_FS_DEBUG is not set
# #
# Caches # Caches
@ -10470,11 +10388,11 @@ CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS_INODE64=y CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_QUOTA=y
CONFIG_HUGETLBFS=y CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y CONFIG_HUGETLB_PAGE=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set # CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_MEMFD_CREATE=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y CONFIG_EFIVAR_FS=y
@ -10545,7 +10463,19 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y
CONFIG_ROMFS_ON_BLOCK=y CONFIG_ROMFS_ON_BLOCK=y
CONFIG_PSTORE=y CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS=m
CONFIG_PSTORE_LZO_COMPRESS=m
CONFIG_PSTORE_LZ4_COMPRESS=m
CONFIG_PSTORE_LZ4HC_COMPRESS=m
# CONFIG_PSTORE_842_COMPRESS is not set
CONFIG_PSTORE_ZSTD_COMPRESS=y
CONFIG_PSTORE_COMPRESS=y CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_LZO_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_LZ4_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_LZ4HC_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_ZSTD_COMPRESS_DEFAULT=y
CONFIG_PSTORE_COMPRESS_DEFAULT="zstd"
# CONFIG_PSTORE_CONSOLE is not set # CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set # CONFIG_PSTORE_FTRACE is not set
@ -10566,7 +10496,6 @@ CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_ZIP_LZMA=y CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ONDEMAND=y CONFIG_EROFS_FS_ONDEMAND=y
CONFIG_EROFS_FS_PCPU_KTHREAD=y CONFIG_EROFS_FS_PCPU_KTHREAD=y
CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y
@ -10613,6 +10542,8 @@ CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_SWAP=y CONFIG_SUNRPC_SWAP=y
CONFIG_RPCSEC_GSS_KRB5=m CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_KRB5_CRYPTOSYSTEM=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DES is not set
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA=y CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA=y
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2=y
@ -10700,7 +10631,6 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m CONFIG_NLS_UTF8=m
CONFIG_NLS_UCS2_UTILS=m
CONFIG_DLM=m CONFIG_DLM=m
CONFIG_DLM_DEBUG=y CONFIG_DLM_DEBUG=y
CONFIG_UNICODE=y CONFIG_UNICODE=y
@ -10739,7 +10669,6 @@ CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SMACK=y CONFIG_SECURITY_SMACK=y
CONFIG_SECURITY_SMACK_BRINGUP=y CONFIG_SECURITY_SMACK_BRINGUP=y
CONFIG_SECURITY_SMACK_NETFILTER=y CONFIG_SECURITY_SMACK_NETFILTER=y
@ -10778,6 +10707,7 @@ CONFIG_INTEGRITY_MACHINE_KEYRING=y
CONFIG_LOAD_UEFI_KEYS=y CONFIG_LOAD_UEFI_KEYS=y
CONFIG_INTEGRITY_AUDIT=y CONFIG_INTEGRITY_AUDIT=y
# CONFIG_IMA is not set # CONFIG_IMA is not set
# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set
# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
# CONFIG_EVM is not set # CONFIG_EVM is not set
# CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set
@ -10807,13 +10737,6 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set # CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization # end of Memory initialization
#
# Hardening of kernel data structures
#
CONFIG_LIST_HARDENED=y
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# end of Hardening of kernel data structures
CONFIG_RANDSTRUCT_NONE=y CONFIG_RANDSTRUCT_NONE=y
# CONFIG_RANDSTRUCT_FULL is not set # CONFIG_RANDSTRUCT_FULL is not set
# CONFIG_RANDSTRUCT_PERFORMANCE is not set # CONFIG_RANDSTRUCT_PERFORMANCE is not set
@ -11218,10 +11141,9 @@ CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y
CONFIG_SWIOTLB=y CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_DMA_COHERENT_POOL=y CONFIG_DMA_COHERENT_POOL=y
CONFIG_DMA_CMA=y CONFIG_DMA_CMA=y
# CONFIG_DMA_NUMA_CMA is not set # CONFIG_DMA_PERNUMA_CMA is not set
# #
# Default contiguous memory area size: # Default contiguous memory area size:
@ -11486,6 +11408,7 @@ CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_PLIST is not set # CONFIG_DEBUG_PLIST is not set
# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# CONFIG_DEBUG_MAPLE_TREE is not set # CONFIG_DEBUG_MAPLE_TREE is not set
# end of Debug kernel data structures # end of Debug kernel data structures
@ -11691,4 +11614,3 @@ CONFIG_MEMTEST=y
# #
# end of Rust hacking # end of Rust hacking
# end of Kernel hacking # end of Kernel hacking

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,7 @@ index dbd26fde4..c9b8b80af 100644
@@ -6552,6 +6552,14 @@ @@ -6552,6 +6552,14 @@
delay after resetting its port); delay after resetting its port);
Example: quirks=0781:5580:bk,0a5c:5834:gij Example: quirks=0781:5580:bk,0a5c:5834:gij
+ usbcore.interrupt_interval_override= + usbcore.interrupt_interval_override=
+ [USB] A list of USB devices for which a different polling + [USB] A list of USB devices for which a different polling
+ interval than the default shall be used on all interrupt-type + interval than the default shall be used on all interrupt-type
@ -29,15 +29,15 @@ index dbd26fde4..c9b8b80af 100644
+ +
usbhid.mousepoll= usbhid.mousepoll=
[USBHID] The interval which mice are to be polled at. [USBHID] The interval which mice are to be polled at.
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c
index 48bc8a481..84bd550ad 100644 index 48bc8a481..84bd550ad 100644
--- a/drivers/usb/core/config.c --- a/drivers/usb/core/config.c
+++ b/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c
@@ -19,6 +19,149 @@ @@ -19,6 +19,149 @@
#define USB_MAXCONFIG 8 /* Arbitrary limit */ #define USB_MAXCONFIG 8 /* Arbitrary limit */
+/* A struct associated with the interrupt_interval_override module parameter, representing +/* A struct associated with the interrupt_interval_override module parameter, representing
+ an user's choice to force a specific interrupt interval upon all interrupt endpoints of + an user's choice to force a specific interrupt interval upon all interrupt endpoints of
+ a certain device. */ + a certain device. */
@ -191,12 +191,12 @@ index 48bc8a481..84bd550ad 100644
- unsigned int maxp; - unsigned int maxp;
+ unsigned int maxp, ival; + unsigned int maxp, ival;
const unsigned short *maxpacket_maxes; const unsigned short *maxpacket_maxes;
d = (struct usb_endpoint_descriptor *) buffer; d = (struct usb_endpoint_descriptor *) buffer;
@@ -386,6 +529,23 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno, @@ -386,6 +529,23 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno,
endpoint->desc.bInterval = n; endpoint->desc.bInterval = n;
} }
+ /* Override the interrupt polling interval if a module parameter tells us to do so. */ + /* Override the interrupt polling interval if a module parameter tells us to do so. */
+ if (usb_endpoint_xfer_int(d)) { + if (usb_endpoint_xfer_int(d)) {
+ ival = usb_check_interrupt_interval_override(udev); + ival = usb_check_interrupt_interval_override(udev);
@ -235,7 +235,7 @@ index 11b15d7b3..ec52c6322 100644
+++ b/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c
@@ -1066,6 +1066,7 @@ static void __exit usb_exit(void) @@ -1066,6 +1066,7 @@ static void __exit usb_exit(void)
return; return;
usb_release_quirk_list(); usb_release_quirk_list();
+ usb_release_interrupt_interval_override_list(); + usb_release_interrupt_interval_override_list();
usb_deregister_device_driver(&usb_generic_driver); usb_deregister_device_driver(&usb_generic_driver);
@ -253,5 +253,6 @@ index 82538daac..b6faa897c 100644
extern bool usb_endpoint_is_ignored(struct usb_device *udev, extern bool usb_endpoint_is_ignored(struct usb_device *udev,
struct usb_host_interface *intf, struct usb_host_interface *intf,
struct usb_endpoint_descriptor *epd); struct usb_endpoint_descriptor *epd);
-- --
2.39.0 2.39.0

View File

@ -0,0 +1,34 @@
From 4b4ce124699c160925e5fdeb147a78f79d38351f Mon Sep 17 00:00:00 2001
From: Simon May <simon.may@protonmail.ch>
Date: Sun, 19 Sep 2021 23:45:59 +0200
Subject: [PATCH] Revert "PCI: Add a REBAR size quirk for Sapphire RX 5600 XT
Pulse"
This reverts commit 907830b0fc9e374d00f3c83de5e426157b482c01.
---
drivers/pci/pci.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 3f353572588d..1c8cc4b98f95 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -3637,14 +3637,7 @@ u32 pci_rebar_get_possible_sizes(struct pci_dev *pdev, int bar)
return 0;
pci_read_config_dword(pdev, pos + PCI_REBAR_CAP, &cap);
- cap &= PCI_REBAR_CAP_SIZES;
-
- /* Sapphire RX 5600 XT Pulse has an invalid cap dword for BAR 0 */
- if (pdev->vendor == PCI_VENDOR_ID_ATI && pdev->device == 0x731f &&
- bar == 0 && cap == 0x7000)
- cap = 0x3f000;
-
- return cap >> 4;
+ return (cap & PCI_REBAR_CAP_SIZES) >> 4;
}
EXPORT_SYMBOL(pci_rebar_get_possible_sizes);
--
2.30.2

View File

@ -0,0 +1,46 @@
From 7d86ca8db51f6b75b5c1470d6294c6f24221f560 Mon Sep 17 00:00:00 2001
From: GloriousEggroll <gloriouseggroll@gmail.com>
Date: Mon, 30 Oct 2023 22:36:19 -0600
Subject: [PATCH] Revert "nvme-pci: drop redundant
pci_enable_pcie_error_reporting()"
This reverts commit 1ad11eafc63ac16e667853bee4273879226d2d1b.
---
drivers/nvme/host/pci.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 3f0c9ee09a12..bc11bfe6f87a 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -5,6 +5,7 @@
*/
#include <linux/acpi.h>
+#include <linux/aer.h>
#include <linux/async.h>
#include <linux/blkdev.h>
#include <linux/blk-mq.h>
@@ -2537,6 +2538,7 @@ static int nvme_pci_enable(struct nvme_dev *dev)
nvme_map_cmb(dev);
+ pci_enable_pcie_error_reporting(pdev);
pci_save_state(pdev);
result = nvme_pci_configure_admin_queue(dev);
@@ -2601,8 +2603,10 @@ static void nvme_dev_disable(struct nvme_dev *dev, bool shutdown)
nvme_suspend_io_queues(dev);
nvme_suspend_queue(dev, 0);
pci_free_irq_vectors(pdev);
- if (pci_is_enabled(pdev))
+ if (pci_is_enabled(pdev)) {
+ pci_disable_pcie_error_reporting(pdev);
pci_disable_device(pdev);
+ }
nvme_reap_pending_cqes(dev);
nvme_cancel_tagset(&dev->ctrl);
--
2.41.0

View File

@ -0,0 +1,125 @@
Processors based on the Zen microarchitecture support IOPORT based deeper
C-states. The idle driver reads the acpi_gbl_FADT.xpm_timer_block.address
in the IOPORT based C-state exit path which is claimed to be a
"Dummy wait op" and has been around since ACPI introduction to Linux
dating back to Andy Grover's Mar 14, 2002 posting [1].
The comment above the dummy operation was elaborated by Andreas Mohr back
in 2006 in commit b488f02156d3d ("ACPI: restore comment justifying 'extra'
P_LVLx access") [2] where the commit log claims:
"this dummy read was about: STPCLK# doesn't get asserted in time on
(some) chipsets, which is why we need to have a dummy I/O read to delay
further instruction processing until the CPU is fully stopped."
However, sampling certain workloads with IBS on AMD Zen3 system shows
that a significant amount of time is spent in the dummy op, which
incorrectly gets accounted as C-State residency. A large C-State
residency value can prime the cpuidle governor to recommend a deeper
C-State during the subsequent idle instances, starting a vicious cycle,
leading to performance degradation on workloads that rapidly switch
between busy and idle phases.
One such workload is tbench where a massive performance degradation can
be observed during certain runs. Following are some statistics gathered
by running tbench with 128 clients, on a dual socket (2 x 64C/128T) Zen3
system with the baseline kernel, baseline kernel keeping C2 disabled,
and baseline kernel with this patch applied keeping C2 enabled:
baseline kernel was tip:sched/core at
commit f3dd3f674555 ("sched: Remove the limitation of WF_ON_CPU on
wakelist if wakee cpu is idle")
Kernel : baseline baseline + C2 disabled baseline + patch
Min (MB/s) : 2215.06 33072.10 (+1393.05%) 33016.10 (+1390.52%)
Max (MB/s) : 32938.80 34399.10 34774.50
Median (MB/s) : 32191.80 33476.60 33805.70
AMean (MB/s) : 22448.55 33649.27 (+49.89%) 33865.43 (+50.85%)
AMean Stddev : 17526.70 680.14 880.72
AMean CoefVar : 78.07% 2.02% 2.60%
The data shows there are edge cases that can cause massive regressions
in case of tbench. Profiling the bad runs with IBS shows a significant
amount of time being spent in acpi_idle_do_entry method:
Overhead Command Shared Object Symbol
74.76% swapper [kernel.kallsyms] [k] acpi_idle_do_entry
0.71% tbench [kernel.kallsyms] [k] update_sd_lb_stats.constprop.0
0.69% tbench_srv [kernel.kallsyms] [k] update_sd_lb_stats.constprop.0
0.49% swapper [kernel.kallsyms] [k] psi_group_change
...
Annotation of acpi_idle_do_entry method reveals almost all the time in
acpi_idle_do_entry is spent on the port I/O in wait_for_freeze():
0.14 │ in (%dx),%al # <------ First "in" corresponding to inb(cx->address)
0.51 │ mov 0x144d64d(%rip),%rax
0.00 │ test $0x80000000,%eax
│ ↓ jne 62 # <------ Skip if running in guest
0.00 │ mov 0x19800c3(%rip),%rdx
99.33 │ in (%dx),%eax # <------ Second "in" corresponding to inl(acpi_gbl_FADT.xpm_timer_block.address)
0.00 │62: mov -0x8(%rbp),%r12
0.00 │ leave
0.00 │ ← ret
This overhead is reflected in the C2 residency on the test system where
C2 is an IOPORT based C-State. The total C-state residency reported by
"cpupower idle-info" on CPU0 for good and bad case over the 80s tbench
run is as follows (all numbers are in microseconds):
Good Run Bad Run
(Baseline)
POLL: 43338 6231 (-85.62%)
C1 (MWAIT Based): 23576156 363861 (-98.45%)
C2 (IOPORT Based): 10781218 77027280 (+614.45%)
The larger residency value in bad case leads to the system recommending
C2 state again for subsequent idle instances. The pattern lasts till the
end of the tbench run. Following is the breakdown of "entry_method"
passed to acpi_idle_do_entry during good run and bad run:
Good Run Bad Run
(Baseline)
Number of times acpi_idle_do_entry was called: 6149573 6149050 (-0.01%)
|-> Number of times entry_method was "ACPI_CSTATE_FFH": 6141494 88144 (-98.56%)
|-> Number of times entry_method was "ACPI_CSTATE_HALT": 0 0 (+0.00%)
|-> Number of times entry_method was "ACPI_CSTATE_SYSTEMIO": 8079 6060906 (+74920.49%)
For processors based on the Zen microarchitecture, this dummy wait op is
unnecessary and can be skipped when choosing IOPORT based C-States to
avoid polluting the C-state residency information.
Link: https://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux-fullhistory.git/commit/?id=972c16130d9dc182cedcdd408408d9eacc7d6a2d [1]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b488f02156d3deb08f5ad7816d565c370a8cc6f1 [2]
Suggested-by: Calvin Ong <calvin.ong@amd.com>
Cc: stable@vger.kernel.org
Cc: regressions@lists.linux.dev
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
---
drivers/acpi/processor_idle.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index 16a1663d02d4..18850aa2b79b 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -529,9 +529,11 @@ static __cpuidle void io_idle(unsigned long addr)
inb(addr);
#ifdef CONFIG_X86
- /* No delay is needed if we are in guest */
- if (boot_cpu_has(X86_FEATURE_HYPERVISOR))
- return;
+ /*
+ * No delay is needed if we are in guest or on a processor
+ * based on the Zen microarchitecture.
+ */
+ if (boot_cpu_has(X86_FEATURE_HYPERVISOR) || boot_cpu_has(X86_FEATURE_ZEN))
/*
* Modern (>=Nehalem) Intel systems use ACPI via intel_idle,
* not this code. Assume that any Intel systems using this
--
2.25.1

View File

@ -0,0 +1,48 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
Date: Mon, 14 Nov 2022 20:13:53 +0100
Subject: [PATCH] drm/i915/quirks: disable async flipping on specific devices
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
---
drivers/gpu/drm/i915/display/intel_quirks.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
index a280448df771..1596114dd9ae 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.c
+++ b/drivers/gpu/drm/i915/display/intel_quirks.c
@@ -14,6 +14,12 @@ static void intel_set_quirk(struct drm_i915_private *i915, enum intel_quirk_id q
i915->display.quirks.mask |= BIT(quirk);
}
+static void quirk_async_page_flips_force_disable(struct drm_i915_private *i915)
+{
+ i915->drm.mode_config.async_page_flip = false;
+ drm_info(&i915->drm, "applying async flip disable quirk\n");
+}
+
/*
* Some machines (Lenovo U160) do not work with SSC on LVDS for some reason
*/
@@ -136,6 +142,20 @@ static const struct intel_dmi_quirk intel_dmi_quirks[] = {
},
.hook = quirk_no_pps_backlight_power_hook,
},
+ {
+ .dmi_id_list = &(const struct dmi_system_id[]) {
+ {
+ .callback = NULL,
+ .ident = "ASUS TUF DASH F15",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "ASUS TUF Dash F15 FX516PC_FX516PC"),
+ },
+ },
+ { }
+ },
+ .hook = quirk_async_page_flips_force_disable,
+ },
};
static struct intel_quirk intel_quirks[] = {

View File

@ -0,0 +1,54 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
Date: Wed, 8 Mar 2023 20:51:16 +0100
Subject: [PATCH] drm/i915: add kernel parameter to disable async page flipping
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
---
drivers/gpu/drm/i915/display/intel_display_driver.c | 2 +-
drivers/gpu/drm/i915/i915_params.c | 4 ++++
drivers/gpu/drm/i915/i915_params.h | 3 ++-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index ade744cccfea..119be26b5641 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -222,6 +222,10 @@ i915_param_named_unsafe(lmem_size, uint, 0400,
i915_param_named_unsafe(lmem_bar_size, uint, 0400,
"Set the lmem bar size(in MiB).");
+i915_param_named_unsafe(disable_async_page_flip, bool, 0400,
+ "Disable async page flipping"
+ "(0=disabled [default], 1=enabled)");
+
static void _param_print_bool(struct drm_printer *p, const char *name,
bool val)
{
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 3f51f90145b6..37f25ec1b874 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -85,7 +85,8 @@ struct drm_printer;
param(bool, verbose_state_checks, true, 0) \
param(bool, nuclear_pageflip, false, 0400) \
param(bool, enable_dp_mst, true, 0600) \
- param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0)
+ param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0) \
+ param(bool, disable_async_page_flip, false, 0400)
#define MEMBER(T, member, ...) T member;
struct i915_params {
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index b909814ae..918b8b589 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -121,7 +121,7 @@ static void intel_mode_config_init(struct drm_i915_private *i915)
mode_config->funcs = &intel_mode_funcs;
mode_config->helper_private = &intel_mode_config_funcs;
- mode_config->async_page_flip = HAS_ASYNC_FLIPS(i915);
+ mode_config->async_page_flip = HAS_ASYNC_FLIPS(i915) && !i915->params.disable_async_page_flip;
/*
* Maximum framebuffer dimensions, chosen to match

View File

@ -0,0 +1,719 @@
From 309712fae7491a876359ddda6e4cf8944f454731 Mon Sep 17 00:00:00 2001
From: GloriousEggroll <gloriouseggroll@gmail.com>
Date: Wed, 13 Sep 2023 17:59:59 -0600
Subject: [PATCH] OpenRGB
---
drivers/i2c/busses/Kconfig | 9 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-nct6775.c | 647 +++++++++++++++++++++++++++++++
drivers/i2c/busses/i2c-piix4.c | 4 +-
4 files changed, 659 insertions(+), 2 deletions(-)
create mode 100644 drivers/i2c/busses/i2c-nct6775.c
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 9cfe8fc50..efc3b0c0b 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -229,6 +229,15 @@ config I2C_CHT_WC
combined with a FUSB302 Type-C port-controller as such it is advised
to also select CONFIG_TYPEC_FUSB302=m.
+config I2C_NCT6775
+ tristate "Nuvoton NCT6775 and compatible SMBus controller"
+ help
+ If you say yes to this option, support will be included for the
+ Nuvoton NCT6775 and compatible SMBus controllers.
+
+ This driver can also be built as a module. If so, the module
+ will be called i2c-nct6775.
+
config I2C_NFORCE2
tristate "Nvidia nForce2, nForce3 and nForce4"
depends on PCI
diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
index af56fe2c7..76be74584 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
@@ -20,6 +20,7 @@ obj-$(CONFIG_I2C_CHT_WC) += i2c-cht-wc.o
obj-$(CONFIG_I2C_I801) += i2c-i801.o
obj-$(CONFIG_I2C_ISCH) += i2c-isch.o
obj-$(CONFIG_I2C_ISMT) += i2c-ismt.o
+obj-$(CONFIG_I2C_NCT6775) += i2c-nct6775.o
obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o
obj-$(CONFIG_I2C_NFORCE2_S4985) += i2c-nforce2-s4985.o
obj-$(CONFIG_I2C_NVIDIA_GPU) += i2c-nvidia-gpu.o
diff --git a/drivers/i2c/busses/i2c-nct6775.c b/drivers/i2c/busses/i2c-nct6775.c
new file mode 100644
index 000000000..0462f0952
--- /dev/null
+++ b/drivers/i2c/busses/i2c-nct6775.c
@@ -0,0 +1,647 @@
+/*
+ * i2c-nct6775 - Driver for the SMBus master functionality of
+ * Nuvoton NCT677x Super-I/O chips
+ *
+ * Copyright (C) 2019 Adam Honse <calcprogrammer1@gmail.com>
+ *
+ * Derived from nct6775 hwmon driver
+ * Copyright (C) 2012 Guenter Roeck <linux@roeck-us.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/slab.h>
+#include <linux/jiffies.h>
+#include <linux/platform_device.h>
+#include <linux/hwmon.h>
+#include <linux/hwmon-sysfs.h>
+#include <linux/hwmon-vid.h>
+#include <linux/err.h>
+#include <linux/mutex.h>
+#include <linux/delay.h>
+#include <linux/ioport.h>
+#include <linux/i2c.h>
+#include <linux/acpi.h>
+#include <linux/bitops.h>
+#include <linux/dmi.h>
+#include <linux/io.h>
+#include <linux/nospec.h>
+
+#define DRVNAME "i2c-nct6775"
+
+/* Nuvoton SMBus address offsets */
+#define SMBHSTDAT (0 + nuvoton_nct6793d_smba)
+#define SMBBLKSZ (1 + nuvoton_nct6793d_smba)
+#define SMBHSTCMD (2 + nuvoton_nct6793d_smba)
+#define SMBHSTIDX (3 + nuvoton_nct6793d_smba) //Index field is the Command field on other controllers
+#define SMBHSTCTL (4 + nuvoton_nct6793d_smba)
+#define SMBHSTADD (5 + nuvoton_nct6793d_smba)
+#define SMBHSTERR (9 + nuvoton_nct6793d_smba)
+#define SMBHSTSTS (0xE + nuvoton_nct6793d_smba)
+
+/* Command register */
+#define NCT6793D_READ_BYTE 0
+#define NCT6793D_READ_WORD 1
+#define NCT6793D_READ_BLOCK 2
+#define NCT6793D_BLOCK_WRITE_READ_PROC_CALL 3
+#define NCT6793D_PROC_CALL 4
+#define NCT6793D_WRITE_BYTE 8
+#define NCT6793D_WRITE_WORD 9
+#define NCT6793D_WRITE_BLOCK 10
+
+/* Control register */
+#define NCT6793D_MANUAL_START 128
+#define NCT6793D_SOFT_RESET 64
+
+/* Error register */
+#define NCT6793D_NO_ACK 32
+
+/* Status register */
+#define NCT6793D_FIFO_EMPTY 1
+#define NCT6793D_FIFO_FULL 2
+#define NCT6793D_MANUAL_ACTIVE 4
+
+#define NCT6775_LD_SMBUS 0x0B
+
+/* Other settings */
+#define MAX_RETRIES 400
+
+enum kinds { nct6106, nct6775, nct6776, nct6779, nct6791, nct6792, nct6793,
+ nct6795, nct6796, nct6798 };
+
+struct nct6775_sio_data {
+ int sioreg;
+ enum kinds kind;
+};
+
+/* used to set data->name = nct6775_device_names[data->sio_kind] */
+static const char * const nct6775_device_names[] = {
+ "nct6106",
+ "nct6775",
+ "nct6776",
+ "nct6779",
+ "nct6791",
+ "nct6792",
+ "nct6793",
+ "nct6795",
+ "nct6796",
+ "nct6798",
+};
+
+static const char * const nct6775_sio_names[] __initconst = {
+ "NCT6106D",
+ "NCT6775F",
+ "NCT6776D/F",
+ "NCT6779D",
+ "NCT6791D",
+ "NCT6792D",
+ "NCT6793D",
+ "NCT6795D",
+ "NCT6796D",
+ "NCT6798D",
+};
+
+#define SIO_REG_LDSEL 0x07 /* Logical device select */
+#define SIO_REG_DEVID 0x20 /* Device ID (2 bytes) */
+#define SIO_REG_SMBA 0x62 /* SMBus base address register */
+
+#define SIO_NCT6106_ID 0xc450
+#define SIO_NCT6775_ID 0xb470
+#define SIO_NCT6776_ID 0xc330
+#define SIO_NCT6779_ID 0xc560
+#define SIO_NCT6791_ID 0xc800
+#define SIO_NCT6792_ID 0xc910
+#define SIO_NCT6793_ID 0xd120
+#define SIO_NCT6795_ID 0xd350
+#define SIO_NCT6796_ID 0xd420
+#define SIO_NCT6798_ID 0xd428
+#define SIO_ID_MASK 0xFFF0
+
+static inline void
+superio_outb(int ioreg, int reg, int val)
+{
+ outb(reg, ioreg);
+ outb(val, ioreg + 1);
+}
+
+static inline int
+superio_inb(int ioreg, int reg)
+{
+ outb(reg, ioreg);
+ return inb(ioreg + 1);
+}
+
+static inline void
+superio_select(int ioreg, int ld)
+{
+ outb(SIO_REG_LDSEL, ioreg);
+ outb(ld, ioreg + 1);
+}
+
+static inline int
+superio_enter(int ioreg)
+{
+ /*
+ * Try to reserve <ioreg> and <ioreg + 1> for exclusive access.
+ */
+ if (!request_muxed_region(ioreg, 2, DRVNAME))
+ return -EBUSY;
+
+ outb(0x87, ioreg);
+ outb(0x87, ioreg);
+
+ return 0;
+}
+
+static inline void
+superio_exit(int ioreg)
+{
+ outb(0xaa, ioreg);
+ outb(0x02, ioreg);
+ outb(0x02, ioreg + 1);
+ release_region(ioreg, 2);
+}
+
+/*
+ * ISA constants
+ */
+
+#define IOREGION_ALIGNMENT (~7)
+#define IOREGION_LENGTH 2
+#define ADDR_REG_OFFSET 0
+#define DATA_REG_OFFSET 1
+
+#define NCT6775_REG_BANK 0x4E
+#define NCT6775_REG_CONFIG 0x40
+
+static struct i2c_adapter *nct6775_adapter;
+
+struct i2c_nct6775_adapdata {
+ unsigned short smba;
+};
+
+/* Return negative errno on error. */
+static s32 nct6775_access(struct i2c_adapter * adap, u16 addr,
+ unsigned short flags, char read_write,
+ u8 command, int size, union i2c_smbus_data * data)
+{
+ struct i2c_nct6775_adapdata *adapdata = i2c_get_adapdata(adap);
+ unsigned short nuvoton_nct6793d_smba = adapdata->smba;
+ int i, len, cnt;
+ union i2c_smbus_data tmp_data;
+ int timeout = 0;
+
+ tmp_data.word = 0;
+ cnt = 0;
+ len = 0;
+
+ outb_p(NCT6793D_SOFT_RESET, SMBHSTCTL);
+
+ switch (size) {
+ case I2C_SMBUS_QUICK:
+ outb_p((addr << 1) | read_write,
+ SMBHSTADD);
+ break;
+ case I2C_SMBUS_BYTE_DATA:
+ tmp_data.byte = data->byte;
+ case I2C_SMBUS_BYTE:
+ outb_p((addr << 1) | read_write,
+ SMBHSTADD);
+ outb_p(command, SMBHSTIDX);
+ if (read_write == I2C_SMBUS_WRITE) {
+ outb_p(tmp_data.byte, SMBHSTDAT);
+ outb_p(NCT6793D_WRITE_BYTE, SMBHSTCMD);
+ }
+ else {
+ outb_p(NCT6793D_READ_BYTE, SMBHSTCMD);
+ }
+ break;
+ case I2C_SMBUS_WORD_DATA:
+ outb_p((addr << 1) | read_write,
+ SMBHSTADD);
+ outb_p(command, SMBHSTIDX);
+ if (read_write == I2C_SMBUS_WRITE) {
+ outb_p(data->word & 0xff, SMBHSTDAT);
+ outb_p((data->word & 0xff00) >> 8, SMBHSTDAT);
+ outb_p(NCT6793D_WRITE_WORD, SMBHSTCMD);
+ }
+ else {
+ outb_p(NCT6793D_READ_WORD, SMBHSTCMD);
+ }
+ break;
+ case I2C_SMBUS_BLOCK_DATA:
+ outb_p((addr << 1) | read_write,
+ SMBHSTADD);
+ outb_p(command, SMBHSTIDX);
+ if (read_write == I2C_SMBUS_WRITE) {
+ len = data->block[0];
+ if (len == 0 || len > I2C_SMBUS_BLOCK_MAX)
+ return -EINVAL;
+ outb_p(len, SMBBLKSZ);
+
+ cnt = 1;
+ if (len >= 4) {
+ for (i = cnt; i <= 4; i++) {
+ outb_p(data->block[i], SMBHSTDAT);
+ }
+
+ len -= 4;
+ cnt += 4;
+ }
+ else {
+ for (i = cnt; i <= len; i++ ) {
+ outb_p(data->block[i], SMBHSTDAT);
+ }
+
+ len = 0;
+ }
+
+ outb_p(NCT6793D_WRITE_BLOCK, SMBHSTCMD);
+ }
+ else {
+ return -ENOTSUPP;
+ }
+ break;
+ default:
+ dev_warn(&adap->dev, "Unsupported transaction %d\n", size);
+ return -EOPNOTSUPP;
+ }
+
+ outb_p(NCT6793D_MANUAL_START, SMBHSTCTL);
+
+ while ((size == I2C_SMBUS_BLOCK_DATA) && (len > 0)) {
+ if (read_write == I2C_SMBUS_WRITE) {
+ timeout = 0;
+ while ((inb_p(SMBHSTSTS) & NCT6793D_FIFO_EMPTY) == 0)
+ {
+ if(timeout > MAX_RETRIES)
+ {
+ return -ETIMEDOUT;
+ }
+ usleep_range(250, 500);
+ timeout++;
+ }
+
+ //Load more bytes into FIFO
+ if (len >= 4) {
+ for (i = cnt; i <= (cnt + 4); i++) {
+ outb_p(data->block[i], SMBHSTDAT);
+ }
+
+ len -= 4;
+ cnt += 4;
+ }
+ else {
+ for (i = cnt; i <= (cnt + len); i++) {
+ outb_p(data->block[i], SMBHSTDAT);
+ }
+
+ len = 0;
+ }
+ }
+ else {
+ return -ENOTSUPP;
+ }
+
+ }
+
+ //wait for manual mode to complete
+ timeout = 0;
+ while ((inb_p(SMBHSTSTS) & NCT6793D_MANUAL_ACTIVE) != 0)
+ {
+ if(timeout > MAX_RETRIES)
+ {
+ return -ETIMEDOUT;
+ }
+ usleep_range(250, 500);
+ timeout++;
+ }
+
+ if ((inb_p(SMBHSTERR) & NCT6793D_NO_ACK) != 0) {
+ return -ENXIO;
+ }
+ else if ((read_write == I2C_SMBUS_WRITE) || (size == I2C_SMBUS_QUICK)) {
+ return 0;
+ }
+
+ switch (size) {
+ case I2C_SMBUS_QUICK:
+ case I2C_SMBUS_BYTE_DATA:
+ data->byte = inb_p(SMBHSTDAT);
+ break;
+ case I2C_SMBUS_WORD_DATA:
+ data->word = inb_p(SMBHSTDAT) + (inb_p(SMBHSTDAT) << 8);
+ break;
+ }
+ return 0;
+}
+
+static u32 nct6775_func(struct i2c_adapter *adapter)
+{
+ return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE |
+ I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA |
+ I2C_FUNC_SMBUS_BLOCK_DATA;
+}
+
+static const struct i2c_algorithm smbus_algorithm = {
+ .smbus_xfer = nct6775_access,
+ .functionality = nct6775_func,
+};
+
+static int nct6775_add_adapter(unsigned short smba, const char *name, struct i2c_adapter **padap)
+{
+ struct i2c_adapter *adap;
+ struct i2c_nct6775_adapdata *adapdata;
+ int retval;
+
+ adap = kzalloc(sizeof(*adap), GFP_KERNEL);
+ if (adap == NULL) {
+ return -ENOMEM;
+ }
+
+ adap->owner = THIS_MODULE;
+ adap->class = I2C_CLASS_HWMON | I2C_CLASS_SPD;
+ adap->algo = &smbus_algorithm;
+
+ adapdata = kzalloc(sizeof(*adapdata), GFP_KERNEL);
+ if (adapdata == NULL) {
+ kfree(adap);
+ return -ENOMEM;
+ }
+
+ adapdata->smba = smba;
+
+ snprintf(adap->name, sizeof(adap->name),
+ "SMBus NCT67xx adapter%s at %04x", name, smba);
+
+ i2c_set_adapdata(adap, adapdata);
+
+ retval = i2c_add_adapter(adap);
+ if (retval) {
+ kfree(adapdata);
+ kfree(adap);
+ return retval;
+ }
+
+ *padap = adap;
+ return 0;
+}
+
+static void nct6775_remove_adapter(struct i2c_adapter *adap)
+{
+ struct i2c_nct6775_adapdata *adapdata = i2c_get_adapdata(adap);
+
+ if (adapdata->smba) {
+ i2c_del_adapter(adap);
+ kfree(adapdata);
+ kfree(adap);
+ }
+}
+
+//static SIMPLE_DEV_PM_OPS(nct6775_dev_pm_ops, nct6775_suspend, nct6775_resume);
+
+/*
+ * when Super-I/O functions move to a separate file, the Super-I/O
+ * bus will manage the lifetime of the device and this module will only keep
+ * track of the nct6775 driver. But since we use platform_device_alloc(), we
+ * must keep track of the device
+ */
+static struct platform_device *pdev[2];
+
+static int nct6775_probe(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ struct nct6775_sio_data *sio_data = dev_get_platdata(dev);
+ struct resource *res;
+
+ res = platform_get_resource(pdev, IORESOURCE_IO, 0);
+ if (!devm_request_region(&pdev->dev, res->start, IOREGION_LENGTH,
+ DRVNAME))
+ return -EBUSY;
+
+ switch (sio_data->kind) {
+ case nct6791:
+ case nct6792:
+ case nct6793:
+ case nct6795:
+ case nct6796:
+ case nct6798:
+ nct6775_add_adapter(res->start, "", &nct6775_adapter);
+ break;
+ default:
+ return -ENODEV;
+ }
+
+ return 0;
+}
+/*
+static void nct6791_enable_io_mapping(int sioaddr)
+{
+ int val;
+
+ val = superio_inb(sioaddr, NCT6791_REG_HM_IO_SPACE_LOCK_ENABLE);
+ if (val & 0x10) {
+ pr_info("Enabling hardware monitor logical device mappings.\n");
+ superio_outb(sioaddr, NCT6791_REG_HM_IO_SPACE_LOCK_ENABLE,
+ val & ~0x10);
+ }
+}*/
+
+static struct platform_driver i2c_nct6775_driver = {
+ .driver = {
+ .name = DRVNAME,
+// .pm = &nct6775_dev_pm_ops,
+ },
+ .probe = nct6775_probe,
+};
+
+static void __exit i2c_nct6775_exit(void)
+{
+ int i;
+
+ if(nct6775_adapter)
+ nct6775_remove_adapter(nct6775_adapter);
+
+ for (i = 0; i < ARRAY_SIZE(pdev); i++) {
+ if (pdev[i])
+ platform_device_unregister(pdev[i]);
+ }
+ platform_driver_unregister(&i2c_nct6775_driver);
+}
+
+/* nct6775_find() looks for a '627 in the Super-I/O config space */
+static int __init nct6775_find(int sioaddr, struct nct6775_sio_data *sio_data)
+{
+ u16 val;
+ int err;
+ int addr;
+
+ err = superio_enter(sioaddr);
+ if (err)
+ return err;
+
+ val = (superio_inb(sioaddr, SIO_REG_DEVID) << 8) |
+ superio_inb(sioaddr, SIO_REG_DEVID + 1);
+
+ switch (val & SIO_ID_MASK) {
+ case SIO_NCT6106_ID:
+ sio_data->kind = nct6106;
+ break;
+ case SIO_NCT6775_ID:
+ sio_data->kind = nct6775;
+ break;
+ case SIO_NCT6776_ID:
+ sio_data->kind = nct6776;
+ break;
+ case SIO_NCT6779_ID:
+ sio_data->kind = nct6779;
+ break;
+ case SIO_NCT6791_ID:
+ sio_data->kind = nct6791;
+ break;
+ case SIO_NCT6792_ID:
+ sio_data->kind = nct6792;
+ break;
+ case SIO_NCT6793_ID:
+ sio_data->kind = nct6793;
+ break;
+ case SIO_NCT6795_ID:
+ sio_data->kind = nct6795;
+ break;
+ case SIO_NCT6796_ID:
+ sio_data->kind = nct6796;
+ break;
+ case SIO_NCT6798_ID:
+ sio_data->kind = nct6798;
+ break;
+ default:
+ if (val != 0xffff)
+ pr_debug("unsupported chip ID: 0x%04x\n", val);
+ superio_exit(sioaddr);
+ return -ENODEV;
+ }
+
+ /* We have a known chip, find the SMBus I/O address */
+ superio_select(sioaddr, NCT6775_LD_SMBUS);
+ val = (superio_inb(sioaddr, SIO_REG_SMBA) << 8)
+ | superio_inb(sioaddr, SIO_REG_SMBA + 1);
+ addr = val & IOREGION_ALIGNMENT;
+ if (addr == 0) {
+ pr_err("Refusing to enable a Super-I/O device with a base I/O port 0\n");
+ superio_exit(sioaddr);
+ return -ENODEV;
+ }
+
+ //if (sio_data->kind == nct6791 || sio_data->kind == nct6792 ||
+ // sio_data->kind == nct6793 || sio_data->kind == nct6795 ||
+ // sio_data->kind == nct6796)
+ // nct6791_enable_io_mapping(sioaddr);
+
+ superio_exit(sioaddr);
+ pr_info("Found %s or compatible chip at %#x:%#x\n",
+ nct6775_sio_names[sio_data->kind], sioaddr, addr);
+ sio_data->sioreg = sioaddr;
+
+ return addr;
+}
+
+static int __init i2c_nct6775_init(void)
+{
+ int i, err;
+ bool found = false;
+ int address;
+ struct resource res;
+ struct nct6775_sio_data sio_data;
+ int sioaddr[2] = { 0x2e, 0x4e };
+
+ err = platform_driver_register(&i2c_nct6775_driver);
+ if (err)
+ return err;
+
+ /*
+ * initialize sio_data->kind and sio_data->sioreg.
+ *
+ * when Super-I/O functions move to a separate file, the Super-I/O
+ * driver will probe 0x2e and 0x4e and auto-detect the presence of a
+ * nct6775 hardware monitor, and call probe()
+ */
+ for (i = 0; i < ARRAY_SIZE(pdev); i++) {
+ address = nct6775_find(sioaddr[i], &sio_data);
+ if (address <= 0)
+ continue;
+
+ found = true;
+
+ pdev[i] = platform_device_alloc(DRVNAME, address);
+ if (!pdev[i]) {
+ err = -ENOMEM;
+ goto exit_device_unregister;
+ }
+
+ err = platform_device_add_data(pdev[i], &sio_data,
+ sizeof(struct nct6775_sio_data));
+ if (err)
+ goto exit_device_put;
+
+ memset(&res, 0, sizeof(res));
+ res.name = DRVNAME;
+ res.start = address;
+ res.end = address + IOREGION_LENGTH - 1;
+ res.flags = IORESOURCE_IO;
+
+ err = acpi_check_resource_conflict(&res);
+ if (err) {
+ platform_device_put(pdev[i]);
+ pdev[i] = NULL;
+ continue;
+ }
+
+ err = platform_device_add_resources(pdev[i], &res, 1);
+ if (err)
+ goto exit_device_put;
+
+ /* platform_device_add calls probe() */
+ err = platform_device_add(pdev[i]);
+ if (err)
+ goto exit_device_put;
+ }
+ if (!found) {
+ err = -ENODEV;
+ goto exit_unregister;
+ }
+
+ return 0;
+
+exit_device_put:
+ platform_device_put(pdev[i]);
+exit_device_unregister:
+ while (--i >= 0) {
+ if (pdev[i])
+ platform_device_unregister(pdev[i]);
+ }
+exit_unregister:
+ platform_driver_unregister(&i2c_nct6775_driver);
+ return err;
+}
+
+MODULE_AUTHOR("Adam Honse <calcprogrammer1@gmail.com>");
+MODULE_DESCRIPTION("SMBus driver for NCT6775F and compatible chips");
+MODULE_LICENSE("GPL");
+
+module_init(i2c_nct6775_init);
+module_exit(i2c_nct6775_exit);
diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c
index 809fbd014..d54b35b14 100644
--- a/drivers/i2c/busses/i2c-piix4.c
+++ b/drivers/i2c/busses/i2c-piix4.c
@@ -568,11 +568,11 @@ static int piix4_transaction(struct i2c_adapter *piix4_adapter)
if (srvrworks_csb5_delay) /* Extra delay for SERVERWORKS_CSB5 */
usleep_range(2000, 2100);
else
- usleep_range(250, 500);
+ usleep_range(25, 50);
while ((++timeout < MAX_TIMEOUT) &&
((temp = inb_p(SMBHSTSTS)) & 0x01))
- usleep_range(250, 500);
+ usleep_range(25, 50);
/* If the SMBus is still busy, we give up */
if (timeout == MAX_TIMEOUT) {
--
2.41.0

View File

@ -16,7 +16,7 @@ index 0ead08ba58c2..95a59d203922 100644
@@ -575,15 +575,10 @@ module_param_named(timeout_period, amdgpu_watchdog_timer.period, uint, 0644); @@ -575,15 +575,10 @@ module_param_named(timeout_period, amdgpu_watchdog_timer.period, uint, 0644);
*/ */
#ifdef CONFIG_DRM_AMDGPU_SI #ifdef CONFIG_DRM_AMDGPU_SI
-#if defined(CONFIG_DRM_RADEON) || defined(CONFIG_DRM_RADEON_MODULE) -#if defined(CONFIG_DRM_RADEON) || defined(CONFIG_DRM_RADEON_MODULE)
-int amdgpu_si_support = 0; -int amdgpu_si_support = 0;
-MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled (default))"); -MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled (default))");
@ -28,12 +28,12 @@ index 0ead08ba58c2..95a59d203922 100644
module_param_named(si_support, amdgpu_si_support, int, 0444); module_param_named(si_support, amdgpu_si_support, int, 0444);
+ +
#endif #endif
/** /**
@@ -594,15 +589,10 @@ module_param_named(si_support, amdgpu_si_support, int, 0444); @@ -594,15 +589,10 @@ module_param_named(si_support, amdgpu_si_support, int, 0444);
*/ */
#ifdef CONFIG_DRM_AMDGPU_CIK #ifdef CONFIG_DRM_AMDGPU_CIK
-#if defined(CONFIG_DRM_RADEON) || defined(CONFIG_DRM_RADEON_MODULE) -#if defined(CONFIG_DRM_RADEON) || defined(CONFIG_DRM_RADEON_MODULE)
-int amdgpu_cik_support = 0; -int amdgpu_cik_support = 0;
-MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))"); -MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))");
@ -45,7 +45,7 @@ index 0ead08ba58c2..95a59d203922 100644
module_param_named(cik_support, amdgpu_cik_support, int, 0444); module_param_named(cik_support, amdgpu_cik_support, int, 0444);
+ +
#endif #endif
/** /**
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index 956c72b5aa33..5102711ece53 100644 index 956c72b5aa33..5102711ece53 100644
@ -54,7 +54,7 @@ index 956c72b5aa33..5102711ece53 100644
@@ -272,12 +272,22 @@ module_param_named(uvd, radeon_uvd, int, 0444); @@ -272,12 +272,22 @@ module_param_named(uvd, radeon_uvd, int, 0444);
MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = disable)"); MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = disable)");
module_param_named(vce, radeon_vce, int, 0444); module_param_named(vce, radeon_vce, int, 0444);
+#ifdef CONFIG_DRM_AMDGPU_SI +#ifdef CONFIG_DRM_AMDGPU_SI
+int radeon_si_support = 0; +int radeon_si_support = 0;
+MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled (default))"); +MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled (default))");
@ -63,7 +63,7 @@ index 956c72b5aa33..5102711ece53 100644
MODULE_PARM_DESC(si_support, "SI support (1 = enabled (default), 0 = disabled)"); MODULE_PARM_DESC(si_support, "SI support (1 = enabled (default), 0 = disabled)");
+#endif +#endif
module_param_named(si_support, radeon_si_support, int, 0444); module_param_named(si_support, radeon_si_support, int, 0444);
+#ifdef CONFIG_DRM_AMDGPU_CIK +#ifdef CONFIG_DRM_AMDGPU_CIK
+int radeon_cik_support = 0; +int radeon_cik_support = 0;
+MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))"); +MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))");
@ -72,7 +72,8 @@ index 956c72b5aa33..5102711ece53 100644
MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled (default), 0 = disabled)"); MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled (default), 0 = disabled)");
+#endif +#endif
module_param_named(cik_support, radeon_cik_support, int, 0444); module_param_named(cik_support, radeon_cik_support, int, 0444);
static struct pci_device_id pciidlist[] = { static struct pci_device_id pciidlist[] = {
-- --
2.35.1 2.35.1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
From ca89780690f7492c2d357e0ed2213a1d027341ae Mon Sep 17 00:00:00 2001
From: Sultan Alsawaf <sultan@kerneltoast.com>
Date: Sun, 29 May 2022 01:32:19 -0700
Subject: [PATCH] mt76: mt7921: Disable powersave features by default
This brings WiFi latency down considerably and makes latency consistent by
disabling runtime PM and typical powersave features by default. The actual
power consumption difference is inconsequential on desktops and laptops,
while the performance difference is monumental. Latencies of 20+ ms are no
longer observed after this change, and the connection is much more stable.
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
---
drivers/net/wireless/mediatek/mt76/mt7921/init.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/init.c b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
index 91fc41922d95..cfa0bb51004d 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
@@ -99,7 +99,8 @@
wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
}
wiphy->flags &= ~(WIPHY_FLAG_IBSS_RSN | WIPHY_FLAG_4ADDR_AP |
- WIPHY_FLAG_4ADDR_STATION);
+ WIPHY_FLAG_4ADDR_STATION |
+ WIPHY_FLAG_PS_ON_BY_DEFAULT);
wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
BIT(NL80211_IFTYPE_AP) |
BIT(NL80211_IFTYPE_P2P_CLIENT) |
@@ -408,12 +409,6 @@
dev->pm.idle_timeout = MT7921_PM_TIMEOUT;
dev->pm.stats.last_wake_event = jiffies;
dev->pm.stats.last_doze_event = jiffies;
- if (!mt76_is_usb(&dev->mt76)) {
- dev->pm.enable_user = true;
- dev->pm.enable = true;
- dev->pm.ds_enable_user = true;
- dev->pm.ds_enable = true;
- }
if (!mt76_is_mmio(&dev->mt76))
hw->extra_tx_headroom += MT_SDIO_TXD_SIZE + MT_SDIO_HDR_SIZE;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,51 @@
From df561bb39dc0ae974bbd1d0f88b8a75cc8c20b7c Mon Sep 17 00:00:00 2001
From: GloriousEggroll <gloriouseggroll@gmail.com>
Date: Wed, 30 Aug 2023 20:25:07 -0600
Subject: [PATCH 09/18] rog-ally-side-keys
---
drivers/hid/hid-asus.c | 8 ++++++++
drivers/hid/hid-ids.h | 1 +
2 files changed, 9 insertions(+)
diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
index fd61dba88..596196c04 100644
--- a/drivers/hid/hid-asus.c
+++ b/drivers/hid/hid-asus.c
@@ -899,6 +899,11 @@ static int asus_input_mapping(struct hid_device *hdev,
case 0x4b: asus_map_key_clear(KEY_F14); break; /* Arrows/Pg-Up/Dn toggle */
+ case 0xa5: asus_map_key_clear(KEY_F15); break; /* ROG Ally left back */
+ case 0xa6: asus_map_key_clear(KEY_F16); break; /* ROG Ally QAM button */
+ case 0xa7: asus_map_key_clear(KEY_F17); break; /* ROG Ally ROG long-press */
+ case 0xa8: asus_map_key_clear(KEY_F18); break; /* ROG Ally ROG longer-press */
+
default:
/* ASUS lazily declares 256 usages, ignore the rest,
* as some make the keyboard appear as a pointer device. */
@@ -1252,6 +1257,9 @@ static const struct hid_device_id asus_devices[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD),
QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
+ { HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
+ USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY),
+ QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD2),
QUIRK_USE_KBD_BACKLIGHT | QUIRK_ROG_NKEY_KEYBOARD },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 8a310f8ff..46f5262d7 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -208,6 +208,7 @@
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD 0x1866
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD2 0x19b6
#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_KEYBOARD3 0x1a30
+#define USB_DEVICE_ID_ASUSTEK_ROG_NKEY_ALLY 0x1abe
#define USB_DEVICE_ID_ASUSTEK_ROG_CLAYMORE_II_KEYBOARD 0x196b
#define USB_DEVICE_ID_ASUSTEK_FX503VD_KEYBOARD 0x1869
--
2.41.0

View File

@ -0,0 +1,27 @@
From 0f2c07ab93dca496a1f34399ad2ff8a954690a72 Mon Sep 17 00:00:00 2001
From: GloriousEggroll <gloriouseggroll@gmail.com>
Date: Mon, 29 May 2023 17:15:14 -0600
Subject: [PATCH] set ds controller bluetooth pollrate to 1 ms
---
drivers/hid/hid-playstation.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/hid-playstation.c b/drivers/hid/hid-playstation.c
index 8ac8f7b8e..1130663c3 100644
--- a/drivers/hid/hid-playstation.c
+++ b/drivers/hid/hid-playstation.c
@@ -330,8 +330,8 @@ struct dualsense_output_report {
* 0x3F - disabled
*/
#define DS4_OUTPUT_HWCTL_BT_POLL_MASK 0x3F
-/* Default to 4ms poll interval, which is same as USB (not adjustable). */
-#define DS4_BT_DEFAULT_POLL_INTERVAL_MS 4
+/* Default to 1ms poll interval (1000Hz, lower latency). */
+#define DS4_BT_DEFAULT_POLL_INTERVAL_MS 1
#define DS4_OUTPUT_HWCTL_CRC32 0x40
#define DS4_OUTPUT_HWCTL_HID 0x80
--
2.40.1

File diff suppressed because it is too large Load Diff

33
patches/series Executable file → Normal file
View File

@ -1,10 +1,23 @@
# Cachy patches are here: https://github.com/CachyOS/kernel-patches/ ### These patches Have some conflicts to be fixed later for now the conflicts are solved in a mega patch
# orig patch from cachy - 0001-cachyos-base-all.patch #0001-cachyos-base-all.patch
0001-cachy-all.patch #0002-eevdf.patch
0002-eevdf.patch #0002-eevdfbore.patch
0002-eevdfbore.patch #0001-Allow-to-set-custom-USB-pollrate-for-specific-device.patch
# Nobara patches are here: https://github.com/sammilucia/nobara-kernel-fork #amdgpu-si-cik-default.patch
# Allow setting custom pollrates for usb devices #0001-Revert-PCI-Add-a-REBAR-size-quirk-for-Sapphire-RX-56.patch
0004-Allow-to-set-custom-USB-pollrate-for-specific-device.patch #0001-Revert-nvme-pci-drop-redundant-pci_enable_pcie_error.patch
# Allow pre polaris cards to use the amdgpu kernel module #0001-acpi-proc-idle-skip-dummy-wait.patch
0005-amdgpu-si-cik-default.patch #0001-drm-i915-quirks-disable-async-flipping-on-specific-d.patch
#0002-drm-i915-add-kernel-parameter-to-disable-async-page-.patch
#OpenRGB.patch
#asus-linux.patch
#chimera-ALSA.patch
#lenovo-legion-laptop.patch
#linux-surface.patch
#mt76:-mt7921:-Disable-powersave-features-by-default.patch
#rog-ally-alsa.patch
#rog-ally-bmc150.patch
#rog-ally-side-keys-fix.patch
#set-ps4-bt-poll-rate-1000hz.patch
#steam-deck.patch
0001-pikaos-base-all.patch