1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-28 17:28:09 +02:00
Commit Graph

93 Commits

Author SHA1 Message Date
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
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
866750add0 [ar71xx] add support for board specific PLL settings
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16133 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-05-28 13:00:08 +00:00
juhosg
e009ba558b [ar71xx] use dev_name() instead of bus_id in ag71xx, ohci-ar71xx, ehci-ar71xx drivers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15629 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-05-05 19:21:39 +00:00
juhosg
b03b7eed82 [ar71xx] select ar8216 support for the WRT400N (thanks to netprince)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15427 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-26 18:47:41 +00:00