Commit Graph

332 Commits (1b9a85db8a5a6c63c50620768be1b31749f962e9)

Author SHA1 Message Date
Gabor Juhos 773fa9a77f ar71xx: add dynamic MDIO clock calculation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33342 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-09 14:05:17 +00:00
Gabor Juhos a2954f12fb ar71xx: improve MDIO busy wait code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32586 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-07-03 15:24:02 +00:00
Felix Fietkau 7bf6009fe6 ar71xx: do not override the mdio clock for ar9330. the override value (obtained from an atheros driver) seems to break ethernet functionality
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31956 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-28 20:39:50 +00:00
Felix Fietkau 55e7bd410c ar71xx: improve rx performance of the ethernet driver by using build_skb to deliver a cache-hot skb to the network stack
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31934 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-28 02:55:59 +00:00
Felix Fietkau 026245749a ar71xx: fix MII clock settings for various chips, improves ethernet stability on AR934x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31925 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-27 21:02:41 +00:00
Felix Fietkau f47ed77684 ar71xx: remove AG71XX_RX_PKT_RESERVE, it is no longer necessary (found by Eric Dumazet)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31736 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-15 10:36:39 +00:00
Felix Fietkau f20d1938b5 kernel: rewrite the phy packet hook, put it in the network stack to avoid having to keep non-upstream ethernet driver changes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31637 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-06 21:19:14 +00:00
Gabor Juhos 01bea635cb ar71xx: allow to disable link polling on unused PHYs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31533 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-29 18:29:24 +00:00
Gabor Juhos 7a2e03f5e3 ar71xx: enable MIB counters in the built-in switch of the AR934x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31476 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-25 13:02:11 +00:00
Gabor Juhos dbf4111ad7 ar71xx: add latch_change field to rb750_led_platform_data
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31023 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-19 15:57:01 +00:00
Gabor Juhos c0a33c12b0 ar71xx: add platform data for the RB750 NAND driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31022 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-19 15:56:59 +00:00
Gabor Juhos 6189648864 ar71xx: move micrel PHY driver to the generic linux target
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30946 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-15 09:25:53 +00:00
Gabor Juhos 8e0414c16a ar71xx: ag71xx: fix ARP frame reception on AR934x switch ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30926 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:38 +00:00
Gabor Juhos 90579991ee ar71xx: ag71xx: start aneg on switch PHYs after reset
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30925 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:37 +00:00
Gabor Juhos 16cf112d8c ar71xx: ag71xx: poll PHY status of all available switch ports
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30924 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:36 +00:00
Gabor Juhos 4e4e7aeec4 ar71xx: ag71xx: allow to use port 5 of the AR934x built-in switch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30923 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-13 17:29:34 +00:00
Gabor Juhos b079387bc5 ar71xx: ag71xx: fix get_port_link callback
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30841 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07 16:32:35 +00:00
Gabor Juhos 8040107a9c ar71xx: ag71xx: use the generic get_port_link implementation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30840 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-07 16:32:34 +00:00
Gabor Juhos f265cbac9e ar71xx: ag71xx: keep VLAN tags if VLAN is not enabled
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30768 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-01 19:49:05 +00:00
Gabor Juhos cca831fa63 ar71xx: ag71xx: add BQL support
It will be usable only from linux-3.3.

