Repository navigation
ASoC: SOF: topology: send ipc for all found DAIs in sof_set_dai_config - #1982
Conversation
kv2019i
left a comment
There was a problem hiding this comment.
First patch looks good and is a nicer reduction of code overall.
The second patch is a bit harder to digest. Maybe this is aligned with the overall approach we have taken with multiple DAIs on one link. Some questions inline.
|
I've personally never quite understood the topology and dai/dailink management, @ranj063 this is for you really to comment on... |
|
@bardliao @plbossart the direction is correct here. The only thing is we need one more step to remove sof_link_hda_process() and replace it call with sof_set_dai_config() as well and then the code will look clean and possibly even look a bit self-explanatory |
@ranj063 Good suggestion. Updated. @RanderWang Can you review the HDA change? |
kv2019i
left a comment
There was a problem hiding this comment.
Thanks, looks good now!
|
I am a bit nervous about the last patch. IIRC there were some tricks between playback and capture and something about a mask not shared. We should make sure @RanderWang reviews and tests. Also CI reports consistent failure on Up2-Nocodec, that's odd. We should verify this. |
|
oh and I forget, those changes are at the core level so our friends at NXP should chime in. @dbaluta @paulstelian97 please check if those patches have any adverse effect on your solution |
|
@bardliao LGTM. you can get help from QA to test it on HDA codec. |
|
Verified this PR on Lenovo X1 Yoga with ALC285 in HDA mode. All works ok. No regression issue. |
| struct snd_soc_dai_link *link, | ||
| struct sof_ipc_dai_config *config) | ||
| { | ||
| struct sof_ipc_reply reply; |
There was a problem hiding this comment.
I still prefer keeping the scope as small as possible. In this case it would mean defining both reply and ret in the code block where they're really needed.
There was a problem hiding this comment.
I still prefer keeping the scope as small as possible. In this case it would mean defining both
replyandretin the code block where they're really needed.
Thanks @lyakh Updated.
39d0f29
@dbaluta @paulstelian97 Do you have any concern about this PR? |
|
@dbaluta @paulstelian97 -- I'll give you some time to comment on this (see question above in comment) |
We may find more than one DAIs in sof_set_dai_config() and we should send message to DSP for each DAI we found. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
The ipc dai config dai_index is from topology. However, the same dai config will be applied to all DAIs in the same dai link. We have to ensure that the ipc dai config's dai_index match to the component's dai_index. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Now we send ipc in sof_set_dai_config(), too. Therefore, we can use sof_set_dai_config() in sof_link_hda_load() just like other link load functions do. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
1fd7b97
|
rebased to fix the conflict in topology.c |
|
Ok, this been open for more comments for two weeks and no further findings, so time to move ahead. Tests look ok (ICL failure is a boot retry failure which is known, GLK load/unload is known as well), so proceeding with merge. |
|
@plbossart sorry, this got lost under the tons of notifications. This looks good to me, if there is any problem we will send a fix. |
We may find more than one DAIs in sof_set_dai_config(). All the DAIs will share the same config and we have to send ipc for each of them.