You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No changes have been made. I have hard time pulling together what @plbossart wants, and what is there according to @bardliao .
I can easily change the PCM names in the topology, but I do not have the knowledge of what all these bells and whistles in the nocodec topology are for and in what way they are connected to the HW (nor do I know the HW too well).
Somebody really needs to tell me the names to put in each already existing PCM, for me to be able to fix this.
I do not follow. Why is "Gain Capture 18"-stream PCM called "DMIC0 Raw", but "Gain Capture 20" is called "DMIC0 MFX"? At least from the picture it looks like the both are symmetrically multiplexed from the same "Gain Capture 19"?
But, sure, I can do the renaming, if the above is correct. It would just be nice to know what is the logic behind.
Ping @ranj063 , @bardliao , and @plbossart . If you all agree the above suggestion what we want please just say so and I do it.
The "ssp-capture -> Port0 Raw" looks Ok to me, but I do not follow why "DMIC0 Raw" should be "Raw" as there is less "processing" in "DMIC", or why the other symmetric multiplexed path should be "DMIC0 MFX". @bardliao suggested earlier that the gains are supposed to "simulate" processing, so both "DMIC0 Raw" and "DMIC0 Raw 2" look "processed paths to me. Should they both be indexed "MFX" PCMs? Or one "DMIC MFX" and other just "DMIC"? And current "DMIC" should be "DMIC Raw"?
No idea what 'ssp-capture' means here, not what the difference between DMIC, DMIC0 Raw and DMIC0 Raw 2 is.
Yes, I think I understand the problem quite well, as I have the same problems myself. That is also why I need to bug people to gather the implicit knowledge needed to fix the issue.
In general I think we should have much more comment in the topology source files, so that the intention of topology implementation would be clear also to latecomer like me.
@plbossart , two more questions. In addition to rename ssp-capture and DMIC0 Raw PCMs, to fix this issue should I:
Drop gain.13.1?
It comes from dmic-generic.conf and the change would affect all these topologies:
cavs-nocodec-bt.conf, cavs-nocodec.conf, cavs-rt5682.conf, cavs-sdw.conf, sof-hda-generic.conf
And add yet another DMIC PCM called "DMIC MFX" to nocodec.conf connected to module-copier.19.1 ?
I think that requires yet another copier layer, and probably takes some time to get it to work, and I would need a device with DMIC to test it.
@plbossart , two more questions. In addition to rename ssp-capture and DMIC0 Raw PCMs, to fix this issue should I:
Drop gain.13.1? It comes from dmic-generic.conf and the change would affect all these topologies: cavs-nocodec-bt.conf, cavs-nocodec.conf, cavs-rt5682.conf, cavs-sdw.conf, sof-hda-generic.conf
I assumed that the gain settings are already handled in the eqiir, that's why I suggested to drop gain.13.1.
We could keep I guess, I am just not sure how useful it is.
And add yet another DMIC PCM called "DMIC MFX" to nocodec.conf connected to module-copier.19.1 ? I think that requires yet another copier layer, and probably takes some time to get it to work, and I would need a device with DMIC to test it.
we can rework this later. the mode effects are typically not directly visible to users, they are combined with a stream-specific SFX
But IIRC for the Chrome WebRTC support there's a need for RAW, AEC-processed and AEC+NS processed streams so indeed there would be a 3-layer case.
Activity
lgirdwood commentedon Feb 14, 2023
@jsarha fyi.
bardliao commentedon Feb 15, 2023
ssp-captureis the second capture pcm for SSP0. It is for SSP multi stream capture. DMIC Raws are for DMIC multi stream capture.jsarha commentedon Feb 15, 2023
Its easy enough to set what ever names we want for these PCMs [1]. I am happy to do it, if someone can tell me what we want 😅.
[1]
sof/tools/topology/topology2/cavs-nocodec.conf
Line 604 in 70f9faf
sof/tools/topology/topology2/cavs-nocodec.conf
Line 658 in 70f9faf
sof/tools/topology/topology2/cavs-nocodec.conf
Line 673 in 70f9faf
plbossart commentedon Feb 16, 2023
Suggested names:
"Port0 Raw"
"DMIC"
"DMIC Raw"
"DMIC MFX" (MFX is the Mode FX in Windows, describes an intermediate processing)
jsarha commentedon Feb 28, 2023
@plbossart :
So "ssp-capture" -> "Port0 Raw"?
"DMIC" remains "DMIC"?
What should I do to "DMIC Raw 2", and where should I put "DMIC MFX" ?
kv2019i commentedon Mar 6, 2023
Bumping to P2. 2.5 will branch this week, let's try to get this in.
3 remaining items
kv2019i commentedon Mar 10, 2023
Seems like more work is needed, bumping to v2.6.
lgirdwood commentedon May 11, 2023
@jsarha @plbossart @ranj063 are we good now ? Can we close ?
jsarha commentedon May 11, 2023
No changes have been made. I have hard time pulling together what @plbossart wants, and what is there according to @bardliao .
I can easily change the PCM names in the topology, but I do not have the knowledge of what all these bells and whistles in the nocodec topology are for and in what way they are connected to the HW (nor do I know the HW too well).
Somebody really needs to tell me the names to put in each already existing PCM, for me to be able to fix this.
Hope this picture helps:

