openwrt/target/linux/ar71xx/files/arch/mips/ath79
Felix Fietkau 60b81acd60 ath79: dev-eth: Don't advertise 1gbit in link code word on ar9331
While the AR9331 has a gigabit MAC towards the internal switch, the
integrated PHYs however are only 100-base-tx capable.  The existing code
however advertieses gigabit capability in the link status word.  If you
attach such a PHY to a gigabit capable switch on the remote end, with
some probability it attempts to negotiate gigabit and fails, falling
baco to the AR9331 assuming a 10mbit half-duplex link.  This has been
observed quite frequently with the Carambola2 and gigabit capable
switches.

In ath79_register_eth(), "pdata->has_gbit = 1;" is set unconditionally
for both AR9331 ethernet ports. This is most likely wrong. Despite the
two MAC IP cores being gigabit MACs, the MAC for eth1 is connected to a
100base-T PHY via MII. The has_gbit attribute is used in the ethernet
driver to determine the supported link modes.

So either pdata->has_gbit is not set to 1 anymore, or the ethernet
driver needs to be modified to determine the advertised link code word
on another criteria than pdata->has_gbit.  This patch implements the
former solution.

Signed-off-by: Harald Welte <laforge@gnumonks.org>

SVN-Revision: 42432
2014-09-07 09:45:32 +00:00
..
dev-ap9x-pci.c ar71xx: add ap91_pci_init_simple helper 2012-12-12 16:49:48 +00:00
dev-ap9x-pci.h ar71xx: add ap91_pci_init_simple helper 2012-12-12 16:49:48 +00:00
dev-dsa.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
dev-dsa.h ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
dev-eth.c ath79: dev-eth: Don't advertise 1gbit in link code word on ar9331 2014-09-07 09:45:32 +00:00
dev-eth.h ar71xx: add a helper function for setting up ETH_CFG register on QCA955x 2014-07-13 19:43:56 +00:00
dev-m25p80.c ar71xx: enable fast flash read on dual-flash devices 2013-01-29 19:12:25 +00:00
dev-m25p80.h ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
dev-nfc.c ar71xx: ar934x_nfc: fix memory initialization bug 2014-03-12 12:52:36 +00:00
dev-nfc.h ar71xx: add ath79_nfc_set_ecc_mode helper 2013-09-19 18:43:42 +00:00
mach-alfa-ap96.c ar71xx: add linux 3.14 support 2014-08-07 12:40:53 +00:00
mach-alfa-nx.c ar71xx: remove the built-in MTD maps of several boards 2012-03-27 19:38:01 +00:00
mach-all0258n.c ar71xx: remove the built-in MTD map of the ALL0258N 2012-07-03 15:24:01 +00:00
mach-all0315n.c ar71xx: all0315n: fix ethernet according to vendor info 2012-08-29 10:37:54 +00:00
mach-ap83.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-ap96.c ar71xx: remove the built-in MTD map of the AP96 board 2012-03-27 19:38:07 +00:00
mach-ap113.c ar71xx: remove the built-in MTD maps of several boards 2012-03-27 19:38:01 +00:00
mach-ap132.c ar71xx: add kernel support for Atheros AP132 Reference Board 2013-01-29 19:12:30 +00:00
mach-archer-c7.c add support for the archer c5 2014-07-23 12:47:25 +00:00
mach-aw-nr580.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-bhu-bxu2000n2-a.c ar71xx: add kernel support for BHU Networks BXU2000n-2 A1 board 2013-10-30 06:50:57 +00:00
mach-cap4200ag.c ar71xx: add support for the Senao CAP4200AG board 2012-10-27 08:55:38 +00:00
mach-carambola2.c ar71xx: update Carambola2 platform data 2014-08-04 14:46:52 +00:00
mach-dir-505-a1.c ar71xx: dir-505-a1: use ath79_parse_ascii_mac helper 2013-09-20 16:41:31 +00:00
mach-dir-600-a1.c ar71xx: add support for dlink dir-615-e1 2014-06-02 14:43:35 +00:00
mach-dir-615-c1.c ar71xx: remove the built-in MTD maps of several boards 2012-03-27 19:38:01 +00:00
mach-dir-825-b1.c ar71xx: dir-825-b1: use ath79_parse_ascii_mac helper 2013-09-20 16:41:32 +00:00
mach-dir-825-c1.c ar71xx: fix WLAN 5 GHz LED init on dir-825-c1 2013-10-20 15:59:04 +00:00
mach-dragino2.c ar71xx: add kernel support for DRAGINO2 2013-10-30 06:50:52 +00:00
mach-eap300v2.c ar71xx: add kernel support for the EnGenius EAP300 v2 board 2014-07-14 21:30:26 +00:00
mach-eap7660d.c ar71xx: add ALL0305 board alias 2012-08-22 12:33:22 +00:00
mach-el-m150.c ar71xx: r41348 is missing these files 2014-06-26 13:47:35 +00:00
mach-el-mini.c ar71xx: r41348 is missing these files 2014-06-26 13:47:35 +00:00
mach-esr900.c ar71xx: use ETH_ALEN for consistency 2014-08-25 06:35:58 +00:00
mach-esr1750.c ar71xx: add kernel support for EnGenius ESR1750 2014-07-13 19:43:57 +00:00
mach-ew-dorin.c ar71xx: ew-dorin: added router firmware generation 2012-08-01 12:24:57 +00:00
mach-gl-inet.c ar71xx: Fix GL.iNet WLAN LED 2014-07-21 19:26:46 +00:00
mach-gs-oolite.c ar71xx: oolite: the buttons are not active_low 2014-08-01 11:19:34 +00:00
mach-hiwifi-hc6361.c ar71xx: add kernel support for HiWiFi HC6361. 2014-06-02 14:56:24 +00:00
mach-hornet-ub.c ar71xx: fix ALFA NETWORK's name 2014-07-14 11:10:00 +00:00
mach-ja76pf.c ar71xx: add support for the jjPlus JA76PF2 board 2012-03-16 18:00:34 +00:00
mach-jwap003.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-mr600.c ar71xx: Fix 2.4G WiFi LED of the OpenMesh MR600 board 2014-08-18 13:09:14 +00:00
mach-mynet-n600.c ar71xx: my net n600: simplify LNA GPIO setup 2014-01-10 09:37:58 +00:00
mach-mynet-n750.c ar71xx: mynet-n750: define LEDs connected to the AR8327 switch 2014-01-21 17:17:42 +00:00
mach-mynet-rext.c ar71xx: improve support for the My Net Wi-Fi Range Extender device 2013-11-29 20:18:44 +00:00
mach-mzk-w04nu.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-mzk-w300nh.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-nbg460n.c ar71xx: remove __dev{init,exit} annotations from kernel files 2013-02-19 20:52:06 +00:00
mach-nbg6716.c ar71xx: use ath79_setup_qca955x_eth_cfg helper for QCA955x based boards 2014-07-13 19:44:00 +00:00
mach-om2p.c ar71xx: add kernel support for the OpenMesh OM2P-HSv2 2014-06-02 13:21:26 +00:00
mach-om5p.c ar71xx: add kernel support for the OpenMesh OM5P board 2014-07-20 17:30:32 +00:00
mach-pb42.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-pb92.c ar71xx: remove the built-in MTD map of the PB92 board 2012-03-27 19:38:05 +00:00
mach-rb4xx.c ar71xx: register the micro sd card reader on RB493G 2013-02-10 12:31:38 +00:00
mach-rb91x.c ar71xx: rb91x: fix ethernet packet loss issues 2014-04-13 20:41:52 +00:00
mach-rb95x.c ar71xx: rb95x: use correct SPI flash address 2014-03-12 12:52:39 +00:00
mach-rb750.c ar71xx: Routerboard 751 Mac Address Offset Fix 2013-02-08 09:34:53 +00:00
mach-rb2011.c ar71xx: rb2011: define LEDs connected to the AR8327 switch 2014-01-20 10:23:01 +00:00
mach-rbsxtlite.c ar71xx: Add support for MikroTik RouterBOARD SXT Lite 2014-07-01 13:38:30 +00:00
mach-rw2458n.c ar71xx: rw2458n - Use eeprom (art) from wifi card 2013-03-15 14:35:50 +00:00
mach-smart-300.c add support for the NC-LINK SMART-300 2014-08-11 11:44:51 +00:00
mach-tew-632brp.c ar71xx: TEW632BRP has buttons 'active low', fix board config 2013-07-28 10:23:22 +00:00
mach-tew-673gru.c ar71xx: tew-673gru: use ath79_parse_ascii_mac helper 2013-09-20 16:41:34 +00:00
mach-tew-712br.c ar71xx: tew-712br: use ath79_parse_ascii_mac helper 2013-09-20 16:41:36 +00:00
mach-tew-732br.c ar71xx: add kernel support for the TEW-732BR board 2013-09-23 09:49:01 +00:00
mach-tl-mr3x20.c ar71xx: use gpio_request_one instead of ath79_set_usb_power_gpio 2012-11-05 13:23:27 +00:00
mach-tl-mr11u.c ar71xx: improve kernel support for the TL-MR3040 v2 2013-09-25 18:42:10 +00:00
mach-tl-mr13u.c ar71xx: add kernel support for TP-Link TL-MR13U 2013-09-19 17:52:41 +00:00
mach-tl-mr3020.c ar71xx: disable PHY_SWAP and PHY_ADDR_SWAP bits on TL-WR703N/MR3020/MR3040/MR11U boards 2013-01-07 14:30:37 +00:00
mach-tl-wa830re-v2.c ar71xx: added support for TL-WA830RE V2 2014-07-13 07:12:22 +00:00
mach-tl-wa901nd-v2.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-tl-wa901nd.c ar71xx: fix tl-wa901nd buttons code 2013-08-05 09:09:39 +00:00
mach-tl-wax50re.c ar71xx: add support for TP-LINK TL-WA860RE v1 2014-07-13 10:03:41 +00:00
mach-tl-wdr3500.c ar71xx: fix ethernet LEDs on the TL-WDR3500 2013-03-25 06:40:03 +00:00
mach-tl-wdr4300.c ar71xx: fix bad RX sensitivity on newer TL-WDR4300 boards 2014-01-24 17:40:17 +00:00
mach-tl-wr703n.c ar71xx: fix typo in tl-wr710n mac setup (fixes #16469) 2014-05-24 08:01:33 +00:00
mach-tl-wr720n-v3.c ar71xx: add kernel support for TPLINK WR720N v3 2013-04-26 17:00:48 +00:00
mach-tl-wr741nd-v4.c ar71xx: add support for WIFI button on tp-link tl-mr3220v2 2013-06-04 13:25:54 +00:00
mach-tl-wr741nd.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-tl-wr841n-v8.c ar71xx: move TL-WA801ND v2 setup code 2013-12-15 21:34:17 +00:00
mach-tl-wr841n-v9.c ar71xx: add support for the TP-LINK TL-WR841N/ND v9 2014-04-07 08:00:02 +00:00
mach-tl-wr841n.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-tl-wr941nd.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-tl-wr1041n-v2.c generic: ar8216: rename cpuport_cfg to port0_cfg in ar8327_platform_data 2012-12-22 12:12:35 +00:00
mach-tl-wr1043nd-v2.c ar71xx: TL-WR1043N/ND v2: Fix MAC address of WMAC 2014-08-18 13:10:00 +00:00
mach-tl-wr1043nd.c ar71xx: init switch hw_reset on the TL-WR1043ND board 2012-08-02 09:54:28 +00:00
mach-tl-wr2543n.c ar71xx: fix comment style in mach-tl-wr2543n.c 2012-08-22 12:42:59 +00:00
mach-tube2h.c ar71xx: add kernel support for the Tube2H board 2014-07-14 16:03:34 +00:00
mach-ubnt.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-whr-hp-g300n.c ar71xx: remove the built-in MTD maps of several boards 2012-03-27 19:38:01 +00:00
mach-wlae-ag300n.c ar71xx: Buffalo WLAE-AG300N initial support 2012-08-01 12:24:52 +00:00
mach-wlr8100.c ar71xx: use ath79_setup_qca955x_eth_cfg helper for QCA955x based boards 2014-07-13 19:44:00 +00:00
mach-wndap360.c ar71xx: WNDAP360 adding wifi LED support 2014-06-02 15:02:54 +00:00
mach-wndr3700.c ar71xx: use netgear prefix for WNDR3700 LED names 2013-09-21 15:55:50 +00:00
mach-wndr4300.c ar71xx: split wndr4300 and wndr3700v4 into 2 seperate mips machines 2014-07-21 18:41:52 +00:00
mach-wnr2000-v3.c ar71xx: use netgear prefix for WNR612 v2 LED names 2013-09-21 15:55:54 +00:00
mach-wnr2000.c ar71xx: use netgear prefix for WNR2000 LED names 2013-09-21 15:55:51 +00:00
mach-wnr2200.c ar71xx: use netgear prefix for WNR2200 LED names 2013-09-21 15:55:52 +00:00
mach-wp543.c ar71xx: wp543: set active_low flag for the buttons 2014-01-26 14:55:32 +00:00
mach-wpe72.c ar71xx: wpe72: set active_low flag for the reset button 2014-01-26 14:55:34 +00:00
mach-wrt160nl.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-wrt400n.c ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
mach-wzr-hp-ag300h.c ar71xx: enable uimage split for wzr-hp-ag300h/wzr-600dhp 2013-07-14 14:05:27 +00:00
mach-wzr-hp-g300nh.c ar71xx: use uimage split for WZR-HP-G300NH 2013-07-14 14:05:23 +00:00
mach-wzr-hp-g300nh2.c ar71xx: use uimage split for WZR-HP-G300NH2 2013-07-14 14:05:31 +00:00
mach-wzr-hp-g450h.c ath9k: merge initval and tx gain table updates, calibration fixes 2013-12-08 14:48:30 +00:00
mach-zcn-1523h.c ar71xx: don't use the unknown LED on the ZCN-1523-5 board 2012-11-04 22:08:54 +00:00
nvram.c ar71xx: allow ath79_nvram_parse_mac_addr parsing mac with quotes 2014-07-13 19:43:54 +00:00
nvram.h ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
pci-ath9k-fixup.c ar71xx: remove superfluous include of asm/mach-ath79/pci.h 2012-06-19 10:13:43 +00:00
pci-ath9k-fixup.h ar71xx: merge files-3.2 to files 2012-02-10 08:19:31 +00:00
routerboot.c ar71xx: add some RouterBOOT specific helper functions 2013-12-16 10:11:01 +00:00
routerboot.h ar71xx: add some RouterBOOT specific helper functions 2013-12-16 10:11:01 +00:00