Commit graph

404 commits

Author SHA1 Message Date
Gabor Juhos
bb16739db9 ar71xx: rename ap81 spi driver
SVN-Revision: 29852
2012-01-22 13:51:56 +00:00
Gabor Juhos
5ef8b922fa ar71xx: rename rb4xx spi drivers
SVN-Revision: 29851
2012-01-22 13:51:54 +00:00
Gabor Juhos
aad175d5b6 ar71xx: rename the nxp_74hc153 driver
SVN-Revision: 29850
2012-01-22 13:51:52 +00:00
Gabor Juhos
f90e578903 ar71xx: include linux/module.h in the micrel phy driver
SVN-Revision: 29848
2012-01-22 13:51:49 +00:00
Gabor Juhos
88d8cdd503 ar71xx: pb44_spi: add shutdown handler
This allows to access the flash from a kexec'd kernel.

SVN-Revision: 29710
2012-01-11 09:14:18 +00:00
Gabor Juhos
e1b7995aef ar71xx: pb44_spi: call pb44_spi_{en,dis}able from probe/remove
SVN-Revision: 29709
2012-01-11 09:14:17 +00:00
Gabor Juhos
67444c7795 ar71xx: pb44_spi: introduce pb44_spi_{en,dis}able helpers
SVN-Revision: 29708
2012-01-11 09:14:15 +00:00
Gabor Juhos
0f566a376c ar71xx: ar71xx_spi: add shutdown handler
This allows to access the flash from a kexec'd kernel.

