linux/drivers
Clément Léger 753a026cfe net: ocelot: add FDMA support
Ethernet frames can be extracted or injected autonomously to or from
the device’s DDR3/DDR3L memory and/or PCIe memory space. Linked list
data structures in memory are used for injecting or extracting Ethernet
frames. The FDMA generates interrupts when frame extraction or
injection is done and when the linked lists need updating.

The FDMA is shared between all the ethernet ports of the switch and
uses a linked list of descriptors (DCB) to inject and extract packets.
Before adding descriptors, the FDMA channels must be stopped. It would
be inefficient to do that each time a descriptor would be added so the
channels are restarted only once they stopped.

Both channels uses ring-like structure to feed the DCBs to the FDMA.
head and tail are never touched by hardware and are completely handled
by the driver. On top of that, page recycling has been added and is
mostly taken from gianfar driver.

Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Co-developed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Clément Léger <clement.leger@bootlin.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-12-10 20:56:58 -08:00
..
accessibility
acpi
amba
android
ata
atm
auxdisplay
base
bcma
block block-5.16-2021-12-03 2021-12-04 08:38:25 -08:00
bluetooth
bus
cdrom
char parisc architecture bug and warning fixes for kernel v5.16-rc4 2021-12-05 12:58:18 -08:00
clk
clocksource
comedi
connector
counter
cpufreq
cpuidle
crypto
cxl
dax
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware
fpga
fsi
gnss
gpio
gpu Networking fixes for 5.16-rc5, including fixes from bpf, can and netfilter. 2021-12-09 11:26:44 -08:00
greybus
hid HID: Ignore battery for Elan touchscreen on Asus UX550VE 2021-12-08 18:16:07 +01:00
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
i3c
idle
iio
infiniband
input
interconnect
iommu
ipack
irqchip
isdn
leds
macintosh
mailbox
mcb
md
media
memory
memstick
message
mfd
misc
mmc
most
mtd
mux
net net: ocelot: add FDMA support 2021-12-10 20:56:58 -08:00
nfc
ntb
nubus
nvdimm
nvme
nvmem
of
opp
parisc
parport
pci Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2021-12-08 16:06:44 -08:00
pcmcia
perf
phy
pinctrl
platform platform-drivers-x86 for v5.16-3 2021-12-07 10:10:20 -08:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 s390/qeth: remove check for packing mode in qeth_check_outbound_queue() 2021-12-07 22:01:03 -08:00
sbus
scsi SCSI fixes on 20211204 2021-12-04 08:28:42 -08:00
sh
siox
slimbus
soc
soundwire
spi
spmi
ssb
staging
target
tc
tee
thermal
thunderbolt
tty TTY/Serial fixes for 5.16-rc4 2021-12-05 09:13:20 -08:00
uio
usb Networking fixes for 5.16-rc5, including fixes from bpf, can and netfilter. 2021-12-09 11:26:44 -08:00
vdpa
vfio
vhost
video TTY/Serial fixes for 5.16-rc4 2021-12-05 09:13:20 -08:00
virt
virtio
visorbus
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile