Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ASoC: intel: sof_sdw: Add CS42L43 CODEC support #4546
ASoC: intel: sof_sdw: Add CS42L43 CODEC support #4546
Changes from all commits
b941ab4
4a884f7
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a bit weird, it will unconditionally tell userspace/UCM about the presence of dmics attached to the Cirrus Logic codec.
What happens if the dmics are attached to the PCH, as done on Chromebooks? Is this not a supported configuration?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@plbossart I think the question is how do we know what functions are used in a multi-function codec? Maybe use a mask, but where can we get the mask? Using a dmi quirk? That's something we need to think about. My idea is that we can create dai links based on what functions are used. Then, the card->components will be added only when the function is used.
Btw, I think it will be better if a codec can use different SDW ADR to tell what functions are supported, and customers select the codec that fits their requirement. Like, rt712 supports jack, dmic, and speaker, and rt713 supports jack and dmic. So that we can assume that the speaker will be used when a device uses rt712 instead of rt713.
Maybe using different unique id is a way to tell what functions are used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would involve OTPing the parts differently would it not? I suspect the hardware folks are very unlikely to go for that plan. The part should have all the disco stuff in ACPI I suspect the best plan might be to parse that to see which bits are being used. I will have a bit of a look and see where I get to on that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have limited hopes that _DSD properties would help, most BIOS vendors don't get this right usually. I think all the DisCo plans are vaporware for now, see how well it went for the version 1.0, the only thing we use is the _ADR and even that is wrong on all Intel development devices and some HP/NUC commercial devices derived from the Intel reference.
And anyways the PCH-attached DMIC is not really covered in such properties, it's part of the other Intel NHLT stuff.
When we have a discrete microphone codec present, it's relatively easy to make a decision, but if the Cirrus codec may or may not have microphones attached then it's more difficult, isn't it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like Windows is making more of a move to use the disco stuff now so that should to some extent help it along, but if we dont want to trust it for now, I think that mostly leaves us with quirks as an option. I guess another option might be to hook up all the interfaces regardless of if they are attached to something although I suppose that doesnt give user-space any info about what it can and cant do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC we have a restriction in the machine driver, I think we are assuming that either the intel PCH DMIC is used or the SoundWire MIC is used, not both.
Maybe best to check with @bardliao
BTW This isn't a random academic problem I am asking. The RT711 is capable of handling headset and local mics, but we've always used the PCH-DMIC.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the machine driver can have both SoundWire MIC and PCH DMIC. But, we never have such configuration.
Right, but I feel that we will face the issue soon when people want to use Cohen's speaker.