-
Notifications
You must be signed in to change notification settings - Fork 350
alh: obtain hw params from ipc config #2666
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
Conversation
mmaka1
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.
The commit message says nothing about how this impacts the FW behavior and does not explain what is the reason of this change.
d243e4d to
8cd1c39
Compare
|
Changes applied. Updated commit and PR descriptions. |
plbossart
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.
Not entirely convinced that this proposal addresses all cases of demux configurations?
8cd1c39 to
5f4f0d1
Compare
|
For clarification, this change doesn't have anything to do with demux. It merely allows components that modify the stream parameters to work correctly. It does not provide any unique information to demux, rather, it provides essential information about what is expected on the output of the DAI. |
|
Changes applied. |
|
@slawblauciak I think you missed my point So rather than passing the params from the dai, what I am asking is whether the rate and channels should come from topology. That way you can guarantee that the configurations of demux and ALH are compatible. |
|
@plbossart I think I understand now. Okay. But doesn't that ultimately shift the issue somewhere else? Regardless, the demux should be able to detect the mismatch in configuration and should error out. |
|
@slawblauciak: @bardliao already pushed a branch that takes the information from topology in thesofproject/linux#1943 I think the only missing part is that there would be 2 IPCs now, one on topology load and one during hw_params, maybe we could pass all the valid information during the hw_params state only? Or you would have to discard the missing info during the hw_params state. You are right that the topology is assumed to be correct, same as an SSP configuration using bclk rates that makes sense. Here the demux could make sure the upstream and downstream rates are the same, and the channel configuration is compatible. |
@plbossart Yes, I discussed with @slawblauciak and we will discard the info if both rate and channels are 0 since it is easier than getting topology tokens during hw_params |
This allows the firmware to become aware of the programmed format on ALH DAIs. The change is backwards compatible, in-case of ABI mismatch, the data will be filled with 0s, which is consistent with previous values. This change is required in the case of pipelines, that contain components capable of modifying the parameters of a stream, for example (de)mux. Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
|
Hm, I force pushed but the PR is not updating... |
1c98e20 to
682da3a
Compare
plbossart
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.
Thanks @slawblauciak and @bardliao, seems fine now.
|
Hm, tests are failing since last forcepushes. Gotta check that out |
|
SOFCI TEST |
682da3a to
4ab7d0f
Compare
|
CI tests fail, because Python tests need to be updated. Seems like they didn't fill the reserved fields with 0s, causing some param conflicts. |
4ab7d0f to
4b2e4bb
Compare
|
Actually, it was a problem with params not being initialized by default. So, I always take the first config batch, even if it's set to 0. |
|
SOFCI TEST |
bardliao
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.
The if (rate || channels) test should be done in alh_set_config()
This provides basic guidelines to clear up how to allocate and use DAI private data. Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
4b2e4bb to
5b43007
Compare
bardliao
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.
Thanks @slawblauciak
This allows the firmware to become aware of the programmed format on ALH DAIs.
The change is backwards compatible, in-case of ABI mismatch, the data will be filled with 0s,
which is consistent with previous values.
This change is required in the case of pipelines, that contain components capable
of modifying the parameters of a stream, for example (de)mux.
Signed-off-by: Slawomir Blauciak slawomir.blauciak@linux.intel.com