mirror_ubuntu-kernels/include/linux/platform_data
Nishad Saraf 73d5fc92a1 dmaengine: amd: qdma: Add AMD QDMA driver
Adds driver to enable PCIe board which uses AMD QDMA (the Queue-based
Direct Memory Access) subsystem. For example, Xilinx Alveo V70 AI
Accelerator devices.
    https://www.xilinx.com/applications/data-center/v70.html

The QDMA subsystem is used in conjunction with the PCI Express IP block
to provide high performance data transfer between host memory and the
card's DMA subsystem.

            +-------+       +-------+       +-----------+
   PCIe     |       |       |       |       |           |
   Tx/Rx    |       |       |       |  AXI  |           |
 <=======>  | PCIE  | <===> | QDMA  | <====>| User Logic|
            |       |       |       |       |           |
            +-------+       +-------+       +-----------+

The primary mechanism to transfer data using the QDMA is for the QDMA
engine to operate on instructions (descriptors) provided by the host
operating system. Using the descriptors, the QDMA can move data in both
the Host to Card (H2C) direction, or the Card to Host (C2H) direction.
The QDMA provides a per-queue basis option whether DMA traffic goes
to an AXI4 memory map (MM) interface or to an AXI4-Stream interface.

The hardware detail is provided by
    https://docs.xilinx.com/r/en-US/pg302-qdma

Implements dmaengine APIs to support MM DMA transfers.
- probe the available DMA channels
- use dma_slave_map for channel lookup
- use virtual channel to manage dmaengine tx descriptors
- implement device_prep_slave_sg callback to handle host scatter gather
  list