Based on a patch by Dave Taht <dave.taht@bufferbloat.net>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30417 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 14:56:47 +00:00
Gabor Juhos 1b97bcd3dc ar71xx: add preliminary support for 3.3
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30410 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 11:53:56 +00:00
Gabor Juhos 07c8ccf163 ar71xx: merge 3.2 fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30406 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 08:19:33 +00:00
Gabor Juhos 0b6aaa98af ar71xx: merge files-3.2 to files
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30405 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-10 08:19:31 +00:00
Gabor Juhos f9e8748d57 ar71xx: use dynamically allocated partitions in wrt160nl_part
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29970 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-31 18:36:51 +00:00
Gabor Juhos 2899e54bd7 ar71xx: move arch specific files to files-2.6.39
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29867 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 22:38:11 +00:00
Gabor Juhos 5a804a0710 ar71xx: wrt160nl_part: include module.h and fix compiler warnings
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29856 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 17:55:38 +00:00
Gabor Juhos 77681dfda2 ar71xx: tplinkpart: include module.h
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29855 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 17:55:36 +00:00
Gabor Juhos 69c5ec5805 ar71xx: rename vsc7385 spi driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29853 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 13:51:57 +00:00
Gabor Juhos 57182d0623 ar71xx: rename ap81 spi driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29852 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 13:51:56 +00:00
Gabor Juhos 9c5fd0809f ar71xx: rename rb4xx spi drivers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29851 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 13:51:54 +00:00
Gabor Juhos 99e5d01717 ar71xx: rename the nxp_74hc153 driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29850 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 13:51:52 +00:00
Gabor Juhos 0ddf352708 ar71xx: include linux/module.h in the micrel phy driver
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29848 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-22 13:51:49 +00:00
Gabor Juhos c7cf50257f ar71xx: pb44_spi: add shutdown handler
This allows to access the flash from a kexec'd kernel.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29710 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-11 09:14:18 +00:00
Gabor Juhos d4f8c16d01 ar71xx: pb44_spi: call pb44_spi_{en,dis}able from probe/remove
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29709 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-11 09:14:17 +00:00
Gabor Juhos a1de404466 ar71xx: pb44_spi: introduce pb44_spi_{en,dis}able helpers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29708 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-11 09:14:15 +00:00
Gabor Juhos aeeb859e58 ar71xx: ar71xx_spi: add shutdown handler
This allows to access the flash from a kexec'd kernel.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29707 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-11 09:14:14 +00:00
Gabor Juhos ad96a5a37b ar71xx: ar71xx_spi: save and restore regs from probe/remove
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29706 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-11 09:14:13 +00:00
Gabor Juhos 55412d0e9e ar71xx: ar71xx_wdt: add shutdown handler
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29705 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-11 09:14:11 +00:00
Gabor Juhos 881581493f ar71xx: fix sections mismatch warnings in the nand drivers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29667 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-05 18:08:33 +00:00
Gabor Juhos 9bf3904856 ar71xx: ag71xx: implement get_port_{link,stats} callbacks
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29626 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-31 15:02:26 +00:00
Felix Fietkau 5f97cea3f0 ar71xx: set a reserved bit that resets to 1 when writing the address table control register on the ar7240 switch (should fix #10547)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29598 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-22 05:43:53 +00:00
Gabor Juhos 56a02cffed ar71xx: ag71xx: fix switch port setup for AR934X
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29554 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:32 +00:00
Gabor Juhos 5039a01b61 ar71xx: ag71xx: allow to connect PHY4 to the CPU on AR934X
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29553 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:30 +00:00
Gabor Juhos 59e650a276 ar71xx: ag71xx: setup switch interface mode on AR934X
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29552 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:29 +00:00
Gabor Juhos 3f45ffd8f2 ar71xx: ag71xx: detect the built-in switch of the AR934X SoCs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29551 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:28 +00:00
Gabor Juhos 691b20bcaf ar71xx: introduce ar71xx_switch_data
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29549 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:25:11 +00:00
Gabor Juhos c0f856759b ar71xx: tplinkpart: allow to detect JFFS2 as well
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29543 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 22:03:40 +00:00
Gabor Juhos bc40f1dc75 ar71xx: ag71xx: check PHY IDs before accessing the switch registers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29541 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 13:25:23 +00:00
Gabor Juhos b480583892 ar71xx: ag71xx: don't use port 4 of the switch, it is not connected on ar724x
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29540 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 13:25:21 +00:00
Gabor Juhos 58bcc09552 ar71xx: ag71xx: nuke ar7240sw_init
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29539 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-15 13:25:20 +00:00
Gabor Juhos bb48c3c03e ar71xx: check squashfs signature in TP-Link mtd parser
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29446 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-05 14:52:33 +00:00
Gabor Juhos dc7ac75841 ar71xx: add mtd partition parser for the TP-Link boards
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29415 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-03 18:13:27 +00:00
Gabor Juhos 2db6e74505 ar71xx: add AR71XX_ prefix to GPIO_REG_* defines
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29123 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-14 17:43:11 +00:00
Gabor Juhos de3ee69258 ar71xx: merge nand scan patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29122 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-14 17:43:10 +00:00
Gabor Juhos 8e7450e3c2 ar71xx: ag71xx: add support for getting switch port link status
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29017 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:27:04 +00:00
Gabor Juhos 0e2b6d0d25 ar71xx: ag71xx: remove unused mii_ctrl field from struct ag71xx
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29015 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:27:01 +00:00
Gabor Juhos f0a3d94dff ar71xx: ag71xx: remove unused mii_cfg related functions and defines
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29014 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-11-13 11:27:00 +00:00
Gabor Juhos 51b1d36e03 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
Gabor Juhos 0839b18e6f 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
Gabor Juhos 7e0c585208 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
Gabor Juhos 44a0cc9d1b 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
Felix Fietkau a31e4087d1 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
Felix Fietkau ebb2f0d93b 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
Jonas Gorski bf2012d91a 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
Felix Fietkau 8d0d9487dc 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
Felix Fietkau 56093f4fdb 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
Felix Fietkau 02c8410ffd 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
Felix Fietkau d715b0851d 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
Felix Fietkau 8268bc95d1 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
Felix Fietkau d04b90839d 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
Felix Fietkau 5ee62f2cf9 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
Felix Fietkau 366b622fda 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
Felix Fietkau 5ce15fed68 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
Felix Fietkau 8b276baecf 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
Felix Fietkau 1cd2aa24fb 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
Felix Fietkau 46e19e0fbb 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
Felix Fietkau cc059267c7 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
Felix Fietkau 7e972c38f2 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
Gabor Juhos 5af777bdf1 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
Gabor Juhos f15a427a56 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
Gabor Juhos 191ba94ca2 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
Gabor Juhos ebf969e6ef 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
Gabor Juhos 552f0d1870 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
Felix Fietkau 17d0d1aa06 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
Gabor Juhos f16e2742f4 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
Gabor Juhos 9a2d89381e 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
Gabor Juhos 6f14177314 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
Gabor Juhos a45026d4cb 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
Gabor Juhos 4d55ed1dc2 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
Gabor Juhos abc7b65d39 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
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