SVN-Revision: 29707
2012-01-11 09:14:14 +00:00
Gabor Juhos
09a6e3f662 ar71xx: ar71xx_spi: save and restore regs from probe/remove
SVN-Revision: 29706
2012-01-11 09:14:13 +00:00
Gabor Juhos
714a9bd641 ar71xx: ar71xx_wdt: add shutdown handler
SVN-Revision: 29705
2012-01-11 09:14:11 +00:00
Gabor Juhos
8eb0b7ab3d ar71xx: fix sections mismatch warnings in the nand drivers
SVN-Revision: 29667
2012-01-05 18:08:33 +00:00
Gabor Juhos
8c2482f76e ar71xx: ag71xx: implement get_port_{link,stats} callbacks
SVN-Revision: 29626
2011-12-31 15:02:26 +00:00
Felix Fietkau
db0a1db257 ar71xx: set a reserved bit that resets to 1 when writing the address table control register on the ar7240 switch (should fix #10547)
SVN-Revision: 29598
2011-12-22 05:43:53 +00:00
Gabor Juhos
36bc2c2c80 ar71xx: ag71xx: fix switch port setup for AR934X
SVN-Revision: 29554
2011-12-15 22:25:32 +00:00
Gabor Juhos
00667c3846 ar71xx: ag71xx: allow to connect PHY4 to the CPU on AR934X
SVN-Revision: 29553
2011-12-15 22:25:30 +00:00
Gabor Juhos
0540970345 ar71xx: ag71xx: setup switch interface mode on AR934X
SVN-Revision: 29552
2011-12-15 22:25:29 +00:00
Gabor Juhos
44014110b8 ar71xx: ag71xx: detect the built-in switch of the AR934X SoCs
SVN-Revision: 29551
2011-12-15 22:25:28 +00:00
Gabor Juhos
9ae65588d8 ar71xx: introduce ar71xx_switch_data
SVN-Revision: 29549
2011-12-15 22:25:11 +00:00
Gabor Juhos
850be54b72 ar71xx: tplinkpart: allow to detect JFFS2 as well
SVN-Revision: 29543
2011-12-15 22:03:40 +00:00
Gabor Juhos
b7d7481b07 ar71xx: ag71xx: check PHY IDs before accessing the switch registers
SVN-Revision: 29541
2011-12-15 13:25:23 +00:00
Gabor Juhos
0655552860 ar71xx: ag71xx: don't use port 4 of the switch, it is not connected on ar724x
SVN-Revision: 29540
2011-12-15 13:25:21 +00:00
Gabor Juhos
204fc6bed5 ar71xx: ag71xx: nuke ar7240sw_init
SVN-Revision: 29539
2011-12-15 13:25:20 +00:00
Gabor Juhos
3e7a6d182a ar71xx: check squashfs signature in TP-Link mtd parser
SVN-Revision: 29446
2011-12-05 14:52:33 +00:00
Gabor Juhos
514b1167c9 ar71xx: add mtd partition parser for the TP-Link boards
SVN-Revision: 29415
2011-12-03 18:13:27 +00:00
Gabor Juhos
aa0c8c4885 ar71xx: add AR71XX_ prefix to GPIO_REG_* defines
SVN-Revision: 29123
2011-11-14 17:43:11 +00:00
Gabor Juhos
62a7795afd ar71xx: merge nand scan patch
SVN-Revision: 29122
2011-11-14 17:43:10 +00:00
Gabor Juhos
d2316b2a45 ar71xx: ag71xx: add support for getting switch port link status
SVN-Revision: 29017
2011-11-13 11:27:04 +00:00
Gabor Juhos
34015ed6e8 ar71xx: ag71xx: remove unused mii_ctrl field from struct ag71xx
SVN-Revision: 29015
2011-11-13 11:27:01 +00:00
Gabor Juhos
2d882cff23 ar71xx: ag71xx: remove unused mii_cfg related functions and defines
SVN-Revision: 29014
2011-11-13 11:27:00 +00:00
Gabor Juhos
538a9493b9 ar71xx: set MII interface speed from the set_speed callbacks
SVN-Revision: 29013
2011-11-13 11:26:59 +00:00
Gabor Juhos
93cd46be13 ar71xx: rename set_pll callback to set_speed in ag71xx_platform_data
Also rename the corresponding callback functions.

SVN-Revision: 29012
2011-11-13 11:26:57 +00:00
Gabor Juhos
9579bb4267 ar71xx: ag71xx: remove MII interface setup code
SVN-Revision: 29011
2011-11-13 11:26:56 +00:00
Gabor Juhos
2f9e535e89 ar71xx: ag71xx: use fixed link parameters if the mii bus is not registered
SVN-Revision: 28977
2011-11-12 10:54:16 +00:00
Felix Fietkau
7a2efd8c28 ar71xx: remove dead code
SVN-Revision: 28851
2011-11-08 00:33:20 +00:00
Felix Fietkau
94309039b7 ar71xx: on ar7240, exclude ports from their own port vlan destination mask
SVN-Revision: 28850
2011-11-08 00:33:15 +00:00
Jonas Gorski
c674c874b7 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.

SVN-Revision: 28380
2011-10-08 11:37:14 +00:00
Felix Fietkau
1bdf65f580 ar71xx: fix register range check for DMA stuck checks (thx, Frédéric Moulins)
SVN-Revision: 28213
2011-09-11 17:44:12 +00:00
Felix Fietkau
12c84f8eeb ar71xx: add some code to detect DMA stuck conditions on ar7240
SVN-Revision: 27975
2011-08-13 22:30:14 +00:00
Felix Fietkau
85ccc74e1b ar71xx: on ar724x only reset the link status in the restart handler, the fast reset takes care of DMA stuck issues
SVN-Revision: 27973
2011-08-13 21:49:46 +00:00
Felix Fietkau
4b75394056 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

SVN-Revision: 27896
2011-08-04 17:36:31 +00:00
Felix Fietkau
d2aeca6b6d 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

SVN-Revision: 27895
2011-08-04 17:36:27 +00:00
Felix Fietkau
500c3a1475 ar71xx: fix MAC/MDIO reset mask handling
SVN-Revision: 27894
2011-08-04 17:36:23 +00:00
Felix Fietkau
c7173a211d ar71xx: reinitialize global switch settings after reset on ar7240
SVN-Revision: 27705
2011-07-20 14:39:47 +00:00
Felix Fietkau
ca473833c4 ar71xx: configure address aging on ar7240
SVN-Revision: 27704
2011-07-20 14:39:42 +00:00
Felix Fietkau
fefc79f3cb ar71xx: reset the phy in the ethernet init on ar724x
SVN-Revision: 27703
2011-07-20 12:04:34 +00:00
Felix Fietkau
005fe5d1fd ar71xx: make sure that rx and interrupts are disabled before issuing the hardware reset
SVN-Revision: 27702
2011-07-20 12:04:29 +00:00
Felix Fietkau
e7ab000008 ar71xx: increase the delay after the ethernet MAC reset
SVN-Revision: 27701
2011-07-20 12:04:25 +00:00
Felix Fietkau
255dcaa3a6 ar71xx: fix an unused variable warning
SVN-Revision: 27700
2011-07-20 12:04:20 +00:00
Felix Fietkau
f3d693c0ee ar71xx: do not reset the hardware on transmit timeout - this would mess up the up the PHY state
SVN-Revision: 27568
2011-07-09 06:30:13 +00:00
Felix Fietkau
2806c75c07 ag71xx: keep the rx engine stopped while the link is not up, should hopefully fix stability issues from #9405
SVN-Revision: 27567
2011-07-09 06:29:46 +00:00
Gabor Juhos
d98476c6bd ar71xx: merge 2.6.39 patches
Also remove the old UART driver for ar933x.

SVN-Revision: 27314
2011-06-29 08:57:37 +00:00
Gabor Juhos
6627574e57 ar71xx: add 2.6.39 support
SVN-Revision: 27310
2011-06-29 08:57:32 +00:00
Gabor Juhos
e6af77a1c8 ar71xx: cleanup AR933X UART driver
SVN-Revision: 27222
2011-06-19 13:17:51 +00:00
Gabor Juhos
b7e016ba42 ar71xx: use ar933x_uart.h in the AR933X serial driver
SVN-Revision: 27166
2011-06-13 08:12:40 +00:00
Gabor Juhos
13363d9129 ar71xx: setup wdt_clock for AR913X to avoid a kernel bug
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>

SVN-Revision: 27102
2011-06-04 12:30:10 +00:00
Felix Fietkau
31dd60689e Revert "ar71xx: only enable the rx engine after the link is up..."
It messes up the DMA state when the link goes down

SVN-Revision: 27088
2011-06-01 18:15:43 +00:00
Gabor Juhos
b460bc6f12 ar71xx: add serial driver for the AR933X UART
SVN-Revision: 27065
2011-05-31 22:53:40 +00:00
Gabor Juhos
88c45e3130 ar71xx: the watchdog uses the reference clock on the AR933x SoCs
SVN-Revision: 27060
2011-05-31 22:53:34 +00:00
Gabor Juhos
0677e16248 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>

SVN-Revision: 27049
2011-05-31 22:53:20 +00:00
Gabor Juhos
60d5abbc27 ar71xx: ag71xx: make ring sizes configurable via ethtool
SVN-Revision: 27041
2011-05-31 22:53:10 +00:00
Gabor Juhos
7a2651f633 ar71xx: ag71xx: prepare to make ring sizes configurable
SVN-Revision: 27040
2011-05-31 22:53:09 +00:00
Gabor Juhos
669aba3871 ar71xx: ag71xx: nuke unused AG71XX_TX_FIFO_LEN define
Reported-by: Dave Täht <dave.taht@gmail.com>

SVN-Revision: 27039
2011-05-31 22:53:07 +00:00
Felix Fietkau
2b5402d128 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)
SVN-Revision: 27035
2011-05-30 23:08:01 +00:00
Felix Fietkau
0ebc93831f ar71xx: disable flow control for ar724x, it can get stuck in a loop of continously sending MAC pause frames
SVN-Revision: 27034
2011-05-30 23:07:57 +00:00
Matteo Croce
4deecea26b ar71xx: detect link on LAN ports
SVN-Revision: 26922
2011-05-17 11:12:56 +00:00
Matteo Croce
c0c2e18452 use correct macros and frame size in ag71xx
SVN-Revision: 26890
2011-05-14 23:10:06 +00:00
Gabor Juhos
5d77f370d6 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

