Commit Graph

253 Commits (7a71819002666848c4a2ca6a0e7220d225caf940)

Author SHA1 Message Date
Felix Fietkau 424bed8c19 ar71xx: only enable the rx engine after the link is up, fixes a race condition that got rx stuck when the interface is brought up during lots of inbound traffic (thx, matteo)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27035 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-30 23:08:01 +00:00
Felix Fietkau f3431736d5 ar71xx: disable flow control for ar724x, it can get stuck in a loop of continously sending MAC pause frames
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27034 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-30 23:07:57 +00:00
Matteo Croce c4c0ffb506 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 Croce 4fb23de559 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
Gabor Juhos c7cf7f306b ar71xx: ag71xx: make switch register access atomic
Reading of the PHY registers occasionally returns with bogus values
under heavy load. This misleads the PHY driver and thus causes false
link/speed change notifications which leads to performance loss.

This is easily noticable during an iperf session:

...
[  3] 52.0-53.0 sec  11.3 MBytes  94.4 Mbits/sec
[  3] 53.0-54.0 sec  11.4 MBytes  95.4 Mbits/sec
eth1: link down
br-lan: port 2(eth1) entering forwarding state
eth1: link up (100Mbps/Full duplex)
br-lan: port 2(eth1) entering forwarding state
br-lan: port 2(eth1) entering forwarding state
[  3] 54.0-55.0 sec  6.75 MBytes  56.6 Mbits/sec
[  3] 55.0-56.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 56.0-57.0 sec  10.5 MBytes  88.1 Mbits/sec
...
[  3] 169.0-170.0 sec  11.4 MBytes  95.4 Mbits/sec
[  3] 170.0-171.0 sec  11.4 MBytes  95.4 Mbits/sec
eth1: link up (10Mbps/Half duplex)
[  3] 171.0-172.0 sec  7.63 MBytes  64.0 Mbits/sec
[  3] 172.0-173.0 sec  9.38 MBytes  78.6 Mbits/sec
eth1: link up (100Mbps/Full duplex)
[  3] 173.0-174.0 sec  11.3 MBytes  94.4 Mbits/sec
[  3] 174.0-175.0 sec  11.4 MBytes  95.4 Mbits/sec

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26856 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-08 16:32:53 +00:00
Gabor Juhos 2d8d374be2 ar71xx: ag71xx: fix section mismatch warnings
The function __devinit ag71xx_probe() references
a function __devexit ag71xx_phy_disconnect().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
ag71xx_phy_disconnect() so it may be used outside an exit section.

