Re: [PATCH 3/4] ASoC: mediatek: mt8195: separate the common code from machine driver
From: Pierre-Louis Bossart
Date: Fri Nov 05 2021 - 12:18:23 EST
On 11/5/21 10:38 AM, Mark Brown wrote:
> On Fri, Nov 05, 2021 at 12:11:55PM +0800, Trevor Wu wrote:
>> On Thu, 2021-11-04 at 15:39 +0000, Mark Brown wrote:
>
>>> I don't follow why the DSP support requires a new driver? Shouldn't
>>> all
>>> systems with the DSP present be using it?
>
>> We need to keep the solution without DSP, so we can replace DSP
>> solution with non-DSP when it's required. But when we introduce SOF for
>> DSP control, there will be more routes in machine driver and device
>> tree usage is different from the original. So it's hard to share the
>> same driver for these two solutions.
>
> We shouldn't be requiring people to load completely different drivers
> based on software configuration, what if a system wants to bypass the
> DSP in some but not all configurations? Can we not just have controls
> allowing users to route round the DSP where appropriate?
It was my understanding the card relies on separate components
- a SOF-based component to provide support for DSP-managed interfaces
- a 'non-SOF' component for 'regular' interfaces not handled by the DSP.
this was the basis for the changes discussed in
https://github.com/thesofproject/linux/pull/3217 and
https://github.com/thesofproject/linux/pull/3236
But indeed if the same interface can be managed by the DSP or not,
depending on software choices it's a different problem altogether.
We've looked into this recently, if the choice to involve the DSP or not
is at the interface level, it might be better to have both components
expose different DAIs for the same interface, with some sort of run-time
mutual exclusion, so that all possible/allowed permutations are allowed.