aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/files
Commit message (Collapse)AuthorAgeFilesLines
* kernel: add DT binding support to the fit parserChristian Lamparter2018-12-171-0/+6
| | | | | | It allows specifying default and Netgear parsers directly in the DT. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: add mv88e61xx switch port-mirroring supportDeng Qingfang2018-12-162-6/+169
| | | | | | Compile & run tested on mvebu Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
* kernel: Make the patches apply on top of 4.19Hauke Mehrtens2018-12-151-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the patches which were just copied in the previous commit apply on top of kernel 4.19. The patches in the backports-4.19 folder were checked if they are really in kernel 4.19 based on the title and only removed if they were found in the upstream kernel. The following additional patches form the pending folder went into upstream Linux 4.19: pending-4.19/171-usb-dwc2-Fix-inefficient-copy-of-unaligned-buffers.patch pending-4.19/190-2-5-e1000e-Fix-wrong-comment-related-to-link-detection.patch pending-4.19/478-mtd-spi-nor-Add-support-for-XM25QH64A-and-XM25QH128A.patch pending-4.19/479-mtd-spi-nor-add-eon-en25qh32.patch pending-4.19/950-tty-serial-exar-generalize-rs485-setup.patch pending-4.19/340-MIPS-mm-remove-mips_dma_mapping_error.patch Bigger changes were introduced to the m25p80 spi nor driver, as far as I saw it in the new code, it now has the functionality provided in this patch: pending-4.19/450-mtd-m25p80-allow-fallback-from-spi_flash_read-to-reg.patch Part of this patch went upstream independent of OpenWrt: hack-4.19/220-gc_sections.patch This patch was reworked to match the changes done upstream. The MIPS DMA API changed a lot, this patch was rewritten to match the new DMA handling: pending-4.19/341-MIPS-mm-remove-no-op-dma_map_ops-where-possible.patch I did bigger manual changes to the following patches and I am not 100% sure if they are all correct: pending-4.19/0931-w1-gpio-fix-problem-with-platfom-data-in-w1-gpio.patch pending-4.19/411-mtd-partial_eraseblock_write.patch pending-4.19/600-netfilter_conntrack_flush.patch pending-4.19/611-netfilter_match_bypass_default_table.patch pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch hack-4.19/211-host_tools_portability.patch hack-4.19/221-module_exports.patch hack-4.19/321-powerpc_crtsavres_prereq.patch hack-4.19/902-debloat_proc.patch This is based on patchset from Marko Ratkaj <marko.ratkaj@sartura.hr> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Move modifications of b53.h into patchHauke Mehrtens2018-12-151-36/+0
| | | | | | | | | | The b53 driver was added as a dsa driver into the mainline Linux kernel, but we still use the swconfig based driver. The header file b53.h is used by both drivers, but the swconfig one needs an extra member, add this one in a patch to not overwrite the version shipped with the mainline kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Replace ledtrig-netdev with upstream backportHauke Mehrtens2018-12-151-444/+0
| | | | | | | | | | | The ledtrig-netdev was added to upstream Linux kernel 4.16, replace our own version with the patch based on the upstream version. This will remove the ledtrig-netdev support from kernel 3.18, because I not want to spend time on backporting it to 3.18. This will make it easier to use the upstream version with kernel 4.19, by just not applying this patch. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: drop unneeded LINUX_VERSION_CODE checksRafał Miłecki2018-12-135-28/+0
| | | | | | | All those parsers are used by 4.14 targets. They don't need that backward compatibility code. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: add DT binding support to the LZMA and WRG parsersRafał Miłecki2018-12-132-0/+14
| | | | | | It allows specifying those parsers directly in the DT. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: add DT binding support to the TRX and minor parsersRafał Miłecki2018-12-092-0/+26
| | | | | | It allows specifying those parsers directly in the DT. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: add DT binding support to AVM EVA parserDavid Bauer2018-12-061-0/+6
| | | | | | | It allows selecting split-firmware parser directly by specifying image-format in the device-tree. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: ar83xx: Add support for three GMAC's connectionRam Chandra Jangir2018-12-064-1/+69
| | | | | | | | | | | | | We have IPQ8064 AP161 board which has three GMAC's * RGMII x2 * SGMII x1. The existing ar8327 driver does not have support for three GMAC's connection, hence this change adds support for the same. This has been verified on AP148 and AP161 board. Signed-off-by: xiaofeis <xiaofeis@codeaurora.org> Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
* kernel: add DT binding support to the jimage parserPawel Dembicki2018-11-301-0/+11
| | | | | | | | It allows specifying jimage parser directly in the DT. Tested on LAVA LR-25G001 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kernel: ar8xxx: get_arl_table now shows all ports of an entryGünther Kelleter2018-11-264-19/+13
| | | | | | | Multicast ARL entries can have multiple destination ports. Get and dump all destination ports of each entry, not just the lowest. Signed-off-by: Günther Kelleter <guenther.kelleter@devolo.de>
* ar8216: add adjust_link checkingPawel Dembicki2018-11-261-1/+2
| | | | | | | | | Driver crash when 'phydev->adjust_link' isn't provided. This patch check if 'phydev->adjust_link' exist before call the method. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* generic: rtl8367b: make it possible to specify cpu_port via DTChristian Lamparter2018-11-261-2/+4
| | | | | | | | This patch adds the feature to parse the existing cpu_port DT property, which is used to specify which port is the cpu port of the switch. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* generic: rtl836x: support defered probe on mdio-busChristian Lamparter2018-11-265-13/+17
| | | | | | | | | | | | | | | | On the WNDAP620, the mdio and mdc lines are controlled by the EMAC ethernet device. This results in a hen-vs-egg problem. The rtl8367b driver is probed before the ethernet driver and the mdio-bus is not available yet, which caused the rtl8367b driver to fail. This patch changes the rtl8366_smi_probe_of() function to return -EPROBE_DEFER if the mdio-bus lookup failed and changes rtl8366_smi_probe()'s signature to return the error code back to the callee, so it can propagate back to the kernel. Which, will retry the switch probe at a later time. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: add missing version.h include to the TP-LINK parserRafał Miłecki2018-11-241-0/+1
| | | | | Fixes: a29c8d685be7 ("kernel: add DT binding support to the TP-LINK parser") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: add DT binding support to the TP-LINK parserRafał Miłecki2018-11-241-0/+10
| | | | | | It allows triggering it directly by specifying format in the DT. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: add DT binding support to the uimage parsersRafał Miłecki2018-11-241-0/+21
| | | | | | It allows specifying default and Netgear parsers directly in the DT. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: b53: register switch on probeDavid Bauer2018-11-231-22/+21
| | | | | | | | | | | | | Currently, the b53 MDIO switch driver registers the switch on config-init and not on device probe. Because of this, the switch gets added every time the associated interface comes up. This commit fixes this behavior by registering the switch on device probe. Compile- and run-tested on OCEDO Koala. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: add DT binding support to the Seama parserRafał Miłecki2018-11-221-0/+13
| | | | | | It allows specifying that parser directly in the DT. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* generic: revert workarounds for AR8337 switchMathias Kresin2018-08-232-62/+1
| | | | | | | | | | | | | The intention of 967b6be118e3 ("ar8327: Add workarounds for AR8337 switch") was to remove the register fixups for AR8337. But instead they were removed for AR8327. The RGMII RX delay is forced even if the port is used as phy instead of mac, which results in no package flow at least for one board. Fixes: FS#1664 Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: rtl8366-smi: add Realtek switch management via mii-busFranz Flasch2018-06-252-17/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current version of rtl8366-smi module only supports Realtek switch managment via two gpio lines. This adds Realtek switch management via mii_bus. Tested on a Tp-link Archer C2 v1 (Mediatek SoC mt7620a based) dts-file configuration should look like this: rtl8367rb { compatible = "realtek,rtl8367b"; realtek,extif1 = <1 0 1 1 1 1 1 1 2>; mii-bus = <&mdio0>; }; &ethernet { status = "okay"; mtd-mac-address = <&rom 0xf100>; pinctrl-names = "default"; pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; port@5 { status = "okay"; mediatek,fixed-link = <1000 1 1 1>; phy-mode = "rgmii"; }; mdio0: mdio-bus { status = "okay"; }; }; Signed-off-by: Serge Vasilugin <vasilugin@yandex.ru> Signed-off-by: Franz Flasch <franz.flasch@gmx.at>
* kernel: rtl8367b: drop redundant compatibleMathias Kresin2018-06-251-1/+0
| | | | | | | Remove the compatible without vendor prefix. It is formal wrong and not used in the tree. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: add reset control support to rtl8366 driverJohn Crispin2018-05-243-6/+23
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* kernel: rtl8366_smi: guard of_mdiobus_register() callJo-Philipp Wich2018-05-111-1/+5
| | | | | | | | Make the call to of_mdiobus_register() dependant on CONFIG_OF to avoid pulling in an unwanted dependency on of_mdio.ko. Fixes: 3dc523f232 kernel: add OF support to rtl8355 driver Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: add OF support to rtl8355 driverJohn Crispin2018-05-071-1/+10
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* ar8216: reduce latency even further for ar8327 chipsFelix Fietkau2018-04-081-2/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar8216: reduce latency by inserting scheduling points into code hogging the CPUFelix Fietkau2018-04-081-2/+7
| | | | | | Should reduce network related latency caused by accessing MIB counters Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: b53: fix compilation on BCM47XXRafał Miłecki2018-03-211-0/+2
| | | | | | | | | This fixes: drivers/net/phy/b53/b53_priv.h:325:2: error: enumeration value '<board>' not handled in switch [-Werror=switch] errors. Fixes: 0de2213eeade7 ("kernel: b53: look for NVRAM's "robo_reset" entry on every platform") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: b53: look for NVRAM's "robo_reset" entry on every platformRafał Miłecki2018-03-211-6/+8
| | | | | | | | | | Since kernel 4.1 bcm47xx_nvram_gpio_pin() is now defined in a global header and can be safely called even on non-Broadcom platforms. This change makes b53 look for "robo_reset" on ARCH_BCM_5301X and slightly simplifies the code. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: b53: drop support for old location of bcm47xx_nvram.hRafał Miłecki2018-03-131-3/+1
| | | | | | | | In kernels 4.0 and older that header file was located in some subdir of arch/mips/include. Target brcm47xx supports kernels 4.4 and 4.9 only so that code isn't needed anymore. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* swconfig: convert swdevs_lock from spinlock to mutexFelix Fietkau2018-03-121-3/+3
| | | | | | Should fix some sleep-while-atomic issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: ar83xx: remove stray leading spaceJohn Crispin2018-02-201-3/+3
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* kernel: ar83xx: add support to configure per port VLAN priorityTan Hong Hui2018-02-203-0/+55
| | | | | | | | | Add support to allow for per switch port VLAN priority (PCP) bits for the ar8327/8337 chip using the swconfig utility. Tested on Netgear R7800 Signed-off-by: Tan Hong Hui <hhtan72@yahoo.com>
* generic: swconfig: reduce lock duration on sysfs filesKevin Darbyshire-Bryant2018-02-141-8/+12
| | | | | | | | sysfs attributes 'port_mask' & 'speed_mask' held locks whilst doing mundane tasks such as sprintf. Refactor code to reduce length of time locks are held unnecessarily. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* generic: swconfig: add mode led attributeKevin Darbyshire-Bryant2018-02-141-12/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add sysfs 'mode' attribute to swconfig controlled LEDs. swconfig 'link state' LEDs blink in the presence of port traffic. This behaviour becomes more obvious as switches start to support get_port_stats() e.g. commits 0369e358916ef092a1644334f5dd1412051b68a4, 3056d09b4046e0eb0f6de0f3f5432cd9fa86fc51, 4ddbc43cc15c2fa128a2f169964ef7eb508cf2c5, 4d8a66d9346373c2a7fcac5bdae3f662a9dbd9df. This blinking can be confusing/distracting if the switch has other LEDs used to indicate traffic. Provide a 'mode' sysfs attribute that controls the blink on traffic behaviour. mode - either "none" (LED is off) or a space separated list of one or more: link: LED's normal state reflects whether the link is up (has carrier) or not tx: LED blinks on transmitted data rx: LED blinks on receive data Note that 'link' considers any port speed mask that may be applicable. e.g. if an LED is configured to indicate 1Gbit link speed and mode is set to 'link rx tx' but the port is connected at 100Mbit then the LED will not light or blink. A mode of 'tx rx' will blink in the presence of traffic only if the port matches the rate (if configured) This maintains compatibility with existing behaviour. Attribute is 'link tx rx' by default for backwards compatible behaviour. Many thanks to Thibaut Varene for providing a more sensible led_event routine after I had mangled the original, and other coding style hints. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Acked-by: Thibaut VARENE <hacks@slashdirt.org>
* kernel: mtdsplit: split by WRG headerGeorge Hopkins2018-02-131-3/+18
| | | | | | | Support splitting WRG images, which can be found in older D-Link devices. Signed-off-by: George Hopkins <george-hopkins@null.net>
* kernel: mtdsplit: Add support for D-link JBOOTPawel Dembicki2018-02-113-0/+283
| | | | | | | | | The D-Link devices with JBOOT bootloader use their own kernel image header (stag + sch2 headers). This driver find jImage header and set rootfs start after kernel file. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kernel: generic: Add kernel 4.14 supportHauke Mehrtens2017-12-163-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds initial support for kernel 4.14 based on the patches for kernel 4.9. In the configuration I deactivated some of the new possible security features like: CONFIG_REFCOUNT_FULL CONFIG_SLAB_FREELIST_HARDENED CONFIG_SOFTLOCKUP_DETECTOR CONFIG_WARN_ALL_UNSEEDED_RANDOM And these overlay FS options are also deactivated: CONFIG_OVERLAY_FS_INDEX CONFIG_OVERLAY_FS_REDIRECT_DIR I activated this: CONFIG_FORTIFY_SOURCE CONFIG_POSIX_TIMERS CONFIG_SLAB_MERGE_DEFAULT CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED I am not sure if I did the porting correct for the following patches: target/linux/generic/backport-4.14/020-backport_netfilter_rtcache.patch target/linux/generic/hack-4.14/220-gc_sections.patch target/linux/generic/hack-4.14/321-powerpc_crtsavres_prereq.patch target/linux/generic/pending-4.14/305-mips_module_reloc.patch target/linux/generic/pending-4.14/611-netfilter_match_bypass_default_table.patch target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: make mtdsplit-tplink.c honor rootfs offsetThibaut VARÈNE2017-11-081-6/+6
| | | | | | | | | | | | | | | | | | | | The splitter ignored the rootfs offset from the header, probably because until c1e6e61 it was invalid. This patch fixes the splitter to use the now correct header data. Regarding target/linux/ar71xx/files/drivers/mtd/tplinkpart.c, this particular splitter "falls back" to the correct rootfs offset reading and as such it doesn't need to be updated, although it will report a kernel partition length that can be larger than the actual length as it assumes that partition fills the entire segment up to the rootfs partition. Tested-by: Mathias Kresin <dev@kresin.me> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> Tested-by: Daniel Engberg <daniel.engberg.lists@pyret.net> Tested-by: Henryk Heisig <hyniu@o2.pl> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* kernel: owl-loader: fix compile warningHauke Mehrtens2017-10-011-1/+1
| | | | | | | | | | | | | check if the config option CONFIG_LANTIQ is defined. This fixes the following warning: CC [M] drivers/misc/owl-loader.o drivers/misc/owl-loader.c: In function 'ath9k_pci_fixup': drivers/misc/owl-loader.c:92:5: warning: "CONFIG_LANTIQ" is not defined [-Wundef] #if CONFIG_LANTIQ ^ Fixes: e9401a2335cc ("kernel: owl-loader for delayed Atheros ath9k fixup") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: drop support for get_port_stats() on ar8xxxThibaut VARENE2017-09-133-59/+18
| | | | | | | | | | | | | | | | The implementation is not efficient on ar8xxx switches. It triggers high CPU load and degrades device performance. The high CPU load has been traced down to the ar8xxx_reg_wait() call in ar8xxx_mib_op(), which has to usleep_range() till the MIB busy flag set by the request to update the MIB counter is cleared. This commit removes the get_port_stats() code introduced in 4d8a66d and leaves a note for future hacker's beware. Fixes: FS#1004 Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
* kernel: rtl8306: fix port link statusMathias Kresin2017-09-081-0/+4
| | | | | | | | | | | In case the link changes from down to up, the register is only updated on read. If the link failed/was down, this bit will be 0 until after reading this bit again. Fixes a reported link down by swconfig alebit the link is up (query for the link again will show the correct link status) Signed-off-by: Mathias Kresin <dev@kresin.me>
* generic: make switch_port_stats tx/rx_bytes long longThibaut VARENE2017-09-012-3/+3
| | | | | | | | | | | | | | This generic structure defines tx_bytes and rx_bytes as unsigned long (u32), while several devices would typically report unsigned long long (u64). The code can work as is, but there's a chance that with a sufficiently fast interface the overflow might happen too fast to be correctly noticed by the consumers of this data. This patch makes both field unsigned long long and updates the only known consumer of this data: swconfig_leds.c Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
* generic: provide get_port_stats() on rtl836x switchesThibaut VARENE2017-09-016-0/+74
| | | | | | | | | | This patch provides a generic switch_dev_ops 'get_port_stats()' callback by taping into the relevant port MIB counters. This callback is used by swconfig_leds led trigger to blink LEDs with port network traffic. Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
* generic: provide get_port_stats() on b53 switchesThibaut VARENE2017-09-011-1/+57
| | | | | | | | | | This patch provides a generic switch_dev_ops 'get_port_stats()' callback by taping into the relevant port MIB counters. This callback is used by swconfig_leds led trigger to blink LEDs with port network traffic. Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
* generic: provide get_port_stats() on adm6996 switchesThibaut VARENE2017-09-011-0/+32
| | | | | | | | | | This patch provides a generic switch_dev_ops 'get_port_stats()' callback by taping into the relevant port MIB counters. This callback is used by swconfig_leds led trigger to blink LEDs with port network traffic. Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
* generic: provide get_port_stats() on ar8xxx switchesThibaut VARENE2017-09-013-0/+61
| | | | | | | | | | | | | This patch provides a generic switch_dev_ops 'get_port_stats()' callback by taping into the relevant port MIB counters. The implementation uses a generic callback that select the correct MIB counter index based on chip version. This callback is used by swconfig_leds led trigger to blink LEDs with port network traffic. Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
* brcm47xx: resolve GPIO conflict for WRT54GSv1Mirko Parthey2017-07-022-6/+0
| | | | | | | | | | | | | | | On the Linksys WRT54GSv1, the adm6996 switch driver and the gpio_button_hotplug module both claim GPIO 6, which is connected to the Reset button. When the switch driver's request wins, the Reset button cannot work. This makes it impossible to enter failsafe mode without a serial console. Stop requesting the "adm_rc" GPIO in the switch driver, since it is not used anywhere. Fixes FS#792. Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
* linux/swconfig_get_attr: fix leak of msg in case of errorAlexander Couzens2017-06-111-1/+1
| | | | | Found-by: Coverity Scan #1330102 Signed-off-by: Alexander Couzens <lynxis@fe80.eu>