lantiq: rename ltq-vdsl-mei folder to ltq-vdsl-vr9-mei Now PKG_NAME matches the folder name, and this will avoid confusion with any future version. Signed-off-by: Andre Heider <a.heider@gmail.com>
ltq-vdsl-mei: add locking to interrupt handler Some users noticed repeated resyncs at random intervals, which go away when the MEI driver is configured to use polling instead of interrupts. Debugging shows that this seems to be caused by concurrent calls to MEI_ReadMailbox (in the interrupt handler) and MEI_WriteMailbox. This appears to be mostly triggered when there is an interrupt for vectoring error reports. In polling mode, calls to MEI_ReadMailbox are protected by the same semaphore as is used in MEI_WriteMailbox. When interrupts are used, MEI_WriteMailbox appears to rely on MEI_DisableDeviceInt and MEI_EnableDeviceInt to provide mutual exclusion with the interrupt handler. These functions mask/unmask interrupts, and there is an additional check of the mask in the interrupt handler itself. However, this is not sufficient on systems with SMP, as the interrupt handler may be running in parallel, and could already be past the interrupt mask check at this point. This adds a lock to the interrupt handler, and also acquires this lock in MEI_DisableDeviceInt. This should make sure that after a call to MEI_DisableDeviceInt the interrupt is masked, and the interrupt handler is either not running, has alread finished its work, or is still before the interrupt mask check, and is thus going to detect the change. Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
ltq-vdsl-mei: enable vectoring error sample callback This re-enables the vectoring error sample callback and adds a dependency to the corresponding driver. Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
ltq-vdsl-app: fix -Wundef warnings 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 handling 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>
treewide: unify OpenWrt hosted source via @OPENWRT 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>
ltq-vdsl-mei: avoid underscore in package name 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: Allow PKG_ASLR_PIE for DSL and voice drivers 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: Deactivate ASLR support for some applications 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-vdsl-mei: Do not leak user space CFLAGS into kernel space 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>
ltq-vdsl-mei: revert disable optimized firmware download This reverts commit b428f45c062dc8ca8c2f35f491fa467dc5b85519. If the optimized firmware download is disabled, the xdsl subsystem hangs in the "idle request" state after physically disconnecting and reconnecting the xdsl modem from the line. It might fix the failing line init on boot as well. Signed-off-by: Mathias Kresin <dev@kresin.me>
ltq-vdsl-mei: disable optimized firmware download With ltq-vdsl-mei 1.5.17.6 an optimized firmware download was added and enabled by default. As soon as the optimized firmware download is enabled, a watchdog based reboot is trigger between 24h to 48h of uptime if the board isn't connected to a xdsl line. Signed-off-by: Mathias Kresin <dev@kresin.me>
treewide: add license tags Add licence tags where missing. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
treewide: clean up download hashes Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256 Signed-off-by: Felix Fietkau <nbd@nbd.name>
ltq-vdsl-mei: update mei driver to version 1.5.17.6 Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
global: change my email address Signed-off-by: John Crispin <john@phrozen.org>
package: flag further target specific packages as nonshared Add nonshared flag to package depending on specific targets or subtargets as there's no guarantee otherwise that they'll be available in the shared repo. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
ltq-vdsl-mei: activate format security checks This activates the format warnings in this package and that makes it possible to activate format-security checks. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 48785
lantiq: ltq-vdsl-mei: enable vectoring support Dynamic Spectrum Management is a precondition for G.993.5 (VDSL2 vectoring). Signed-off-by: Mathias Kresin <openwrt@kresin.me> SVN-Revision: 47784
lantiq: ltq-vdsl-mei: update to version 1.4.8.5 In addition to the update this also fixes some build warnings and makes it use the same configure option as used in Lantiq UGW. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com> SVN-Revision: 47634