Skip to content

[BUG] topology2: cavs-nocodec: fix capture device names #7093

Closed

Description

@plbossart

The device names are inconsistent

**** List of CAPTURE Hardware Devices ****
card 0: sofnocodec [sof-nocodec], device 0: Port0 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofnocodec [sof-nocodec], device 1: Port1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofnocodec [sof-nocodec], device 2: Port2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofnocodec [sof-nocodec], device 10: DMIC (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofnocodec [sof-nocodec], device 12: ssp-capture (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofnocodec [sof-nocodec], device 27: DMIC0 Raw (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofnocodec [sof-nocodec], device 28: DMIC0 Raw 2 (*) []

No idea what 'ssp-capture' means here, not what the difference between DMIC, DMIC0 Raw and DMIC0 Raw 2 is.

This should be a bit more self-explanatory.

I don't have time to fix this myself so filing as a bug so that someone else can cover this.
@RanderWang @ranj063 @bardliao please chime in.

Activity

  1. added
    bugSomething isn't working as expected
    on Feb 14, 2023
  2. lgirdwood commented on Feb 14, 2023

    @lgirdwood
    Member

    @jsarha fyi.

  3. added this to the v2.5 milestone on Feb 14, 2023
  4. bardliao commented on Feb 15, 2023

    @bardliao
    Collaborator

    ssp-capture is the second capture pcm for SSP0. It is for SSP multi stream capture. DMIC Raws are for DMIC multi stream capture.

  5. jsarha commented on Feb 15, 2023

    @jsarha
    Contributor

    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]



  6. plbossart commented on Feb 16, 2023

    @plbossart
    MemberAuthor

    Suggested names:

    "Port0 Raw"
    "DMIC"
    "DMIC Raw"
    "DMIC MFX" (MFX is the Mode FX in Windows, describes an intermediate processing)

  7. added
    P3Low-impact bugs or features
    and removed
    bugSomething isn't working as expected
    on Feb 21, 2023
  8. jsarha commented on Feb 28, 2023

    @jsarha
    Contributor

    Suggested names:

    "Port0 Raw" "DMIC" "DMIC Raw" "DMIC MFX" (MFX is the Mode FX in Windows, describes an intermediate processing)

    @plbossart :
    So "ssp-capture" -> "Port0 Raw"?
    "DMIC" remains "DMIC"?
    What should I do to "DMIC Raw 2", and where should I put "DMIC MFX" ?

  9. added
    P2Critical bugs or normal features
    and removed
    P3Low-impact bugs or features
    on Mar 6, 2023
  10. kv2019i commented on Mar 6, 2023

    @kv2019i
    Collaborator

    Bumping to P2. 2.5 will branch this week, let's try to get this in.

  11. 3 remaining items

  12. kv2019i commented on Mar 10, 2023

    @kv2019i
    Collaborator

    Seems like more work is needed, bumping to v2.6.

  13. modified the milestones: v2.5, v2.6 on Mar 10, 2023
  14. lgirdwood commented on May 11, 2023

    @lgirdwood
    Member

    @jsarha @plbossart @ranj063 are we good now ? Can we close ?

  15. jsarha commented on May 11, 2023

    @jsarha
    Contributor

    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:
    sof-tgl-nocodec

  16. ranj063 commented on May 12, 2023

    @ranj063
    Collaborator

    No changes have been made. I have hard time pulling together what @plbossart wants, and what is there according to @bardliao .

    @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

  17. jsarha commented on May 12, 2023

    @jsarha
    Contributor

    No changes have been made. I have hard time pulling together what @plbossart wants, and what is there according to @bardliao .

    @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

    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

  18. jsarha commented on May 24, 2023

    @jsarha
    Contributor

    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"?

  19. plbossart commented on May 24, 2023

    @plbossart
    MemberAuthor

    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.

  20. jsarha commented on May 25, 2023

    @jsarha
    Contributor

    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.

    does this answer to your question @jsarha

    I think so. Thanks!

  21. jsarha commented on May 25, 2023

    @jsarha
    Contributor

    @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.

  22. plbossart commented on May 25, 2023

    @plbossart
    MemberAuthor

    @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.

  23. modified the milestones: v2.6, v2.7 on May 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P2Critical bugs or normal featuresenhancementNew feature or requesttopologyTopology issues

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions