Skip to content
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

Sdw/endpoint aggregation #1821

Merged

Conversation

plbossart
Copy link
Member

This PR shows how we can expand the ACPI _ADR based information to clarify how endpoints can be logically grouped, e.g. handle 2 speaker amplifiers on separate links as a single logical output.

@RanderWang this is an alternative to your initial proposal, I believe it would simplify the decision to use multiple cpu-dais for link, essentially if you find a device with an aggregated endpoint you need more than one cpu-dai per dailink.

@bardliao please double check that the table values are consistent, I hope I didn't break too many things on a Friday afternoon :-)

Copy link
Collaborator

@bardliao bardliao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM @plbossart Just wondering if two rt1308 should be group in cml_3_in_1_default[]

@plbossart
Copy link
Member Author

Thanks @bardliao and @lyakh for the review, all comments addressed

RanderWang
RanderWang previously approved these changes Feb 25, 2020
Copy link

@RanderWang RanderWang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on Comet Lake H & U, Tiger Lake RVP 1308 in sdw and I2S mode

include/sound/soc-acpi.h Outdated Show resolved Hide resolved
@RanderWang
Copy link

@plbossart I implemented a new solution based on this PR. It is much simple than my last one. I will create a PR when this PR is merged.

For SoundWire, we need to know if endpoints needs to be 'aggregated'
(MIPI parlance, meaning logically grouped), e.g. when two speaker
amplifiers need to be handled as a single logical output.

We don't necessarily have the information at the firmware (BIOS)
level, so add a notion of endpoints and specify if a device/endpoint
is part of a group, with a position.

This may be expanded in future solutions, for now only provide a group
and position information.

Since we modify the header file, change all existing upstream tables
as well to avoid breaking compilation/bisect.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
No new functionality, just indirection needed to access _ADR
information.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
…ormation

No new feature, just one additional layer of indirection.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@plbossart plbossart merged commit 8d47294 into thesofproject:topic/sof-dev Feb 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants