Commit Graph

1044 Commits (cb3f2947b16927ad6b937ecd598089caa2272978)

Author SHA1 Message Date
Gabor Juhos 8239906df5 ar71xx: wp543: use KEY_RESET code for the sw4 button
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39374 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-23 12:23:08 +00:00
Gabor Juhos d9e5296e8f ar71xx: mynet-n750: define LEDs connected to the AR8327 switch
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4743/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39361 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-21 17:17:42 +00:00
Gabor Juhos fc0d4189c3 ar71xx: tl-wr1043nd-v2: define LEDs connected to the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39346 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 10:23:06 +00:00
Gabor Juhos a822f0a04d ar71xx: tl-wdr4300: define LEDs connected to the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39345 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 10:23:05 +00:00
Gabor Juhos 6bf1049b21 ar71xx: rb2011: define LEDs connected to the AR8327 switch
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39341 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 10:23:01 +00:00
Gabor Juhos 6e0940ab38 ar71xx: rb2011: fix eth5 LED
The eth5 LED on the RB2011 is not working because the
LED control rule is missing. Fix it.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39335 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-20 10:22:49 +00:00
Gabor Juhos 95b66c3111 ar71xx: ag71xx: increase calculated max frame length value
The r39147 commit introduces a regression: at lease on some routers
with ar8216 switch large packets get lost if 802.1q tagged port is
used on the interface connected to the aforementioned switch.

The r39147 changes code in the way so interface is set to accept
packets no longer than max ethernet frame length for a given mtu.

Unfortunately ar8216 has a feature: it sends two additional bytes
as a packet header and those this header needs to be added to the
max frame length. Otherwise long enough packets get lost.

The problem only manuifests itself if interface is used in vlan
tagged mode. If interface is untagged then ar8216's header fits
into space used by 802.1q tag and not packets are lost.

Include two additional bytes in the max frame length calculation
to fix the issue.

This patch is tested and works with Trendnet TEW-632BRP.

Signed-off-by Nikolay Martynov <mar.kolya@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4656/
[juhosg:
  - simplify the patch to include the additional bytes of the
    switch header unconditionally,
  - change subject and update commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39219 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-11 11:15:30 +00:00
Gabor Juhos 07a167f52a ar71xx: my net n750: simplify LNA GPIO setup
Use the ath79_wmac_set_ext_lna_gpio helper instead
of exporting the GPIOs.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39217 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-10 09:37:59 +00:00
Gabor Juhos 14a9bf5262 ar71xx: my net n600: simplify LNA GPIO setup
Use the ath79_wmac_set_ext_lna_gpio helper instead
of exporting the GPIOs.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39216 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-10 09:37:58 +00:00
Gabor Juhos 14311df9f8 ar71xx: Fix WD My Net N600 weak signal issue
The LNAs need to be enabled by setting their respective GPIO to high even
though the original firmware's setting sets them to low on initialization.

Obviously the LNAs are then later initialized by the driver on the OEM
firmware. Without this fix the device is mostly "deaf".

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Tested-by: Steven Haigh <netwiz@crc.id.au>
Patchwork: http://patchwork.openwrt.org/patch/4689/
[juhosg:
  - remove the GPIO LED changes, the My Net N600 has no yellow LEDs at all,
  - change subject and update the commit message]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39214 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-10 09:07:12 +00:00
Gabor Juhos f94b395b53 ar71xx: Fix WD My Net N750 weak signal issue
The LNAs need to be enabled by setting their respective GPIO to high even
though the original firmware's setting sets them to low on initialization.

Obviously the LNAs are then later initialized by the driver on the OEM
firmware. Without this fix the device is mostly "deaf".

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4688/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39213 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-10 09:07:11 +00:00
Gabor Juhos 18e825e907 ar71xx: fix max frame length of the QCA955x SoCs
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39161 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-23 17:05:23 +00:00
Gabor Juhos 01fe21d196 ar71xx: don't set builtin_switch flag for QCA9558
It makes no sense, the SoC has no built-in switch.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39160 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-23 17:05:21 +00:00
Gabor Juhos aa7f693d30 ar71xx: allow to use large ethernet frames on AR934x SoCs
The hardware supports large ethernet frames. Override
the maximum frame length and packet lenght mask in the
platform data to allow to use large MTU on the ethernet
interfaces.

Limit the feature to AR934x SoCs for now. It should work
on some other SoCs as well, but those has not been tested
yet.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39149 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-20 11:41:23 +00:00
Gabor Juhos 397e584bfb ar71xx: ag71xx: fix max frame length setup of the built-in switches
The currently used bitmask of the maximum frame length field
is wrong for both models. On AR724x/AR933x the largest frame
size is 2047 bytes, on the AR934x it is 16383 bytes.

Make the MTU setup code model specific, and use the correct
bitmask for both models. Also change the value to the maximum.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39148 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-20 11:41:22 +00:00
Gabor Juhos 1f01aeabb0 ar71xx: ag71xx: calculate max frame len register value from the MTU
Set the MAX_FRAME_LEN register to zero in ag71xx_hw_init()
and write the correct value into that from the ag71xx_open()
and ag71xx_fast_reset() functions.

Also recalculate the RX buffer size based on the actual
maximum frame length value to optimize memory allocation.
Additionaly, disallow to change the MTU value while the
interface it running.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39147 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-20 11:41:20 +00:00
Gabor Juhos 60f7a8a357 ar71xx: ag71xx: add ag71xx_max_frame_len() helper
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39146 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-20 11:41:18 +00:00
Gabor Juhos c52c793ce1 ar71xx: ag71xx: get max_frame_len and desc_pktlen_mask from platform data
This will allow to use SoC specific values for both.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39145 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-20 11:41:17 +00:00
Gabor Juhos 121c26751e ar71xx: ag71xx: store descriptor packet length mask in ag71xx struct
The currently used bitmask is not correct for all SoCs.
Introduce a new field in struct ag71xx and store the
bitmask in that. Use the current value for now, it will
be adjusted for each SoCs in further patches.

Aslo use the new field directly in the ag71xx_rx_packets
and ag71xx_hard_start_xmit() functions and remove the
ag71xx_desc_pktlen() helper.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39144 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-20 11:41:16 +00:00
Gabor Juhos 85dcad3e0c ar71xx: fix WD My Net N750 switch led cfg
Now that the switch is working correctly I had the chance to actually
test the LED config.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4616/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39129 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 22:14:12 +00:00
Gabor Juhos cc0f937909 ar71xx: implement switch fix for WD My Net N750
The bootloader on the WD My Net N750 disables the ports on it's internal
AR8327N switch by powering them down. The stock firmware then brings the
ports back up again by starting the auto negotiation process on each
port.

This fix implements just that.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4615/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39128 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 22:14:11 +00:00
Gabor Juhos a6622ee6bf ar71xx: implement callback in mdio reset
This enables us to add fixups to the board specific code for boards that
require special treatment of PHYs on mdio bus reset.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
http://patchwork.openwrt.org/patch/4614/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39127 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 22:14:10 +00:00
Gabor Juhos e9aefa66db ar71xx: make ag71xx_mdio_platform_data visible
This enables us to modify the ag71xx_mdio_platform_data from within the
board support files.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
Patchwork: http://patchwork.openwrt.org/patch/4613/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39126 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 22:14:07 +00:00
Gabor Juhos 4386cc527a ar71xx: ag71xx: compute the RX buffer size from the maximum frame size
Currently, the AG71XX_RX_PKT_SIZE value limits the received
frame size to 1514/1516 bytes with/without a VLAN header
respectively. However the hardware limit is controlled by
the value the AG71XX_REG_MAC_MFL register which contains
the value of the max_frame_len field.

Compute the RX buffer size from the max_frame_len field
to get rid of the 1514/1516 byte limitation. Also remove
the unused AG71XX_RX_PKT_SIZE definition.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39121 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 16:27:46 +00:00
Gabor Juhos de63c5e8ab ar71xx: ag71xx: store RX buffer size in the ag71xx struct
This allows to change the value dynamically.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39120 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 16:27:44 +00:00
Gabor Juhos c4cd917a49 ar71xx: ag71xx: store maximum frame length in the ag71xx struct
This will allow to use different values for the
different SoCs.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39117 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 15:18:16 +00:00
Gabor Juhos 0cc622966d ar71xx: ag71xx: use mdio bus name in ar7240_probe messages
The ar7240_probe function uses the network device name
in the kernel log messages, however the name is not yet
initialized when the ar7240_probe function is called.
Use the mdio bus name in the messages to avoid ugly
log lines like the following one:

  eth%d: Found an AR7240/AR9330 built-in switch

Reported-by: Ronald Wahl <ronald.wahl@raritan.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39116 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 15:12:52 +00:00
Gabor Juhos bfbdffe876 ag71xx: ag71xx: use device name for debugfs entry
The ag71xx debugfs code uses the network device name
for the device specific debugfs directory. Since r38689
'ar71xx: ag71xx: fix a race involving netdev registration'
the debugfs initialization happens before the ethernet
device gets registered and the network device name contains
'eth%d' at this point. If the board setup code registers
multiple ag71xx devices, the debugfs code tries to create
the device specific dir with the same name which causes
an error like this:

  eth0: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
  ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY]
  ag71xx: probe of ag71xx.0 failed with error -12

Use the device name for the debugfs directory to avoid the
collisions. Also add an error message and change the return
code if the debugfs_create_dir call fails.

Reported-by: Ronald Wahl <ronald.wahl@raritan.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39115 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 15:12:50 +00:00
Gabor Juhos b84c8ab13f ar71xx: add initial support for the Mikrotik RB911G/RB912UAG boards
It is only on RB911G-5HPnD and RB912UAG-5HPnD boards.
The LEDs and the USB port is not working yet.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39102 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 18:08:51 +00:00
Gabor Juhos cb5951be3e ar71xx: add NAND driver for the Mikrotik RB91x boards
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39097 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 12:57:24 +00:00
Gabor Juhos 098732a6d3 ar71xx: rb2011: use board name from the hardware config
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39096 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 12:41:48 +00:00
Gabor Juhos 6ea3cd876a ar71xx: rb2011: simplify setup code
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39095 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 10:28:42 +00:00
Gabor Juhos e212e7382c ar71xx: rb2011: use the new RouterBOOT helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39094 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 10:28:41 +00:00
Gabor Juhos 86f043c41a ar71xx: rb95x: use the rb_get_wlan_data helper
Also remove unused RB_* defines.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39092 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 10:11:02 +00:00
Gabor Juhos 6d5b147536 ar71xx: add some RouterBOOT specific helper functions
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39091 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 10:11:01 +00:00
Gabor Juhos d4e21c1cb8 ar71xx: rb95x: nuke rb95x_gpio_init
Set up the chipselect GPIO directly in rb95x_nand_init
instead.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39087 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 08:17:40 +00:00
Gabor Juhos 31d7d99e60 ar71xx: add kernel support for WD My Net N750
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
[juhosg: use a separate patch for kernel changes]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39077 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-16 07:16:42 +00:00
Gabor Juhos 3d3252ab72 ar71xx: add kernel support for the TL-WA901ND v3 board
Based-on: http://patchwork.openwrt.org/patch/4506/
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39073 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-15 21:34:18 +00:00
Gabor Juhos d81ea5145f ar71xx: move TL-WA801ND v2 setup code
The TL-WA801ND v2 board has only one LAN port which makes
it more similar to the TL-WR[78]50RE devices. Move the
board setup code into the mach-tl-wax50re.c file.

Based-on: http://patchwork.openwrt.org/patch/4506/
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39072 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-15 21:34:17 +00:00
Gabor Juhos 735ae5e71f ar71xx: refactor TL-WAx50RE setup code
This way it is a bit easier to add other TP-LINK devices based on the
Atheros AP123 reference board with one LAN port.