The function ag71xx_phy_disconnect() references a function in an exit
section.
Often the function ag71xx_ar7240_cleanup() has valid usage outside the
exit section
and the fix is to remove the __devexit annotation of
ag71xx_ar7240_cleanup.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26855 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-08 13:30:36 +00:00
Gabor Juhos 0e24dd9f57 ar71xx: ag71xx: fix build error if debugfs is enabled
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26854 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-08 13:30:26 +00:00
Gabor Juhos 6373429682 ar71xx: ag71xx: add debugfs entry for [rt]x_ring
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26845 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07 12:40:34 +00:00
Gabor Juhos c37636c223 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
Gabor Juhos 3c6c9f5866 ar71xx: ag71xx: use dynamically allocated buffer for napi_stats
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26843 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07 12:40:26 +00:00
Gabor Juhos 24b135c75c 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
Felix Fietkau d8962e23e4 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
Felix Fietkau 9e57d0f14c ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not run them on every device open, only on tx timeouts
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26392 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-02 00:47:25 +00:00
Gabor Juhos 8a30b10bb8 ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOM
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23982 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:52:28 +00:00
Gabor Juhos 6a833a66ca ar71xx: use pr_* functions in drivers
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23981 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:52:12 +00:00
Gabor Juhos b61766aa30 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
Gabor Juhos b94e0b9e2f 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
Gabor Juhos ab91049eb3 ar71xx: wrap long lines
(build errors has been fixed - juhosg)

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23977 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:51:04 +00:00
Gabor Juhos 7832529d3f 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
Felix Fietkau 6da874b3a8 ar71xx: fix more section mismatches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23575 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-21 18:42:16 +00:00
Felix Fietkau c5cabb4673 ar71xx: improve 2.6.36 compatibility. also, instead of adding a forward port patch to the 2.6.36 patches, add a backport patch to 2.6.32
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23574 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-21 18:42:11 +00:00
Felix Fietkau f622088030 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
Felix Fietkau bf6dfd437d 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
Felix Fietkau e12c89f637 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
Felix Fietkau d7965cb882 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
Felix Fietkau fe2c15b6a5 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
Felix Fietkau 4593e471af 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
Gabor Juhos 74f5972ab6 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
Gabor Juhos a325986fbb 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
Gabor Juhos 0f9fc9edba 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
Gabor Juhos 55a949e0f7 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
Gabor Juhos 9fb9eaa98e 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
Gabor Juhos 8db8756bc6 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
Gabor Juhos 1f415dbfe9 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
Andy Boyett 94f7c6cc52 [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
Gabor Juhos 41b8423dc1 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
Gabor Juhos 0edfff7426 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
Gabor Juhos ed0bf18b3a 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
Gabor Juhos 8fe8275c5c 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
Gabor Juhos c154c604c8 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
Gabor Juhos cdf9393b64 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
Gabor Juhos 0000020d9e 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
Gabor Juhos be88103c82 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
Gabor Juhos a6e21ff78d 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
Gabor Juhos cae649f01b 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
Gabor Juhos 51caf0277d 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
Gabor Juhos e97e8ca04c 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
Gabor Juhos 0cf4435886 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
Gabor Juhos a8e1784a70 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
Gabor Juhos e4b621c24a 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
Gabor Juhos 84be6aa3ca 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
Gabor Juhos 8a5c8d9eca 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
Gabor Juhos 086011565c 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
Gabor Juhos 3ddab9c06b 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
Gabor Juhos e3412765b1 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
Gabor Juhos a6c08e2f1e 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
Gabor Juhos fcff949054 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
Gabor Juhos f3dad232f6 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
Gabor Juhos a181f97bf5 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
Gabor Juhos d573c3ed35 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
Gabor Juhos 6632b1ff36 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
Gabor Juhos e58b6f9e11 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
Gabor Juhos 95ccf9e5dd 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
Gabor Juhos e41e188da3 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
Gabor Juhos c1681883a5 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
Gabor Juhos 56ebadac0c 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
Gabor Juhos 0df42b5cd8 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
Felix Fietkau bce1ca23fe 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
Felix Fietkau 11334e85eb 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
Felix Fietkau 5db564846d 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
Gabor Juhos 325e935158 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
Gabor Juhos 010e9c50cc rtl8366_smi: use vlanmc name for all vlanconfig variables
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19201 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:59 +00:00
Gabor Juhos 821854a1e6 rtl8366_smi: use vlan4k name for all vlan4kentry variables
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19200 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:57 +00:00
Gabor Juhos 62a2d46199 rtl8366_smi: move memset into the rtl8366s_get_member_config function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19199 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:53 +00:00
Gabor Juhos cf4bc4100f rtl8366_smi: move memset into the rtl8366s_get_vlan_4k_entry function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19198 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:49 +00:00
Gabor Juhos d1f26095e5 rtl8366_smi: add vid parameter to the rtl8366s_get_vlan_4k_entry function
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19197 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:46 +00:00
Gabor Juhos 2e3e427df2 ar71xx: upgrade rtl8366_smi driver
Thanks to Antti Seppälä.
Patch from https://forum.openwrt.org/viewtopic.php?pid=100150#p100150


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19196 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:42 +00:00
Gabor Juhos b4b218d20a 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
Jo-Philipp Wich 2bbf2a3c19 [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
Gabor Juhos 53568d6359 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
Gabor Juhos 0c2b8d1d98 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
Gabor Juhos ac6dc4fb0d 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
Felix Fietkau d560a3be45 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
Gabor Juhos f4e935e035 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
Gabor Juhos 7d315cc477 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
Gabor Juhos 428adf203f 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
Gabor Juhos 468bef06f3 ar71xx: add mdio bus driver for the rtl8366 switch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18694 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-12-08 10:29:35 +00:00
Gabor Juhos 5504bc6629 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
Gabor Juhos 0346ad9467 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
Gabor Juhos d18aa81fca 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
Gabor Juhos 2383f010d9 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
Felix Fietkau 82a3705ef1 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
Gabor Juhos 872e71e3f5 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
Gabor Juhos 24d9dfb98c 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
Gabor Juhos 78487709a6 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
Gabor Juhos 495aed4039 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
Gabor Juhos 61be658834 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
Gabor Juhos 7c3041dac6 [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
Gabor Juhos ea6ce3904f [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
Gabor Juhos 716f74c9bd [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
Gabor Juhos 6bfa32dda5 [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
Gabor Juhos 42e75cfee0 [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
Gabor Juhos a9c43c0abb [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
Gabor Juhos 80f0f758b2 [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
Gabor Juhos 8f7326831c [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
Gabor Juhos 6ef2e153ea [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
Gabor Juhos 7d3620fda8 [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
Gabor Juhos f744c274df [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
Gabor Juhos b0d77eccb7 [ar71xx] ag71xx driver: forgot to add a new file
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14657 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-25 17:52:14 +00:00
Gabor Juhos 8bc3295891 [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
Gabor Juhos c99fbd93f5 [ar71xx] micrel phy driver: change initcall level if compiled into the kernel
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14628 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-22 20:52:12 +00:00
Gabor Juhos 81b5773b7f [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
Gabor Juhos b4a729598e [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
Gabor Juhos 50d2fe163f [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
Gabor Juhos eeb502575e [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
Gabor Juhos 886d8c80ae [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
Gabor Juhos ba9ae5c800 [ar71xx] remove netif schedule from the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14494 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-13 08:58:59 +00:00
Gabor Juhos 3f5a9262b4 [ar71xx] pull ethernet mac out of reset before registering the mdio_bus
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-02-12 14:06:58 +00:00
Gabor Juhos fc9fbf2abb [ar71xx] move random MAC address generation into the platform initialization code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14204 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-01-26 14:55:09 +00:00
Gabor Juhos 1e97fce4d1 [ar71xx] ag71xx driver: increase size of dma descriptors
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13561 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-09 10:16:49 +00:00
Gabor Juhos b03862a72b [ar71xx] ag71xx driver: use same FIFO configuration for all SOC
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13560 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-09 09:42:57 +00:00
Gabor Juhos df84ce6c3a [ar71xx] ag71xx driver: add OOM handler
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13545 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-08 13:15:12 +00:00
Gabor Juhos e348e3753c [ar71xx] ag71xx driver: don't refill rx buffers twice
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13544 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-08 08:31:25 +00:00
Gabor Juhos e0bfa7cae9 [ar71xx] ag71xx driver: interrupt status is masked by hw, don't mask it again
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13543 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-08 08:24:47 +00:00
Gabor Juhos 65bf8b94f2 [ar71xx] ag71xx driver: remove unused code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13542 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-08 08:22:56 +00:00
Gabor Juhos 1977abcdce [ar71xx] ag71xx driver: NAPI poll cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13538 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-07 09:46:41 +00:00
Gabor Juhos ec8e8d2a58 [ar71xx] ag71xx driver: handle TX timout
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13537 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-07 06:43:02 +00:00
Gabor Juhos ba4e9b0974 [ar71xx] ag71xx driver: always use NAPI to transmit packets
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13529 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-06 10:03:36 +00:00
Gabor Juhos 84af7151d4 [ar71xx] ag71xx driver: improve poll routine
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13525 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-05 20:08:00 +00:00
Gabor Juhos 060a762e04 [ar71xx] ag71xx driver: always flush register writes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13524 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-05 19:42:02 +00:00
Gabor Juhos dd1613db57 [ar71xx] ag71xx driver: don't use dma_cache_wback_inv
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13523 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-05 10:39:46 +00:00
Gabor Juhos be23a15ee7 [ar71xx] ag71xx driver: don't use CHECKSUM_UNNECCESARY (closes #4161)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13522 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-05 07:15:45 +00:00
Gabor Juhos de2eca1ee8 [ar71xx] ag71xx driver: minor cleanup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13496 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-03 08:55:39 +00:00
Gabor Juhos 7808db61ca [ar71xx] ag71xx driver: fix RX_STATUS_OF bitmask, and add DMA status register bit descriptions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13463 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-02 08:49:22 +00:00
Gabor Juhos f5dc8e6efe [ar71xx] ag71xx driver: add some debug stuff
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13462 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-02 08:46:37 +00:00
Gabor Juhos b1f31c9121 [ar71xx] ag71xx driver: reset DMA registers in hardware initialization
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13459 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-12-01 21:21:36 +00:00
Gabor Juhos 4a52e64bb8 [ar71xx] ag71xx driver: fix a typo
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13445 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-30 13:20:12 +00:00
Gabor Juhos 3578cf314c [ar71xx] ag71xx driver: clean up hardware initialization
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13395 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-28 14:08:53 +00:00
Gabor Juhos e168ccced8 [ar71xx] ag71xx driver: add more register bit definitions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13387 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-27 22:40:34 +00:00
Gabor Juhos b2d1c5773c [ar71xx] ag71xx driver: unregister MDIO bus in module exit
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13385 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-27 22:25:43 +00:00
Gabor Juhos 491cd8b323 [ar71xx] ag71xx driver: use SoC specific PLL values
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13377 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-27 18:54:58 +00:00
Gabor Juhos 31ecd080e3 [ar71xx] ag71xx: introduce SoC specific fuctions for DDR flush and PLL setup
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13369 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-26 20:00:41 +00:00
Gabor Juhos f1cc74e8ea [ar71xx] ag71xx: dump additional registers in debug mode
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13361 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-26 14:09:00 +00:00
Gabor Juhos 8a6b74261d [ar71xx] ethernet driver preparation for gigabit support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13340 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-24 16:56:36 +00:00
Gabor Juhos bedfcc443a [ar71xx] define some bits of the ethernet controller's registers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13201 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-14 08:57:31 +00:00
Gabor Juhos 5a1d964785 [ar71xx] cosmetic changes in the ag71xx driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13193 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-11-12 18:08:32 +00:00
Gabor Juhos 8b47c4566c [ar71xx] setup speed/duplex on RB-433/450 (closes #4151)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13087 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-10-31 11:50:47 +00:00
Gabor Juhos 1f385fa9cf [ar71xx] minor ethernet driver update
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12985 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-10-15 18:31:21 +00:00
Gabor Juhos dd67cca098 [ar71xx] ag71xx: add initial message level support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12262 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-08-10 09:18:42 +00:00
Gabor Juhos 56bd819318 [ar71xx] ethernet driver updates
* new mii bus code, mac0 and mac1 can use the mac0's miii bus from now on
* swap eth0 & eth1 on RB433/450


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11995 3c298f89-4303-0410-b956-a3cf2f4a3e73
2008-07-29 18:22:38 +00:00