aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* ath79: dts: drop "simple-mfd" for gmacs in SoC dtsiChuanhong Guo2019-06-057-10/+10
| | | | | | | | | | | | With a proper probe deferring for ag71xx we don't need to explicitly probe mdio1 before gmac0. Drop all "simple-mfd" in SoC dtsi so that gmac orders can be the same as ar71xx. This makes eth0/eth1 order the same as those in ar71xx, which means we don't need a migration script for this anymore and we can merge incorrectly split gmac/mdio driver back together. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: ag71xx: defer probe if of_phy_connect failedChuanhong Guo2019-06-051-2/+2
| | | | | | | | | gmac0 may need a phy on builtin switch, which can be unavailable if gmac0 is probed before builtin switch. Return -EPROBE_DEFER in this case so that gmac0 can be probed later. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: rework LED configurations for tplink,archer-d50-v1Chuanhong Guo2019-06-051-3/+3
| | | | | | | | | | | | The original one has the following problem: 1. Port mask of lan led includes wan port. 2. By using netdev trigger with vlan port, the link led is always on. This commits fixes the above problems by correcting port mask for lan led and use swconfig trigger for wan leds. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt7620: fix 5GHz WiFi LED on DWR-118-A1Pawel Dembicki2019-06-051-0/+5
| | | | | | | | | Support for D-Link DWR-118 A1 was added before LEDs feature in mt76x0e driver. This fixes the 5GHz WiFi LED which was previously inverted. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ar71xx: ag71xx: update ethtool supportPetr Štetiar2019-06-051-34/+14
| | | | | | | | | | Remove references to broken and mostly deprecated phy_ethtool_ioctl, use new {s,g}et_link_ksettings and add nway_reset which was previously handled in phy_ethtool_ioctl. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: ag71xx: update ethtool supportPetr Štetiar2019-06-051-26/+14
| | | | | | | | | | | | ethtool doesn't work currently as phy_ethtool_ioctl expects user space pointer, but it's being passed kernel one. Fixing it doesn't make sense as {s,g}et_settings were deprecated anyway. So let's rather remove phy_ethtool_ioctl and use new {s,g}et_link_ksettings instead. While at it, update nway_reset as well. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: ag71xx: remove unused SIOCETHTOOL ioctl handlingPetr Štetiar2019-06-051-10/+0
| | | | | | | | | | | | This ioctl is currently routed through generic interface code: dev_ioctl dev_ethtool __ethtool_get_link_ksettings phy_ethtool_ioctl Cc: Felix Fietkau <nbd@nbd.name> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: ag71xx: remove unused SIOCETHTOOL ioctl handlingPetr Štetiar2019-06-051-10/+1
| | | | | | | | | | | | | This ioctl is currently routed through generic interface code: dev_ioctl dev_ethtool __ethtool_get_link_ksettings phy_ethtool_ioctl Cc: John Crispin <john@phrozen.org> Cc: Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: ethernet: remove unused SIOCETHTOOL ioctl handlingPetr Štetiar2019-06-051-12/+1
| | | | | | | | | | | | | This ioctl is currently routed through generic interface code. dev_ioctl dev_ethtool __ethtool_get_link_ksettings phy_ethtool_ioctl Cc: Felix Fietkau <nbd@nbd.name> Cc: John Crispin <john@phrozen.org> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: generic: remove broken and obsolete phy_ethtool_ioctlPetr Štetiar2019-06-052-190/+0
| | | | | | | | | | Remove 701-phy_extension.patch from 4.14 and 4.19 kernel, as it's currenlty broken and fixing doesn't make sense as most of it is deprecated anyway. Cc: John Crispin <john@phrozen.org> Ref: https://bugs.openwrt.org/index.php?do=details&task_id=1982 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: bump 4.19 to 4.19.47Koen Vandeputte2019-06-033-4/+4
| | | | | | | | | Refreshed all patches. Compile-tested on: imx6 Runtime-tested on: imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.123Koen Vandeputte2019-06-036-10/+10
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.46Koen Vandeputte2019-06-036-17/+17
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.122Koen Vandeputte2019-06-039-16/+16
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.179Koen Vandeputte2019-06-031-3/+3
| | | | | | | | | Refreshed all patches. Compile-tested: ar7 Runtime-tested: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* apm821xx: backport accepted linux-crypto patches to 4.19Christian Lamparter2019-06-029-0/+681
| | | | | | | This patch brings the crypto4xx driver up to the latest upstream changes. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: backport accepted linux-crypto patches to 4.14Christian Lamparter2019-06-0210-0/+1149
| | | | | | | This patch brings the crypto4xx driver up to the latest upstream changes. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: MX60: convert to interrupt-driven gpio-key driverChristian Lamparter2019-06-021-3/+3
| | | | | | | This patch converts the device to use the gpio-key over gpio-key-polled driver. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: MR24: convert to interrupt-driven gpio-key driverChristian Lamparter2019-06-021-5/+3
| | | | | | | This patch converts the device to use the gpio-key over gpio-key-polled driver. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* apm821xx: WNDAP6X0: convert to interrupt-driven gpio-key driverChristian Lamparter2019-06-021-5/+2
| | | | | | | This patch converts the device to use the gpio-key over gpio-key-polled driver. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: fix QCA955x GMAC register sizeDavid Bauer2019-06-021-1/+1
| | | | | | | | The register size of the QCA955x currently matches the size stated in the datasheet. However, there are more hidden GMAC registers which are needed for the SGMII workaround to work. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: create R6220 dtsi and improve WNDR3700v5 supportJan Hoffmann2019-05-316-207/+166
| | | | | | | | | | | | | | | | | | The R6220 and WNDR3700v5 are identical apart from using NAND/NOR flash and having a different casing. This adds a new cleaned up R6220.dtsi with the common bits for both devices. Both devices now have feature parity. Performed cleanup: * generic DTS node names * regulator for usb power * added missing pinctrl groups * use switch port instead of VLAN as trigger for WAN LED Fixes for WNDR3700v5: * all LEDS work * correct ethernet MAC addresses Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* ramips: add support for Xiaomi Mi Router 4A (100M Edition)Markus Scheck2019-05-313-0/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - SoC: MediaTek MT7628AN - Flash: 16MB (Winbond W25Q128JV) - RAM: 64MB - Serial: As marked on PCB, 3V3 logic, baudrate is 115200 - Ethernet: 3x 10/100 Mbps (switched, 2x LAN + WAN) - WIFI0: MT7628AN 2.4GHz 802.11b/g/n - WIFI1: MT7612EN 5GHz 802.11ac - Antennas: 4x external (2 per radio), non-detachable - LEDs: Programmable power-LED (two-colored, yellow/blue) Non-programmable internet-LED (shows WAN-activity) - Buttons: Reset INSTALLATION: 1. Connect to the serial port of the router and power it up. If you get a prompt asking for boot-mode, go to step 3. 2. Unplug the router after > Erasing SPI Flash... > raspi_erase: offs:20000 len:10000 occurs on the serial port. Plug the router back in. 3. At the prompt select option 2 (Load system code then write to Flash via TFTP.) 4. Enter 192.168.1.1 as the device IP and 192.168.1.2 as the Server-IP. 5. Connect your computer to LAN1 and assign it as 192.168.1.2/24. 6. Rename the sysupgrade image to test.bin and serve it via TFTP. 7. Enter test.bin on the serial console and press enter. Signed-off-by: Markus Scheck <markus@mscheck.de> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added mt76 compatible]
* ath79: add leds migrations for archer-c7-v2 and v4David Santamaría Rogado2019-05-311-0/+6
| | | | | | | | | | | | In ar71xx v2 has blue color defined because the same mach-*.c is also used for TL-WDR4900 model with blue leds. ath79 v2 dts defines them as green. For v4 the situation is the same as v5 so the conversion is identical only v4 instead v5. So now upgrading from ar71xx to ath79 should be also smoother for v2 and v4. Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
* ramips: add CUDY WR1000 supportDavide Fioravanti2019-05-314-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cudy WR1200 is an AC1200 AP with 3-port FE and 2 non-detachable antennas Specifications: MT7628 (580 MHz) 64 MB of RAM (DDR2) 8 MB of FLASH 2T2R 2.4 GHz (MT7628) 2T2R 5 GHz (MT7612E) 3x 10/100 Mbps Ethernet (2 LAN + 1 WAN) 2x external, non-detachable antennas (5dbi) UART header on PCB (57600 8n1) 7x LED, 2x button Known issues: The Power LED is always ON, probably because it is connected directly to power. Flash instructions ------------------ Load the ...-factory.bin image via the stock web interface. Openwrt upgrade instructions ---------------------------- Use the ...-sysupgrade.bin image for future upgrades. Revert to stock FW ------------------ Warning! This tutorial will work only with the following OEM FW: WR1000_EU_92.122.2.4987.201806261618.bin WR1000_US_92.122.2.4987.201806261609.bin If in the future these firmwares will not be available anymore, you have to find the new XOR key. 1) Download the original FW from the Cudy website. (For example WR1000_EU_92.122.2.4987.201806261618.bin) 2) Remove the header. dd if="WR1000_EU_92.122.2.4987.201806261618.bin" of="WR1000_EU_92.122.2.4987.201806261618.bin.mod" skip=8 bs=64 3) XOR the new file with the region key. FOR EU: 7B76741E67594351555042461D625F4545514B1B03050208000603020803000D FOR US: 7B76741E675943555D5442461D625F454555431F03050208000603060007010C You can use OpenWrt's tools/firmware-utils/src/xorimage.c tool for this: xorimage -i WR1000..bin.mod -o stock-firmware.bin -x -p 7B767.. Or, you can use this tool (CHANGE THE XOR KEY ACCORDINGLY!): https://gchq.github.io/CyberChef/#recipe=XOR(%7B'option':'Hex','string':''%7D,'',false) 4) Check the resulting decrypted image. Check if bytes from 0x20 to 0x3f are: 4C 69 6E 75 78 20 4B 65 72 6E 65 6C 20 49 6D 61 67 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Alternatively, you can use u-boot's tool dumpimage tool to check if the decryption was successful. It should look like: # dumpimage -l stock-firmware.bin Image Name: Linux Kernel Image Created: Tue Jun 26 10:24:54 2018 Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 4406635 Bytes = 4303.35 KiB = 4.20 MiB Load Address: 80000000 Entry Point: 8000c150 5) Flash it via forced firmware upgrade and don't "Keep Settings" CLI: sysupgrade -F -n stock-firmware.bin LuCI: make sure to click on the "Keep settings" checkbox to disable it. You'll need to do this !TWICE! because on the first try, LuCI will refuse the image and reset the "Keep settings" to enable. However a new "Force upgrade" checkbox will appear as well. Make sure to do this very carefully! Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added wifi compatible, spiffed-up the returned to stock instructions]
* ramips: unify JCG helper command definitionDavide Fioravanti2019-05-312-5/+6
| | | | | | | This patch makes the JCG helper command definition available for every rampis target Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* apm821xx: wndr4700: interrupt-driven gpio-keysChristian Lamparter2019-05-311-14/+6
| | | | | | | | | | | | This patch fixes the active_low setting and converts all of the physical keys on the wndr4700 to utilize the interrupt-driven gpio-keys driver over the polled version. The sdcard-insertion hack has been removed since the block-subsystem will now be polling the device instead. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* at91:renaming subtraget legacy to sam9xSandeep Sheriker M2019-05-306-12/+12
| | | | | | renaming subtraget legacy to sam9x for adding new sam9 soc's Signed-off-by: Sandeep Sheriker M <sandeep.sheriker@microchip.com>
* gemini: Activate Realtek and vitesse DSA driver againHauke Mehrtens2019-05-301-0/+2
| | | | | | | | This activates the wrongly removed DSA drivers again. Fixes 9ab4d74b5f86 ("kernel: Move some DSA config options to generic config") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Reported-by: Linus Walleij <linus.walleij@linaro.org>
* at91: Update kernel to version 4.14Hauke Mehrtens2019-05-3011-912/+48
| | | | | | | | This adds support for kernel 4.14 to the target and directly make it the default kernel version to use. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Sandeep Sheriker <sandeepsheriker.mallikarjun@microchip.com>
* at91: Merge SAMA5 subtargetsHauke Mehrtens2019-05-3014-129/+87
| | | | | | | | | Instead of maintaining 3 very similar subtargets merge them into one. This does not use the Arm NEON extension any more, because the SAMA5D3 does not support NEON. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Sandeep Sheriker <sandeepsheriker.mallikarjun@microchip.com>
* at91: Clean up kernel configurationHauke Mehrtens2019-05-302-20/+1
| | | | | | | | This removes some settings which are normally set by the generic configuration and should not be changed. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Sandeep Sheriker <sandeepsheriker.mallikarjun@microchip.com>
* at91: Refresh kernel configurationHauke Mehrtens2019-05-305-179/+65
| | | | | | | | | | | The configuration of the sama5d4 subtarget was used as the default configuration and then the subtarget configurations were adapted. The resulting kernel configuration without any extra modules selected is still the same. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Sandeep Sheriker <sandeepsheriker.mallikarjun@microchip.com>
* lantiq: BTHOMEHUBV5A: don't power off with restart buttonAlan Swanson2019-05-301-1/+1
| | | | | | | | | | | The restart button is currently assigned to KEY_POWER power script but an easily accessible button immediately powering off the device is undesirable. Switch to using new KEY_POWER2 reboot script with 5 second seen delay. Fixes: FS#1965 Signed-off-by: Alan Swanson <reiver@improbability.net> Signed-off-by: Petr Štetiar <ynezz@true.cz> [long line wrap]
* ath79: ecb1750: additional dts fixesPetr Štetiar2019-05-271-0/+2
| | | | | | | | | | | This patch fixes following missing bits: - add missing 'compatible' property on firmware partition - set vendor partition 'userconfig' read-only Fixes: 30dcbc741d84 ("ath79: add support for EnGenius ECB1750") Signed-off-by: Sven Friedmann <sf.openwrt@okay.ms> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: add support for WD My Net N750Ryan Mounce2019-05-275-7/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SoC: AR9344 RAM: 128MB Flash: 16MiB Winbond 25Q128BVFG SPI NOR 5GHz WiFi: AR9380 PCIe 3x3:3 802.11n 2.4GHz WiFi: AR9344 (SoC) AHB 2x2:2 802.11n 5x Gigabit ethernet via AR8327N switch (green + amber LEDs) 2x USB 2.0 via GL850G hub 4x front LEDs from SoC GPIO 1x front WPS button from SoC GPIO 1x bottom reset button from SoC GPIO Known issues: AR8327N LEDs only have default functionality, not presented in sysfs. This is a regression from ar71xx. UART header JP1, 115200 no parity 1 stop TX GND VCC (N/P) RX See https://openwrt.org/toh/wd/n750 for flashing detail. Procedures unchanged from ar71xx. Tested sysupgrade + factory flash from WD Emergency Recovery Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
* Revert "base-files: add console to inittab"Alexander Couzens2019-05-251-1/+0
| | | | | | | This reverts commit cde52cb4866fe8cf4a19bb2bb32ff7802e542e19. When using OpenWrt in qemu, the shell is unsuable Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* gemini: Support sysupgrade on DIR-685Linus Walleij2019-05-232-1/+28
| | | | | | | | | | | | | This makes sysupgrade work on the D-Link DIR-685 after initial factory install. We create the platform.sh script to support sysupgrade on more targets as we move on with sysupgrade support. Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Petr Štetiar <ynezz@true.cz> [cleanup in platform.sh, removed superfluous SUPPORTED_DEVICES]
* base-files: add console to inittabPaul Spooren2019-05-211-0/+1
| | | | | | | | | | | When running OpenWrt inside an LXC container no shell is opend as LXC defaults to a virtual /dev/console. This patch allows to enter a shell after starting the container via `lxc-start`, without it is only posible to access a shell on tty1 via `lxc-console`. Signed-off-by: Paul Spooren <mail@aparcar.org>
* ar71xx: wr940 v4/v6: correct lan interface mac addressAlexander Couzens2019-05-211-1/+1
| | | | | | | | The vendor firmware only uses two mac addresses, the mac address on the label and the label + 1. While checking multiple devices, all labels have even mac addresses. Concluding only 2 address are assigned to a device. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* kernel: bump 4.19 to 4.19.44Koen Vandeputte2019-05-216-119/+9
| | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 103-MIPS-perf-ath79-Fix-perfcount-IRQ-assignment.patch Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.120Koen Vandeputte2019-05-2135-376/+258
| | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 103-MIPS-perf-ath79-Fix-perfcount-IRQ-assignment.patch - 060-fix-oxnas-rps-dt-match.patch Altered patches: - 0067-generic-Mangle-bootloader-s-kernel-arguments.patch - 006-mvebu-Mangle-bootloader-s-kernel-arguments.patch - 996-generic-Mangle-bootloader-s-kernel-arguments.patch Compile-tested on: ar71xx, cns3xxx, imx6, mvebu, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: glinet_gl-ar750s: Add USB power & microSDAlexander Wördekemper2019-05-202-8/+23
| | | | | | | | | The GL.iNet AR750S USB and microSD port is currently not working out of the box. GPIO 7 is used to control the power of the USB port. Add GPIO 7 as a fixed-regulator for the port. Also add &usb1 to DTS to get the microSD port to work. Signed-off-by: Alexander Wördekemper <alexwoerde@web.de>
* imx6: apalis: fix config survival after sysupgrade -nPetr Štetiar2019-05-201-0/+13
| | | | | | | | | This patch fixes `sysupgrade -n` when flashed with rootfs of the same size as currently running, so the rootfs_data wouldn't get destroyed and thus survive reboot. So let's fix it by always cleaning up the content of the rootfs_data during sysupgrade. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: add leds migrations for archer-c7-v5Petr Štetiar2019-05-201-0/+3
| | | | | | | | | ar71xx uses `archer-c7-v5` for led prefix, but ath79 sticks to more generic `tplink` as the DTS is reused by more boards, so we need to perform migrations of the LED names during upgrade. Cc: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ar71xx: set mib-poll-interval on devices with ar8xxx switchPetr Štetiar2019-05-201-0/+50
| | | | | | | | | | | | | | Commit "generic: ar8216: add mib_poll_interval switch attribute" sets mib-poll-interval as disabled by default (was set to 2s), so it makes switch LEDs trigger disfunctional on devices which don't have mib-poll-interval set. So this patch sets mib-poll-interval to 500ms on devices which are using ar8xxx switch LEDs trigger, as the same value was set for built in switches in 443fc9ac35 ("ath79: use ar8216 for builtin switch"). Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* apm821xx: set mib-poll-interval on emac0 attached ar83xx switchPetr Štetiar2019-05-202-0/+4
| | | | | | | | | | | | | Commit "generic: ar8216: add mib_poll_interval switch attribute" sets mib-poll-interval as disabled by default (was set to 2s), so it makes switch LEDs trigger disfunctional on devices which don't have mib-poll-interval set. So this patch sets mib-poll-interval to 500ms on devices which have ar83xx switch connected to emac0, as the same value was set for built in switches in 443fc9ac35 ("ath79: use ar8216 for builtin switch"). Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: set mib-poll-interval on mdio0 attached ar83xx switchPetr Štetiar2019-05-206-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit "generic: ar8216: add mib_poll_interval switch attribute" sets mib-poll-interval as disabled by default (was set to 2s), so it makes switch LEDs trigger disfunctional on devices which don't have mib-poll-interval set. So this patch sets mib-poll-interval to 500ms on devices which have ar83xx switch connected to mdio0 bus, as the same value was set for built in switches in 443fc9ac35 ("ath79: use ar8216 for builtin switch"). Some measurements performed on TP-Link Archer C7-v5: mib-type=0, mib-poll-interval=500ms (10s pidstat) Average: %usr %system %guest %wait %CPU CPU Command Average: 0.00 1.93 0.00 0.00 1.93 - kworker/0:2 iperf3 (30s): 334 Mbits/sec mib-type=0, mib-poll-interval=2s (10s pidstat) Average: %usr %system %guest %wait %CPU CPU Command Average: 0.00 1.14 0.00 0.00 1.14 - kworker/0:2 iperf3 (30s): 334 Mbits/sec So it seems like we get 4x faster LED refresh rate for additional 0.8% CPU load. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* generic: ar8216: group MIB counters and use two basic ones only by defaultChuanhong Guo2019-05-203-81/+150
| | | | | | | | | | | | | | | | | There are too many MIB counters that almost nobody needs since commit d6366ce3665f ("generic: ar8216: mib_work_func: read all port mibs everytime"). In the worker function to poll MIB data, it deals with all ports instead of only one port every time, which introduces too many mdio operations that it becomes a heavy CPU load even on not-emulated MDIO bus. This commit groups MIB counters and enable only TxBytes and RxGoodBytes by default (both of which are necessary to get swconfig led working.) and adds an swconfig attribute to allow enabling all counters if users need them. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* generic: ar8216: add mib_poll_interval switch attributeChuanhong Guo2019-05-203-8/+63
| | | | | | | | | | | | | | This allows specifying interval of polling MIB counters from userspace and allow completely turning off MIB counter support by setting mib_poll_interval to 0. Since MIB counter polling is a heavy CPU load for GPIO emulated MDIO bus, disable this behavior by default. Those who wants to use swconfig LEDs can enable them with qca,mib-poll-interval dts property or with swconfig command. Fixes: FS#2230 ("kworker spikes 100% cpu every 2 second.") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>