ranj063 commentedon May 12, 2023
@jsarha this comment tells you what to modify right? #7093 (comment)
ssp-capture -> Port0 Raw
DMIC0 Raw -> DMIC Raw
DMIC0 Raw 2 -> DMIC MFX
Please correct me is I am wrong @plbossart
jsarha commentedon May 12, 2023
I do not follow. Why is "Gain Capture 18"-stream PCM called "DMIC0 Raw", but "Gain Capture 20" is called "DMIC0 MFX"? At least from the picture it looks like the both are symmetrically multiplexed from the same "Gain Capture 19"?
But, sure, I can do the renaming, if the above is correct. It would just be nice to know what is the logic behind.
Ping @ranj063 , @bardliao , and @plbossart
jsarha commentedon May 24, 2023
Ping @ranj063 , @bardliao , and @plbossart . If you all agree the above suggestion what we want please just say so and I do it.
The "ssp-capture -> Port0 Raw" looks Ok to me, but I do not follow why "DMIC0 Raw" should be "Raw" as there is less "processing" in "DMIC", or why the other symmetric multiplexed path should be "DMIC0 MFX". @bardliao suggested earlier that the gains are supposed to "simulate" processing, so both "DMIC0 Raw" and "DMIC0 Raw 2" look "processed paths to me. Should they both be indexed "MFX" PCMs? Or one "DMIC MFX" and other just "DMIC"? And current "DMIC" should be "DMIC Raw"?
plbossart commentedon May 24, 2023
The ask was simple @jsarha
"
No idea what 'ssp-capture' means here, not what the difference between DMIC, DMIC0 Raw and DMIC0 Raw 2 is.
"
I don't know why we veered into this discussion on gains.
eqiir.14.1 models EFX
-> gain13.1 should not exist, the copier.host.13.1 should be connected to "DMIC RAW"
gain.19.1 models MFX
Gain.18.1 and gain.20.1 model two types of SFZ
-> copier.host.18.1 should be connected to DMIC SFX1
-> copier.host.20.1 should be connected to DMIC SFX2
does this answer to your question @jsarha
The idea is really a raw stream, then some processing and additional processing on top.
jsarha commentedon May 25, 2023
Yes, I think I understand the problem quite well, as I have the same problems myself. That is also why I need to bug people to gather the implicit knowledge needed to fix the issue.
In general I think we should have much more comment in the topology source files, so that the intention of topology implementation would be clear also to latecomer like me.
I think so. Thanks!
jsarha commentedon May 25, 2023
@plbossart , two more questions. In addition to rename ssp-capture and DMIC0 Raw PCMs, to fix this issue should I:
Drop gain.13.1?
It comes from dmic-generic.conf and the change would affect all these topologies:
cavs-nocodec-bt.conf, cavs-nocodec.conf, cavs-rt5682.conf, cavs-sdw.conf, sof-hda-generic.conf
And add yet another DMIC PCM called "DMIC MFX" to nocodec.conf connected to module-copier.19.1 ?
I think that requires yet another copier layer, and probably takes some time to get it to work, and I would need a device with DMIC to test it.
plbossart commentedon May 25, 2023
I assumed that the gain settings are already handled in the eqiir, that's why I suggested to drop gain.13.1.
We could keep I guess, I am just not sure how useful it is.
we can rework this later. the mode effects are typically not directly visible to users, they are combined with a stream-specific SFX
But IIRC for the Chrome WebRTC support there's a need for RAW, AEC-processed and AEC+NS processed streams so indeed there would be a 3-layer case.