Hi, I have worked a little on our patch set for omap-abe-twl6040 and AESS and disabled some features that make trouble when no firmware can be loaded.
Now I have a hack that does not break booting and ends up in a sound card with ca. 7 subcards. What is strangely missing, are all mixer settings.
This version has the same problems with loading firmware as Marek reported before.
Most likely it is that firmware loading is a standard "topology" feature of sound/soc/soc-topology.c which defines the header format and we know that it has changed a while ago. So prebuilt binaries may simply be incompatible.
Well, to be honest, I understand less than 10% of the code and did only analyse stack traces to find out why there were NULL pointer dereferences and other issues. And find a quick work-around (mostly by disabling offending code).
So I'd like to ask as many people as possible to dig into the code and review and send patches. Cooperation seems to be the only way to get this aess audio beast tames and working for us...
I don't know if there is an official Linux mailing list where this could also be discussed. So if you know one, please forward.
BR, Nikolaus
Here is the patch set on top of mainline:
http://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/work/hn...
And here is a complete letux kernel tree with all patches plus some more for debugging printk:
http://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/work-ae...
And I have collected a lot of questions, e.g. about legacy things, missing mcpdm-abe DAI etc.:
http://git.goldelico.com/?p=letux-kernel.git;a=blob;f=sound/soc/omap/omap-ab...
* are omap_abe_hw_params() and omap_abe_mcpdm_hw_params() the same? then keep upstream omap_abe_hw_params() only * what should we do with OMAP4_SDP and tps6130x stuff? * the extension to handle more DMICs seems not to be upstream! * support for spdif-dit unclear * what is this "legacy" stuff? Is this still needed for anything? * error path in probe() and to err_unregister isn't sane * here, we have better error messages than upstream * dmic_codec_dev is duplicated * there is a problem with "mcbsp-abe" dai_link which is defined nowhere else * no support for McBSP3? * how does this twl6040_dapm_widgets[] relate to the one defined in sound/soc/codecs/twl6040.c? If at all... * why do we define mcbsps and dai links in code; shouldn't they be by DT?