SVN-Revision: 26856
2011-05-08 16:32:53 +00:00
Gabor Juhos
3711658281 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.

SVN-Revision: 26855
2011-05-08 13:30:36 +00:00
Gabor Juhos
ef53029870 ar71xx: ag71xx: fix build error if debugfs is enabled
SVN-Revision: 26854
2011-05-08 13:30:26 +00:00
Gabor Juhos
8b67d748cb ar71xx: ag71xx: add debugfs entry for [rt]x_ring
SVN-Revision: 26845
2011-05-07 12:40:34 +00:00
Gabor Juhos
2166432ba0 ar71xx: ag71xx: add timestamps to ag71xx_buf
SVN-Revision: 26844
2011-05-07 12:40:28 +00:00
Gabor Juhos
896e1d1ab4 ar71xx: ag71xx: use dynamically allocated buffer for napi_stats
SVN-Revision: 26843
2011-05-07 12:40:26 +00:00
Gabor Juhos
a6708d20d1 ar71xx: ag71xx: use debugfs_remove_recursive
SVN-Revision: 26842
2011-05-07 12:40:25 +00:00
Gabor Juhos
a8bf5e3cdb ar71xx: rename ar934x_ref_freq to ar71xx_ref_freq
Also initialize that for each SoC and print its value along with the
other frequencies.

