-
Notifications
You must be signed in to change notification settings - Fork 140
ASoC: soc-core: filter use of 'ignore_machine' field #3352
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: soc-core: filter use of 'ignore_machine' field #3352
Conversation
The 'ignore_machine' field is currently used to ignore all FE dailinks statically added by the machine drivers, as well as override the fixups for the BE dailinks. The motivation for this field was primarily to reuse the same machine driver on Intel devices, both with legacy and SOF-based platform drivers. SOF is now used on Mediatek platforms, where the same card uses SOF-based dailinks to deal with DSP-managed streams, as well as 'regular' dailinks. The 'ignore_machine' field set by the core SOF platform driver is too strong, with dailinks not managed by SOF being modified. This patch adds a stricter filtering so that only dailinks managed by a topology-based SOF driver are modified. Reported-by: YC Hung <yc.hung@mediatek.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
Create this PR from #3236 to verify sof-ci test. Thanks |
|
Took a bit of time to understand what's this about. So basicly this is resubmitting the patch that was merged once, but then reverted in #3294 . It seems failures are similar as before. A number of Intel SDW mach drivers fail to probe with this patch: |
kv2019i
left a comment
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.
@bardliao as this seems to affect SDW machine only, can you spot anything obvious in the filter checks that affects SDW?
| dai = snd_soc_find_dai(dlc); | ||
|
|
||
| if (dai && dai->component != component) | ||
| continue; |
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 modify this to check if it work but it seems not. Could you please help to check if the modification is fine or need original conditional checking as below. Thanks.
if (!dai || dai->component != component)
continue;
Sure, I will take a look. |
|
The SDW dais are created and registered by intel soundwire driver. (drivers/soundwire/intel.c). So the dai->component is different from the SOF component. |
ah yes I see what you mean, hmm, do we want to maybe make a allow-list of component names for SOF to take over? All other alternatives go back to either marking the link or the component for this specific case which seems like it should be SOF/SDW code to determine this, not ASoC |
|
this PR seems to be abandoned or without a clear direction @yaochunhung ? |
|
@plbossart We still use the patch on internal branch but currently I don't have good solution to fix the issue of SOF/SDW based on this PR. Thanks. |
|
@yaochunhung this PR has been marked as 'Unclear' for several weeks. Unless there's an update and/or a need for comments, we should close this PR. You can always resubmit a new one later, it's just not efficient to leave such PRs dangling without any progress. |
|
@plbossart I will close this PR. Thanks. |
The 'ignore_machine' field is currently used to ignore all FE dailinks
statically added by the machine drivers, as well as override the
fixups for the BE dailinks. The motivation for this field was
primarily to reuse the same machine driver on Intel devices, both with
legacy and SOF-based platform drivers.
SOF is now used on Mediatek platforms, where the same card uses
SOF-based dailinks to deal with DSP-managed streams, as well as
'regular' dailinks. The 'ignore_machine' field set by the core SOF
platform driver is too strong, with dailinks not managed by SOF being
modified.
This patch adds a stricter filtering so that only dailinks managed by
a topology-based SOF driver are modified.
Reported-by: YC Hung yc.hung@mediatek.com
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com