[LEDE-DEV] [PATCH] [BUG] XRX200 VPE support is broken since conflicting SMP support was introduced
Stefan Koch
stefan.koch10 at gmail.com
Wed Feb 22 07:33:00 PST 2017
Hi
The VPE support needed by the VMMC driver to realize FXS support for
lantiq xrx200 devices is broken since 2017-02-01.
The following commit introduced *conflicting* SMP support for lantiq
xrx200 devices and breaks FXS support:
https://github.com/lede-project/source/commit/71e86199ff192538ce9fde59e563e7f54ce9f99a
The VPE kernel configuration have been enabled by this commit since
2016-10-31:
https://github.com/lede-project/source/pull/440/commits/d44329650df7905f648942dec267936bf93ac076
*IMPORTANT*
To use VPE at least CONFIG_MIPS_MT_SMP needs to be disabled within
xrx200/config-default and nosmp added to the kernel command line
Without nosmp within command line the full SMP part must be disabled
*WARNING*
If SMP and VPE are enabled together you will get strange kernel panics.
Because both, SMP and VPE want to use the second CPU core.
The first commit above that introduces SMP added nosmp to kernel command
line. So no funny kernel panics appear. But the VMMC firmware could not
be loaded.
So there a different options to recover FXS support:
1) remove SMP support for xrx200
2) Disables CONFIG_MIPS_MT_SMP within kernel default configuration that
conflicts with the VPE kernel configuration options. I have added a
patch as attachment but not tested it without nosmp option and don't
know what happens on a device that uses no VPE/VMMC/FXS. But it recovers
FXS support successfully.
3) Write a new patch
The CONFIG_MIPS_MT_SMP option enables many ifdef's within the kernel
code. It cannot be disabled at runtime, yet.
1) So one possibility is to disable CONFIG_MIPS_MT_SMP when the vmmc
driver package is selected. But this conflicts with Default Target
approach which builds images for all xrx200 based devices.
2) Create a menu entry within menuconfig to enable SMP support which
disables VPE support then. But every image that wants to use SMP needs
to be self builded.
2) Provide images with and without SMP support for each device that uses
VPE (one kernel with enabed SMP and one with enabled VPE)
3) Replace all ifdef's with if's that will recognized at run time to
archive a generic kernel
What do you think about it?
How to solve this issue?
Thanks.
Best regards
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smperr.patch
Type: text/x-patch
Size: 485 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/lede-dev/attachments/20170222/5d0f4952/attachment.bin>
More information about the Lede-dev
mailing list