1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-22 12:51:08 +02:00
Commit Graph

76 Commits

Author SHA1 Message Date
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
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
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
juhosg
940317dc35 ar71xx: ag71xx: nuke unused AG71XX_TX_FIFO_LEN define
Reported-by: Dave Täht <dave.taht@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27039 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31 22:53:07 +00:00
matteo
483991c363 ar71xx: detect link on LAN ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26922 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-17 11:12:56 +00:00
matteo
51053e7640 use correct macros and frame size in ag71xx
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26890 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-14 23:10:06 +00:00
juhosg
5155342ee7 ar71xx: ag71xx: add timestamps to ag71xx_buf
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26844 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07 12:40:28 +00:00
juhosg
f6816e49d9 ar71xx: ag71xx: use debugfs_remove_recursive
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26842 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07 12:40:25 +00:00
nbd
7569a2e88f ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus behind the switch instead
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26393 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-02 00:47:29 +00:00
juhosg
c0734b8ffe ar71xx: return statements does not need parenthesis
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23979 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:51:38 +00:00
juhosg
74ed307c1e ar71xx: fix inline attribute location
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23978 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:51:21 +00:00
juhosg
b6dbd83901 ar71xx: fix whitespaces nits
(build error has been fixed - juhosg)

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23975 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:50:29 +00:00
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
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
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
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
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
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
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
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
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
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
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
1d3c32c543 [ar71xx] add AR7240 specific fixes for the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16737 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-07 18:06:02 +00:00
juhosg
2a2b18f0d4 [ar71xx] fix a bitmask in the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16658 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-07-02 17:23:11 +00:00
juhosg
7fa43ebaa8 [ar71xx] ag71xx driver: add a workaround for the ar8216 chip, until we get a suitable switch driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14655 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-25 16:47:11 +00:00
juhosg
3bd4d688fb [ar71xx] ag71xx driver: add Kconfig option for enabling debug messages
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14517 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-15 13:12:43 +00:00
juhosg
a8744163a1 [ar71xx] ag71xx driver: apply 2.6.28 specific patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14515 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-15 07:57:29 +00:00
juhosg
6ce4ee38eb [ar71xx] ag71xx driver: fix a kernel crash caused by r14496
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14504 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-13 20:36:39 +00:00
juhosg
a101c79bb0 [ar71xx] ag71xx driver: fix return code of the napi poll routine, was broken since [13545] (patch by Ubiquiti Networks)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14496 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-13 11:16:57 +00:00
juhosg
b9cdd21fc5 [ar71xx] ag71xx driver: update phy connecting code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14495 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-13 10:43:40 +00:00