1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-01 09:07:30 +02:00
Commit Graph

98 Commits

Author SHA1 Message Date
nbd
5cc1f4bcf3 ar71xx: add a new driver for the ar7240 switch using swconfig.
hooks directly into the ethernet driver, as MAC resets also require switch reinitializations and the switch is part of the cpu core anyway
switch only tl-wr741nd (and other devices using this board file, such as tl-wr841nd) over to using this by default, as other devices are still untested
fixes #7563

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22675 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-16 19:21:57 +00:00
nbd
f3814337f1 ar71xx: only reinit the ethernet MAC at .open() on ar724x for now, until we've figured out what part of it causes the issue described in #7563
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22075 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-06 12:40:07 +00:00
nbd
d856215f02 ag71xx: reset the hardware during open(), this improves recovery from tx timeouts on ar724x considerably
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22055 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-04 02:15:08 +00:00
nbd
950d12ef69 ag71xx: fix a memory corruption bug that happens if you flood the interface with packets while it's being brought down
fixes boot time crashes under load reported by matteo

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22054 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-04 01:31:33 +00:00
nbd
2a9dd36f43 ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason (fixes #7236)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21166 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-26 16:39:13 +00:00
nbd
ea9bbe955d ar71xx: fix up alignment handling
- on ar724x, rx buffers can be aligned with an offset of 2, which keeps the ip header aligned
- alignment offset is only added if the ar8216 workaround is not active and the phy driver does not advertise its own packet alignment
- ar71xx and ar91xx can not handle rx alignment offsets, however taking a hit on unaligned exceptions seems to have less overhead than re-aligning the data for large packets
- use memmove to re-align small packets, if necessary

tested on ar9132, ar7240 and ar7242 based devices without ar8216 headers

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20892 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-15 23:31:17 +00:00
juhosg
da7aaa905b ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive functions
Cc: backfire@openwrt.org


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20751 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-09 08:40:06 +00:00
juhosg
c74f817d15 ar71xx: ag71xx: call the phy driver's netif_receive_skb()
Ag71xx needs to call the phy's netif_receive_skb() to allow phy drivers
to mangle rx packets. This patch fixes it.

This fixes the header mangling of the AR8216 driver.

Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
Cc:backfire@openwrt.org


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20750 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-09 08:38:46 +00:00
juhosg
040ee7aa28 ar71xx: fix broken LAN ports on the boards with AR8216 switch (closes #7024)
* cc: backfire@openwrt.org


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20673 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-03 13:59:08 +00:00
juhosg
90c499bfa0 ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stack
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20506 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:27 +00:00
juhosg
1a729d6932 ar71xx: ag71xx: introduce ag71xx_has_ar8216() helper
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20505 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:24 +00:00
juhosg
51763ff18e ar71xx: ag71xx: reorganize ag71xx_rx_packet function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20504 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:20 +00:00
juhosg
afa983c991 ar71xx: ag71xx: Add netpoll support
This patch adds support for polling interrupts, used by
netconsole and the likes.

Tested on d-link dir-615 C1 using netconsole.

Signed-off-by: Pat Erley <pat-lkml@erley.org>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20503 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:17 +00:00
agb
651c537f30 [ar71xx] wrt400n: lan ports don't need the ar8216 workaround
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20491 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-26 19:09:11 +00:00
juhosg
e6e9309426 ar71xx: change PHY select logic, and update phy_masks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20358 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-21 18:16:07 +00:00
juhosg
2feb525193 ar71xx: ag71xx: fix MAC address setup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20092 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-09 18:05:36 +00:00
juhosg
0955ccfcf3 ar71xx: ag71xx: move calling ag71xx_phy_stop out from spinlock
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20004 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:22 +00:00
juhosg
5b74d557fa ar71xx: ag71xx: move link update function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20003 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:18 +00:00
juhosg
99dab77b59 ar71xx: ag71xx: don't use dev->trans_start
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20002 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:14 +00:00
juhosg
54b41868d6 ar71xx: ag71xx: use dma_unmap_single to unmap frames
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20001 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:10 +00:00
juhosg
ee12427e21 ar71xx: ag71xx: use correct device pointer for dma_map_single
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:18 +00:00
juhosg
a1c949e3fc ar71xx: ag71xx: don't use virt_to_phys
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19950 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:15 +00:00
juhosg
9cef2f85c2 ar71xx: ag71xx: simplify register access functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19949 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:12 +00:00
juhosg
75c4494280 ar71xx: ag71xx: use NETDEV_TX_OK
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19948 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:09 +00:00
juhosg
7bdbc197cd ar71xx: enable TX/RX flow control on the AR7240
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19832 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-02-24 13:38:41 +00:00
juhosg
c64ff4c0d6 ar71xx: add NAPI statistics to the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19079 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-08 20:22:55 +00:00
jow
9a41a375f8 [ar71xx] fix typo after r19054
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19059 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-06 20:16:07 +00:00
juhosg
0c1d7bcfa5 ar71xx: add detailed interrupt statistics for the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19054 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-06 15:24:01 +00:00
juhosg
efbbcd998e ar71xx: update Kconfig of the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19032 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-04 14:28:28 +00:00
juhosg
bdcb066fc4 ar71xx: add dummy debugfs support for the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19031 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-04 14:28:25 +00:00
nbd
483781cdb7 Revert "ar71xx: move phy_connect call to ag71xx_open" (r18691)
It's causing issues with switch drivers that register with swconfig and
makes fixing those unnecessarily complicated.
Fixes rtl8306 switch support on the WRT160NL.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18789 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-15 22:37:54 +00:00
juhosg
1e52fbecdb ar71xx: fix NULL pointer dereference in the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18755 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-11 19:32:58 +00:00
juhosg
07282cf223 ar71xx: merge ag71xx specific patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18751 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-11 16:41:40 +00:00
juhosg
c9789da4c5 ar71xx: move mdio_bus reset code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18749 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-11 12:21:15 +00:00
juhosg
5608c597c3 ar71xx: add support for external mii_bus
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18692 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-08 10:29:27 +00:00
juhosg
1fec1f6c54 ar71xx: move phy_connect call to ag71xx_open
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18691 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-08 10:29:19 +00:00
juhosg
9152c5c793 ar71xx: change mii_bus name
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18619 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-03 14:17:12 +00:00
juhosg
98a4123863 ar71xx: override fifo_cfg[123] values on AR7240
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18614 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-11-30 13:53:39 +00:00
nbd
ac42d58d7c ar71xx: mask out reserved bits from the dma tx status in the ethernet driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18599 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-11-29 13:38:03 +00:00
juhosg
0724c81c22 ar71xx: use soc specific divider for mdio clock
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18225 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-30 12:26:22 +00:00
juhosg
5be08769f3 ar71xx: update mdio_reset code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18224 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-30 12:26:17 +00:00
juhosg
c09228f083 ar71xx: flush mii register writes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17695 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-09-23 17:44:08 +00:00
juhosg
1bf028b56d ar71xx: don't use mac_base2 in the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17693 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-09-23 17:44:02 +00:00
juhosg
7e34715f43 ar71xx: remove some extern directives in the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17692 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-09-23 17:43:57 +00:00
juhosg
0e481cb3bc [ar71xx] ag71xx driver: rename ag71xx_debug module parameter
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16833 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-13 17:45:25 +00:00
juhosg
f7c0493258 [ar71xx] ag71xx driver: fix a typo
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16827 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-13 12:20:02 +00:00
juhosg
b38196cb4b [ar71xx] ag71xx driver: align descriptors on cache_line boundary
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16825 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-13 11:40:10 +00:00
juhosg
788424fcb7 [ar71xx] ag71xx driver: store descriptor pointers in ag71xx_buf
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16824 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-13 11:38:37 +00:00
juhosg
76604034e6 [ar71xx] ag71xx driver: descriptors always aligned on 4 byte boundary
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16818 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-12 16:04:28 +00:00
juhosg
1142b81a11 [ar71xx] ag71xx driver: don't flush ddr on tx path
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16817 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-12 16:02:27 +00:00