[Letux-kernel] AESS

H. Nikolaus Schaller hns at goldelico.com
Thu Aug 2 21:06:03 CEST 2018


Hi,

> Am 02.08.2018 um 11:51 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> Hi,
> while Marek is trying to get the firmware properly built and/or loaded,
> I have started to rebase the aess patch set on top of 4.18.
> 
> The key issue and task is to get rid of all sound_soc_platform
> references and replace by sound_soc_component.
> 
> To make it a little more clear which files we touch, I have rearranged
> and reworded the patch set so that we can easily identify the subsystem.
> And patches affecting more than one are split up into two patches now.
> 
> So basically, there are three groups of patches:
> 
> a) for sound/soc - they mainly export internal functions or add new helper functions
>   I am not sure if these patches are still needed and/or good
> 
> b) sound/soc/omap - here we add an mcasp driver, make mcbsp export functions and
>   the main change is to add firmware download to abe-twl6040.
> 
> c) sound/soc/omap/aess - this is the real aess driver
> 
> The next steps are:
> 
> 1. fix compile issues in sound/soc/core
> 
> 2. upstream abe-twl6040 driver has already been converted to sound_soc_component,
>   so I have to make sure that patching in the firmware loader code does not undo
>   something important...
> 
> 3. go through the aess code and convert to sound_soc_component
>   This may make some patches of a) no longer needed. Some of them might need
>   additional modifications.
> 
> The current work is here:
> 
> http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work-aess
> 
> I plan to add patches for each step.

Well, I tried to work on 1. first, but it turned out to be a mess.

Therefore I reverted all(most all) sound/soc/core patches and started to work on 2.
It was partially straightforward, partially difficult to decide what is new, what
is needed and and what is duplicated code... So I hope I did not introduce too many
bugs we have to hunt...

Regarding 1. I did just need to copy&paste two helper functions to make 2. compiling.
Which means, that the new abe-twl6040 doesn't rely on patches for sound/soc.

Here is the first result:

http://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/work-aess
http://git.goldelico.com/?p=letux-kernel.git;a=blob;f=sound/soc/omap/omap-abe-twl6040.c;h=c2bfcc40bbd3f0f18ee0e549fd792900644acc1a;hb=27760c1a5f65c0c426c3ea646868d126ba3d39ef

I have collected some questions for review at the beginning of the code.

What I also observed is that there is addidtional stuff we do not necessarily
need for the Pyra, and which should IMHO go into separate patches against
upstream:

* special support for OMAP4_SDP
* spdif stuff
* support for multiple DMICs

BTW: if we disable AESS it should compile fine - and we should be able to test
if the twl6040 audio still works or is broken...

So the next big step is 3. Let's see how many of the patches from 1. we really
need. The less we need them, the better...

BR,
Nikolaus





More information about the Letux-kernel mailing list