Based-on: http://patchwork.openwrt.org/patch/4506/
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39071 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-15 21:34:15 +00:00
Gabor Juhos 0fe62b83a5 ar71xx: add kernel support for the TL-WA801ND v2 board
Patch to add kernel support for the TP-LINK WA801ND v2

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Patchwork: http://patchwork.openwrt.org/patch/4500/
[juhosg:
  - the TL-WA801ND v2 does not have a sliding switch, it uses a push button
    for WPS instead. Use the tl_mr3420v2_gpio_keys array to reflect that,
  - rename kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39063 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-15 20:39:10 +00:00
Felix Fietkau 765f7a61ce ath9k: merge initval and tx gain table updates, calibration fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39001 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-08 14:48:30 +00:00
Gabor Juhos 336f29b4c7 ar71xx: add kernel support for the TL-WR1043ND v2 board
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38955 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-29 20:51:12 +00:00
Gabor Juhos 49be2ba8e1 ar71xx: improve support for the My Net Wi-Fi Range Extender device
This patch improves support for the device considerably.

1. The wifi didn't work in the initial release. This was because
the WMAC of the AR9340 is not connected to the antennas.
(However, it can pick up wifi signals, if they are strong enough!)
Instead there's a dedicated AR9300 chip on the same board, which
works.

2. Ethernet throughput is improved. iperf shows that the hardware
can sustain more than 200Mbit/s and no longer drops any packages
when the link is under load.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Patchwork: http://patchwork.openwrt.org/patch/4461/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38949 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-29 20:18:44 +00:00
Gabor Juhos be3b2a6377 ar71xx: Kernel support update tl-wr842n_v2 added missing usb led
Just a small oversight my part, added the support for the USB led
Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>

Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4425/
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38946 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-29 20:18:40 +00:00
Gabor Juhos 378b2712b7 ar71xx: Add kernel support for the WR842N/ND v2
Patch to add kernel support for the TP-LINK WR842N/ND v2

Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
Patchwork: http://patchwork.openwrt.org/patch/4352/
[juhosg: refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38813 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-15 10:11:20 +00:00
Gabor Juhos 7c41559887 ar71xx: Use KEY_RESTART key code for the reset button on WD My Net N600 boards
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38720 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-11 08:10:02 +00:00
Gabor Juhos 1d90d21b25 ar71xx: Add kernel support for the TP-Link WA750RE / WA850RE range extender
Patch to add kernel support for the TP-LINK WA750RE and the WA850RE
range extender

Signed-off-by: Martijn Zilverschoon <thefriedzombie@gmail.com>
[juhosg: rename and refresh kernel patch]
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38717 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-11 08:04:46 +00:00
Gabor Juhos 02885cd80a ar71xx: ag71xx: fix ag71xx_probe error path
Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38716 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-11 07:47:00 +00:00
Gabor Juhos c389aa40d8 ar71xx: ag71xx: fix a race involving netdev registration
In particular, phy_connect before register_netdev. This is because
register_netdev runs the netdev notifiers, which can race with the rest of
the initialization in ag71xx_probe. In my case this manifested in two ways:

1) If ag71xx is compiled as a module and inserted after netifd has started,
   netifd is notified by register_netdev before the call to
   ag71xx_phy_connect. netifd tries to bring the interface up, which calls
   ag71xx_open, which in turn enters ag71xx_phy_start. This keys off
   ag->phy_dev (which is still NULL) and thinks this is a fixed-link board,
   and enters ag71xx_link_adjust. This looks at ag->speed which is not yet
   initialized and hits the BUG() in the switch (ag->speed) in
   ag71xx_link_adjust.

   This is the wrong code path for ag71xx_phy_start - my board has PHYs that
   need to be brought up with phy_start. Doing ag71xx_phy_connect before
   register_netdev ensures that ag->phy_dev is non-NULL before
   ag71xx_phy_start is ever called.

2) When ag71xx is built into the kernel, and netconsole is enabled, there
   is a gap in the initial burst of replayed printks right after the netdev
   comes up. My assumption is that netconsole is also triggered by a netdev
   notifier, and part of this printk burst happens before the call into
   ag71xx_phy_connect, so part of the burst is lost while the PHY comes up.
   This patch fixes the gap - all the printks before eth0 comes up are bursted
   in full when netconsole initializes.

ag71xx_phy_connect_xxx no longer runs with a registered netdev, so the
logging has been adjusted accordingly to avoid "unregistered net_device" or
"eth%d" messages in dmesg.

Signed-off-by: Catalin Patulea <cat@vv.carleton.ca>
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38689 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-08 08:17:54 +00:00