Signed-off-by: Nishad Saraf <nishads@amd.com>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://lore.kernel.org/r/20240819211948.688786-2-lizhi.hou@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2024-08-28 23:34:13 +05:30
..
gpio
media ARM: s3c: simplify platform code 2023-01-16 09:26:05 +01:00
txx9
x86 platform-drivers-x86 for v6.11-1 2024-07-17 17:05:21 -07:00
ad5449.h
ad5761.h
ad7266.h
ad7791.h
ad7793.h
ad7887.h
adau17x1.h
adp8860.h
adp8870.h
ads7828.h
amd_qdma.h dmaengine: amd: qdma: Add AMD QDMA driver 2024-08-28 23:34:13 +05:30
amd_xdma.h dmaengine: xilinx: xdma: Add xilinx xdma driver 2023-02-10 11:32:26 +05:30
ams-delta-fiq.h
apds990x.h
arm-ux500-pm.h
asoc-imx-ssi.h
asoc-kirkwood.h
asoc-pxa.h ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
asoc-s3c.h
asoc-ti-mcbsp.h
ata-pxa.h
atmel.h
b53.h
bcm7038_wdt.h watchdog: bcm7038_wdt: Support platform data configuration 2021-12-28 13:59:07 +01:00
bcmgenet.h
bd6107.h backlight/bd6107: Rename struct bd6107_platform_data.fbdev to 'dev' 2023-06-27 09:58:48 +02:00
bh1770glc.h
brcmfmac.h wifi: brcmfmac: fix copyright year mentioned in platform_data header 2024-01-31 18:48:06 +02:00
brcmnand.h mtd: rawnand: brcmnand: Add platform data structure for BCMA 2022-01-23 16:37:18 +01:00
clk-da8xx-cfgchip.h
clk-davinci-pll.h
clk-fch.h ACPI: APD: Add a fmw property clk-name 2022-01-06 17:57:52 -08:00
cpuidle-exynos.h
cros_ec_chardev.h
cros_ec_commands.h platform/chrome: Update binary interface for EC-based charge control 2024-07-01 21:22:19 +08:00
cros_ec_proto.h platform/chrome: cros_ec_proto: Introduce cros_ec_get_cmd_versions() 2024-07-01 21:22:19 +08:00
cros_ec_sensorhub.h
cros_usbpd_notify.h
crypto-ux500.h
cyttsp4.h
davinci_asp.h ASoC: ti: davinci-i2s: Remove the unused clk_input_pin attribute 2024-04-09 16:58:34 +01:00
davinci-cpufreq.h ARM: davinci: fix davinci_cpufreq_init() declaration 2023-05-26 13:31:31 +02:00
dma-dw.h dmaengine: dw: Convert members to u32 in platform data 2021-08-06 19:18:35 +05:30
dma-ep93xx.h
dma-hsu.h dmaengine: hsu: Include headers we are direct user of 2022-09-04 22:49:35 +05:30
dma-iop32x.h
dma-mcf-edma.h
dma-mv_xor.h
dmtimer-omap.h
ds620.h
dsa.h
edma.h
elm.h
emc2305.h platform_data/emc2305: define platform data for EMC2305 driver 2022-09-19 06:17:05 -07:00
emif_plat.h
eth-ep93xx.h
g762.h
gpio_backlight.h backlight/gpio_backlight: Rename field 'fbdev' to 'dev' 2023-06-27 09:58:48 +02:00
gpio-ath79.h
gpio-davinci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
gpio-htc-egpio.h
gpio-omap.h OMAP/gpio: drop MPUIO static base 2023-10-04 11:37:25 +02:00
gpmc-omap.h memory: omap-gpmc: fix coverity issue "Control flow issues" 2022-11-10 11:04:07 +01:00
gsc_hwmon.h hwmon: Annotate struct gsc_hwmon_platform_data with __counted_by 2023-10-08 22:46:04 -07:00
hirschmann-hellcreek.h net: dsa: use capital "OR" for multiple licenses in SPDX 2023-08-24 12:02:53 -07:00
hsmmc-omap.h
hwmon-s3c.h
i2c-davinci.h
i2c-gpio.h i2c: gpio: support write-only sda/scl w/o pull-up 2023-01-23 23:18:54 +01:00
i2c-imx.h
i2c-mux-gpio.h i2c: mux: gpio: Add support for the 'settle-time-us' property 2024-07-20 03:07:55 +02:00
i2c-mux-reg.h i2c: mux: reg: Remove class-based device auto-detection support 2024-01-18 21:10:43 +01:00
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pxa.h
i2c-s3c2410.h
i2c-xiic.h
ina2xx.h
intel-mid_wdt.h
invensense_mpu6050.h iio:imu:mpu6050: Modify matricies to matrices 2021-03-29 11:06:01 +01:00
iommu-omap.h
isl9305.h
itco_wdt.h
keyboard-spear.h
keypad-ep93xx.h
keypad-nomadik-ske.h
keypad-omap.h Input: omap-keypad - drop optional GPIO support 2023-12-13 21:26:13 -08:00
keypad-pxa27x.h
keyscan-davinci.h
lcd-mipid.h Input: ads7846 - Convert to use software nodes 2023-05-24 15:01:30 +02:00
leds-lm355x.h
leds-lm3642.h
leds-lp55xx.h leds: lp55xx: Configure internal charge pump 2023-05-25 12:16:05 +01:00
lenovo-yoga-c630.h platform: arm64: add Lenovo Yoga C630 WOS EC driver 2024-06-14 12:51:30 +03:00
lm3630a_bl.h
lm3639_bl.h
lm8323.h
lp855x.h
lp8727.h
lp8755.h
ltc4245.h
lv5207lp.h backlight/lv5207lp: Rename struct lv5207lp_platform_data.fbdev to 'dev' 2023-06-27 09:58:48 +02:00
max197.h
max732x.h gpio: max732x: Drop unused support for irq and setup code via platform data 2022-05-05 14:37:17 +02:00
max3421-hcd.h
max6639.h
max6697.h
mcs.h
mdio-bcm-unimac.h net: mdio: mdio-bcm-unimac: Manage clock around I/O accesses 2024-02-21 12:46:17 +00:00
mdio-gpio.h
mfd-mcp-sa11x0.h
microchip-ksz.h net: dsa: Add KSZ8567 switch support 2024-02-01 11:17:24 +01:00
mlxcpld.h i2c: mux: mlxcpld: Add callback to notify mux creation completion 2021-02-09 11:35:44 +01:00
mlxreg.h platform_data/mlxreg: Add field with mapped resource address 2023-02-13 12:07:50 +01:00
mmc-davinci.h
mmc-esdhc-mcf.h
mmc-mxcmmc.h
mmc-omap.h ARM/mmc: Convert old mmci-omap to GPIO descriptors 2023-05-24 15:01:36 +02:00
mmc-pxamci.h ARM: spitz: Use software nodes to describe MMC GPIOs 2024-07-09 15:21:15 +02:00
mmc-sdhci-s3c.h
mmp_dma.h
mtd-davinci-aemif.h
mtd-davinci.h
mtd-nand-omap2.h Memory controller drivers for v5.17 - OMAP GPMC 2021-12-31 12:45:57 +01:00
mtd-nand-pxa3xx.h
mtd-nand-s3c2410.h
mtd-orion_nand.h
mv88e6xxx.h
mv_usb.h
net-cw1200.h wifi: cw1200: Convert to GPIO descriptors 2024-02-05 20:17:10 +02:00
omap1_bl.h backlight: omap1: Remove unused struct omap_backlight_config.set_power 2024-03-28 10:12:49 +00:00
omap-twl4030.h ASoC: ti: Convert TWL4030 to use GPIO descriptors 2023-10-02 14:06:20 +01:00
omap-wd-timer.h
omapdss.h
pca953x.h gpio: pca953x: Drop unused fields in struct pca953x_platform_data 2023-09-11 08:59:57 +02:00
phy-da8xx-usb.h
pinctrl-single.h
pm33xx.h
pxa2xx_udc.h ARM: pxa: fix missing-prototypes warnings 2023-05-26 13:33:05 +02:00
pxa_sdhci.h
regulator-haptic.h
s3c-hsotg.h
sa11x0-serial.h
sc18is602.h
sdhci-pic32.h
serial-omap.h
serial-sccnxp.h
sgi-w1.h
sh_mmcif.h mmc: sh_mmcif: move platform_data header to proper location 2022-04-26 14:05:21 +02:00
shmob_drm.h drm: renesas: shmobile: Use media bus formats in platform data 2023-10-16 11:47:46 +02:00
shtc1.h
si5351.h clk: si5351: allow PLLs to be adjusted without reset 2023-12-17 22:31:36 -08:00
simplefb.h drm/simpledrm: Support the XB24/AB24 format 2023-01-23 16:06:06 +01:00
spi-davinci.h
spi-ep93xx.h
spi-mt65xx.h spi: mediatek: add tick_delay support 2021-07-14 13:30:43 +01:00
spi-omap2-mcspi.h spi: spi-omap2-mcspi.c: revert "Toggle CS after each word" 2024-03-28 15:52:31 +00:00
spi-s3c64xx.h spi: s3c64xx: change polling mode to optional 2023-05-08 09:10:50 +09:00
st_sensors_pdata.h iio: Comment that the LSM303D also has the Magnetometer DRDY 2023-05-13 17:56:04 +01:00
syscon.h
tda9950.h
ti-aemif.h
ti-prm.h
ti-sysc.h bus: ti-sysc: Drop legacy idle quirk handling 2024-04-25 07:29:41 +03:00
tmio.h - New Drivers 2024-07-17 17:42:20 -07:00
touchscreen-s3c2410.h
tps68470.h platform/x86: int3472: Support multiple clock consumers 2022-09-24 19:12:32 +02:00
tsc2007.h
tsl2772.h
uio_dmem_genirq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
usb3503.h usb: misc: usb3503: support usb3803 and bypass mode 2023-03-16 12:18:03 +01:00
usb-davinci.h
usb-ehci-orion.h
usb-musb-ux500.h
usb-ohci-pxa27x.h
usb-ohci-s3c2410.h
usb-omap1.h ARM: omap1: innovator: move ohci phy power handling to board file 2022-04-21 15:01:44 +02:00
usb-omap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_152.RULE 2022-06-10 14:51:35 +02:00
video_s3c.h
video-ep93xx.h
video-pxafb.h ARM: pxa: move regs-lcd.h into driver 2022-04-19 16:29:03 +02:00
voltage-omap.h ARM: omap2: make functions static 2023-01-09 17:00:54 +01:00
wilco-ec.h
wiznet.h
wkup_m3.h
xilinx-ll-temac.h
xtalk-bridge.h
zforce_ts.h