1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-20 16:20:18 +02:00
Commit Graph

204 Commits

Author SHA1 Message Date
juhosg
263a705cc6 ar71xx: move micrel PHY driver to the generic linux target
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30946 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-15 09:25:53 +00:00
juhosg
1d9a77e99f ar71xx: ag71xx: fix ARP frame reception on AR934x switch ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30926 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:38 +00:00
juhosg
0fced5df74 ar71xx: ag71xx: start aneg on switch PHYs after reset
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30925 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:37 +00:00
juhosg
9d0c4ce009 ar71xx: ag71xx: poll PHY status of all available switch ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30924 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:36 +00:00
juhosg
d2b8246b44 ar71xx: ag71xx: allow to use port 5 of the AR934x built-in switch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30923 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:34 +00:00
juhosg
d32129c110 ar71xx: ag71xx: fix get_port_link callback
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30841 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07 16:32:35 +00:00
juhosg
4a420c6fa2 ar71xx: ag71xx: use the generic get_port_link implementation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30840 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07 16:32:34 +00:00
juhosg
78859ab57d ar71xx: ag71xx: keep VLAN tags if VLAN is not enabled
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30768 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-01 19:49:05 +00:00
juhosg
ee8624ffde ar71xx: ag71xx: add BQL support
It will be usable only from linux-3.3.

