aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bmips
Commit message (Collapse)AuthorAgeFilesLines
* bmips: add support for Sercomm H-500sÁlvaro Fernández Rojas2023-03-228-1/+502
| | | | | | | | | | | | | Sercomm H-500s is a BCM63268 with 128M, internal and external (Quantenna) wifi and external BCM53134S switch. This device is already supported in bcm63xx target, so more information can be found in https://openwrt.org/toh/sercomm/h500-s. It's a perfect example of a device with internal and external switch coexistance since most devices only have ports on one of the switches but not both of them. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: drop unneded cpu labels from external switchesÁlvaro Fernández Rojas2023-03-222-2/+0
| | | | | | | | | These labels aren't needed and were accidentally added when adding external switches support for bmips. Fixes: 80a3ecc89489 ("bmips: add Huawei HG253s v2 support") Fixes: 61f3c3b1eebd ("bmips: dgnd3700v2: enable external BCM53125 switch") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: add pending patches for bcm63268-timer-clocksÁlvaro Fernández Rojas2023-03-224-401/+0
| | | | | | | | | bcm63268-timer-clocks have been sent upstream with a positive review, so let's add them to pending v5.15. Also add devm_clk_hw_register_gate() patch from v5.17 to backports since it's needed for upstream bcm63268-timer-clocks patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: dts: nand: add missing address/size cellsÁlvaro Fernández Rojas2023-03-212-0/+6
| | | | | | | | | | | Fixes the following warnings for Netgear DGND3700v2 and Comtrend VR-3032u: [ 1.059540] 7 fixed-partitions partitions found on MTD device brcmnand.0 [ 1.066570] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.073766] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.081927] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.089128] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: add Huawei HG253s v2 supportÁlvaro Fernández Rojas2023-03-214-0/+264
| | | | | | | | | | | | | Huawei HG253s v2 is a BCM6362 with 128M RAM, internal wifi and external BCM53124S switch. This device is already supported in bcm63xx target, so more information can be found in https://openwrt.org/toh/huawei/hg253s_v2. It's a perfect example of a device with internal and external switch coexistance since most devices only have ports on one of the switches but not both of them. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: dgnd3700v2: enable external BCM53125 switchÁlvaro Fernández Rojas2023-03-212-2/+56
| | | | | | | The Netgear DGND3700v2 has an external BCM53125 switch which can now be enabled as a DSA disjoint switch tree setup. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: disable B53 MMAP phy read/write opsÁlvaro Fernández Rojas2023-03-212-1/+47
| | | | | | | | | | Without this change, internal and external B53 switches couldn't coexist as reported in https://github.com/openwrt/openwrt/issues/10313. In order to fix this we need to force the B53 MMAP DSA switch driver to use bcm6368-mdio-mux for accessing the PHY registers instead of its own phy_read() and phy_write() functions. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: dts: fix switch compatible stringsÁlvaro Fernández Rojas2023-03-204-4/+4
| | | | | | Use the proper string for each SoC. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: add pending bmips patchesÁlvaro Fernández Rojas2023-03-207-246/+10
| | | | | | Add patches sent upstream for bmips and b53 and remove downstream ones. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: tweak Kconfig optionsÁlvaro Fernández Rojas2023-03-163-16/+49
| | | | | | Add patch to reduce and improve selected bmips kernel config options. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: irq-bcm6345-l1: register memory regionÁlvaro Fernández Rojas2023-03-161-0/+38
| | | | | | | Add new patch sent upstream for requesting the memory region in the bcm6345-l1 interrupt controller. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: update patches sent upstreamÁlvaro Fernández Rojas2023-03-162-20/+42
| | | | | | Update bmips patches with the latest version sent upstream Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: dts: fix warningsÁlvaro Fernández Rojas2023-03-097-2/+22
| | | | | | | | - Add missing interrupt-parent to ext_intc. - Add missing #address-cells and #size-cells to gpio_cntl. - Use proper gpio handle for gpios (ar-5315u). Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* Revert "bmips: add missing switch cpu label"Álvaro Fernández Rojas2023-03-055-5/+0
| | | | | | | | This reverts commit dc0de05e10a9c6e1ef66ca2934e8a0ff0d488943. As pointed out by @BKPepe and @arinc9 this was removed by 9df035b since it isn't needed. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: add missing switch cpu labelÁlvaro Fernández Rojas2023-03-045-0/+5
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: check for DMA error when refilling RxSieng-Piaw Liew2023-03-041-8/+20
| | | | | | | dma_mapping_error() should be called as dma_map_single() could fail and return error. Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com>
* bmips: fix Tx cleanup when NAPI poll budget is zeroSieng-Piaw Liew2023-03-041-4/+5
| | | | | | | | | | | | NAPI poll() function may be passed a budget value of zero, i.e. during netpoll, which isn't NAPI context. Therefore, napi_consume_skb() must be given budget value instead of !force to truly discern netpoll-like scenarios. https://lore.kernel.org/netdev/20220707141056.2644-1-liew.s.piaw@gmail.com/t/#m470f5c20225e76fb08c44d6cfa2f1b739ffaaea4 Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com> [improve code format] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: add BQL supportSieng Piaw Liew2023-03-041-0/+8
| | | | | | Add Byte Queue Limits support to reduce/remove bufferbloat. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
* bmips: batch process eth_type_trans() in rx pathSieng Piaw Liew2023-03-041-2/+3
| | | | | | Improve cache efficiency by running eth_type_trans() in its own loop. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
* bmips: batch process rx pathSieng Piaw Liew2023-03-041-1/+5
| | | | | | | Use netif_receive_skb_list() to batch process rx skb. This improves cache efficiency. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
* bmips: improve rx loopSieng Piaw Liew2023-03-041-2/+3
| | | | | | | | | Use existing rx processed count to track against budget, thereby making budget decrement operation redundant. rx_desc_count can be calculated outside the rx loop, making the loop a bit smaller. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
* bmips: switch to napi_build_skb() to reuse skbuff_headsSieng Piaw Liew2023-03-041-2/+2
| | | | | | | | | | napi_build_skb() reuses NAPI skbuff_head cache in order to save some cycles on freeing/allocating skbuff_heads on every new rx or completed tx. Use napi_consume_skb() to feed the cache with skbuff_heads of completed tx so it's never empty. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
* bmips: check NAPI context when refilling rx SKBSieng Piaw Liew2023-03-041-6/+10
| | | | | | | | | | | Check if we're in NAPI context when refilling rx. Normally we're almost always running in NAPI context. Dispatch to napi_alloc_frag() directly instead of relying on netdev_alloc_frag() which does the same but with the overhead of local_bh_disable/enable. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [improve code format] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: convert to build_skb()Sieng Piaw Liew2023-03-041-41/+61
| | | | | | | | | | | | | We can increase the efficiency of rx path by using buffers to receive packets then build SKBs around them just before passing into the network stack. In contrast, preallocating SKBs too early reduces CPU cache efficiency. Performance is slightly increased but the changes allow more potential optimizations. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> [improve code format] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: use netdev_alloc_skb() for copybreakSieng Piaw Liew2023-03-041-1/+1
| | | | | | | | | | | bmips is using Broadcom B53 DSA driver which means the ethernet driver must compensate for 6 bytes tags from the internal switch. This means using NET_IP_ALIGN actually misaligns the skb, lowering performance significantly. Therefore napi_alloc_skb() which uses NET_IP_ALIGN is changed to netdev_alloc_skb(). Performance in iperf3 is increased from ~47Mbps to 52Mbps. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
* bmips: loader-lzma: drop unused RAMSIZE parameterÁlvaro Fernández Rojas2023-03-021-3/+1
| | | | | | This parameter has never been used. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* treewide: remove label = "cpu" from DSA dt-bindingArınç ÜNAL2023-02-265-5/+0
| | | | | | | This is not used by the DSA dt-binding, so remove it from all devicetrees. Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9cc115d8d6f73dd260de1609182f3645844d6907 Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* treewide: replace wpad-basic-wolfssl defaultRosen Penev2023-02-041-2/+2
| | | | | | | The newly merged mbedtls backend is smaller and has fewer ABI related issues than the wolfSSL one. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic configAleksander Jan Bajkowski2022-10-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Endianness depends on CPU architecture. CONFIG_CPU_(BIG/LITTLE)_ENDIAN should be enabled on target or subtarget based on SoC architecture. Fixes warning: $ make kernel_oldconfig CONFIG_TARGET=subtarget ... .config:1008:warning: override: CPU_LITTLE_ENDIAN changes choice state .... Summary: - ARC - only the CONFIG_CPU_BIG_ENDIAN symbol is defined for this architeture. If it is disabled then the processor operates in LITTLE_ENDIAN mode (default), - ARM32 - CONFIG_CPU_LITTLE_ENDIAN symbol available since kernel 5.19. This option should be enabled after OpenWRT moves to kernel 6.x. After refreshing the kernel, the symbol disappears, - ARM64 - enabled CONFIG_CPU_LITTLE_ENDIAN, - MIPS - enabled relevant symbols, - POWERPC - enabled CONFIG_CPU_BIG_ENDIAN, - UML - Symbols are not defined for this architecture, - X86 - always little endian. Symbols are not defined for this architecture. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* kernel: bump 5.15 to 5.15.67John Audia2022-09-091-1/+1
| | | | | | | | | | All patches automatically rebased Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: Activate CONFIG_GPIOLIB in generic configurationHauke Mehrtens2022-08-101-1/+0
| | | | | | | | All targets expect the malta target already activate the CONFIG_GPIOLIB option. Move it to generic kernel configuration and also activate it for malta. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]Tomasz Maciej Nowak2022-06-241-0/+2
| | | | | | | | | | | | This is now built-in, enable so it won't propagate on target configs. Link: https://lkml.org/lkml/2022/1/3/168 Fixes: 79e7a2552e89 ("kernel: bump 5.15 to 5.15.44") Fixes: 0ca93670693b ("kernel: bump 5.10 to 5.10.119") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> (Link to Kernel's commit taht made it built-in, CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: bump 5.15 to 5.15.42Rui Salvaterra2022-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | Deleted (upstreamed): generic/backport-5.15/610-v5.18-netfilter-flowtable-move-dst_check-to-packet-path.patch [1] generic/pending-5.15/704-00-netfilter-flowtable-fix-excessive-hw-offload-attempt.patch [2] generic/pending-5.15/704-01-netfilter-nft_flow_offload-skip-dst-neigh-lookup-for.patch [3] generic/pending-5.15/704-02-net-fix-dev_fill_forward_path-with-pppoe-bridge.patch [4] generic/pending-5.15/704-03-netfilter-nft_flow_offload-fix-offload-with-pppoe-vl.patch [5] Manually rebased: generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=88b937673b3552d54da20f648e61a123f4c1fa67 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=5f4197a020c049a59ea7907c31f9ab037dcefefe [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=7613dcaceee281973145588f4244f2f78ef85b7f [4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=f96b2e06721249ebf8da3254cfef29dcb6583948 [5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=b329889974aed47e1167c85653c07097013e01a7 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* bmips: dgnd3700v2: fix network configÁlvaro Fernández Rojas2022-05-231-0/+1
| | | | | | | ucidef_set_bridge_device is needed for DGND3700v2 network config since VLAN 1 must be used for the switch to be correctly configured. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: rework ARCH_HAS_SYNC_DMA_FOR_CPU_ALL patchÁlvaro Fernández Rojas2022-05-201-25/+39
| | | | | | Let's disable ARCH_HAS_SYNC_DMA_FOR_CPU_ALL only for BCM6358. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: remove linux 5.10 compatibilityÁlvaro Fernández Rojas2022-05-2062-9491/+0
| | | | | | | A devent amount of patches have been upstreamed, so maintaining linux 5.10 on this target makes no sense. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: switch to linux 5.15Álvaro Fernández Rojas2022-05-201-2/+1
| | | | | | | I tested it locally and I couldn't find any regressions, so let's give this a wider test :). Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: add linux v5.15 supportÁlvaro Fernández Rojas2022-05-2025-4/+1893
| | | | | | | | Build system: x86_64 Build-tested: generic, nand Run-tested: generic/AR-5387un, nand/VR-3032u Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* config: limit CONFIG_DEBUG_INFO to top-level generic configsTony Ambardar2022-05-181-1/+0
| | | | | | | | | | Remove redundant target-level entries, noting that these settings will be configured from "Kernel build options" of Kconfig. Signed-off-by: Tony Ambardar <itugrok@yahoo.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [remove from new configs introduced after patch submission] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-171-6/+0
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: filter out both Clang and LLD versionsSergey Ryazanov2021-12-171-1/+0
| | | | | | | | Both CLANG_VERSION and LLD_VERISON are autogenerated runtime configuration options, so add them to the kernel configuration filter and remove from generic and per-target configs to keep configs clean. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: Deactivate B53 symbols in generic configurationHauke Mehrtens2021-11-291-2/+0
| | | | | | | | | Deactivate all the symbols of the B53 DSA driver in the generic kernel configuration. Multiple targets are now using this drivers and they only need some of the options. This fixes the bcm4908 build which didn't deactivate all of the options. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 5.10 to 5.10.74Rui Salvaterra2021-10-213-3/+3
| | | | | | Patches automatically refreshed. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* linux: update b53 upstream driverRafał Miłecki2021-09-176-401/+4
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: move two symbols to the generic kconfigsRui Salvaterra2021-08-291-2/+0
| | | | | | | CONFIG_RCU_{NEED_SEGCBLIST,STALL_COMMON} are set basically everywhere. Move them to the generic kconfigs. And resort the generic kconfigs while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* bmips: backport accepted watchdog patchÁlvaro Fernández Rojas2021-08-252-66/+86
| | | | | | This patch has been accepted for linux v5.14. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* treewide: backport support for nvmem on non platform devicesAnsuel Smith2021-08-053-12/+6
| | | | | | | | | | | | In the current state, nvmem cells are only detected on platform device. To quickly fix the problem, we register the affected problematic driver with the of_platform but that is more an hack than a real solution. Backport from net-next the required patch so that nvmem can work also with non-platform devices and rework our current patch. Drop the mediatek and dsa workaround and rework the ath10k patches. Rework every driver that use the of_get_mac_address api. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* bmips: fix missing NVMEM subsystemPetr Štetiar2021-07-211-0/+1
| | | | | | | | | | | MAC address retrieval was switched to more generic upstream (5.13) NVMEM based solution in commit 32adbfc789f6 ("bmips: convert mtd-mac-address to nvmem implementation"), but NVMEM subsystem wasn't enabled in the kernel, so fix it now. References: https://github.com/openwrt/openwrt/pull/4041#issuecomment-883322801 Fixes: 32adbfc789f6 ("bmips: convert mtd-mac-address to nvmem implementation") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* bmips: convert mtd-mac-address to nvmem implementationAnsuel Smith2021-07-196-13/+82
| | | | | | | Define nvmem-cells and convert mtd-mac-address to nvmem implementation. The conversion is done with an automated script. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* bmips: remove duplicated brcmnand patchÁlvaro Fernández Rojas2021-05-171-38/+0
| | | | | | | brcmnand patch was applied upstream on 5.10.37 update. Fixes: d337731f85c8 ("kernel: bump 5.10 to 5.10.37") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>