SVN-Revision: 26561
2011-04-09 18:47:52 +00:00
Gabor Juhos
2b064bb398 ar71xx: add support for the watchdog of the AR934x SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26516
2011-04-07 20:53:10 +00:00
Felix Fietkau
41ee4a283c ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus behind the switch instead
SVN-Revision: 26393
2011-04-02 00:47:29 +00:00
Felix Fietkau
acbb3e50e7 ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not run them on every device open, only on tx timeouts
SVN-Revision: 26392
2011-04-02 00:47:25 +00:00
Gabor Juhos
23a6173099 ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driver
SVN-Revision: 24944
2011-01-09 09:29:45 +00:00
Gabor Juhos
920a34c0ce ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23983
2010-11-12 18:52:45 +00:00
Gabor Juhos
3106aea40b ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOM
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23982
2010-11-12 18:52:28 +00:00
Gabor Juhos
30ef7d55fc ar71xx: use pr_* functions in drivers
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23981
2010-11-12 18:52:12 +00:00
Gabor Juhos
fddf3b8dac ar71xx: drivers/rb4xx_nand: remove C++ comment usage
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23980
2010-11-12 18:51:55 +00:00
Gabor Juhos
f4d5c885e4 ar71xx: return statements does not need parenthesis
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23979
2010-11-12 18:51:38 +00:00
Gabor Juhos
e244e1c7cd ar71xx: fix inline attribute location
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23978
2010-11-12 18:51:21 +00:00
Gabor Juhos
acd8ad4de5 ar71xx: wrap long lines
(build errors has been fixed - juhosg)

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

SVN-Revision: 23977
2010-11-12 18:51:04 +00:00
Gabor Juhos
500fac1735 ar71xx: fix whitespaces nits
(build error has been fixed - juhosg)

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

SVN-Revision: 23975
2010-11-12 18:50:29 +00:00
Felix Fietkau
6656450c6d ar71xx: fix more section mismatches
SVN-Revision: 23575
2010-10-21 18:42:16 +00:00
Felix Fietkau
8858d90afe 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
SVN-Revision: 23574
2010-10-21 18:42:11 +00:00
Felix Fietkau
b61a804bf7 ar71xx: increase rb4xx nand kernel partition size (patch by danimo)
SVN-Revision: 23293
2010-10-07 14:27:34 +00:00
Gabor Juhos
47f8fd1dde 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

