aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/lantiq
Commit message (Collapse)AuthorAgeFilesLines
* lantiq: enable G.INP retransmission countersJeroen Peelaerts2021-04-031-1/+3
| | | | | | | | | | | | | | | | This commit adds monitoring for a couple of DSL line features that are present in the lantiq firmware blobs. * G.INP ON/OFF * Trellis encoding ON/OFF * Virtaul Noise ON/OFF * Bitswap ON/OFF Difference in size for ltq-vdsl-app = 1k Difference in size for kmod-ltq-vdsl-vr9 < 1k Reviewed-by: Andre Heider <a.heider@gmail.com> Signed-off-by: Jeroen Peelaerts <jeroen.peelaerts@gmail.com>
* lantiq: ltq-tapi: disable KPI and QOSMathias Kresin2021-03-011-2/+2
| | | | | | | | | | The QOS feature depends on KPI2UDP which was removed from the tree with commit a95775e4b2a9 ("drop unmaintained packages") in 2012. Since QOS was the last user of the KPI, the feature can be disabled by default. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ltq-vdsl-app: fix -Wundef warningsMathias Kresin2021-03-011-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | The following warnings are shown during build: /usr/include/vdsl/cmv_message_format.h:33:6: warning: "MEI_SUPPORT_DEBUG_STREAMS" is not defined, evaluates to 0 [-Wundef] #if (MEI_SUPPORT_DEBUG_STREAMS == 1) ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/vdsl/drv_mei_cpe_interface.h:2256:6: warning: "MEI_SUPPORT_OPTIMIZED_FW_DL" is not defined, evaluates to 0 [-Wundef] #if (MEI_SUPPORT_OPTIMIZED_FW_DL == 1) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ The headers are provided by the MEI driver, but the defines are never set by the vdsl app. While the struct with the MEI_SUPPORT_OPTIMIZED_FW_DL conditional isn't used by the vdsl app, however CMV_USED_PAYLOAD_8BIT_SIZE which value depends on MEI_SUPPORT_DEBUG_STREAMS is. Since the MEI driver doesn't provide an autogenerated header with compile flags, the flags are hardcoded for the vdsl app. Set them for the MEI driver as well, to indicate a relation to the values used for the vdsl app and to be not surprised by a changed default in case the MEI driver gets updated. Use the current default values defined in the MEI driver. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: lantiq: fix Module.symvers handlingMathias Kresin2021-02-188-2/+16
| | | | | | | | | | | | | | | If an external module uses exported symbols from another external module, Kbuild needs to have full knowledge of all symbols to avoid spitting out warnings about undefined symbols. Use PKG_EXTMOD_SUBDIRS to point to the build directory which contains the Module.symvers. Pass KERNEL_MAKE_FLAGS to the external module build, to inject KBUILD_EXTRA_SYMBOLS. KBUILD_EXTRA_SYMBOLS holds a space separated list of Module.symvers, which list all exported symbols. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ltq-ptm: Update VR9 PTM firmwareAntti Seppälä2021-02-128-312/+439
| | | | | | | | | | | | | | | After looking at various vendor GPL source code dumps I discovered that some of them contain updated versions of ltq-ptm driver when compared to what openwrt has. The driver update is mostly cursory (simple changes to comments, whitespace, formatting etc.) or adds debug features not used by openwrt. However the updated driver also contains a later version of PTM firmware which is extracted and included in this commit along with bits to correctly identify its version when driver loads. Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
* treewide: unify OpenWrt hosted source via @OPENWRTPaul Spooren2021-02-055-5/+5
| | | | | | | | | | | Multiple sources are hosted on OpenWrts source server only. The source URLs to point to the server vary based on different epochs in OpenWrts history. Replace all by @OPENWRT which is an "empty" mirror, therefore using the fallback servers sources.cdn.openwrt.org and sources.openwrt.org. Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: remove obsolete kernel version switches for 4.19Adrian Schmutzler2020-10-302-9/+1
| | | | | | | This removes switches dependent on kernel version 4.19 as well as several packages/modules selected only for that version. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: https for downloads.openwrt.org sourcesPaul Spooren2020-08-311-1/+1
| | | | | | | Instead of using http and https for source downloads from downloads.openwrt.org, always use https for it's better security. Signed-off-by: Paul Spooren <mail@aparcar.org>
* ltq-vmmc: update permission handlingSebastian Kemper2020-07-112-13/+7
| | | | | | | | | | | | | | The firmware is currently just copied. It can end up with o= on the device (this is the case for voice_ar9_firmware.bin for instance). Instead of copying it the Makefile is changed to use the macro "$(INSTALL_DATA)" in order for the file to be world-readable. While at it refactor the device node creation in the init script with loop. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net> [removed 2nd part with custom group handling for device nodes] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: drop outdated kernel version switches for local codeAdrian Schmutzler2020-05-1712-140/+0
| | | | | | | | This drops kernel version switches for versions not supported by OpenWrt master at the moment. This only adjusts local code, but doesn't touch patches to existing external packages. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ltq-vdsl-fw: replace backticks by $(...)Adrian Schmutzler2020-05-131-3/+3
| | | | | | This replaces deprecated backticks by more versatile $(...) syntax. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ltq-adsl(-fw): Makefile clean-up and fixesAdrian Schmutzler2020-04-243-10/+10
| | | | | | | | | | | | | | | This fixes a few minor issues (partially cosmetic) in ltq-adsl and ltq-adsl-fw Makefiles: - fix PKG_SOURCE_URL and switch to https - remove non-existant FW_NAME variable - fix package name for config inclusion - fix config symbol for debugging Fixes: 1d0a9d0c0470 ("move ltq-adsl") Cc: John Crispin <john@phrozen.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: ltq-tapi: fix compilation with newer Linux kernelsMartin Blumenstingl2020-03-161-1/+1
| | | | | | | | | Compiling the ltq-tapi driver against Linux 5.4 results in a compile error complaining that the size of struct sched_param is not known. Switch the existing "sched/types.h" include to reference include/uapi/linux/sched/types.h to fix compilation against Linux 5.4. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: ltq-deu: fix compatibility with Linux 5.3+Martin Blumenstingl2020-03-164-4/+4
| | | | | | | | | | Upstream commit 84ede58dfcd1d ("crypto: hash - remove CRYPTO_ALG_TYPE_DIGEST") drops the CRYPTO_ALG_TYPE_DIGEST define because it has the same value as CRYPTO_ALG_TYPE_HASH. This was the case for earlier kernels as well. Switch to CRYPTO_ALG_TYPE_HASH to fix building against Linux 5.4. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: ltq-vdsl: fix compilation with Linux 5.0+Martin Blumenstingl2020-03-161-3/+24
| | | | | | | | | Upstream commit e4b92b108c6cd6 ("timekeeping: remove obsolete time accessors") removed do_gettimeofday(). In Linux 4.19 this was only a wrapper around ktime_get_real_ts64(). Use ktime_get_real_ts64() now that the wrapper is gone to fix compilation against Linux 5.4. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* ltq-adsl: fix compilation with Linux 5.0+Mathias Kresin2020-03-163-20/+42
| | | | | | | | | | | | | | | | | | Upstream commit e4b92b108c6cd6 ("timekeeping: remove obsolete time accessors") removed do_gettimeofday(). In Linux 4.19 this was only a wrapper around ktime_get_real_ts64(). Use ktime_get_real_ts64() now that the wrapper is gone to fix compilation against Linux 5.4. Move the ifxmips_mei_interface header to the include directory, it can't be found otherwise during compilation. The reason for the changed behaviour is not yet clear, however having header files in an include directory is more straight forward. To use the of_device_id struct, the mod_devicetable header need to be included. Instead of including this header, include the of_platform header, which includes the mod_devicetable on its own. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ltq-atm: add Linux 5.0+ compatibilityMathias Kresin2020-03-161-0/+8
| | | | | | | | | Upstream commit 96d4f267e40f95 ("Remove 'type' argument from access_ok() function") removes the first argument to access_ok. Adjust the code so it builds with Linux 5.4. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Mathias Kresin <dev@kresin.me>
* ltq-vdsl-mei: avoid underscore in package nameSungbo Eo2020-02-231-4/+4
| | | | | | | As 07e1d88d7beb ("kernel: avoid underscore in *6lowpan package names") shows, underscores might cause build failures. Replace underscore with dash. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* lantiq: ltq-ptm: vr9: fix skb handling in ptm_hard_start_xmit()Martin Schiller2020-01-262-1/+4
| | | | | | | | | | Call skb_orphan(skb) to call the owner's destructor function and make the skb unowned. This is necessary to prevent sk_wmem_alloc of a socket from overflowing, which leads to ENOBUFS errors on application level. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* lantiq: Allow PKG_ASLR_PIE for DSL and voice driversHauke Mehrtens2019-11-016-7/+0
| | | | | | | | | | | When ASLR_PIE was activated globally these drivers failed to build because the user space LDFLAGS leaked into the kernel build process. This was fixed in upstream Linux kernel commit ce99d0bf312d ("kbuild: clear LDFLAGS in the top Makefile") which went into Linux 4.17. The lantiq target is now on Linux 4.19 only and these exceptions are not needed any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: Fix fw_cutter LzmaWrapperChristian Franke2019-10-181-1/+1
| | | | | | | The destination buffer size `d_len` is passed to `lzma_inflate` as a pointer. Therefore, it needs to be dereferenced to compare its content. Signed-off-by: Christian Franke <nobody@nowhere.ws>
* ltq-vdsl-fw: update firmware filename and download URLDaniel Golle2019-09-213-5/+5
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ltq-ifxos: refer to https://bugs.openwrt.orgYousong Zhou2019-08-181-1/+1
| | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: include BUILD_VARIANT in PKG_BUILD_DIRJeffery To2019-08-054-4/+0
| | | | | | | | | | | This changes the default PKG_BUILD_DIR to take BUILD_VARIANT into account (if set), so that packages do not need to manually override PKG_BUILD_DIR just to handle variants. This also updates most base packages with variants to use the updated default PKG_BUILD_DIR. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* lantiq: ltq-tapi: fix compatibility with Linux 4.15+Martin Blumenstingl2019-07-041-0/+48
| | | | | | | | | | | | | Linux 4.15 removes the init_timer() API. It's replaced by two functions: - timer_setup() is used instead of init_timer() and also replaces the timer "function" (callback) setup. - from_timer() has to be used to obtain the use-case specific data from a struct timer_list, which is now passed to the timer callback. Update the timer API to be compatible with Linux 4.15+ so it compiles with the upcoming Linux 4.19 kernel update. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* ltq-atm/ltq-ptm: re-enable/fix reset_ppe() functionality for VR9Martin Schiller2019-03-1014-65/+181
| | | | | | | | | | | | | | | This patch re-enables the reset_ppe() functionality for VR9 targets by using the new lantiq rcu subsystem. The reset sequence in the reset_ppe() function was taken from the ppa datapath driver of lantiq UGW 7.4.1. Additionally it adds the required reset definitions to the vr9 dtsi file. It also prepares the reset_ppe() function calls for the other lantiq targets. This feature is needed to be able to switch between ltq-atm/ltq-ptm driver in ATM/PTM Auto-Mode at runtime. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* ltq-vdsl-fw: update download URLDaniel Golle2019-03-023-6/+6
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ltq-vdsl-fw: fix ltq-vdsl-vr9-vectoring-fw-installer package installDaniel Golle2018-06-211-1/+1
| | | | | | | The package is not being generated otherwise, which is fatal because it is part of the subtargets default package set... Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ltq-vdsl-fw: add meaningful version informationDaniel Golle2018-06-201-1/+1
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ltq-vdsl-fw: add nonshared flagDaniel Golle2018-06-191-0/+2
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ltq_atm: burn ifx_atm_alloc_tx with fireKevin Darbyshire-Bryant2018-06-181-44/+1
| | | | | | | | Drop code that was never used. Tested on: BT HomeHub 5a Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ltq-vdsl-fw: strip legacy dsl_fw logicDaniel Golle2018-06-151-11/+1
| | | | | | We unfortunately dropped support for persistent in-flash DSL firmware. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* lantiq-vdsl-fw: update to provide recent vectoring firmwareDaniel Golle2018-06-153-11/+12
| | | | | | | | | | | | | | Recent Speedport firmware downloads only work over HTTPS, so the user either needs to provide the already downloaded file or install ustream-ssl-* as well as ca-certificates or ca-bundle. So to get VDSL2 with vectoring on xRX200, simply run vdsl_fw_install.sh on the target and either provide the downloaded file as instructed or make sure the device is connected to the Internet and can download that HTTPS url itself. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* Revert "lantiq: get rid of ltq-vdsl-fw"Daniel Golle2018-06-159-0/+1259
| | | | | | This reverts commit 0938233fcdef67d969f9429a10761cc640c6d56d. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ltq-vdsl-mei: reset g_tx_link_rate on showtime exitMartin Schiller2018-06-091-0/+12
| | | | | | | | | | | | Without this change, ifx_mei_atm_showtime_check() will always return "showtime" after one call of MEI_InternalXtmSwhowtimeEntrySignal() was done, even if MEI_InternalXtmSwhowtimeExitSignal() was called in the meantime. The ifx_mei_atm_showtime_check() function is used by the ltq-atm and ltq-ptm driver. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* ltq-vdsl-mei: Fix section mismatchHauke Mehrtens2018-03-181-0/+20
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ltq-deu: Fix section mismatchesHauke Mehrtens2018-03-188-42/+42
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-adsl: deactivate ASLR supportMathias Kresin2018-03-061-0/+1
| | | | | | | | The package still leaks some user space linker options into the kernel space. This breaks the build when ASLR is activated, deactivate it for now. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: Deactivate ASLR support for some applicationsHauke Mehrtens2018-03-035-1/+5
| | | | | | | | | The lantiq components still leak some user space linker options into the kernel space. This breaks with build when ASLR is activated, deactivate it for now on these packages. Fixes: FS#1391 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-vmmc: Do not leak user space CFLAGS into kernel spaceHauke Mehrtens2018-03-032-2/+20
| | | | | | | Do not leak the user space CFLAGS into the kernel space any more, this allows us to activate the MIPS16 build. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-tapi: Do not leak user space CFLAGS into kernel spaceHauke Mehrtens2018-03-032-2/+28
| | | | | | | Do not leak the user space CFLAGS into the kernel space any more, this allows us to activate the MIPS16 build. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-adsl: Do not leak user space CFLAGS into kernel spaceHauke Mehrtens2018-03-036-104/+96
| | | | | | | Do not leak the user space CFLAGS into the kernel space any more, this allows us to activate the MIPS16 build. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-vdsl: Do not leak user space CFLAGS into kernel spaceHauke Mehrtens2018-03-032-5/+34
| | | | | | | Do not leak the user space CFLAGS into the kernel space any more, this allows us to activate the MIPS16 build. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-vdsl-mei: Do not leak user space CFLAGS into kernel spaceHauke Mehrtens2018-03-032-3/+23
| | | | | | | | | Do not leak the user space CFLAGS into the kernel space any more, this allows us to activate the MIPS16 build. This decreases the size of the ipk file from 87589 bytes to 81267 bytes. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-ifxos: Do not force O3 build any moreHauke Mehrtens2018-03-033-6/+20
| | | | | | | Do not force to build with O3 optimization any more, but take what was selected by the OpenWrt build system. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: ltq-ifxos: activate build with mips16Hauke Mehrtens2018-03-031-1/+0
| | | | | | | | | | | | | | | | | The build process does not leak the user space cflags into the kernel build process any more, this allows to activate MIPS16 builds. This was fixed with some update of ifxos. This decreases size of the libifxos.a and the ltq-vdsl-app old: 78320 libifxos.a 44383 ltq-vdsl-app_4.17.18.6-2_mips_24kc.ipk new: 66852 libifxos.a 43506 ltq-vdsl-app_4.17.18.6-2_mips_24kc.ipk Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: fix lantiq applications kernel 4.14 compatiblityHauke Mehrtens2018-02-2013-15/+129
| | | | | | | | This is fixing multiple compile problems with kernel 4.14 and updates the code to take care of changes introduced between kernel 4.9 and 4.14. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Mathias Kresin <dev@kresin.me>
* ltq-atm: cleanup unused variables and functionsMartin Schiller2018-02-051-41/+0
| | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* ltq-atm: rewrite tx path to use IRQsAlexander Couzens2018-02-052-46/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ATM subsystem is different from the generic ethernet NICs. The ATM subsystem requires a callback when a packet has been sent. It means a tx skb_buff need to be used after it has sent. While the generic NIC can fill up the TX ring and free skb_buffs if it encounter a ring buffer slot with an already sent skbuff. The ATM drivers need call the pop() function after it has send a single ATM package. The ATM subsystem controls via this ways the queuing. The ppe engine use DMA channels for read and write. Every atm_vcc has it's own TX DMA channel and each TX DMA channel has it's own ring buffer. The old driver had multiple issues: - Call the subsystem callback at the beginning of tx function (ppe_send). Didn't allowed the ATM subsystem to control the enqueued package amount. - Filled up the TX ring until full and fail futher - copy or decouple the skb from all other subsystem before giving it over to TX ring The new tx path uses interupts. - call the subsystem callback _after_ it was sent by hardware - no need to copy our decouple the skb any more - gives back control to the atm subsystem over the enqueued packages - use an interupt for every sent atm package Using interupts shouldn't be a problem because of the slow uplink bandwidth of ADSL. The speed _through_ the DSL router was always as high as it should be, only traffic generated on the router itself were affected. After changing to new tx path, the speed of iperf's run on the router itself reached the same speed. The master/trunk wasn't as much affected because of TCP optimisations (reboot-5022-gb2ea46fe236a). The following results are taken on the remote server, which receives the stream over the internet and the DSL line. The sync moves between every sync a litte bit, but is so far stable Latency / Interleave Delay: Down: Fast (0.25 ms) / Up: Fast (0.50 ms) Data Rate: Down: 13.287 Mb/s / Up: 1.151 Mb/s reboot-5521-g9f8d28285d without patch [ ID] Interval Transfer Bandwidth Retr [ 5] 0.00-10.04 sec 947 KBytes 773 Kbits/sec 0 sender [ 5] 0.00-10.04 sec 928 KBytes 757 Kbits/sec receiver reboot-5521-g9f8d28285d with patch [ 5] 0.00-10.06 sec 1.16 MBytes 970 Kbits/sec 0 sender [ 5] 0.00-10.06 sec 1.15 MBytes 959 Kbits/sec receiver v17.01.4-239-g55c23e44f4 without patch [ ID] Interval Transfer Bandwidth Retr [ 5] 0.00-10.04 sec 87.4 KBytes 71.3 Kbits/sec 0 sender [ 5] 0.00-10.04 sec 59.6 KBytes 48.7 Kbits/sec receiver v17.01.4-239-g55c23e44f4 with patch [ ID] Interval Transfer Bandwidth Retr [ 5] 0.00-10.05 sec 1.18 MBytes 983 Kbits/sec 1 sender [ 5] 0.00-10.05 sec 1.15 MBytes 959 Kbits/sec receiver Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* lantiq: create ATM/PTM interfaces with dsl as netdev nameMathias Kresin2018-01-102-4/+4
| | | | | | | | | | | | | | | | | | | | | Renaming an atm etherbride using 'ip link' (via hotplug) is racy since the original netdev might disappear before br2684ctl has finished appling it's setting: local2.notice br2684ctl[1667]: Interface "nas0" created sucessfully local2.notice br2684ctl[1667]: Communicating over ATM 0.8.35, encapsulation: LLC kern.info kernel: dsl0: renamed from nas0 kern.err kernel: br2684:br2684_regvcc: tried to attach to non-existent device local2.err br2684ctl[1667]: Could not configure interface:No such device or address By passing the final used netdev name to br2684ctl_wrap another race condition workaround will be enabled again. Change the lantiq ptm driver to create a netdev with the name dsl as well. Albeit the rename via 'ip link' works fine so far, using a different approach for ptm then atm could be confusing. Signed-off-by: Mathias Kresin <dev@kresin.me>