1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-29 00:31:32 +02:00
Commit Graph

275 Commits

Author SHA1 Message Date
juhosg
228681e328 ar71xx: set MII interface speed from the set_speed callbacks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29013 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:26:59 +00:00
juhosg
7571fae3ab ar71xx: rename set_pll callback to set_speed in ag71xx_platform_data
Also rename the corresponding callback functions.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29012 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:26:57 +00:00
juhosg
95d3699b73 ar71xx: ag71xx: remove MII interface setup code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29011 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:26:56 +00:00
juhosg
3cd36281d9 ar71xx: ag71xx: use fixed link parameters if the mii bus is not registered
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28977 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-12 10:54:16 +00:00
nbd
33f4cde7a9 ar71xx: remove dead code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28851 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-08 00:33:20 +00:00
nbd
4677737b0a ar71xx: on ar7240, exclude ports from their own port vlan destination mask
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28850 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-08 00:33:15 +00:00
jogo
d066413d5d ag71xx: close a race between the phy state machine and link state
A fast stop/start cycle could leave the ag71xx interrupts and tx engine
disabled when using a phy driver with a fixed link and the start/stop
happens between two phy state machine polls.

Prevent this by always forcing the link down on stop regardless of phy
state and having a phy connected.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28380 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-10-08 11:37:14 +00:00
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
5051a6677f ar71xx: on ar724x only reset the link status in the restart handler, the fast reset takes care of DMA stuck issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27973 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-13 21:49:46 +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
nbd
3fe5c4149b ar71xx: fix MAC/MDIO reset mask handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27894 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-04 17:36:23 +00:00
nbd
3bad82d2e7 ar71xx: reinitialize global switch settings after reset on ar7240
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27705 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 14:39:47 +00:00
nbd
340551c062 ar71xx: configure address aging on ar7240
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27704 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 14:39:42 +00:00
nbd
8ea4f149b0 ar71xx: reset the phy in the ethernet init on ar724x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27703 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:34 +00:00
nbd
96c14099ce ar71xx: make sure that rx and interrupts are disabled before issuing the hardware reset
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27702 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:29 +00:00
nbd
9dfcd7e5e2 ar71xx: increase the delay after the ethernet MAC reset
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27701 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:25 +00:00
nbd
db4cd49d62 ar71xx: fix an unused variable warning
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27700 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20 12:04:20 +00:00
nbd
ec8e57edd9 ar71xx: do not reset the hardware on transmit timeout - this would mess up the up the PHY state
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27568 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-09 06:30:13 +00:00
nbd
cc32100390 ag71xx: keep the rx engine stopped while the link is not up, should hopefully fix stability issues from #9405
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27567 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-09 06:29:46 +00:00
juhosg
5c047f9906 ar71xx: merge 2.6.39 patches
Also remove the old UART driver for ar933x.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27314 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-29 08:57:37 +00:00
juhosg
da1bd2aad6 ar71xx: add 2.6.39 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27310 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-29 08:57:32 +00:00
juhosg
8738d0666a ar71xx: cleanup AR933X UART driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27222 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-19 13:17:51 +00:00
juhosg
63dccaf23b ar71xx: use ar933x_uart.h in the AR933X serial driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27166 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-13 08:12:40 +00:00
juhosg
377e161817 ar71xx: setup wdt_clock for AR913X to avoid a kernel bug
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27102 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-04 12:30:10 +00:00
nbd
480dfda6ec Revert "ar71xx: only enable the rx engine after the link is up..."
It messes up the DMA state when the link goes down

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27088 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-01 18:15:43 +00:00
juhosg
1c869e33cc ar71xx: add serial driver for the AR933X UART
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27065 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31 22:53:40 +00:00
juhosg
c7eb38661b ar71xx: the watchdog uses the reference clock on the AR933x SoCs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27060 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31 22:53:34 +00:00
juhosg
eaa759a8e5 ar71xx: Fix header offset for newer WRT160NL models
Newer WRT160NLs have a flash chip with 4K erase blocks instead of 64K,
resulting in miscalculated partition sizes.
Since the actual sizes did not change, hardcode them to their current
sizes, and make sure they are at least one erase block big (in case Cisco
decides to start to use chips with 128K erase blocks).

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27049 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31 22:53:20 +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
nbd
debcf79f90 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
nbd
20aef6d6fc 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
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
bb14a2f07c 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
juhosg
0511a7adf1 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
juhosg
14088891b0 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
juhosg
e5061b1935 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
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
5e10b16d95 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
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
juhosg
f2a69b10a8 ar71xx: rename ar934x_ref_freq to ar71xx_ref_freq
Also initialize that for each SoC and print its value along with the
other frequencies.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26561 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-09 18:47:52 +00:00
juhosg
7072aeaf32 ar71xx: add support for the watchdog of the AR934x SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26516 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-07 20:53:10 +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
nbd
fd5cb87889 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
juhosg
017387d91d ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24944 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-09 09:29:45 +00:00
juhosg
4355718b98 ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23983 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:52:45 +00:00
juhosg
cc04995115 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
juhosg
cbd9e227db 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
juhosg
b0acc8feff ar71xx: drivers/rb4xx_nand: remove C++ comment usage
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23980 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12 18:51:55 +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
2adda3cec6 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
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
8c032f3c80 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
nbd
0a95e857aa 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
nbd
8631d395e1 ar71xx: increase rb4xx nand kernel partition size (patch by danimo)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23293 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-07 14:27:34 +00:00
juhosg
d1f333874d ar71xx: rewrite SPI drivers for the RB4xx boards
* add a new SPI controller driver
  * add SPI driver for the CPLD chip
  * convert the NAND driver
  * enable the mikroSD slot
  * enable more LEDs

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22863 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-08-31 20:13:47 +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
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
juhosg
17cb46ca8a ar71xx: fix leds-rb750 build failure on 2.6.34
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22016 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-01 14:49:06 +00:00
juhosg
e3ad321217 ar71xx: fix build error in the rb{4xx,750}_nand drivers on 2.6.34/35
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21736 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-09 15:31:34 +00:00
juhosg
c2a2341e50 ar71xx: fix 2.6.34 build errors
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21698 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-06-07 09:18:13 +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
8299299524 ar71xx: update image generation and trx header parsing for the WRT160NL
* patch by Bernhard Loos
 * note: trailing whitespaces has been removed


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20525 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 17:38:36 +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
e9152bd9e4 ar71xx: add NAND driver for the RB750
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20054 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-08 12:10:23 +00:00
juhosg
7ee68b0bf3 ar71xx: add LED driver for the RB750
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20051 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-08 12:10:01 +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
4ff3c261aa ar71xx: add missing fields to the ar71xx-ehci driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19534 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-02-06 17:00:16 +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