Based on a patch by Dave Taht <dave.taht@bufferbloat.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30417 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 14:56:47 +00:00
juhosg
33ec8951f8 ar71xx: add preliminary support for 3.3
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30410 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 11:53:56 +00:00
juhosg
d9077e15ae ar71xx: merge files-3.2 to files
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30405 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 08:19:31 +00:00
juhosg
22b99f32a1 ar71xx: move arch specific files to files-2.6.39
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29867 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 22:38:11 +00:00
juhosg
fa5eb96b17 ar71xx: include linux/module.h in the micrel phy driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29848 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 13:51:49 +00:00
juhosg
b042bd4e4d ar71xx: ag71xx: implement get_port_{link,stats} callbacks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29626 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-31 15:02:26 +00:00
nbd
2ca2cb6c37 ar71xx: set a reserved bit that resets to 1 when writing the address table control register on the ar7240 switch (should fix #10547)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29598 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-22 05:43:53 +00:00
juhosg
8e8e3fdde7 ar71xx: ag71xx: fix switch port setup for AR934X
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29554 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:32 +00:00
juhosg
07d1bcb923 ar71xx: ag71xx: allow to connect PHY4 to the CPU on AR934X
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29553 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:30 +00:00
juhosg
cb5f456a33 ar71xx: ag71xx: setup switch interface mode on AR934X
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29552 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:29 +00:00
juhosg
f97a00297e ar71xx: ag71xx: detect the built-in switch of the AR934X SoCs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29551 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:28 +00:00
juhosg
812763d48e ar71xx: introduce ar71xx_switch_data
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29549 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:11 +00:00
juhosg
08d268c8a7 ar71xx: ag71xx: check PHY IDs before accessing the switch registers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29541 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 13:25:23 +00:00
juhosg
a82d9221c9 ar71xx: ag71xx: don't use port 4 of the switch, it is not connected on ar724x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29540 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 13:25:21 +00:00
juhosg
ba116ade9e ar71xx: ag71xx: nuke ar7240sw_init
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29539 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 13:25:20 +00:00
juhosg
3095cc8090 ar71xx: ag71xx: add support for getting switch port link status
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29017 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:27:04 +00:00
juhosg
451654dc3a ar71xx: ag71xx: remove unused mii_ctrl field from struct ag71xx
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29015 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:27:01 +00:00
juhosg
749767a552 ar71xx: ag71xx: remove unused mii_cfg related functions and defines
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29014 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:27:00 +00:00
juhosg
228681e328 ar71xx: set MII interface speed from the set_speed callbacks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29013 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:26:59 +00:00
juhosg
7571fae3ab ar71xx: rename set_pll callback to set_speed in ag71xx_platform_data
Also rename the corresponding callback functions.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29012 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:26:57 +00:00
juhosg
95d3699b73 ar71xx: ag71xx: remove MII interface setup code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29011 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:26:56 +00:00
juhosg
3cd36281d9 ar71xx: ag71xx: use fixed link parameters if the mii bus is not registered
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28977 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-12 10:54:16 +00:00
nbd
33f4cde7a9 ar71xx: remove dead code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28851 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-08 00:33:20 +00:00
nbd
4677737b0a ar71xx: on ar7240, exclude ports from their own port vlan destination mask
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28850 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-08 00:33:15 +00:00
jogo
d066413d5d ag71xx: close a race between the phy state machine and link state
A fast stop/start cycle could leave the ag71xx interrupts and tx engine
disabled when using a phy driver with a fixed link and the start/stop
happens between two phy state machine polls.

Prevent this by always forcing the link down on stop regardless of phy
state and having a phy connected.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28380 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-10-08 11:37:14 +00:00
nbd
3c978d1604 ar71xx: fix register range check for DMA stuck checks (thx, Frédéric Moulins)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28213 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-09-11 17:44:12 +00:00
nbd
db5c8f65ca ar71xx: add some code to detect DMA stuck conditions on ar7240
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27975 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-13 22:30:14 +00:00
nbd
5051a6677f ar71xx: on ar724x only reset the link status in the restart handler, the fast reset takes care of DMA stuck issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27973 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-13 21:49:46 +00:00
nbd
571d12ab3a ar71xx: fix ethernet FIFO state corruption on ar7240
When starting/stopping DMA sometimes the FIFO state gets corrupted,
leading to wildly fluctuating latencies or packet data corruption.
Fix this by issuing a fast MAC reset as soon as the link is detected
as up. Fixes #9689, #9405

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27896 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-04 17:36:31 +00:00
nbd
27818ae524 ag71xx: fix memory corruption issues on ar7240 on ethernet start/stop
When the DMA engine state gets corrupted due to a hardware issues, it
often won't stop rx until a full reset is issued. In that case the hardware
must keep a valid descriptor, otherwise it will write to random places in
system RAM, triggering random crashes. To fix this, keep a dummy descriptor
without a buffer that keeps the DMA engine in a sane state until the reset
is done

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27895 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-04 17:36:27 +00:00
nbd
3fe5c4149b ar71xx: fix MAC/MDIO reset mask handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27894 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-04 17:36:23 +00:00
nbd
3bad82d2e7 ar71xx: reinitialize global switch settings after reset on ar7240
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27705 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 14:39:47 +00:00
nbd
340551c062 ar71xx: configure address aging on ar7240
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27704 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 14:39:42 +00:00
nbd
8ea4f149b0 ar71xx: reset the phy in the ethernet init on ar724x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27703 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:34 +00:00
nbd
96c14099ce ar71xx: make sure that rx and interrupts are disabled before issuing the hardware reset
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27702 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:29 +00:00
nbd
9dfcd7e5e2 ar71xx: increase the delay after the ethernet MAC reset
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27701 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:25 +00:00
nbd
db4cd49d62 ar71xx: fix an unused variable warning
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27700 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:20 +00:00
nbd
ec8e57edd9 ar71xx: do not reset the hardware on transmit timeout - this would mess up the up the PHY state
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27568 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-09 06:30:13 +00:00
nbd
cc32100390 ag71xx: keep the rx engine stopped while the link is not up, should hopefully fix stability issues from #9405
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27567 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-09 06:29:46 +00:00
nbd
480dfda6ec Revert "ar71xx: only enable the rx engine after the link is up..."
It messes up the DMA state when the link goes down

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27088 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-01 18:15:43 +00:00
juhosg
75e1476cce ar71xx: ag71xx: make ring sizes configurable via ethtool
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27041 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31 22:53:10 +00:00
juhosg
a137dec884 ar71xx: ag71xx: prepare to make ring sizes configurable
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27040 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31 22:53:09 +00:00