The following commit has been merged in the master branch: commit 7c775c6056d07eb777f37c7ac1340115b27dc9f8 Merge: ebbb8be421eefbe2d47b99c2e1a6dd840d7930f9 98d187a989036096feaa2fef1ec3b2240ecdeacf Author: Linus Torvalds torvalds@linux-foundation.org Date: Wed Jan 29 14:29:57 2025 -0800
Merge tag 'dmaengine-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine
Pull dmaengine updates from Vinod Koul: "A bunch of new device support and updates to few drivers, biggest of them amd ones.
New support: - TI J722S CSI BCDMA controller support - Intel idxd Panther Lake family platforms - Allwinner F1C100s suniv DMA - Qualcomm QCS615, QCS8300, SM8750, SA8775P GPI dma controller support - AMD ae4dma controller support and reorganisation of amd driver
Updates: - Channel page support for Nvidia Tegra210 adma driver - Freescale support for S32G based platforms - Yamilfy atmel dma bindings"
* tag 'dmaengine-6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (45 commits) dmaengine: idxd: Enable Function Level Reset (FLR) for halt dmaengine: idxd: Refactor halt handler dmaengine: idxd: Add idxd_device_config_save() and idxd_device_config_restore() helpers dmaengine: idxd: Binding and unbinding IDXD device and driver dmaengine: idxd: Add idxd_pci_probe_alloc() helper dt-bindings: dma: atmel: Convert to json schema dt-bindings: dma: st-stm32-dmamux: Add description for dma-cell values dmaengine: qcom: gpi: Add GPI immediate DMA support for SPI protocol dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node dt-bindings: dma: adi,axi-dmac: convert to yaml schema dmaengine: mv_xor: switch to for_each_child_of_node_scoped() dmaengine: bcm2835-dma: Prevent suspend if DMA channel is busy dmaengine: tegra210-adma: Support channel page dt-bindings: dma: Support channel page to nvidia,tegra210-adma dmaengine: ti: k3-udma: Add support for J722S CSI BCDMA dt-bindings: dma: ti: k3-bcdma: Add J722S CSI BCDMA dmaengine: ti: edma: fix OF node reference leaks in edma_driver dmaengine: ti: edma: make the loop condition simpler in edma_probe() dmaengine: fsl-edma: read/write multiple registers in cyclic transactions dmaengine: fsl-edma: add support for S32G based platforms ...
diff --combined MAINTAINERS index 936e80f2c9ce2,ae633a697a4e4..3caa930fcba69 --- a/MAINTAINERS +++ b/MAINTAINERS @@@ -185,14 -185,6 +185,14 @@@ W: http://www.adaptec.com F: Documentation/scsi/aacraid.rst F: drivers/scsi/aacraid/
+AAEON UPBOARD FPGA MFD DRIVER +M: Thomas Richard thomas.richard@bootlin.com +S: Maintained +F: drivers/leds/leds-upboard.c +F: drivers/mfd/upboard-fpga.c +F: drivers/pinctrl/pinctrl-upboard.c +F: include/linux/mfd/upboard-fpga.h + AB8500 BATTERY AND CHARGER DRIVERS M: Linus Walleij linus.walleij@linaro.org F: Documentation/devicetree/bindings/power/supply/*ab8500* @@@ -824,7 -816,7 +824,7 @@@ F: drivers/media/platform/sunxi/sun4i-c
ALLWINNER A31 CSI DRIVER M: Yong Deng yong.deng@magewell.com -M: Paul Kocialkowski paul.kocialkowski@bootlin.com +M: Paul Kocialkowski paulk@sys-base.io L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media.git @@@ -832,7 -824,7 +832,7 @@@ F: Documentation/devicetree/bindings/me F: drivers/media/platform/sunxi/sun6i-csi/
ALLWINNER A31 ISP DRIVER -M: Paul Kocialkowski paul.kocialkowski@bootlin.com +M: Paul Kocialkowski paulk@sys-base.io L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media.git @@@ -841,7 -833,7 +841,7 @@@ F: drivers/staging/media/sunxi/sun6i-is F: drivers/staging/media/sunxi/sun6i-isp/uapi/sun6i-isp-config.h
ALLWINNER A31 MIPI CSI-2 BRIDGE DRIVER -M: Paul Kocialkowski paul.kocialkowski@bootlin.com +M: Paul Kocialkowski paulk@sys-base.io L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media.git @@@ -884,7 -876,7 +884,7 @@@ F: drivers/thermal/sun8i_thermal.
ALLWINNER VPU DRIVER M: Maxime Ripard mripard@kernel.org -M: Paul Kocialkowski paul.kocialkowski@bootlin.com +M: Paul Kocialkowski paulk@sys-base.io L: linux-media@vger.kernel.org S: Maintained F: drivers/staging/media/sunxi/cedrus/ @@@ -957,9 -949,10 +957,9 @@@ AMAZON ETHERNET DRIVER M: Shay Agroskin shayagr@amazon.com M: Arthur Kiyanovski akiyano@amazon.com R: David Arinzon darinzon@amazon.com -R: Noam Dagan ndagan@amazon.com R: Saeed Bishara saeedb@amazon.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/networking/device_drivers/ethernet/amazon/ena.rst F: drivers/net/ethernet/amazon/
@@@ -987,6 -980,12 +987,12 @@@ L: linux-edac@vger.kernel.or S: Supported F: drivers/ras/amd/atl/*
+ AMD AE4DMA DRIVER + M: Basavaraj Natikar Basavaraj.Natikar@amd.com + L: dmaengine@vger.kernel.org + S: Supported + F: drivers/dma/amd/ae4dma/ + AMD AXI W1 DRIVER M: Kris Chaplin kris.chaplin@amd.com R: Thomas Delev thomas.delev@amd.com @@@ -1128,19 -1127,11 +1134,19 @@@ L: linux-i2c@vger.kernel.or S: Supported F: drivers/i2c/busses/i2c-amd-asf-plat.c
+AMD NODE DRIVER +M: Mario Limonciello mario.limonciello@amd.com +M: Yazen Ghannam yazen.ghannam@amd.com +L: linux-kernel@vger.kernel.org +S: Supported +F: arch/x86/include/asm/amd_node.h +F: arch/x86/kernel/amd_node.c + AMD PDS CORE DRIVER M: Shannon Nelson shannon.nelson@amd.com M: Brett Creeley brett.creeley@amd.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/networking/device_drivers/ethernet/amd/pds_core.rst F: drivers/net/ethernet/amd/pds_core/ F: include/linux/pds/ @@@ -1148,7 -1139,7 +1154,7 @@@ AMD PMC DRIVER M: Shyam Sundar S K Shyam-sundar.S-k@amd.com L: platform-driver-x86@vger.kernel.org -S: Maintained +S: Supported F: drivers/platform/x86/amd/pmc/
AMD PMF DRIVER @@@ -1179,8 -1170,8 +1185,8 @@@ F: tools/power/x86/amd_pstate_tracer/am AMD PTDMA DRIVER M: Basavaraj Natikar Basavaraj.Natikar@amd.com L: dmaengine@vger.kernel.org - S: Maintained - F: drivers/dma/ptdma/ + S: Supported + F: drivers/dma/amd/ptdma/
AMD QDMA DRIVER M: Nishad Saraf nishads@amd.com @@@ -1209,21 -1200,10 +1215,21 @@@ L: linux-spi@vger.kernel.or S: Supported F: drivers/spi/spi-amd.c
+AMD XDNA DRIVER +M: Min Ma min.ma@amd.com +M: Lizhi Hou lizhi.hou@amd.com +L: dri-devel@lists.freedesktop.org +S: Supported +T: git https://gitlab.freedesktop.org/drm/misc/kernel.git +F: Documentation/accel/amdxdna/ +F: drivers/accel/amdxdna/ +F: include/trace/events/amdxdna.h +F: include/uapi/drm/amdxdna_accel.h + AMD XGBE DRIVER M: "Shyam Sundar S K" Shyam-sundar.S-k@amd.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: arch/arm64/boot/dts/amd/amd-seattle-xgbe*.dtsi F: drivers/net/ethernet/amd/xgbe/
@@@ -1252,7 -1232,7 +1258,7 @@@ S: Maintaine F: Documentation/devicetree/bindings/rtc/amlogic,a4-rtc.yaml F: drivers/rtc/rtc-amlogic-a4.c
-AMPHENOL CHIPCAP 2 HUMIDITY-TEMPERATURE IIO DRIVER +AMPHENOL CHIPCAP 2 DRIVER M: Javier Carrasco javier.carrasco.cruz@gmail.com L: linux-hwmon@vger.kernel.org S: Maintained @@@ -1318,7 -1298,7 +1324,7 @@@ W: https://ez.analog.com/linux-software F: Documentation/devicetree/bindings/iio/adc/adi,ad4695.yaml F: Documentation/iio/ad4695.rst F: drivers/iio/adc/ad4695.c -F: include/dt-bindings/iio/adi,ad4695.h +F: include/dt-bindings/iio/adc/adi,ad4695.h
ANALOG DEVICES INC AD7091R DRIVER M: Marcelo Schmitt marcelo.schmitt@analog.com @@@ -1729,14 -1709,14 +1735,14 @@@ F: drivers/edac/xgene_edac. APPLIED MICRO (APM) X-GENE SOC ETHERNET (V2) DRIVER M: Iyappan Subramanian iyappan@os.amperecomputing.com M: Keyur Chudgar keyur@os.amperecomputing.com -S: Supported +S: Maintained F: drivers/net/ethernet/apm/xgene-v2/
APPLIED MICRO (APM) X-GENE SOC ETHERNET DRIVER M: Iyappan Subramanian iyappan@os.amperecomputing.com M: Keyur Chudgar keyur@os.amperecomputing.com M: Quan Nguyen quan@os.amperecomputing.com -S: Supported +S: Maintained F: Documentation/devicetree/bindings/net/apm-xgene-enet.txt F: Documentation/devicetree/bindings/net/apm-xgene-mdio.txt F: drivers/net/ethernet/apm/xgene/ @@@ -1774,7 -1754,7 +1780,7 @@@ F: drivers/hwmon/aquacomputer_d5next. AQUANTIA ETHERNET DRIVER (atlantic) M: Igor Russkikh irusskikh@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: https://www.marvell.com/ Q: https://patchwork.kernel.org/project/netdevbpf/list/ F: Documentation/networking/device_drivers/ethernet/aquantia/atlantic.rst @@@ -1783,7 -1763,7 +1789,7 @@@ F: drivers/net/ethernet/aquantia/atlant AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM M: Egor Pomozov epomozov@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: http://www.aquantia.com F: drivers/net/ethernet/aquantia/atlantic/aq_ptp*
@@@ -1823,6 -1803,7 +1829,6 @@@ F: include/uapi/linux/if_arcnet.
ARM AND ARM64 SoC SUB-ARCHITECTURES (COMMON PARTS) M: Arnd Bergmann arnd@arndb.de -M: Olof Johansson olof@lixom.net L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: soc@lists.linux.dev S: Maintained @@@ -1945,7 -1926,6 +1951,7 @@@ ARM PMU PROFILING AND DEBUGGIN M: Will Deacon will@kernel.org M: Mark Rutland mark.rutland@arm.com L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) +L: linux-perf-users@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/arm/pmu.yaml F: Documentation/devicetree/bindings/perf/ @@@ -2309,15 -2289,6 +2315,15 @@@ F: arch/arm64/boot/dts/bitmain F: drivers/clk/clk-bm1880.c F: drivers/pinctrl/pinctrl-bm1880.c
+ARM/BLAIZE ARCHITECTURE +M: James Cowgill james.cowgill@blaize.com +M: Matt Redfearn matt.redfearn@blaize.com +M: Neil Jones neil.jones@blaize.com +M: Nikolaos Pasaloukos nikolaos.pasaloukos@blaize.com +S: Maintained +F: Documentation/devicetree/bindings/arm/blaize.yaml +F: arch/arm64/boot/dts/blaize/ + ARM/CALXEDA HIGHBANK ARCHITECTURE M: Andre Przywara andre.przywara@arm.com L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) @@@ -2328,7 -2299,7 +2334,7 @@@ F: arch/arm/mach-highbank ARM/CAVIUM THUNDER NETWORK DRIVER M: Sunil Goutham sgoutham@marvell.com L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) -S: Supported +S: Maintained F: drivers/net/ethernet/cavium/thunder/
ARM/CIRRUS LOGIC BK3 MACHINE SUPPORT @@@ -2726,6 -2697,7 +2732,6 @@@ N: at9 N: atmel
ARM/Microchip Sparx5 SoC support -M: Lars Povlsen lars.povlsen@microchip.com M: Steen Hegelund Steen.Hegelund@microchip.com M: Daniel Machon daniel.machon@microchip.com M: UNGLinuxDriver@microchip.com @@@ -2864,19 -2836,12 +2870,19 @@@ ARM/NXP S32G ARCHITECTUR R: Chester Lin chester62515@gmail.com R: Matthias Brugger mbrugger@suse.com R: Ghennadi Procopciuc ghennadi.procopciuc@oss.nxp.com -L: NXP S32 Linux Team s32@nxp.com +R: NXP S32 Linux Team s32@nxp.com L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained F: arch/arm64/boot/dts/freescale/s32g*.dts* F: drivers/pinctrl/nxp/
+ARM/NXP S32G/S32R DWMAC ETHERNET DRIVER +M: Jan Petrous jan.petrous@oss.nxp.com +L: NXP S32 Linux Team s32@nxp.com +S: Maintained +F: Documentation/devicetree/bindings/net/nxp,s32-dwmac.yaml +F: drivers/net/ethernet/stmicro/stmmac/dwmac-s32.c + ARM/Orion SoC/Technologic Systems TS-78xx platform support M: Alexander Clouter alex@digriz.org.uk L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) @@@ -3064,7 -3029,6 +3070,7 @@@ F: drivers/*/*s3c24 F: drivers/*/*s3c64xx* F: drivers/*/*s5pv210* F: drivers/clocksource/samsung_pwm_timer.c +F: drivers/mailbox/exynos-mailbox.c F: drivers/memory/samsung/ F: drivers/pwm/pwm-samsung.c F: drivers/soc/samsung/ @@@ -3418,8 -3382,6 +3424,8 @@@ S: Maintaine T: git git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git F: Documentation/arch/arm64/ F: arch/arm64/ +F: drivers/virt/coco/arm-cca-guest/ +F: drivers/virt/coco/pkvm-guest/ F: tools/testing/selftests/arm64/ X: arch/arm64/boot/dts/
@@@ -3650,7 -3612,6 +3656,7 @@@ F: drivers/phy/qualcomm/phy-ath79-usb.
ATHEROS ATH GENERIC UTILITIES M: Kalle Valo kvalo@kernel.org +M: Jeff Johnson jjohnson@kernel.org L: linux-wireless@vger.kernel.org S: Supported F: drivers/net/wireless/ath/* @@@ -3704,7 -3665,7 +3710,7 @@@ F: include/uapi/linux/sonet. ATMEL MACB ETHERNET DRIVER M: Nicolas Ferre nicolas.ferre@microchip.com M: Claudiu Beznea claudiu.beznea@tuxon.dev -S: Supported +S: Maintained F: drivers/net/ethernet/cadence/
ATMEL MAXTOUCH DRIVER @@@ -3912,9 -3873,9 +3918,9 @@@ S: Maintaine F: drivers/platform/x86/barco-p50-gpio.c
BATMAN ADVANCED -M: Marek Lindner mareklindner@neomailbox.ch +M: Marek Lindner marek.lindner@mailbox.org M: Simon Wunderlich sw@simonwunderlich.de -M: Antonio Quartulli a@unstable.cc +M: Antonio Quartulli antonio@mandelbit.com M: Sven Eckelmann sven@narfation.org L: b.a.t.m.a.n@lists.open-mesh.org (moderated for non-subscribers) S: Maintained @@@ -3936,7 -3897,7 +3942,7 @@@ W: http://www.baycom.org/~tom/ham/ham.h F: drivers/net/hamradio/baycom*
BCACHE (BLOCK LAYER CACHE) -M: Coly Li colyli@suse.de +M: Coly Li colyli@kernel.org M: Kent Overstreet kent.overstreet@linux.dev L: linux-bcache@vger.kernel.org S: Maintained @@@ -4101,6 -4062,7 +4107,6 @@@ F: net/bluetooth
BONDING DRIVER M: Jay Vosburgh jv@jvosburgh.net -M: Andy Gospodarek andy@greyhouse.net L: netdev@vger.kernel.org S: Maintained F: Documentation/networking/bonding.rst @@@ -4173,6 -4135,7 +4179,6 @@@ S: Odd Fixe F: drivers/net/ethernet/netronome/nfp/bpf/
BPF JIT for POWERPC (32-BIT AND 64-BIT) -M: Michael Ellerman mpe@ellerman.id.au M: Hari Bathini hbathini@linux.ibm.com M: Christophe Leroy christophe.leroy@csgroup.eu R: Naveen N Rao naveen@kernel.org @@@ -4432,7 -4395,7 +4438,7 @@@ F: drivers/net/ethernet/broadcom/asp2 BROADCOM B44 10/100 ETHERNET DRIVER M: Michael Chan michael.chan@broadcom.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/broadcom/b44.*
BROADCOM B53/SF2 ETHERNET SWITCH DRIVER @@@ -4616,7 -4579,7 +4622,7 @@@ BROADCOM BNX2 GIGABIT ETHERNET DRIVE M: Rasesh Mody rmody@marvell.com M: GR-Linux-NIC-Dev@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/broadcom/bnx2.* F: drivers/net/ethernet/broadcom/bnx2_*
@@@ -4640,14 -4603,13 +4646,14 @@@ BROADCOM BNX2X 10 GIGABIT ETHERNET DRIV M: Sudarsana Kalluru skalluru@marvell.com M: Manish Chopra manishc@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/broadcom/bnx2x/
BROADCOM BNXT_EN 50 GIGABIT ETHERNET DRIVER M: Michael Chan michael.chan@broadcom.com +M: Pavan Chebbi pavan.chebbi@broadcom.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/firmware/broadcom/tee_bnxt_fw.c F: drivers/net/ethernet/broadcom/bnxt/ F: include/linux/firmware/broadcom/tee_bnxt_fw.h @@@ -4743,7 -4705,7 +4749,7 @@@ M: Doug Berger <opendmb@gmail.com M: Florian Fainelli florian.fainelli@broadcom.com R: Broadcom internal kernel review list bcm-kernel-feedback-list@broadcom.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/devicetree/bindings/net/brcm,bcmgenet.yaml F: Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml F: drivers/net/ethernet/broadcom/genet/ @@@ -4810,7 -4772,6 +4816,7 @@@ F: drivers/scsi/mpi3mr
BROADCOM NETXTREME-E ROCE DRIVER M: Selvin Xavier selvin.xavier@broadcom.com +M: Kalesh AP kalesh-anakkur.purayil@broadcom.com L: linux-rdma@vger.kernel.org S: Supported W: http://www.broadcom.com @@@ -4896,7 -4857,7 +4902,7 @@@ BROADCOM SYSTEMPORT ETHERNET DRIVE M: Florian Fainelli florian.fainelli@broadcom.com R: Broadcom internal kernel review list bcm-kernel-feedback-list@broadcom.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/devicetree/bindings/net/brcm,systemport.yaml F: drivers/net/ethernet/broadcom/bcmsysport.* F: drivers/net/ethernet/broadcom/unimac.h @@@ -4905,7 -4866,7 +4911,7 @@@ BROADCOM TG3 GIGABIT ETHERNET DRIVE M: Pavan Chebbi pavan.chebbi@broadcom.com M: Michael Chan mchan@broadcom.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/broadcom/tg3.*
BROADCOM VK DRIVER @@@ -4927,7 -4888,7 +4933,7 @@@ M: Rasesh Mody <rmody@marvell.com M: Sudarsana Kalluru skalluru@marvell.com M: GR-Linux-NIC-Dev@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/brocade/bna/
BSG (block layer generic sg v4 driver) @@@ -5054,7 -5015,7 +5060,7 @@@ F: drivers/media/platform/cadence/cdns- CADENCE NAND DRIVER L: linux-mtd@lists.infradead.org S: Orphan -F: Documentation/devicetree/bindings/mtd/cadence-nand-controller.txt +F: Documentation/devicetree/bindings/mtd/cdns,hp-nfc.yaml F: drivers/mtd/nand/raw/cadence-nand-controller.c
CADENCE USB3 DRD IP DRIVER @@@ -5153,7 -5114,6 +5159,7 @@@ F: include/uapi/linux/can/gw. F: include/uapi/linux/can/isotp.h F: include/uapi/linux/can/raw.h F: net/can/ +F: net/sched/em_canid.c
CAN-J1939 NETWORK LAYER M: Robin van der Gracht robin@protonic.nl @@@ -5193,7 -5153,6 +5199,7 @@@ M: Serge Hallyn <serge@hallyn.com L: linux-security-module@vger.kernel.org S: Supported F: include/linux/capability.h +F: include/trace/events/capability.h F: include/uapi/linux/capability.h F: kernel/capability.c F: security/commoncap.c @@@ -5366,7 -5325,6 +5372,7 @@@ T: git git://git.kernel.org/pub/scm/lin F: drivers/char/ F: drivers/misc/ F: include/linux/miscdevice.h +F: samples/rust/rust_misc_device.rs X: drivers/char/agp/ X: drivers/char/hw_random/ X: drivers/char/ipmi/ @@@ -5482,12 -5440,9 +5488,12 @@@ F: include/linux/platform_data/cros_usb
CHROMEOS EC USB TYPE-C DRIVER M: Prashant Malani pmalani@chromium.org +M: Benson Leung bleung@chromium.org +M: Abhishek Pandit-Subedi abhishekpandit@chromium.org L: chrome-platform@lists.linux.dev S: Maintained F: drivers/platform/chrome/cros_ec_typec.* +F: drivers/platform/chrome/cros_typec_altmode.* F: drivers/platform/chrome/cros_typec_switch.c F: drivers/platform/chrome/cros_typec_vdm.*
@@@ -5503,13 -5458,6 +5509,13 @@@ L: chrome-platform@lists.linux.de S: Maintained F: drivers/watchdog/cros_ec_wdt.c
+CHROMEOS UCSI DRIVER +M: Abhishek Pandit-Subedi abhishekpandit@chromium.org +M: Łukasz Bartosik ukaszb@chromium.org +L: chrome-platform@lists.linux.dev +S: Maintained +F: drivers/usb/typec/ucsi/cros_ec_ucsi.c + CHRONTEL CH7322 CEC DRIVER M: Joe Tessler jrt@google.com L: linux-media@vger.kernel.org @@@ -5525,7 -5473,6 +5531,7 @@@ L: linux-sound@vger.kernel.or L: patches@opensource.cirrus.com S: Maintained F: Documentation/devicetree/bindings/sound/cirrus,cs* +F: Documentation/sound/codecs/cs* F: drivers/mfd/cs42l43* F: drivers/pinctrl/cirrus/pinctrl-cs42l43* F: drivers/spi/spi-cs42l43* @@@ -5558,8 -5505,8 +5564,8 @@@ L: patches@opensource.cirrus.co S: Supported W: https://github.com/CirrusLogic/linux-drivers/wiki T: git https://github.com/CirrusLogic/linux-drivers.git -F: drivers/firmware/cirrus/* -F: include/linux/firmware/cirrus/* +F: drivers/firmware/cirrus/ +F: include/linux/firmware/cirrus/
CIRRUS LOGIC EP93XX ETHERNET DRIVER M: Hartley Sweeten hsweeten@visionengravers.com @@@ -5629,7 -5576,7 +5635,7 @@@ F: drivers/scsi/snic CISCO VIC ETHERNET NIC DRIVER M: Christian Benvenuti benve@cisco.com M: Satish Kharat satishkh@cisco.com -S: Supported +S: Maintained F: drivers/net/ethernet/cisco/enic/
CISCO VIC LOW LATENCY NIC DRIVER @@@ -6115,30 -6062,12 +6121,30 @@@ S: Maintaine F: Documentation/filesystems/cramfs.rst F: fs/cramfs/
+CRC LIBRARY +M: Eric Biggers ebiggers@kernel.org +R: Ard Biesheuvel ardb@kernel.org +L: linux-crypto@vger.kernel.org +S: Maintained +T: git https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git crc-next +F: Documentation/staging/crc* +F: arch/*/lib/crc* +F: include/linux/crc* +F: lib/crc* + CREATIVE SB0540 M: Bastien Nocera hadess@hadess.net L: linux-input@vger.kernel.org S: Maintained F: drivers/hid/hid-creative-sb0540.c
+INTEL CRPS COMMON REDUNDANT PSU DRIVER +M: Ninad Palsule ninad@linux.ibm.com +L: linux-hwmon@vger.kernel.org +S: Maintained +F: Documentation/hwmon/crps.rst +F: drivers/hwmon/pmbus/crps.c + CRYPTO API M: Herbert Xu herbert@gondor.apana.org.au M: "David S. Miller" davem@davemloft.net @@@ -6245,7 -6174,7 +6251,7 @@@ F: drivers/media/dvb-frontends/cxd2820r CXGB3 ETHERNET DRIVER (CXGB3) M: Potnuri Bharat Teja bharat@chelsio.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: http://www.chelsio.com F: drivers/net/ethernet/chelsio/cxgb3/
@@@ -6266,14 -6195,14 +6272,14 @@@ F: drivers/crypto/chelsi CXGB4 ETHERNET DRIVER (CXGB4) M: Potnuri Bharat Teja bharat@chelsio.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: http://www.chelsio.com F: drivers/net/ethernet/chelsio/cxgb4/
CXGB4 INLINE CRYPTO DRIVER M: Ayush Sawal ayush.sawal@chelsio.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: http://www.chelsio.com F: drivers/net/ethernet/chelsio/inline_crypto/
@@@ -6295,7 -6224,7 +6301,7 @@@ F: include/uapi/rdma/cxgb4-abi. CXGB4VF ETHERNET DRIVER (CXGB4VF) M: Potnuri Bharat Teja bharat@chelsio.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: http://www.chelsio.com F: drivers/net/ethernet/chelsio/cxgb4vf/
@@@ -6303,8 -6232,8 +6309,8 @@@ CXL (IBM Coherent Accelerator Processo M: Frederic Barrat fbarrat@linux.ibm.com M: Andrew Donnellan ajd@linux.ibm.com L: linuxppc-dev@lists.ozlabs.org -S: Supported -F: Documentation/ABI/testing/sysfs-class-cxl +S: Obsolete +F: Documentation/ABI/obsolete/sysfs-class-cxl F: Documentation/arch/powerpc/cxl.rst F: arch/powerpc/platforms/powernv/pci-cxl.c F: drivers/misc/cxl/ @@@ -6405,7 -6334,6 +6411,7 @@@ F: Documentation/mm/damon F: include/linux/damon.h F: include/trace/events/damon.h F: mm/damon/ +F: samples/damon/ F: tools/testing/selftests/damon/
DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER @@@ -6726,14 -6654,19 +6732,14 @@@ L: linux-rtc@vger.kernel.or S: Maintained F: drivers/rtc/rtc-sd2405al.c
-DH ELECTRONICS IMX6 DHCOM/DHCOR BOARD SUPPORT +DH ELECTRONICS DHSOM SOM AND BOARD SUPPORT M: Christoph Niedermaier cniedermaier@dh-electronics.com -L: kernel@dh-electronics.com -S: Maintained -F: arch/arm/boot/dts/nxp/imx/imx6*-dhcom-* -F: arch/arm/boot/dts/nxp/imx/imx6*-dhcor-* - -DH ELECTRONICS STM32MP1 DHCOM/DHCOR BOARD SUPPORT M: Marek Vasut marex@denx.de L: kernel@dh-electronics.com S: Maintained -F: arch/arm/boot/dts/st/stm32mp1*-dhcom-* -F: arch/arm/boot/dts/st/stm32mp1*-dhcor-* +N: dhcom +N: dhcor +N: dhsom
DIALOG SEMICONDUCTOR DRIVERS M: Support Opensource support.opensource@diasemi.com @@@ -7092,7 -7025,6 +7098,7 @@@ F: include/linux/component. DRIVER CORE, KOBJECTS, DEBUGFS AND SYSFS M: Greg Kroah-Hartman gregkh@linuxfoundation.org R: "Rafael J. Wysocki" rafael@kernel.org +R: Danilo Krummrich dakr@kernel.org S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git F: Documentation/core-api/kobject.rst @@@ -7103,14 -7035,8 +7109,14 @@@ F: include/linux/debugfs. F: include/linux/fwnode.h F: include/linux/kobj* F: include/linux/property.h +F: include/linux/sysfs.h F: lib/kobj* F: rust/kernel/device.rs +F: rust/kernel/device_id.rs +F: rust/kernel/devres.rs +F: rust/kernel/driver.rs +F: rust/kernel/platform.rs +F: samples/rust/rust_driver_platform.rs
DRIVERS FOR OMAP ADAPTIVE VOLTAGE SCALING (AVS) M: Nishanth Menon nm@ti.com @@@ -7148,8 -7074,7 +7154,8 @@@ T: git https://gitlab.freedesktop.org/d F: drivers/gpu/drm/sun4i/sun8i*
DRM DRIVER FOR ARM PL111 CLCD -S: Orphan +M: Linus Walleij linus.walleij@linaro.org +S: Maintained T: git https://gitlab.freedesktop.org/drm/misc/kernel.git F: drivers/gpu/drm/pl111/
@@@ -7315,7 -7240,7 +7321,7 @@@ F: Documentation/devicetree/bindings/di F: drivers/gpu/drm/panel/panel-lg-sw43408.c
DRM DRIVER FOR LOGICVC DISPLAY CONTROLLER -M: Paul Kocialkowski paul.kocialkowski@bootlin.com +M: Paul Kocialkowski paulk@sys-base.io S: Supported T: git https://gitlab.freedesktop.org/drm/misc/kernel.git F: drivers/gpu/drm/logicvc/ @@@ -7426,7 -7351,7 +7432,7 @@@ F: drivers/gpu/drm/panel/panel-novatek- DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS M: Karol Herbst kherbst@redhat.com M: Lyude Paul lyude@redhat.com -M: Danilo Krummrich dakr@redhat.com +M: Danilo Krummrich dakr@kernel.org L: dri-devel@lists.freedesktop.org L: nouveau@lists.freedesktop.org S: Supported @@@ -7464,7 -7389,7 +7470,7 @@@ L: virtualization@lists.linux.de S: Obsolete W: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ T: git https://gitlab.freedesktop.org/drm/misc/kernel.git -F: drivers/gpu/drm/tiny/cirrus.c +F: drivers/gpu/drm/tiny/cirrus-qemu.c
DRM DRIVER FOR QXL VIRTUAL GPU M: Dave Airlie airlied@redhat.com @@@ -7875,7 -7800,6 +7881,7 @@@ F: drivers/gpu/drm/rockchip
DRM DRIVERS FOR STI M: Alain Volmat alain.volmat@foss.st.com +M: Raphael Gallais-Pou rgallaispou@gmail.com L: dri-devel@lists.freedesktop.org S: Maintained T: git https://gitlab.freedesktop.org/drm/misc/kernel.git @@@ -8476,7 -8400,7 +8482,7 @@@ M: Ajit Khaparde <ajit.khaparde@broadco M: Sriharsha Basavapatna sriharsha.basavapatna@broadcom.com M: Somnath Kotur somnath.kotur@broadcom.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: http://www.emulex.com F: drivers/net/ethernet/emulex/benet/
@@@ -8533,7 -8457,7 +8539,7 @@@ F: include/video/s1d13xxxfb. EROFS FILE SYSTEM M: Gao Xiang xiang@kernel.org M: Chao Yu chao@kernel.org -R: Yue Hu huyue2@coolpad.com +R: Yue Hu zbestahu@gmail.com R: Jeffle Xu jefflexu@linux.alibaba.com R: Sandeep Dhavale dhavale@google.com L: linux-erofs@lists.ozlabs.org @@@ -8631,8 -8555,8 +8637,8 @@@ F: rust/kernel/net/phy.r F: rust/kernel/net/phy/reg.rs
EXEC & BINFMT API, ELF +M: Kees Cook kees@kernel.org R: Eric Biederman ebiederm@xmission.com -R: Kees Cook kees@kernel.org L: linux-mm@kvack.org S: Supported T: git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/execve @@@ -8644,7 -8568,6 +8650,7 @@@ F: fs/tests/binfmt_*_kunit. F: fs/tests/exec_kunit.c F: include/linux/binfmts.h F: include/linux/elf.h +F: include/uapi/linux/auxvec.h F: include/uapi/linux/binfmts.h F: include/uapi/linux/elf.h F: tools/testing/selftests/exec/ @@@ -8718,7 -8641,6 +8724,7 @@@ L: linux-kernel@vger.kernel.or S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git F: Documentation/devicetree/bindings/extcon/ +F: Documentation/driver-api/extcon.rst F: Documentation/firmware-guide/acpi/extcon-intel-int3496.rst F: drivers/extcon/ F: include/linux/extcon.h @@@ -9006,7 -8928,7 +9012,7 @@@ F: include/linux/arm_ffa. FIRMWARE LOADER (request_firmware) M: Luis Chamberlain mcgrof@kernel.org M: Russ Weight russ.weight@linux.dev -M: Danilo Krummrich dakr@redhat.com +M: Danilo Krummrich dakr@kernel.org L: linux-kernel@vger.kernel.org S: Maintained F: Documentation/firmware_class/ @@@ -9033,16 -8955,14 +9039,16 @@@ L: linux-input@vger.kernel.or S: Maintained F: drivers/input/joystick/fsia6b.c
-FOCUSRITE SCARLETT2 MIXER DRIVER (Scarlett Gen 2+ and Clarett) +FOCUSRITE CONTROL PROTOCOL/SCARLETT2 MIXER DRIVERS (Scarlett Gen 2+, Clarett, and Vocaster) M: Geoffrey D. Bennett g@b4.vu L: linux-sound@vger.kernel.org S: Maintained -W: https://github.com/geoffreybennett/scarlett-gen2 -B: https://github.com/geoffreybennett/scarlett-gen2/issues -T: git https://github.com/geoffreybennett/scarlett-gen2.git +W: https://github.com/geoffreybennett/linux-fcp +B: https://github.com/geoffreybennett/linux-fcp/issues +T: git https://github.com/geoffreybennett/linux-fcp.git +F: include/uapi/sound/fcp.h F: include/uapi/sound/scarlett2.h +F: sound/usb/fcp.c F: sound/usb/mixer_scarlett2.c
FORCEDETH GIGABIT ETHERNET DRIVER @@@ -9519,7 -9439,7 +9525,7 @@@ F: samples/ftrac FUNGIBLE ETHERNET DRIVERS M: Dimitris Michailidis dmichail@fungible.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/fungible/
FUSE: FILESYSTEM IN USERSPACE @@@ -9824,7 -9744,7 +9830,7 @@@ M: Jeroen de Borst <jeroendb@google.com M: Praveen Kaligineedi pkaligineedi@google.com R: Shailend Chand shailend@google.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/networking/device_drivers/ethernet/google/gve.rst F: drivers/net/ethernet/google
@@@ -9839,12 -9759,9 +9845,12 @@@ F: drivers/firmware/google
GOOGLE TENSOR SoC SUPPORT M: Peter Griffin peter.griffin@linaro.org +R: André Draszik andre.draszik@linaro.org +R: Tudor Ambarus tudor.ambarus@linaro.org L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) L: linux-samsung-soc@vger.kernel.org S: Maintained +C: irc://irc.oftc.net/pixel6-kernel-dev F: Documentation/devicetree/bindings/clock/google,gs101-clock.yaml F: arch/arm64/boot/dts/exynos/google/ F: drivers/clk/samsung/clk-gs101.c @@@ -10119,8 -10036,7 +10125,8 @@@ F: include/trace/events/handshake. F: net/handshake/
HANTRO VPU CODEC DRIVER -M: Ezequiel Garcia ezequiel@vanguardiasur.com.ar +M: Nicolas Dufresne nicolas.dufresne@collabora.com +M: Benjamin Gaignard benjamin.gaignard@collabora.com M: Philipp Zabel p.zabel@pengutronix.de L: linux-media@vger.kernel.org L: linux-rockchip@lists.infradead.org @@@ -10368,6 -10284,7 +10374,6 @@@ F: drivers/input/touchscreen/himax_hx83
HIPPI M: Jes Sorensen jes@trained-monkey.org -L: linux-hippi@sunsite.dk S: Maintained F: drivers/net/hippi/ F: include/linux/hippidevice.h @@@ -10760,8 -10677,10 +10766,8 @@@ F: Documentation/devicetree/bindings/bu F: Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst F: Documentation/virt/hyperv F: arch/arm64/hyperv -F: arch/arm64/include/asm/hyperv-tlfs.h F: arch/arm64/include/asm/mshyperv.h F: arch/x86/hyperv -F: arch/x86/include/asm/hyperv-tlfs.h F: arch/x86/include/asm/mshyperv.h F: arch/x86/include/asm/trace/hyperv.h F: arch/x86/kernel/cpu/mshyperv.c @@@ -10777,13 -10696,9 +10783,13 @@@ F: drivers/pci/controller/pci-hyperv. F: drivers/scsi/storvsc_drv.c F: drivers/uio/uio_hv_generic.c F: drivers/video/fbdev/hyperv_fb.c -F: include/asm-generic/hyperv-tlfs.h F: include/asm-generic/mshyperv.h F: include/clocksource/hyperv_timer.h +F: include/hyperv/hvgdk.h +F: include/hyperv/hvgdk_ext.h +F: include/hyperv/hvgdk_mini.h +F: include/hyperv/hvhdk.h +F: include/hyperv/hvhdk_mini.h F: include/linux/hyperv.h F: include/net/mana F: include/uapi/linux/hyperv.h @@@ -11051,7 -10966,7 +11057,7 @@@ M: Rick Lindsley <ricklind@linux.ibm.co R: Nick Child nnac123@linux.ibm.com R: Thomas Falcon tlfalcon@linux.ibm.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/ibm/ibmvnic.*
IBM Power VFIO Support @@@ -11062,7 -10977,7 +11068,7 @@@ F: drivers/vfio/vfio_iommu_spapr_tce. IBM Power Virtual Ethernet Device Driver M: Nick Child nnac123@linux.ibm.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/ibm/ibmveth.*
IBM Power Virtual FC Device Drivers @@@ -11531,8 -11446,9 +11537,8 @@@ F: drivers/mfd/intel_pmc_bxt. F: include/linux/mfd/intel_pmc_bxt.h
INTEL C600 SERIES SAS CONTROLLER DRIVER -M: Artur Paszkiewicz artur.paszkiewicz@intel.com L: linux-scsi@vger.kernel.org -S: Supported +S: Orphan T: git git://git.code.sf.net/p/intel-sas/isci F: drivers/scsi/isci/
@@@ -11594,7 -11510,7 +11600,7 @@@ INTEL ETHERNET DRIVER M: Tony Nguyen anthony.l.nguyen@intel.com M: Przemek Kitszel przemyslaw.kitszel@intel.com L: intel-wired-lan@lists.osuosl.org (moderated for non-subscribers) -S: Supported +S: Maintained W: https://www.intel.com/content/www/us/en/support.html Q: https://patchwork.ozlabs.org/project/intel-wired-lan/list/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue.git @@@ -11963,12 -11879,6 +11969,12 @@@ S: Maintaine F: arch/x86/include/asm/intel_telemetry.h F: drivers/platform/x86/intel/telemetry/
+INTEL TOUCH HOST CONTROLLER (THC) DRIVER +M: Even Xu even.xu@intel.com +M: Xinpeng Sun xinpeng.sun@intel.com +S: Maintained +F: drivers/hid/intel-thc-hid/ + INTEL TPMI DRIVER M: Srinivas Pandruvada srinivas.pandruvada@linux.intel.com L: platform-driver-x86@vger.kernel.org @@@ -12169,7 -12079,7 +12175,7 @@@ F: include/uapi/linux/io_uring. F: io_uring/
IPMI SUBSYSTEM -M: Corey Minyard minyard@acm.org +M: Corey Minyard corey@minyard.net L: openipmi-developer@lists.sourceforge.net (moderated for non-subscribers) S: Supported W: http://openipmi.sourceforge.net/ @@@ -12481,13 -12391,6 +12487,13 @@@ F: Documentation/kbuild/kconfig F: scripts/Kconfig.include F: scripts/kconfig/
+KCORE +M: Omar Sandoval osandov@osandov.com +L: linux-debuggers@vger.kernel.org +S: Maintained +F: fs/proc/kcore.c +F: include/linux/kcore.h + KCOV R: Dmitry Vyukov dvyukov@google.com R: Andrey Konovalov andreyknvl@gmail.com @@@ -12706,8 -12609,8 +12712,8 @@@ F: arch/arm64/include/asm/kvm F: arch/arm64/include/uapi/asm/kvm* F: arch/arm64/kvm/ F: include/kvm/arm_* -F: tools/testing/selftests/kvm/*/aarch64/ -F: tools/testing/selftests/kvm/aarch64/ +F: tools/testing/selftests/kvm/*/arm64/ +F: tools/testing/selftests/kvm/arm64/
KERNEL VIRTUAL MACHINE FOR LOONGARCH (KVM/LoongArch) M: Tianrui Zhao zhaotianrui@loongson.cn @@@ -12733,7 -12636,7 +12739,7 @@@ F: arch/mips/include/uapi/asm/kvm F: arch/mips/kvm/
KERNEL VIRTUAL MACHINE FOR POWERPC (KVM/powerpc) -M: Michael Ellerman mpe@ellerman.id.au +M: Madhavan Srinivasan maddy@linux.ibm.com R: Nicholas Piggin npiggin@gmail.com L: linuxppc-dev@lists.ozlabs.org L: kvm@vger.kernel.org @@@ -12778,8 -12681,8 +12784,8 @@@ F: arch/s390/kvm F: arch/s390/mm/gmap.c F: drivers/s390/char/uvdevice.c F: tools/testing/selftests/drivers/s390x/uvdevice/ -F: tools/testing/selftests/kvm/*/s390x/ -F: tools/testing/selftests/kvm/s390x/ +F: tools/testing/selftests/kvm/*/s390/ +F: tools/testing/selftests/kvm/s390/
KERNEL VIRTUAL MACHINE FOR X86 (KVM/x86) M: Sean Christopherson seanjc@google.com @@@ -12796,8 -12699,8 +12802,8 @@@ F: arch/x86/include/uapi/asm/svm. F: arch/x86/include/uapi/asm/vmx.h F: arch/x86/kvm/ F: arch/x86/kvm/*/ -F: tools/testing/selftests/kvm/*/x86_64/ -F: tools/testing/selftests/kvm/x86_64/ +F: tools/testing/selftests/kvm/*/x86/ +F: tools/testing/selftests/kvm/x86/
KERNFS M: Greg Kroah-Hartman gregkh@linuxfoundation.org @@@ -12912,7 -12815,7 +12918,7 @@@ L: kgdb-bugreport@lists.sourceforge.ne S: Maintained W: http://kgdb.wiki.kernel.org/ T: git git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb.git -F: Documentation/dev-tools/kgdb.rst +F: Documentation/process/debugging/kgdb.rst F: drivers/misc/kgdbts.c F: drivers/tty/serial/kgdboc.c F: include/linux/kdb.h @@@ -13215,7 -13118,7 +13221,7 @@@ LIBETH COMMON ETHERNET LIBRAR M: Alexander Lobakin aleksander.lobakin@intel.com L: netdev@vger.kernel.org L: intel-wired-lan@lists.osuosl.org (moderated for non-subscribers) -S: Supported +S: Maintained T: git https://github.com/alobakin/linux.git F: drivers/net/ethernet/intel/libeth/ F: include/net/libeth/ @@@ -13225,7 -13128,7 +13231,7 @@@ LIBIE COMMON INTEL ETHERNET LIBRAR M: Alexander Lobakin aleksander.lobakin@intel.com L: intel-wired-lan@lists.osuosl.org (moderated for non-subscribers) L: netdev@vger.kernel.org -S: Supported +S: Maintained T: git https://github.com/alobakin/linux.git F: drivers/net/ethernet/intel/libie/ F: include/linux/net/intel/libie/ @@@ -13312,11 -13215,11 +13318,11 @@@ X: drivers/macintosh/adb-iop. X: drivers/macintosh/via-macii.c
LINUX FOR POWERPC (32-BIT AND 64-BIT) +M: Madhavan Srinivasan maddy@linux.ibm.com M: Michael Ellerman mpe@ellerman.id.au R: Nicholas Piggin npiggin@gmail.com R: Christophe Leroy christophe.leroy@csgroup.eu R: Naveen N Rao naveen@kernel.org -M: Madhavan Srinivasan maddy@linux.ibm.com L: linuxppc-dev@lists.ozlabs.org S: Supported W: https://github.com/linuxppc/wiki/wiki @@@ -13402,7 -13305,7 +13408,7 @@@ L: linux-kernel@vger.kernel.or L: linux-arch@vger.kernel.org L: lkmm@lists.linux.dev S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: Documentation/atomic_bitops.txt F: Documentation/atomic_t.txt F: Documentation/core-api/refcount-vs-atomic.rst @@@ -13526,8 -13429,8 +13532,8 @@@ LOCKING PRIMITIVE M: Peter Zijlstra peterz@infradead.org M: Ingo Molnar mingo@redhat.com M: Will Deacon will@kernel.org +M: Boqun Feng boqun.feng@gmail.com (LOCKDEP & RUST) R: Waiman Long longman@redhat.com -R: Boqun Feng boqun.feng@gmail.com (LOCKDEP) L: linux-kernel@vger.kernel.org S: Maintained T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core @@@ -13541,11 -13444,6 +13547,11 @@@ F: include/linux/seqlock. F: include/linux/spinlock*.h F: kernel/locking/ F: lib/locking*.[ch] +F: rust/helpers/mutex.c +F: rust/helpers/spinlock.c +F: rust/kernel/sync/lock.rs +F: rust/kernel/sync/lock/ +F: rust/kernel/sync/locked_by.rs X: kernel/locking/locktorture.c
LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP/Vista Dynamic Disks) @@@ -13650,12 -13548,6 +13656,12 @@@ S: Maintaine F: Documentation/devicetree/bindings/thermal/loongson,ls2k-thermal.yaml F: drivers/thermal/loongson2_thermal.c
+LOONGSON EDAC DRIVER +M: Zhao Qunqin zhaoqunqin@loongson.cn +L: linux-edac@vger.kernel.org +S: Maintained +F: drivers/edac/loongson_edac.c + LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI) M: Sathya Prakash sathya.prakash@broadcom.com M: Sreekanth Reddy sreekanth.reddy@broadcom.com @@@ -14039,7 -13931,7 +14045,7 @@@ MARVELL OCTEON ENDPOINT DRIVE M: Veerasenareddy Burru vburru@marvell.com M: Sathesh Edara sedara@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/marvell/octeon_ep
MARVELL OCTEON ENDPOINT VF DRIVER @@@ -14048,7 -13940,7 +14054,7 @@@ M: Sathesh Edara <sedara@marvell.com M: Shinas Rasheed srasheed@marvell.com M: Satananda Burla sburla@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/marvell/octeon_ep_vf
MARVELL OCTEONTX2 PHYSICAL FUNCTION DRIVER @@@ -14056,9 -13948,8 +14062,9 @@@ M: Sunil Goutham <sgoutham@marvell.com M: Geetha sowjanya gakula@marvell.com M: Subbaraya Sundeep sbhatta@marvell.com M: hariprasad hkelam@marvell.com +M: Bharat Bhushan bbhushan2@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/marvell/octeontx2/nic/ F: include/linux/soc/marvell/octeontx2/
@@@ -14070,7 -13961,7 +14076,7 @@@ M: Jerin Jacob <jerinj@marvell.com M: hariprasad hkelam@marvell.com M: Subbaraya Sundeep sbhatta@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/networking/device_drivers/ethernet/marvell/octeontx2.rst F: drivers/net/ethernet/marvell/octeontx2/af/
@@@ -14610,14 -14501,6 +14616,14 @@@ W: https://linuxtv.or T: git git://linuxtv.org/media.git F: drivers/media/dvb-frontends/stv6111*
+MEDIA DRIVERS FOR STM32 - CSI +M: Alain Volmat alain.volmat@foss.st.com +L: linux-media@vger.kernel.org +S: Supported +T: git git://linuxtv.org/media_tree.git +F: Documentation/devicetree/bindings/media/st,stm32mp25-csi.yaml +F: drivers/media/platform/st/stm32/stm32-csi.c + MEDIA DRIVERS FOR STM32 - DCMI / DCMIPP M: Hugues Fruchet hugues.fruchet@foss.st.com M: Alain Volmat alain.volmat@foss.st.com @@@ -14687,6 -14570,7 +14693,6 @@@ F: drivers/dma/mediatek MEDIATEK ETHERNET DRIVER M: Felix Fietkau nbd@nbd.name M: Sean Wang sean.wang@mediatek.com -M: Mark Lee Mark-MC.Lee@mediatek.com M: Lorenzo Bianconi lorenzo@kernel.org L: netdev@vger.kernel.org S: Maintained @@@ -14876,7 -14760,7 +14882,7 @@@ F: drivers/memory/mtk-smi. F: include/soc/mediatek/smi.h
MEDIATEK SWITCH DRIVER -M: Arınç ÜNAL arinc.unal@arinc9.com +M: Chester A. Unal chester.a.unal@arinc9.com M: Daniel Golle daniel@makrotopia.org M: DENG Qingfang dqfext@gmail.com M: Sean Wang sean.wang@mediatek.com @@@ -14966,7 -14850,7 +14972,7 @@@ F: drivers/i2c/busses/i2c-mlxbf. MELLANOX ETHERNET DRIVER (mlx4_en) M: Tariq Toukan tariqt@nvidia.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: https://www.nvidia.com/networking/ Q: https://patchwork.kernel.org/project/netdevbpf/list/ F: drivers/net/ethernet/mellanox/mlx4/en_* @@@ -14975,7 -14859,7 +14981,7 @@@ MELLANOX ETHERNET DRIVER (mlx5e M: Saeed Mahameed saeedm@nvidia.com M: Tariq Toukan tariqt@nvidia.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: https://www.nvidia.com/networking/ Q: https://patchwork.kernel.org/project/netdevbpf/list/ F: drivers/net/ethernet/mellanox/mlx5/core/en_* @@@ -14983,7 -14867,7 +14989,7 @@@ MELLANOX ETHERNET INNOVA DRIVERS R: Boris Pismenny borisp@nvidia.com L: netdev@vger.kernel.org -S: Supported +S: Maintained W: https://www.nvidia.com/networking/ Q: https://patchwork.kernel.org/project/netdevbpf/list/ F: drivers/net/ethernet/mellanox/mlx5/core/en_accel/* @@@ -15022,7 -14906,7 +15028,7 @@@ MELLANOX MLX4 core VPI drive M: Tariq Toukan tariqt@nvidia.com L: netdev@vger.kernel.org L: linux-rdma@vger.kernel.org -S: Supported +S: Maintained W: https://www.nvidia.com/networking/ Q: https://patchwork.kernel.org/project/netdevbpf/list/ F: drivers/net/ethernet/mellanox/mlx4/ @@@ -15044,7 -14928,7 +15050,7 @@@ M: Leon Romanovsky <leonro@nvidia.com M: Tariq Toukan tariqt@nvidia.com L: netdev@vger.kernel.org L: linux-rdma@vger.kernel.org -S: Supported +S: Maintained W: https://www.nvidia.com/networking/ Q: https://patchwork.kernel.org/project/netdevbpf/list/ F: Documentation/networking/device_drivers/ethernet/mellanox/ @@@ -15192,15 -15076,7 +15198,15 @@@ L: linux-mm@kvack.or S: Maintained W: http://www.linux-mm.org T: git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm +F: mm/mlock.c F: mm/mmap.c +F: mm/mprotect.c +F: mm/mremap.c +F: mm/mseal.c +F: mm/vma.c +F: mm/vma.h +F: mm/vma_internal.h +F: tools/testing/vma/
MEMORY TECHNOLOGY DEVICES (MTD) M: Miquel Raynal miquel.raynal@bootlin.com @@@ -15286,7 -15162,7 +15292,7 @@@ META ETHERNET DRIVER M: Alexander Duyck alexanderduyck@fb.com M: Jakub Kicinski kuba@kernel.org R: kernel-team@meta.com -S: Supported +S: Maintained F: Documentation/networking/device_drivers/ethernet/meta/ F: drivers/net/ethernet/meta/
@@@ -15473,7 -15349,7 +15479,7 @@@ M: Daniel Machon <daniel.machon@microch M: UNGLinuxDriver@microchip.com L: netdev@vger.kernel.org S: Maintained -F: drivers/net/ethernet/microchip/lan969x/* +F: drivers/net/ethernet/microchip/sparx5/lan969x/*
MICROCHIP LCDFB DRIVER M: Nicolas Ferre nicolas.ferre@microchip.com @@@ -16294,8 -16170,7 +16300,8 @@@ M: Breno Leitao <leitao@debian.org S: Maintained F: Documentation/networking/netconsole.rst F: drivers/net/netconsole.c -F: tools/testing/selftests/drivers/net/netcons_basic.sh +F: tools/testing/selftests/drivers/net/lib/sh/lib_netcons.sh +F: tools/testing/selftests/drivers/net/netcons*
NETDEVSIM M: Jakub Kicinski kuba@kernel.org @@@ -16312,7 -16187,7 +16318,7 @@@ F: net/sched/sch_netem. NETERION 10GbE DRIVERS (s2io) M: Jon Mason jdmason@kudzu.us L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/networking/device_drivers/ethernet/neterion/s2io.rst F: drivers/net/ethernet/neterion/
@@@ -16398,7 -16273,6 +16404,7 @@@ F: Documentation/devicetree/bindings/ne F: Documentation/networking/net_cachelines/net_device.rst F: drivers/connector/ F: drivers/net/ +F: drivers/ptp/ F: include/dt-bindings/net/ F: include/linux/cn_proc.h F: include/linux/etherdevice.h @@@ -16411,7 -16285,7 +16417,7 @@@ F: include/linux/inetdevice. F: include/linux/netdev* F: include/linux/platform_data/wiznet.h F: include/uapi/linux/cn_proc.h -F: include/uapi/linux/ethtool_netlink.h +F: include/uapi/linux/ethtool_netlink* F: include/uapi/linux/if_* F: include/uapi/linux/net_shaper.h F: include/uapi/linux/netdev* @@@ -16466,7 -16340,6 +16472,7 @@@ F: Documentation/networking F: Documentation/networking/net_cachelines/ F: Documentation/process/maintainer-netdev.rst F: Documentation/userspace-api/netlink/ +F: include/linux/ethtool.h F: include/linux/framer/framer-provider.h F: include/linux/framer/framer.h F: include/linux/in.h @@@ -16481,7 -16354,6 +16487,7 @@@ F: include/linux/rtnetlink. F: include/linux/seq_file_net.h F: include/linux/skbuff* F: include/net/ +F: include/uapi/linux/ethtool.h F: include/uapi/linux/genetlink.h F: include/uapi/linux/hsr_netlink.h F: include/uapi/linux/in.h @@@ -16637,7 -16509,7 +16643,7 @@@ M: Manish Chopra <manishc@marvell.com M: Rahul Verma rahulv@marvell.com M: GR-Linux-NIC-Dev@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/qlogic/netxen/
NET_FAILOVER MODULE @@@ -16733,8 -16605,8 +16739,8 @@@ F: arch/nios2
NITRO ENCLAVES (NE) M: Alexandru Ciobotaru alcioa@amazon.com +R: The AWS Nitro Enclaves Team aws-nitro-enclaves-devel@amazon.com L: linux-kernel@vger.kernel.org -L: The AWS Nitro Enclaves Team aws-nitro-enclaves-devel@amazon.com S: Supported W: https://aws.amazon.com/ec2/nitro/nitro-enclaves/ F: Documentation/virt/ne_overview.rst @@@ -16745,8 -16617,8 +16751,8 @@@ F: samples/nitro_enclaves
NITRO SECURE MODULE (NSM) M: Alexander Graf graf@amazon.com +R: The AWS Nitro Enclaves Team aws-nitro-enclaves-devel@amazon.com L: linux-kernel@vger.kernel.org -L: The AWS Nitro Enclaves Team aws-nitro-enclaves-devel@amazon.com S: Supported W: https://aws.amazon.com/ec2/nitro/nitro-enclaves/ F: drivers/misc/nsm.c @@@ -16842,15 -16714,6 +16848,15 @@@ T: git https://github.com/Paragon-Softw F: Documentation/filesystems/ntfs3.rst F: fs/ntfs3/
+NTSYNC SYNCHRONIZATION PRIMITIVE DRIVER +M: Elizabeth Figura zfigura@codeweavers.com +L: wine-devel@winehq.org +S: Supported +F: Documentation/userspace-api/ntsync.rst +F: drivers/misc/ntsync.c +F: include/uapi/linux/ntsync.h +F: tools/testing/selftests/drivers/ntsync/ + NUBUS SUBSYSTEM M: Finn Thain fthain@linux-m68k.org L: linux-m68k@lists.linux-m68k.org @@@ -16932,7 -16795,6 +16938,7 @@@ T: git git://git.kernel.org/pub/scm/lin F: Documentation/ABI/stable/sysfs-bus-nvmem F: Documentation/devicetree/bindings/nvmem/ F: drivers/nvmem/ +F: include/dt-bindings/nvmem/ F: include/linux/nvmem-consumer.h F: include/linux/nvmem-provider.h
@@@ -17640,7 -17502,6 +17646,7 @@@ T: git git://git.kernel.org/pub/scm/lin F: Documentation/ABI/testing/sysfs-firmware-ofw F: drivers/of/ F: include/linux/of*.h +F: rust/kernel/of.rs F: scripts/dtc/ F: tools/testing/selftests/dt/ K: of_overlay_notifier_ @@@ -17780,7 -17641,6 +17786,7 @@@ F: Documentation/core-api/packing.rs F: include/linux/packing.h F: lib/packing.c F: lib/packing_test.c +F: scripts/gen_packed_field_checks.c
PADATA PARALLEL EXECUTION MECHANISM M: Steffen Klassert steffen.klassert@secunet.com @@@ -18047,7 -17907,7 +18053,7 @@@ M: Karthikeyan Mitran <m.karthikeyan@mo M: Hou Zhiqiang Zhiqiang.Hou@nxp.com L: linux-pci@vger.kernel.org S: Supported -F: Documentation/devicetree/bindings/pci/mobiveil-pcie.txt +F: Documentation/devicetree/bindings/pci/mbvl,gpex40-pcie.yaml F: drivers/pci/controller/mobiveil/pcie-mobiveil*
PCI DRIVER FOR MVEBU (Marvell Armada 370 and Armada XP SOC support) @@@ -18071,6 -17931,7 +18077,6 @@@ M: Hou Zhiqiang <Zhiqiang.Hou@nxp.com L: linux-pci@vger.kernel.org L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained -F: Documentation/devicetree/bindings/pci/layerscape-pcie-gen4.txt F: drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c
PCI DRIVER FOR PLDA PCIE IP @@@ -18148,7 -18009,7 +18154,7 @@@ F: Documentation/PCI/endpoint/ F: Documentation/misc-devices/pci-endpoint-test.rst F: drivers/misc/pci_endpoint_test.c F: drivers/pci/endpoint/ -F: tools/pci/ +F: tools/testing/selftests/pci_endpoint/
PCI ENHANCED ERROR HANDLING (EEH) FOR POWERPC M: Mahesh J Salgaonkar mahesh@linux.ibm.com @@@ -18241,8 -18102,6 +18247,8 @@@ F: include/asm-generic/pci F: include/linux/of_pci.h F: include/linux/pci* F: include/uapi/linux/pci* +F: rust/kernel/pci.rs +F: samples/rust/rust_driver_pci.rs
PCIE BANDWIDTH CONTROLLER M: Ilpo Järvinen ilpo.jarvinen@linux.intel.com @@@ -18426,7 -18285,7 +18432,7 @@@ PENSANDO ETHERNET DRIVER M: Shannon Nelson shannon.nelson@amd.com M: Brett Creeley brett.creeley@amd.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: Documentation/networking/device_drivers/ethernet/pensando/ionic.rst F: drivers/net/ethernet/pensando/
@@@ -18571,8 -18430,8 +18577,8 @@@ M: Fabio Estevam <festevam@gmail.com M: Shawn Guo shawnguo@kernel.org M: Jacky Bai ping.bai@nxp.com R: Pengutronix Kernel Team kernel@pengutronix.de +R: NXP S32 Linux Team s32@nxp.com L: linux-gpio@vger.kernel.org -L: NXP S32 Linux Team s32@nxp.com S: Maintained F: Documentation/devicetree/bindings/pinctrl/fsl,* F: Documentation/devicetree/bindings/pinctrl/nxp,s32* @@@ -18602,7 -18461,7 +18608,7 @@@ F: Documentation/devicetree/bindings/pi F: drivers/pinctrl/mediatek/
PIN CONTROLLER - MEDIATEK MIPS -M: Arınç ÜNAL arinc.unal@arinc9.com +M: Chester A. Unal chester.a.unal@arinc9.com M: Sergio Paracuellos sergio.paracuellos@gmail.com L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) L: linux-mips@vger.kernel.org @@@ -18856,13 -18715,11 +18862,13 @@@ L: linuxpps@ml.enneenne.com (subscriber S: Maintained W: http://wiki.enneenne.com/index.php/LinuxPPS_support F: Documentation/ABI/testing/sysfs-pps +F: Documentation/ABI/testing/sysfs-pps-gen F: Documentation/devicetree/bindings/pps/pps-gpio.yaml F: Documentation/driver-api/pps.rst F: drivers/pps/ F: include/linux/pps*.h F: include/uapi/linux/pps.h +F: include/uapi/linux/pps_gen.h
PRESSURE STALL INFORMATION (PSI) M: Johannes Weiner hannes@cmpxchg.org @@@ -19195,7 -19052,7 +19201,7 @@@ F: drivers/scsi/qedi QLOGIC QL4xxx ETHERNET DRIVER M: Manish Chopra manishc@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/qlogic/qed/ F: drivers/net/ethernet/qlogic/qede/ F: include/linux/qed/ @@@ -19223,7 -19080,7 +19229,7 @@@ F: drivers/scsi/qla2xxx QLOGIC QLA3XXX NETWORK DRIVER M: GR-Linux-NIC-Dev@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/qlogic/qla3xxx.*
QLOGIC QLA4XXX iSCSI DRIVER @@@ -19239,7 -19096,7 +19245,7 @@@ M: Shahed Shaikh <shshaikh@marvell.com M: Manish Chopra manishc@marvell.com M: GR-Linux-NIC-Dev@marvell.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/qlogic/qlcnic/
QM1D1B0004 MEDIA DRIVER @@@ -19254,15 -19111,6 +19260,15 @@@ L: linux-media@vger.kernel.or S: Odd Fixes F: drivers/media/tuners/qm1d1c0042*
+QNAP MCU DRIVER +M: Heiko Stuebner heiko@sntech.de +S: Maintained +F: drivers/hwmon/qnap-mcu-hwmon.c +F: drivers/input/misc/qnap-mcu-input.c +F: drivers/leds/leds-qnap-mcu.c +F: drivers/mfd/qnap-mcu.c +F: include/linux/mfd/qnap-mcu.h + QNX4 FILESYSTEM M: Anders Larsen al@alarsen.net S: Maintained @@@ -19657,7 -19505,7 +19663,7 @@@ S: Maintaine F: arch/mips/ralink
RALINK MT7621 MIPS ARCHITECTURE -M: Arınç ÜNAL arinc.unal@arinc9.com +M: Chester A. Unal chester.a.unal@arinc9.com M: Sergio Paracuellos sergio.paracuellos@gmail.com L: linux-mips@vger.kernel.org S: Maintained @@@ -19718,7 -19566,7 +19724,7 @@@ F: drivers/ras/amd/fmpm.
RASPBERRY PI PISP BACK END M: Jacopo Mondi jacopo.mondi@ideasonboard.com -L: Raspberry Pi Kernel Maintenance kernel-list@raspberrypi.com +R: Raspberry Pi Kernel Maintenance kernel-list@raspberrypi.com L: linux-media@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/media/raspberrypi,pispbe.yaml @@@ -19758,7 -19606,7 +19764,7 @@@ R: Mathieu Desnoyers <mathieu.desnoyers R: Lai Jiangshan jiangshanlai@gmail.com L: rcu@vger.kernel.org S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: tools/testing/selftests/rcutorture
RDACM20 Camera Sensor @@@ -19837,11 -19685,10 +19843,11 @@@ R: Zqiang <qiang.zhang1211@gmail.com L: rcu@vger.kernel.org S: Supported W: http://www.rdrop.com/users/paulmck/RCU/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: Documentation/RCU/ F: include/linux/rcu* F: kernel/rcu/ +F: rust/kernel/sync/rcu.rs X: Documentation/RCU/torture.rst X: include/linux/srcu*.h X: kernel/rcu/srcu*.c @@@ -19990,7 -19837,7 +19996,7 @@@ M: Paul Barker <paul.barker.ct@bp.renes M: Niklas Söderlund niklas.soderlund@ragnatech.se L: netdev@vger.kernel.org L: linux-renesas-soc@vger.kernel.org -S: Supported +S: Maintained F: Documentation/devicetree/bindings/net/renesas,etheravb.yaml F: drivers/net/ethernet/renesas/Kconfig F: drivers/net/ethernet/renesas/Makefile @@@ -20010,7 -19857,7 +20016,7 @@@ RENESAS ETHERNET TSN DRIVE M: Niklas Söderlund niklas.soderlund@ragnatech.se L: netdev@vger.kernel.org L: linux-renesas-soc@vger.kernel.org -S: Supported +S: Maintained F: Documentation/devicetree/bindings/net/renesas,ethertsn.yaml F: drivers/net/ethernet/renesas/rtsn.*
@@@ -20160,7 -20007,7 +20166,7 @@@ RENESAS SUPERH ETHERNET DRIVE M: Niklas Söderlund niklas.soderlund@ragnatech.se L: netdev@vger.kernel.org L: linux-renesas-soc@vger.kernel.org -S: Supported +S: Maintained F: Documentation/devicetree/bindings/net/renesas,ether.yaml F: drivers/net/ethernet/renesas/Kconfig F: drivers/net/ethernet/renesas/Makefile @@@ -20228,7 -20075,7 +20234,7 @@@ F: net/rfkill RHASHTABLE M: Thomas Graf tgraf@suug.ch M: Herbert Xu herbert@gondor.apana.org.au -L: netdev@vger.kernel.org +L: linux-crypto@vger.kernel.org S: Maintained F: include/linux/rhashtable-types.h F: include/linux/rhashtable.h @@@ -20335,15 -20182,6 +20341,15 @@@ F: drivers/perf/riscv_pmu. F: drivers/perf/riscv_pmu_legacy.c F: drivers/perf/riscv_pmu_sbi.c
+RISC-V SPACEMIT SoC Support +M: Yixun Lan dlan@gentoo.org +L: linux-riscv@lists.infradead.org +S: Maintained +T: git https://github.com/spacemit-com/linux +F: arch/riscv/boot/dts/spacemit/ +N: spacemit +K: spacemit + RISC-V THEAD SoC SUPPORT M: Drew Fustini drew@pdp7.com M: Guo Ren guoren@kernel.org @@@ -20454,11 -20292,6 +20460,11 @@@ L: linux-serial@vger.kernel.or S: Odd Fixes F: drivers/tty/serial/rp2.*
+ROHM BD79703 DAC +M: Matti Vaittinen mazziesaccount@gmail.com +S: Supported +F: drivers/iio/dac/rohm-bd79703.c + ROHM BD99954 CHARGER IC M: Matti Vaittinen mazziesaccount@gmail.com S: Supported @@@ -20487,6 -20320,7 +20493,6 @@@ ROHM BU270xx LIGHT SENSOR DRIVER M: Matti Vaittinen mazziesaccount@gmail.com L: linux-iio@vger.kernel.org S: Supported -F: drivers/iio/light/rohm-bu27008.c F: drivers/iio/light/rohm-bu27034.c
ROHM MULTIFUNCTION BD9571MWV-M PMIC DEVICE DRIVERS @@@ -20828,7 -20662,8 +20834,7 @@@ F: arch/s390/include/uapi/asm/zcrypt. F: drivers/s390/crypto/
S390 ZFCP DRIVER -M: Steffen Maier maier@linux.ibm.com -M: Benjamin Block bblock@linux.ibm.com +M: Nihar Panda niharp@linux.ibm.com L: linux-s390@vger.kernel.org S: Supported F: drivers/s390/scsi/zfcp_* @@@ -20883,15 -20718,6 +20889,15 @@@ F: arch/arm64/boot/dts/exynos/exynos850 F: drivers/clk/samsung/clk-exynos850.c F: include/dt-bindings/clock/exynos850.h
+SAMSUNG EXYNOS MAILBOX DRIVER +M: Tudor Ambarus tudor.ambarus@linaro.org +L: linux-kernel@vger.kernel.org +L: linux-samsung-soc@vger.kernel.org +S: Supported +F: Documentation/devicetree/bindings/mailbox/google,gs101-mbox.yaml +F: drivers/mailbox/exynos-mailbox.c +F: include/linux/mailbox/exynos-message.h + SAMSUNG EXYNOS PSEUDO RANDOM NUMBER GENERATOR (RNG) DRIVER M: Krzysztof Kozlowski krzk@kernel.org L: linux-crypto@vger.kernel.org @@@ -21024,7 -20850,7 +21030,7 @@@ F: include/linux/platform_data/spi-s3c6 SAMSUNG SXGBE DRIVERS M: Byungho An bh74.an@samsung.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/samsung/sxgbe/
SAMSUNG THERMAL DRIVER @@@ -21082,8 -20908,6 +21088,8 @@@ F: kernel/sched SCHEDULER - SCHED_EXT R: Tejun Heo tj@kernel.org R: David Vernet void@manifault.com +R: Andrea Righi arighi@nvidia.com +R: Changwoo Min changwoo@igalia.com L: linux-kernel@vger.kernel.org S: Maintained W: https://github.com/sched-ext/scx @@@ -21418,7 -21242,6 +21424,7 @@@ M: Srinivas Kandagatla <srinivas.kandag L: linux-sound@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/slimbus/ +F: Documentation/driver-api/slimbus.rst F: drivers/slimbus/ F: include/linux/slimbus.h
@@@ -21427,7 -21250,7 +21433,7 @@@ M: Edward Cree <ecree.xilinx@gmail.com M: Martin Habets habetsm.xilinx@gmail.com L: netdev@vger.kernel.org L: linux-net-drivers@amd.com -S: Supported +S: Maintained F: Documentation/networking/devlink/sfc.rst F: drivers/net/ethernet/sfc/
@@@ -21758,7 -21581,7 +21764,7 @@@ R: Mathieu Desnoyers <mathieu.desnoyers L: rcu@vger.kernel.org S: Supported W: http://www.rdrop.com/users/paulmck/RCU/ -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: include/linux/srcu*.h F: kernel/rcu/srcu*.c
@@@ -22169,7 -21992,6 +22175,7 @@@ W: https://github.com/thesofproject/lin F: sound/soc/sof/
SOUND - GENERIC SOUND CARD (Simple-Audio-Card, Audio-Graph-Card) +M: Mark Brown broonie@kernel.org M: Kuninori Morimoto kuninori.morimoto.gx@renesas.com S: Supported L: linux-sound@vger.kernel.org @@@ -22349,14 -22171,6 +22355,14 @@@ T: git git://linuxtv.org/media.gi F: Documentation/devicetree/bindings/media/i2c/st,st-mipid02.yaml F: drivers/media/i2c/st-mipid02.c
+ST STC3117 FUEL GAUGE DRIVER +M: Hardevsinh Palaniya hardevsinh.palaniya@siliconsignals.io +M: Bhavin Sharma bhavin.sharma@siliconsignals.io +L: linux-pm@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/power/supply/st,stc3117.yaml +F: drivers/power/supply/stc3117_fuel_gauge.c + ST STM32 FIREWALL M: Gatien Chevallier gatien.chevallier@foss.st.com S: Maintained @@@ -22599,7 -22413,7 +22605,7 @@@ F: drivers/char/hw_random/jh7110-trng.
STARFIVE WATCHDOG DRIVER M: Xingyu Wu xingyu.wu@starfivetech.com -M: Samin Guo samin.guo@starfivetech.com +M: Ziv Xu ziv.xu@starfivetech.com S: Supported F: Documentation/devicetree/bindings/watchdog/starfive* F: drivers/watchdog/starfive-wdt.c @@@ -22632,7 -22446,7 +22638,7 @@@ F: arch/*/kernel/static_call. F: include/linux/jump_label*.h F: include/linux/static_call*.h F: kernel/jump_label.c -F: kernel/static_call.c +F: kernel/static_call*.c
STI AUDIO (ASoC) DRIVERS M: Arnaud Pouliquen arnaud.pouliquen@foss.st.com @@@ -22688,8 -22502,11 +22694,8 @@@ F: Documentation/devicetree/bindings/ph F: drivers/phy/st/phy-stm32-combophy.c
STMMAC ETHERNET DRIVER -M: Alexandre Torgue alexandre.torgue@foss.st.com -M: Jose Abreu joabreu@synopsys.com L: netdev@vger.kernel.org -S: Supported -W: http://www.stlinux.com +S: Orphan F: Documentation/networking/device_drivers/ethernet/stmicro/ F: drivers/net/ethernet/stmicro/stmmac/
@@@ -22917,12 -22734,13 +22923,12 @@@ F: include/linux/platform_data/dma-dw. SYNOPSYS DESIGNWARE ENTERPRISE ETHERNET DRIVER M: Jose Abreu Jose.Abreu@synopsys.com L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/synopsys/
SYNOPSYS DESIGNWARE ETHERNET XPCS DRIVER -M: Jose Abreu Jose.Abreu@synopsys.com L: netdev@vger.kernel.org -S: Supported +S: Orphan F: drivers/net/pcs/pcs-xpcs.c F: drivers/net/pcs/pcs-xpcs.h F: include/linux/pcs/pcs-xpcs.h @@@ -23317,7 -23135,7 +23323,7 @@@ F: drivers/phy/tegra/xusb TEHUTI ETHERNET DRIVER M: Andy Gospodarek andy@greyhouse.net L: netdev@vger.kernel.org -S: Supported +S: Maintained F: drivers/net/ethernet/tehuti/tehuti.*
TEHUTI TN40XX ETHERNET DRIVER @@@ -23403,8 -23221,6 +23409,8 @@@ M: Jerome Brunet <jbrunet@baylibre.com L: linux-hwmon@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/hwmon/pmbus/ti,tps25990.yaml +F: Documentation/hwmon/tps25990.rst +F: drivers/hwmon/pmbus/tps25990.c
TEXAS INSTRUMENTS TPS23861 PoE PSE DRIVER M: Robert Marko robert.marko@sartura.hr @@@ -23422,13 -23238,6 +23428,13 @@@ S: Supporte F: Documentation/devicetree/bindings/iio/dac/ti,dac7612.yaml F: drivers/iio/dac/ti-dac7612.c
+TEXAS INSTRUMENTS' LB8864 LED BACKLIGHT DRIVER +M: Alexander Sverdlin alexander.sverdlin@siemens.com +L: linux-leds@vger.kernel.org +S: Maintained +F: Documentation/devicetree/bindings/leds/backlight/ti,lp8864.yaml +F: drivers/leds/leds-lp8864.c + TEXAS INSTRUMENTS' SYSTEM CONTROL INTERFACE (TISCI) PROTOCOL DRIVER M: Nishanth Menon nm@ti.com M: Tero Kristo kristo@kernel.org @@@ -23736,7 -23545,6 +23742,7 @@@ T: git git://git.kernel.org/pub/scm/lin F: Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml F: drivers/pmdomain/ti/omap_prm.c F: drivers/soc/ti/* +F: include/linux/pruss_driver.h
TI LM49xxx FAMILY ASoC CODEC DRIVERS M: M R Swami Reddy mr.swami.reddy@ti.com @@@ -23840,6 -23648,7 +23846,6 @@@ F: tools/testing/selftests/timers
TIPC NETWORK LAYER M: Jon Maloy jmaloy@redhat.com -M: Ying Xue ying.xue@windriver.com L: netdev@vger.kernel.org (core kernel code) L: tipc-discussion@lists.sourceforge.net (user apps, general discussion) S: Maintained @@@ -23901,7 -23710,7 +23907,7 @@@ M: "Paul E. McKenney" <paulmck@kernel.o M: Josh Triplett josh@joshtriplett.org L: linux-kernel@vger.kernel.org S: Supported -T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git rcu/dev F: Documentation/RCU/torture.rst F: kernel/locking/locktorture.c F: kernel/rcu/rcuscale.c @@@ -24445,8 -24254,7 +24451,8 @@@ F: Documentation/devicetree/bindings/us F: drivers/usb/isp1760/*
USB LAN78XX ETHERNET DRIVER -M: Woojung Huh woojung.huh@microchip.com +M: Thangaraj Samynathan Thangaraj.S@microchip.com +M: Rengarajan Sundararajan Rengarajan.S@microchip.com M: UNGLinuxDriver@microchip.com L: netdev@vger.kernel.org S: Maintained @@@ -24631,11 -24439,7 +24637,11 @@@ L: linux-media@vger.kernel.or S: Maintained W: http://www.ideasonboard.org/uvc/ T: git git://linuxtv.org/media.git +F: Documentation/userspace-api/media/drivers/uvcvideo.rst +F: Documentation/userspace-api/media/v4l/metafmt-uvc.rst +F: drivers/media/common/uvc.c F: drivers/media/usb/uvc/ +F: include/linux/usb/uvc.h F: include/uapi/linux/uvcvideo.h
USB WEBCAM GADGET @@@ -25220,6 -25024,21 +25226,6 @@@ F: include/uapi/linux/vsockmon. F: net/vmw_vsock/ F: tools/testing/vsock/
-VMA -M: Andrew Morton akpm@linux-foundation.org -M: Liam R. Howlett Liam.Howlett@oracle.com -M: Lorenzo Stoakes lorenzo.stoakes@oracle.com -R: Vlastimil Babka vbabka@suse.cz -R: Jann Horn jannh@google.com -L: linux-mm@kvack.org -S: Maintained -W: https://www.linux-mm.org -T: git git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm -F: mm/vma.c -F: mm/vma.h -F: mm/vma_internal.h -F: tools/testing/vma/ - VMALLOC M: Andrew Morton akpm@linux-foundation.org R: Uladzislau Rezki urezki@gmail.com diff --combined drivers/dma/idxd/init.c index 140f8d772bee1,fdf03e253d53c..b946f78f85e17 --- a/drivers/dma/idxd/init.c +++ b/drivers/dma/idxd/init.c @@@ -25,7 -25,7 +25,7 @@@ MODULE_VERSION(IDXD_DRIVER_VERSION) MODULE_DESCRIPTION("Intel Data Streaming Accelerator and In-Memory Analytics Accelerator common driver"); MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Intel Corporation"); -MODULE_IMPORT_NS(IDXD); +MODULE_IMPORT_NS("IDXD");
static bool sva = true; module_param(sva, bool, 0644); @@@ -78,6 -78,8 +78,8 @@@ static struct pci_device_id idxd_pci_tb { PCI_DEVICE_DATA(INTEL, IAX_SPR0, &idxd_driver_data[IDXD_TYPE_IAX]) }, /* IAA on DMR platforms */ { PCI_DEVICE_DATA(INTEL, IAA_DMR, &idxd_driver_data[IDXD_TYPE_IAX]) }, + /* IAA PTL platforms */ + { PCI_DEVICE_DATA(INTEL, IAA_PTL, &idxd_driver_data[IDXD_TYPE_IAX]) }, { 0, } }; MODULE_DEVICE_TABLE(pci, idxd_pci_tbl); @@@ -723,67 -725,464 +725,464 @@@ static void idxd_cleanup(struct idxd_de idxd_disable_sva(idxd->pdev); }
- static int idxd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) + /* + * Attach IDXD device to IDXD driver. + */ + static int idxd_bind(struct device_driver *drv, const char *buf) { - struct device *dev = &pdev->dev; - struct idxd_device *idxd; - struct idxd_driver_data *data = (struct idxd_driver_data *)id->driver_data; + const struct bus_type *bus = drv->bus; + struct device *dev; + int err = -ENODEV; + + dev = bus_find_device_by_name(bus, NULL, buf); + if (dev) + err = device_driver_attach(drv, dev); + + put_device(dev); + + return err; + } + + /* + * Detach IDXD device from driver. + */ + static void idxd_unbind(struct device_driver *drv, const char *buf) + { + const struct bus_type *bus = drv->bus; + struct device *dev; + + dev = bus_find_device_by_name(bus, NULL, buf); + if (dev && dev->driver == drv) + device_release_driver(dev); + + put_device(dev); + } + + #define idxd_free_saved_configs(saved_configs, count) \ + do { \ + int i; \ + \ + for (i = 0; i < (count); i++) \ + kfree(saved_configs[i]); \ + } while (0) + + static void idxd_free_saved(struct idxd_group **saved_groups, + struct idxd_engine **saved_engines, + struct idxd_wq **saved_wqs, + struct idxd_device *idxd) + { + if (saved_groups) + idxd_free_saved_configs(saved_groups, idxd->max_groups); + if (saved_engines) + idxd_free_saved_configs(saved_engines, idxd->max_engines); + if (saved_wqs) + idxd_free_saved_configs(saved_wqs, idxd->max_wqs); + } + + /* + * Save IDXD device configurations including engines, groups, wqs etc. + * The saved configurations can be restored when needed. + */ + static int idxd_device_config_save(struct idxd_device *idxd, + struct idxd_saved_states *idxd_saved) + { + struct device *dev = &idxd->pdev->dev; + int i; + + memcpy(&idxd_saved->saved_idxd, idxd, sizeof(*idxd)); + + if (idxd->evl) { + memcpy(&idxd_saved->saved_evl, idxd->evl, + sizeof(struct idxd_evl)); + } + + struct idxd_group **saved_groups __free(kfree) = + kcalloc_node(idxd->max_groups, + sizeof(struct idxd_group *), + GFP_KERNEL, dev_to_node(dev)); + if (!saved_groups) + return -ENOMEM; + + for (i = 0; i < idxd->max_groups; i++) { + struct idxd_group *saved_group __free(kfree) = + kzalloc_node(sizeof(*saved_group), GFP_KERNEL, + dev_to_node(dev)); + + if (!saved_group) { + /* Free saved groups */ + idxd_free_saved(saved_groups, NULL, NULL, idxd); + + return -ENOMEM; + } + + memcpy(saved_group, idxd->groups[i], sizeof(*saved_group)); + saved_groups[i] = no_free_ptr(saved_group); + } + + struct idxd_engine **saved_engines = + kcalloc_node(idxd->max_engines, + sizeof(struct idxd_engine *), + GFP_KERNEL, dev_to_node(dev)); + if (!saved_engines) { + /* Free saved groups */ + idxd_free_saved(saved_groups, NULL, NULL, idxd); + + return -ENOMEM; + } + for (i = 0; i < idxd->max_engines; i++) { + struct idxd_engine *saved_engine __free(kfree) = + kzalloc_node(sizeof(*saved_engine), GFP_KERNEL, + dev_to_node(dev)); + if (!saved_engine) { + /* Free saved groups and engines */ + idxd_free_saved(saved_groups, saved_engines, NULL, + idxd); + + return -ENOMEM; + } + + memcpy(saved_engine, idxd->engines[i], sizeof(*saved_engine)); + saved_engines[i] = no_free_ptr(saved_engine); + } + + unsigned long *saved_wq_enable_map __free(bitmap) = + bitmap_zalloc_node(idxd->max_wqs, GFP_KERNEL, + dev_to_node(dev)); + if (!saved_wq_enable_map) { + /* Free saved groups and engines */ + idxd_free_saved(saved_groups, saved_engines, NULL, idxd); + + return -ENOMEM; + } + + bitmap_copy(saved_wq_enable_map, idxd->wq_enable_map, idxd->max_wqs); + + struct idxd_wq **saved_wqs __free(kfree) = + kcalloc_node(idxd->max_wqs, sizeof(struct idxd_wq *), + GFP_KERNEL, dev_to_node(dev)); + if (!saved_wqs) { + /* Free saved groups and engines */ + idxd_free_saved(saved_groups, saved_engines, NULL, idxd); + + return -ENOMEM; + } + + for (i = 0; i < idxd->max_wqs; i++) { + struct idxd_wq *saved_wq __free(kfree) = + kzalloc_node(sizeof(*saved_wq), GFP_KERNEL, + dev_to_node(dev)); + struct idxd_wq *wq; + + if (!saved_wq) { + /* Free saved groups, engines, and wqs */ + idxd_free_saved(saved_groups, saved_engines, saved_wqs, + idxd); + + return -ENOMEM; + } + + if (!test_bit(i, saved_wq_enable_map)) + continue; + + wq = idxd->wqs[i]; + mutex_lock(&wq->wq_lock); + memcpy(saved_wq, wq, sizeof(*saved_wq)); + saved_wqs[i] = no_free_ptr(saved_wq); + mutex_unlock(&wq->wq_lock); + } + + /* Save configurations */ + idxd_saved->saved_groups = no_free_ptr(saved_groups); + idxd_saved->saved_engines = no_free_ptr(saved_engines); + idxd_saved->saved_wq_enable_map = no_free_ptr(saved_wq_enable_map); + idxd_saved->saved_wqs = no_free_ptr(saved_wqs); + + return 0; + } + + /* + * Restore IDXD device configurations including engines, groups, wqs etc + * that were saved before. + */ + static void idxd_device_config_restore(struct idxd_device *idxd, + struct idxd_saved_states *idxd_saved) + { + struct idxd_evl *saved_evl = &idxd_saved->saved_evl; + int i; + + idxd->rdbuf_limit = idxd_saved->saved_idxd.rdbuf_limit; + + if (saved_evl) + idxd->evl->size = saved_evl->size; + + for (i = 0; i < idxd->max_groups; i++) { + struct idxd_group *saved_group, *group; + + saved_group = idxd_saved->saved_groups[i]; + group = idxd->groups[i]; + + group->rdbufs_allowed = saved_group->rdbufs_allowed; + group->rdbufs_reserved = saved_group->rdbufs_reserved; + group->tc_a = saved_group->tc_a; + group->tc_b = saved_group->tc_b; + group->use_rdbuf_limit = saved_group->use_rdbuf_limit; + + kfree(saved_group); + } + kfree(idxd_saved->saved_groups); + + for (i = 0; i < idxd->max_engines; i++) { + struct idxd_engine *saved_engine, *engine; + + saved_engine = idxd_saved->saved_engines[i]; + engine = idxd->engines[i]; + + engine->group = saved_engine->group; + + kfree(saved_engine); + } + kfree(idxd_saved->saved_engines); + + bitmap_copy(idxd->wq_enable_map, idxd_saved->saved_wq_enable_map, + idxd->max_wqs); + bitmap_free(idxd_saved->saved_wq_enable_map); + + for (i = 0; i < idxd->max_wqs; i++) { + struct idxd_wq *saved_wq, *wq; + size_t len; + + if (!test_bit(i, idxd->wq_enable_map)) + continue; + + saved_wq = idxd_saved->saved_wqs[i]; + wq = idxd->wqs[i]; + + mutex_lock(&wq->wq_lock); + + wq->group = saved_wq->group; + wq->flags = saved_wq->flags; + wq->threshold = saved_wq->threshold; + wq->size = saved_wq->size; + wq->priority = saved_wq->priority; + wq->type = saved_wq->type; + len = strlen(saved_wq->name) + 1; + strscpy(wq->name, saved_wq->name, len); + wq->max_xfer_bytes = saved_wq->max_xfer_bytes; + wq->max_batch_size = saved_wq->max_batch_size; + wq->enqcmds_retries = saved_wq->enqcmds_retries; + wq->descs = saved_wq->descs; + wq->idxd_chan = saved_wq->idxd_chan; + len = strlen(saved_wq->driver_name) + 1; + strscpy(wq->driver_name, saved_wq->driver_name, len); + + mutex_unlock(&wq->wq_lock); + + kfree(saved_wq); + } + + kfree(idxd_saved->saved_wqs); + } + + static void idxd_reset_prepare(struct pci_dev *pdev) + { + struct idxd_device *idxd = pci_get_drvdata(pdev); + struct device *dev = &idxd->pdev->dev; + const char *idxd_name; int rc;
- rc = pci_enable_device(pdev); - if (rc) - return rc; + dev = &idxd->pdev->dev; + idxd_name = dev_name(idxd_confdev(idxd));
- dev_dbg(dev, "Alloc IDXD context\n"); - idxd = idxd_alloc(pdev, data); - if (!idxd) { - rc = -ENOMEM; - goto err_idxd_alloc; + struct idxd_saved_states *idxd_saved __free(kfree) = + kzalloc_node(sizeof(*idxd_saved), GFP_KERNEL, + dev_to_node(&pdev->dev)); + if (!idxd_saved) { + dev_err(dev, "HALT: no memory\n"); + + return; }
- dev_dbg(dev, "Mapping BARs\n"); - idxd->reg_base = pci_iomap(pdev, IDXD_MMIO_BAR, 0); - if (!idxd->reg_base) { - rc = -ENOMEM; - goto err_iomap; + /* Save IDXD configurations. */ + rc = idxd_device_config_save(idxd, idxd_saved); + if (rc < 0) { + dev_err(dev, "HALT: cannot save %s configs\n", idxd_name); + + return; + } + + idxd->idxd_saved = no_free_ptr(idxd_saved); + + /* Save PCI device state. */ + pci_save_state(idxd->pdev); + } + + static void idxd_reset_done(struct pci_dev *pdev) + { + struct idxd_device *idxd = pci_get_drvdata(pdev); + const char *idxd_name; + struct device *dev; + int rc, i; + + if (!idxd->idxd_saved) + return; + + dev = &idxd->pdev->dev; + idxd_name = dev_name(idxd_confdev(idxd)); + + /* Restore PCI device state. */ + pci_restore_state(idxd->pdev); + + /* Unbind idxd device from driver. */ + idxd_unbind(&idxd_drv.drv, idxd_name); + + /* + * Probe PCI device without allocating or changing + * idxd software data which keeps the same as before FLR. + */ + idxd_pci_probe_alloc(idxd, NULL, NULL); + + /* Restore IDXD configurations. */ + idxd_device_config_restore(idxd, idxd->idxd_saved); + + /* Re-configure IDXD device if allowed. */ + if (test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) { + rc = idxd_device_config(idxd); + if (rc < 0) { + dev_err(dev, "HALT: %s config fails\n", idxd_name); + goto out; + } + } + + /* Bind IDXD device to driver. */ + rc = idxd_bind(&idxd_drv.drv, idxd_name); + if (rc < 0) { + dev_err(dev, "HALT: binding %s to driver fails\n", idxd_name); + goto out; }
- dev_dbg(dev, "Set DMA masks\n"); - rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); + /* Bind enabled wq in the IDXD device to driver. */ + for (i = 0; i < idxd->max_wqs; i++) { + if (test_bit(i, idxd->wq_enable_map)) { + struct idxd_wq *wq = idxd->wqs[i]; + char wq_name[32]; + + wq->state = IDXD_WQ_DISABLED; + sprintf(wq_name, "wq%d.%d", idxd->id, wq->id); + /* + * Bind to user driver depending on wq type. + * + * Currently only support user type WQ. Will support + * kernel type WQ in the future. + */ + if (wq->type == IDXD_WQT_USER) + rc = idxd_bind(&idxd_user_drv.drv, wq_name); + else + rc = -EINVAL; + if (rc < 0) { + clear_bit(i, idxd->wq_enable_map); + dev_err(dev, + "HALT: unable to re-enable wq %s\n", + dev_name(wq_confdev(wq))); + } + } + } + out: + kfree(idxd->idxd_saved); + } + + static const struct pci_error_handlers idxd_error_handler = { + .reset_prepare = idxd_reset_prepare, + .reset_done = idxd_reset_done, + }; + + /* + * Probe idxd PCI device. + * If idxd is not given, need to allocate idxd and set up its data. + * + * If idxd is given, idxd was allocated and setup already. Just need to + * configure device without re-allocating and re-configuring idxd data. + * This is useful for recovering from FLR. + */ + int idxd_pci_probe_alloc(struct idxd_device *idxd, struct pci_dev *pdev, + const struct pci_device_id *id) + { + bool alloc_idxd = idxd ? false : true; + struct idxd_driver_data *data; + struct device *dev; + int rc; + + pdev = idxd ? idxd->pdev : pdev; + dev = &pdev->dev; + data = id ? (struct idxd_driver_data *)id->driver_data : NULL; + rc = pci_enable_device(pdev); if (rc) - goto err; + return rc; + + if (alloc_idxd) { + dev_dbg(dev, "Alloc IDXD context\n"); + idxd = idxd_alloc(pdev, data); + if (!idxd) { + rc = -ENOMEM; + goto err_idxd_alloc; + } + + dev_dbg(dev, "Mapping BARs\n"); + idxd->reg_base = pci_iomap(pdev, IDXD_MMIO_BAR, 0); + if (!idxd->reg_base) { + rc = -ENOMEM; + goto err_iomap; + } + + dev_dbg(dev, "Set DMA masks\n"); + rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); + if (rc) + goto err; + }
dev_dbg(dev, "Set PCI master\n"); pci_set_master(pdev); pci_set_drvdata(pdev, idxd);
- idxd->hw.version = ioread32(idxd->reg_base + IDXD_VER_OFFSET); - rc = idxd_probe(idxd); - if (rc) { - dev_err(dev, "Intel(R) IDXD DMA Engine init failed\n"); - goto err; - } + if (alloc_idxd) { + idxd->hw.version = ioread32(idxd->reg_base + IDXD_VER_OFFSET); + rc = idxd_probe(idxd); + if (rc) { + dev_err(dev, "Intel(R) IDXD DMA Engine init failed\n"); + goto err; + } + + if (data->load_device_defaults) { + rc = data->load_device_defaults(idxd); + if (rc) + dev_warn(dev, "IDXD loading device defaults failed\n"); + } + + rc = idxd_register_devices(idxd); + if (rc) { + dev_err(dev, "IDXD sysfs setup failed\n"); + goto err_dev_register; + }
- if (data->load_device_defaults) { - rc = data->load_device_defaults(idxd); + rc = idxd_device_init_debugfs(idxd); if (rc) - dev_warn(dev, "IDXD loading device defaults failed\n"); + dev_warn(dev, "IDXD debugfs failed to setup\n"); }
- rc = idxd_register_devices(idxd); - if (rc) { - dev_err(dev, "IDXD sysfs setup failed\n"); - goto err_dev_register; - } + if (!alloc_idxd) { + /* Release interrupts in the IDXD device. */ + idxd_cleanup_interrupts(idxd);
- rc = idxd_device_init_debugfs(idxd); - if (rc) - dev_warn(dev, "IDXD debugfs failed to setup\n"); + /* Re-enable interrupts in the IDXD device. */ + rc = idxd_setup_interrupts(idxd); + if (rc) + dev_warn(dev, "IDXD interrupts failed to setup\n"); + }
dev_info(&pdev->dev, "Intel(R) Accelerator Device (v%x)\n", idxd->hw.version);
- idxd->user_submission_safe = data->user_submission_safe; + if (data) + idxd->user_submission_safe = data->user_submission_safe;
return 0;
@@@ -798,6 -1197,11 +1197,11 @@@ return rc; }
+ static int idxd_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) + { + return idxd_pci_probe_alloc(NULL, pdev, id); + } + void idxd_wqs_quiesce(struct idxd_device *idxd) { struct idxd_wq *wq; @@@ -864,6 -1268,7 +1268,7 @@@ static struct pci_driver idxd_pci_drive .probe = idxd_pci_probe, .remove = idxd_remove, .shutdown = idxd_shutdown, + .err_handler = &idxd_error_handler, };
static int __init idxd_init_module(void)
linux-merge@lists.open-mesh.org