1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-10 10:50:36 +02:00
Commit Graph

132 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
d7d76ebff9 rtl8366: make it available on all platforms
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19329 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-25 15:13:38 +00:00
juhosg
57a1f64fd7 rtl8366s: simplify mib counters handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19326 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-25 14:24:53 +00:00
juhosg
e47c4f9d9e rtl8366_smi: move RTL8366S driver into a separate file
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19279 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:38:07 +00:00
juhosg
62717a96cd rtl8366_smi: rename rtl8366s specific functions and definitions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19278 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:58 +00:00
juhosg
1d1fe9d55e rtl8366_smi: move chip specific stuff into its own struct
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19277 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:53 +00:00
juhosg
878e6fafb0 rtl8366_smi: separate gpio initialization
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19276 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:50 +00:00
juhosg
d4dafe5ce3 rtl8366_smi: store GPIO numbers directly in the rtl8366_smi struct
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19275 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:47 +00:00
juhosg
0a71019902 rtl8366_smi: store device pointer instead of plaform_device
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19274 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:41 +00:00
juhosg
3e3062918b rtl8366_smi: rename switch attribute handlers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19254 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-21 12:13:43 +00:00
juhosg
4162526b1d rtl8366_smi: simplify rtl8366_attr_get_port_link function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19250 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:30 +00:00
juhosg
4cff025384 rtl8366_smi: make rtl8366_phy_config_{aneg,init} static
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19249 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:27 +00:00
juhosg
a51fdf9d02 rtl8366_smi: simplify rtl8366_{get,set}_port_vlan_index functions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19248 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:24 +00:00
juhosg
64f1c1d827 rtl8366_smi: minor code optimalizations
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19247 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:21 +00:00
juhosg
aac113a5bf rtl8366_smi: coding style cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19246 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 17:40:39 +00:00
juhosg
75c9ca9730 rtl8366_smi: add Kconfig option for the debugfs stuff
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19243 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 09:30:36 +00:00
juhosg
01b8553904 rtl8366_smi: fix error checking in rtl8366s_set_vlan_4k_entry
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19242 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 09:30:32 +00:00
juhosg
f3d96d2a1e rtl8366_smi: fix parameter checking in rtl8366_attr_get_vlan_info
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19241 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 09:30:25 +00:00
juhosg
72607e76c7 rtl8366_smi: fix return codes in rtl8366s_reset_vlan
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19240 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 07:06:18 +00:00
juhosg
e191d5d165 rtl8366_smi: move variable initialization out from the loop
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19239 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 07:06:15 +00:00
juhosg
77450dabca rtl8366_smi: fix port->flags calculation in rtl8366_get_ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19237 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 07:06:10 +00:00
juhosg
a3545860d0 rtl8366_smi: use inline function instead of a macro on top of container_of
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19215 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-18 09:01:40 +00:00
nbd
a289808594 rtl8366_smi: reset the vlan table when resetting the switch and use vlan get/set ports for vlan member lists
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19206 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-18 00:12:12 +00:00
nbd
efa2a6f909 rtl8366_smi: fix excessive stack usage and buffer handling bugs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19205 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-18 00:12:07 +00:00
nbd
f79dd5c840 ar71xx: fix return statement in the rtl8366 driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19204 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 22:57:08 +00:00
juhosg
ad726f6e1c rtl8366_smi: register the switch directly from the probe routine
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19202 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:37:09 +00:00