SVN-Revision: 22863
2010-08-31 20:13:47 +00:00
Felix Fietkau
523fcf0497 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
SVN-Revision: 22675
2010-08-16 19:21:57 +00:00
Felix Fietkau
a27ea45e76 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
SVN-Revision: 22075
2010-07-06 12:40:07 +00:00
Felix Fietkau
15b209d09f ag71xx: reset the hardware during open(), this improves recovery from tx timeouts on ar724x considerably
SVN-Revision: 22055
2010-07-04 02:15:08 +00:00
Felix Fietkau
89da22d1ea 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
SVN-Revision: 22054
2010-07-04 01:31:33 +00:00
Gabor Juhos
5a28fb88a4 ar71xx: fix leds-rb750 build failure on 2.6.34
SVN-Revision: 22016
2010-07-01 14:49:06 +00:00
Gabor Juhos
6ce447427c ar71xx: fix build error in the rb{4xx,750}_nand drivers on 2.6.34/35
SVN-Revision: 21736
2010-06-09 15:31:34 +00:00
Gabor Juhos
90e2b1ad6b ar71xx: fix 2.6.34 build errors
SVN-Revision: 21698
2010-06-07 09:18:13 +00:00
Felix Fietkau
7966004d99 ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason (fixes #7236)
SVN-Revision: 21166
2010-04-26 16:39:13 +00:00
Felix Fietkau
1c0e751391 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

SVN-Revision: 20892
2010-04-15 23:31:17 +00:00
Gabor Juhos
4c29a2c263 ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive functions
Cc: backfire@openwrt.org

SVN-Revision: 20751
2010-04-09 08:40:06 +00:00
Gabor Juhos
4a28844d80 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

SVN-Revision: 20750
2010-04-09 08:38:46 +00:00
Gabor Juhos
c874513cfa ar71xx: fix broken LAN ports on the boards with AR8216 switch (closes #7024)
* cc: backfire@openwrt.org

SVN-Revision: 20673
2010-04-03 13:59:08 +00:00
Gabor Juhos
905f2d62f9 ar71xx: update image generation and trx header parsing for the WRT160NL
* patch by Bernhard Loos
 * note: trailing whitespaces has been removed

SVN-Revision: 20525
2010-03-27 17:38:36 +00:00
Gabor Juhos
b7ca043240 ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stack
SVN-Revision: 20506
2010-03-27 13:05:27 +00:00
Gabor Juhos
f9acf8ada1 ar71xx: ag71xx: introduce ag71xx_has_ar8216() helper
SVN-Revision: 20505
2010-03-27 13:05:24 +00:00
Gabor Juhos
200db5ebb5 ar71xx: ag71xx: reorganize ag71xx_rx_packet function
SVN-Revision: 20504
2010-03-27 13:05:20 +00:00
Gabor Juhos
245775a49f 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>

SVN-Revision: 20503
2010-03-27 13:05:17 +00:00
Andy Boyett
681054333e wrt400n: lan ports don't need the ar8216 workaround
SVN-Revision: 20491
2010-03-26 19:09:11 +00:00
Gabor Juhos
9a1031ce6d ar71xx: change PHY select logic, and update phy_masks
SVN-Revision: 20358
2010-03-21 18:16:07 +00:00
Gabor Juhos
2a818f388a ar71xx: ag71xx: fix MAC address setup
SVN-Revision: 20092
2010-03-09 18:05:36 +00:00
Gabor Juhos
d58a367083 ar71xx: add NAND driver for the RB750
SVN-Revision: 20054
2010-03-08 12:10:23 +00:00
Gabor Juhos
6600fab893 ar71xx: add LED driver for the RB750
SVN-Revision: 20051
2010-03-08 12:10:01 +00:00
Gabor Juhos
2702ae4e8f ar71xx: ag71xx: move calling ag71xx_phy_stop out from spinlock
SVN-Revision: 20004
2010-03-05 20:29:22 +00:00
Gabor Juhos
a4bccded57 ar71xx: ag71xx: move link update function
SVN-Revision: 20003
2010-03-05 20:29:18 +00:00
Gabor Juhos
eacf9a7614 ar71xx: ag71xx: don't use dev->trans_start
SVN-Revision: 20002
2010-03-05 20:29:14 +00:00
Gabor Juhos
ba288eeb84 ar71xx: ag71xx: use dma_unmap_single to unmap frames
SVN-Revision: 20001
2010-03-05 20:29:10 +00:00
Gabor Juhos
0e4eaea770 ar71xx: ag71xx: use correct device pointer for dma_map_single
SVN-Revision: 19951
2010-03-02 13:36:18 +00:00
Gabor Juhos
84823e1477 ar71xx: ag71xx: don't use virt_to_phys
SVN-Revision: 19950
2010-03-02 13:36:15 +00:00
Gabor Juhos
4a987d6008 ar71xx: ag71xx: simplify register access functions
SVN-Revision: 19949
2010-03-02 13:36:12 +00:00
Gabor Juhos
e157281c5d ar71xx: ag71xx: use NETDEV_TX_OK
SVN-Revision: 19948
2010-03-02 13:36:09 +00:00
Gabor Juhos
1612fd447d ar71xx: enable TX/RX flow control on the AR7240
SVN-Revision: 19832
2010-02-24 13:38:41 +00:00
Gabor Juhos
c747902042 ar71xx: add missing fields to the ar71xx-ehci driver
SVN-Revision: 19534
2010-02-06 17:00:16 +00:00
Gabor Juhos
49c4df5487 rtl8366: make it available on all platforms
SVN-Revision: 19329
2010-01-25 15:13:38 +00:00
Gabor Juhos
97b983c8b9 rtl8366s: simplify mib counters handling
SVN-Revision: 19326
2010-01-25 14:24:53 +00:00
Gabor Juhos
2b5ba9073f rtl8366_smi: move RTL8366S driver into a separate file
SVN-Revision: 19279
2010-01-22 17:38:07 +00:00
Gabor Juhos
46b0e6643a rtl8366_smi: rename rtl8366s specific functions and definitions
SVN-Revision: 19278
2010-01-22 17:37:58 +00:00
Gabor Juhos
08055fd6d1 rtl8366_smi: move chip specific stuff into its own struct
SVN-Revision: 19277
2010-01-22 17:37:53 +00:00
Gabor Juhos
de751af190 rtl8366_smi: separate gpio initialization
SVN-Revision: 19276
2010-01-22 17:37:50 +00:00
Gabor Juhos
a1247d2f83 rtl8366_smi: store GPIO numbers directly in the rtl8366_smi struct
SVN-Revision: 19275
2010-01-22 17:37:47 +00:00
Gabor Juhos
ab278275ee rtl8366_smi: store device pointer instead of plaform_device
SVN-Revision: 19274
2010-01-22 17:37:41 +00:00
Gabor Juhos
edfa82ab60 rtl8366_smi: rename switch attribute handlers
SVN-Revision: 19254
2010-01-21 12:13:43 +00:00
Gabor Juhos
7aefde9f66 rtl8366_smi: simplify rtl8366_attr_get_port_link function
SVN-Revision: 19250
2010-01-20 20:36:30 +00:00
Gabor Juhos
83fb9f73e1 rtl8366_smi: make rtl8366_phy_config_{aneg,init} static
SVN-Revision: 19249
2010-01-20 20:36:27 +00:00
Gabor Juhos
cad07a09c1 rtl8366_smi: simplify rtl8366_{get,set}_port_vlan_index functions
SVN-Revision: 19248
2010-01-20 20:36:24 +00:00
Gabor Juhos
50849c6cff rtl8366_smi: minor code optimalizations
SVN-Revision: 19247
2010-01-20 20:36:21 +00:00
Gabor Juhos
3e6b3ea088 rtl8366_smi: coding style cleanup
SVN-Revision: 19246
2010-01-20 17:40:39 +00:00
Gabor Juhos
5e5451a54d rtl8366_smi: add Kconfig option for the debugfs stuff
SVN-Revision: 19243
2010-01-20 09:30:36 +00:00
Gabor Juhos
0d48b043b1 rtl8366_smi: fix error checking in rtl8366s_set_vlan_4k_entry
SVN-Revision: 19242
2010-01-20 09:30:32 +00:00
Gabor Juhos
0296b24f80 rtl8366_smi: fix parameter checking in rtl8366_attr_get_vlan_info
SVN-Revision: 19241
2010-01-20 09:30:25 +00:00
Gabor Juhos
743e7617b0 rtl8366_smi: fix return codes in rtl8366s_reset_vlan
SVN-Revision: 19240
2010-01-20 07:06:18 +00:00
Gabor Juhos
43815d730b rtl8366_smi: move variable initialization out from the loop
SVN-Revision: 19239
2010-01-20 07:06:15 +00:00
Gabor Juhos
fbc389ae9d rtl8366_smi: fix port->flags calculation in rtl8366_get_ports
SVN-Revision: 19237
2010-01-20 07:06:10 +00:00
Gabor Juhos
c4838a0f9e rtl8366_smi: use inline function instead of a macro on top of container_of
SVN-Revision: 19215
2010-01-18 09:01:40 +00:00
Felix Fietkau
88ddc59655 rtl8366_smi: reset the vlan table when resetting the switch and use vlan get/set ports for vlan member lists
SVN-Revision: 19206
2010-01-18 00:12:12 +00:00
Felix Fietkau
b228fd428a rtl8366_smi: fix excessive stack usage and buffer handling bugs
SVN-Revision: 19205
2010-01-18 00:12:07 +00:00
Felix Fietkau
8394a32815 ar71xx: fix return statement in the rtl8366 driver
SVN-Revision: 19204
2010-01-17 22:57:08 +00:00
Gabor Juhos
d2229cb1cc rtl8366_smi: register the switch directly from the probe routine
SVN-Revision: 19202
2010-01-17 21:37:09 +00:00
Gabor Juhos
088ba7e1db rtl8366_smi: use vlanmc name for all vlanconfig variables
SVN-Revision: 19201
2010-01-17 21:17:59 +00:00
Gabor Juhos
639212697d rtl8366_smi: use vlan4k name for all vlan4kentry variables
SVN-Revision: 19200
2010-01-17 21:17:57 +00:00
Gabor Juhos
9cb11e2eef rtl8366_smi: move memset into the rtl8366s_get_member_config function
SVN-Revision: 19199
2010-01-17 21:17:53 +00:00
Gabor Juhos
f55beb9e9b rtl8366_smi: move memset into the rtl8366s_get_vlan_4k_entry function
SVN-Revision: 19198
2010-01-17 21:17:49 +00:00
Gabor Juhos
7f9b0eca90 rtl8366_smi: add vid parameter to the rtl8366s_get_vlan_4k_entry function
SVN-Revision: 19197
2010-01-17 21:17:46 +00:00
Gabor Juhos
a90792056c ar71xx: upgrade rtl8366_smi driver
Thanks to Antti Seppälä.
Patch from https://forum.openwrt.org/viewtopic.php?pid=100150#p100150

SVN-Revision: 19196
2010-01-17 21:17:42 +00:00
Gabor Juhos
e92c0c7830 ar71xx: add GPIO driver for the NXP 74HC153 chip
SVN-Revision: 19149
2010-01-15 12:07:58 +00:00
Gabor Juhos
d8ace8978a ar71xx: add NAPI statistics to the ag71xx driver
SVN-Revision: 19079
2010-01-08 20:22:55 +00:00
Jo-Philipp Wich
d8bd549d71 fix typo after r19054
SVN-Revision: 19059
2010-01-06 20:16:07 +00:00
Gabor Juhos
51c76750fc ar71xx: add detailed interrupt statistics for the ag71xx driver
SVN-Revision: 19054
2010-01-06 15:24:01 +00:00
Gabor Juhos
46b572636b ar71xx: update Kconfig of the ag71xx driver
SVN-Revision: 19032
2010-01-04 14:28:28 +00:00
Gabor Juhos
63a320c8f7 ar71xx: add dummy debugfs support for the ag71xx driver
SVN-Revision: 19031
2010-01-04 14:28:25 +00:00
Felix Fietkau
6a90a35f2b 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.
SVN-Revision: 18789
2009-12-15 22:37:54 +00:00
Gabor Juhos
4734a69891 ar71xx: add driver for the USB LED on the WNDR3700
SVN-Revision: 18758
2009-12-11 20:32:31 +00:00
Gabor Juhos
8956009fa6 ar71xx: fix NULL pointer dereference in the ethernet driver
SVN-Revision: 18755
2009-12-11 19:32:58 +00:00
Gabor Juhos
18885b425c ar71xx: merge ag71xx specific patches
SVN-Revision: 18751
2009-12-11 16:41:40 +00:00
Gabor Juhos
d38fd20cb7 ar71xx: move mdio_bus reset code
SVN-Revision: 18749
2009-12-11 12:21:15 +00:00
Gabor Juhos
cc1b9a6046 ar71xx: add mdio bus driver for the rtl8366 switch
SVN-Revision: 18694
2009-12-08 10:29:35 +00:00
Gabor Juhos
18867965f7 ar71xx: add support for external mii_bus
SVN-Revision: 18692
2009-12-08 10:29:27 +00:00
Gabor Juhos
0e79007faf ar71xx: move phy_connect call to ag71xx_open
SVN-Revision: 18691
2009-12-08 10:29:19 +00:00
Gabor Juhos
8a7e19e7db ar71xx: change mii_bus name
SVN-Revision: 18619
2009-12-03 14:17:12 +00:00
Gabor Juhos
35dbf66787 ar71xx: override fifo_cfg[123] values on AR7240
SVN-Revision: 18614
2009-11-30 13:53:39 +00:00
Felix Fietkau
cb85dcb1a8 ar71xx: mask out reserved bits from the dma tx status in the ethernet driver
SVN-Revision: 18599
2009-11-29 13:38:03 +00:00
Gabor Juhos
21fc9ffe63 ar71xx: use soc specific divider for mdio clock
SVN-Revision: 18225
2009-10-30 12:26:22 +00:00
Gabor Juhos
f336f8748c ar71xx: update mdio_reset code
SVN-Revision: 18224
2009-10-30 12:26:17 +00:00
Gabor Juhos
8458d7c73b ar71xx: flush mii register writes
SVN-Revision: 17695
2009-09-23 17:44:08 +00:00
Gabor Juhos
0eba7ba4ff ar71xx: don't use mac_base2 in the ag71xx driver
SVN-Revision: 17693
2009-09-23 17:44:02 +00:00
Gabor Juhos
6ed55b43d7 ar71xx: remove some extern directives in the ag71xx driver
SVN-Revision: 17692
2009-09-23 17:43:57 +00:00
Gabor Juhos
214f39d46d WRT160NL: more mtd parser cleanup
SVN-Revision: 17201
2009-08-09 12:56:06 +00:00
Gabor Juhos
c202ef57b1 WRT160NL: mtd parser cleanup
SVN-Revision: 17177
2009-08-08 13:06:28 +00:00
Gabor Juhos
8f854e27c8 move the trx parser out from the patch
SVN-Revision: 17176
2009-08-08 12:08:41 +00:00
Gabor Juhos
c23ddf2d27 update ar71xx_spi driver
SVN-Revision: 17143
2009-08-06 10:56:48 +00:00
Gabor Juhos
bbab2a48b4 ag71xx driver: rename ag71xx_debug module parameter
SVN-Revision: 16833
2009-07-13 17:45:25 +00:00
Gabor Juhos
d99dcbca9f ag71xx driver: fix a typo
SVN-Revision: 16827
2009-07-13 12:20:02 +00:00
Gabor Juhos
a579511dbf ag71xx driver: align descriptors on cache_line boundary
SVN-Revision: 16825
2009-07-13 11:40:10 +00:00
Gabor Juhos
82a084680a ag71xx driver: store descriptor pointers in ag71xx_buf
SVN-Revision: 16824
2009-07-13 11:38:37 +00:00
Gabor Juhos
b1f5f1d3b0 ag71xx driver: descriptors always aligned on 4 byte boundary
SVN-Revision: 16818
2009-07-12 16:04:28 +00:00
Gabor Juhos
10357fc180 ag71xx driver: don't flush ddr on tx path
SVN-Revision: 16817
2009-07-12 16:02:27 +00:00
Gabor Juhos
eced3f210e add SPI controller driver for the PB44 board
SVN-Revision: 16781
2009-07-11 15:55:55 +00:00
Gabor Juhos
218298becf use platform data to setup the MAC_CFG register in the spi_vsc7385 driver
SVN-Revision: 16780
2009-07-11 14:59:31 +00:00
Gabor Juhos
292775eb34 add definitions for some magic values in the spi_vsc7385 driver
SVN-Revision: 16779
2009-07-11 14:56:54 +00:00
Gabor Juhos
6b033e9bec fix a bug in the SPI driver (closes #5485)
SVN-Revision: 16767
2009-07-10 19:29:58 +00:00
Gabor Juhos
a6e3c605bc add AR7240 specific fixes for the ag71xx driver
SVN-Revision: 16737
2009-07-07 18:06:02 +00:00
Gabor Juhos
0fd8d0fad8 fix a bitmask in the ag71xx driver
SVN-Revision: 16658
2009-07-02 17:23:11 +00:00
Gabor Juhos
5d21be0e31 move definition of ar91xx_flash_platform_data into a separate header file (closes #5321)
SVN-Revision: 16417
2009-06-11 08:07:14 +00:00
Gabor Juhos
67ace05bfe update flash locking code
SVN-Revision: 16359
2009-06-06 15:56:03 +00:00
Gabor Juhos
ba08043ce4 add parallel flash driver
SVN-Revision: 16353
2009-06-06 08:41:47 +00:00
Gabor Juhos
08bd604941 add SPI driver for the Vitesse VSC7385 switch
SVN-Revision: 16324
2009-06-04 07:51:29 +00:00
Gabor Juhos
0755481965 add another SPI controller driver for the earlier AP83 boards
SVN-Revision: 16315
2009-06-03 19:50:04 +00:00
Gabor Juhos
c2c496868e add support for board specific PLL settings
SVN-Revision: 16133
2009-05-28 13:00:08 +00:00
Gabor Juhos
ed861cf5e9 use dev_name() instead of bus_id in ag71xx, ohci-ar71xx, ehci-ar71xx drivers
SVN-Revision: 15629
2009-05-05 19:21:39 +00:00
Gabor Juhos
432136fba6 select ar8216 support for the WRT400N (thanks to netprince)
SVN-Revision: 15427
2009-04-26 18:47:41 +00:00
Gabor Juhos
6931d43546 enable the synopsys woarkaround in the ehci-ar71xx driver
SVN-Revision: 15349
2009-04-23 12:25:49 +00:00