Thomas Petazzoni
c5aff18204
net: mvneta: driver for Marvell Armada 370/XP network unit
...
This patch contains a new network driver for the network unit of the
ARM Marvell Armada 370 and the Armada XP. Both SoCs use the PJ4B
processor, a Marvell-developed ARM core that implements the ARMv7
instruction set.
Compared to previous ARM Marvell SoCs (Kirkwood, Orion, Discovery),
the network unit in Armada 370 and Armada XP is highly different. This
is the reason why this new 'mvneta' driver is needed, while the older
ARM Marvell SoCs use the 'mv643xx_eth' driver.
Here is an overview of the most important hardware changes that
require a new, specific, driver for the network unit of Armada 370/XP:
- The new network unit has a completely different design and layout
for the RX and TX descriptors. They are now organized as a simple
array (each RX and TX queue has base address and size of this
array) rather than a linked list as in the old SoCs.
- The new network unit has a different RXQ and TXQ management: this
management is done using special read/write counter registers,
while in the Old SocS, it was done using the Ownership bit in RX
and TX descriptors.
- The new network unit has different interrupt registers
- The new network unit way of cleaning of interrupts is not done by
writing to the cause register, but by updating per-queue counters
- The new network unit has different GMAC registers (link, speed,
duplex configuration) and different WRR registers.
- The new network unit has lots of new units like PnC (Parser and
Classifier), PMT, BM (Memory Buffer Management), xPON, and more.
The driver proposed in the current patch only handles the basic
features. Additional hardware features will progressively be supported
as needed.
This code has originally been written by Rami Rosen
<[email protected] >, and then reviewed and cleaned up by Thomas
Petazzoni <[email protected] >.
Signed-off-by: Thomas Petazzoni <[email protected] >
Acked-by: David S. Miller <[email protected] >
2012-11-16 10:21:26 +01:00
..
accessibility
acpi
ACPI video: Ignore errors after _DOD evaluation.
2012-11-03 09:52:54 +08:00
amba
ata
Merge branch 'samsung_platform_data' into staging/for_v3.7
2012-10-05 22:32:05 -03:00
atm
sections: fix section conflicts in drivers/atm
2012-10-06 03:04:40 +09:00
auxdisplay
base
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
2012-11-10 21:58:34 +01:00
bcma
bcma: fix unregistration of cores
2012-10-15 14:45:51 -04:00
block
loop: Make explicit loop device destruction lazy
2012-10-30 08:37:31 +01:00
bluetooth
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2012-10-02 13:38:27 -07:00
bus
drivers: bus: omap_l3: fixup merge conflict resolution
2012-10-01 19:39:48 -07:00
cdrom
char
sonypi: suspend/resume callbacks should be conditionally compiled on CONFIG_PM_SLEEP
2012-10-25 12:05:50 -07:00
clk
spi: Updates for v3.7
2012-10-02 17:26:42 -07:00
clocksource
Power management updates for 3.7-rc1
2012-10-02 18:32:35 -07:00
connector
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2012-10-02 13:38:27 -07:00
cpufreq
cpufreq / powernow-k8: Change maintainer's email address
2012-10-31 21:02:57 +01:00
cpuidle
ACPI idle, CPU hotplug: Fix NULL pointer dereference during hotplug
2012-10-08 22:52:54 -04:00
crypto
ARM: soc: late platform updates
2012-10-07 20:55:16 +09:00
dca
devfreq
dio
dma
Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
2012-10-26 14:59:01 -07:00
edac
amd64_edac:__amd64_set_scrub_rate(): avoid overindexing scrubrates[]
2012-10-24 16:13:27 +02:00
eisa
extcon
extcon : register for cable interest by cable name
2012-10-23 16:32:18 +09:00
firewire
firewire: cdev: fix user memory corruption (i386 userland on amd64 kernel)
2012-10-09 18:26:28 +02:00
firmware
firmware/memmap: avoid type conflicts with the generic memmap_init()
2012-10-19 14:07:47 -07:00
gpio
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
2012-11-10 21:58:34 +01:00
gpu
drm/vmwgfx: Fix a case where the code would BUG when trying to pin GMR memory
2012-11-09 20:49:06 +10:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2012-11-09 06:56:23 +01:00
hsi
hv
Drivers: hv: Cleanup error handling in vmbus_open()
2012-10-24 15:46:27 -07:00
hwmon
hwmon: Fix chip feature table headers
2012-11-05 21:54:40 +01:00
hwspinlock
i2c
Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux
2012-11-03 15:14:54 -07:00
ide
sections: fix section conflicts in drivers/ide
2012-10-06 03:04:41 +09:00
idle
iio
iio: Remove duplicates for light/ in Kconfig and Makefile
2012-10-19 19:44:06 +01:00
infiniband
Merge branches 'cxgb4' and 'mlx4' into for-next
2012-10-23 09:03:49 -07:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2012-11-02 16:11:15 -07:00
iommu
iommu/tegra: smmu: Fix deadly typo
2012-10-24 16:58:53 +02:00
irqchip
isdn
isdn: Make CONFIG_ISDN depend on CONFIG_NETDEVICES
2012-11-07 18:59:26 -05:00
leds
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds
2012-10-10 20:14:07 +09:00
lguest
Merge branch 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
2012-10-07 21:04:56 +09:00
macintosh
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
2012-10-06 03:16:12 +09:00
md
MD RAID10: Fix oops when creating RAID10 arrays via dm-raid.c
2012-10-31 11:42:30 +11:00
media
[media] Kconfig: Fix dependencies for driver autoselect options
2012-10-17 16:45:56 -03:00
memory
memstick
message
mfd
1. New drivers:
2012-10-07 17:29:24 +09:00
misc
pwm: Changes for v3.7-rc1
2012-10-10 20:15:24 +09:00
mmc
mmc: sdhci-s3c: fix the card detection in runtime-pm
2012-11-07 15:40:52 -05:00
mtd
mtd: Disable mtdchar mmap on MMU systems
2012-10-09 15:08:42 +01:00
net
net: mvneta: driver for Marvell Armada 370/XP network unit
2012-11-16 10:21:26 +01:00
nfc
nubus
of
of/platform: sparse fix
2012-10-17 15:53:03 -05:00
oprofile
mm: use mm->exe_file instead of first VM_EXECUTABLE vma->vm_file
2012-10-09 16:22:18 +09:00
parisc
parport
Xtensa patchset for 3.7
2012-10-09 16:11:46 +09:00
pci
PCI/portdrv: Don't create hotplug slots unless port supports hotplug
2012-11-05 16:59:59 -07:00
pcmcia
Merge branch 'testing/driver-warnings' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc into fixes
2012-10-19 15:40:18 -07:00
pinctrl
pinctrl: samsung and exynos need to depend on OF && GPIOLIB
2012-11-06 10:02:14 +01:00
platform
Merge branches 'fixes-for-37', 'ec' and 'thermal' into release
2012-10-09 01:47:35 -04:00
pnp
power
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
2012-10-13 11:27:59 +09:00
pps
idr: rename MAX_LEVEL to MAX_IDR_LEVEL
2012-10-06 03:04:56 +09:00
ps3
ptp
pwm
pwm: Changes for v3.7-rc1
2012-10-10 20:15:24 +09:00
rapidio
rapidio: update for destination ID allocation
2012-10-11 08:50:15 +09:00
regulator
MFD bits for the 3.7 merge window.
2012-10-05 12:01:30 +09:00
remoteproc
Merge branch 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
2012-10-07 21:04:56 +09:00
rpmsg
Merge branch 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
2012-10-07 21:04:56 +09:00
rtc
drivers/rtc/rtc-imxdi.c: add missing spin lock initialization
2012-10-25 14:37:53 -07:00
s390
s390/cio: fix length calculation in idset.c
2012-11-06 22:39:54 +01:00
sbus
scsi
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
2012-11-10 21:58:34 +01:00
sfi
sh
sh: Fix up more fallout from pointless ARM __iomem churn.
2012-10-15 14:08:48 +09:00
sn
spi
spi: Some minor MXS fixes
2012-10-28 11:13:54 -07:00
ssb
staging
Staging driver fixes for 3.7-rc3
2012-10-26 10:25:31 -07:00
target
target: Fix incorrect usage of nested IRQ spinlocks in ABORT_TASK path
2012-11-01 00:38:45 -07:00
tc
thermal
exynos4_tmu_driver_ids should be exynos_tmu_driver_ids.
2012-11-03 09:52:55 +08:00
tty
Revert "serial: omap: fix software flow control"
2012-10-24 11:57:21 -07:00
uio
mm: kill vma flag VM_RESERVED and mm->reserved_vm counter
2012-10-09 16:22:19 +09:00
usb
usb: gadget: g_ether: fix frame size check for 802.1Q
2012-11-07 21:12:26 -05:00
uwb
vfio
vfio: Fix PCI INTx disable consistency
2012-10-10 09:10:32 -06:00
vhost
vhost: fix mergeable bufs on BE hosts
2012-10-24 23:19:30 -04:00
video
Bug-fixes:
2012-11-02 13:26:11 -07:00
virt
virtio
virtio: Don't access index after unregister.
2012-11-09 14:54:24 +10:30
vlynq
vme
w1
char/misc driver merge for 3.7-rc1
2012-10-01 12:09:59 -07:00
watchdog
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
2012-10-07 21:06:10 +09:00
xen
Bug-fixes:
2012-11-10 06:56:21 +01:00
zorro
Kconfig
ARM: soc: driver specific changes
2012-10-01 18:46:13 -07:00
Makefile
IPMI: Change link order
2012-10-16 18:07:12 -07:00