-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
driver: ssp: update Intel SSP DAI driver to support dynamic SSP link management #70660
driver: ssp: update Intel SSP DAI driver to support dynamic SSP link management #70660
Conversation
9a28be8
to
4d1f412
Compare
a9113b3
to
e90b5c7
Compare
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.
@dnikodem can you ack this works with SOF main?
LOG_INF("plat_data base: %u", dp->plat_data.base); | ||
LOG_INF("plat_data irq: %u", dp->plat_data.irq); | ||
LOG_INF("plat_data fifo playback offset: %u", dp->plat_data.fifo[DAI_DIR_PLAYBACK].offset); | ||
LOG_INF("dai index: %u", dp->dai_index); |
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.
Should we display the link number in the logs somehow as it's a new piece of config data?
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.
Oops, missed one comment in dai_ssp_remove()
drivers/dai/intel/ssp/ssp.c
Outdated
struct intel_ssp_link *ssp_link = dai_get_ssp_link(dp); | ||
|
||
if (ssp_link_is_acquired(ssp_link)) { | ||
k_free(dai_get_drvdata(dp)); |
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.
One more, can you explain the logic here? If the link is acquired, how come we proceed to free the "'dp' object in this case?
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.
Marking -1 for now for the remove handling.
ff344f6
to
163eba8
Compare
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.
Tests in SOF (8980) seem good and my earlier comments are addressed, so I'm good. There' potential conflict with the dts removal extra ssp nodes, but this will be easy to adapt to.
163eba8
to
fb0a689
Compare
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.
Looks good to me
@nashif This would be ready to go. |
…ement This commit refactors the Intel SSP DAI driver to support dynamic management of SSP IP. This change additionally separates the management of the DAI part from the management part of the SSP IP. Key changes: - Add new static functions to manage SSP IP power. - Update the DAI SSP configuration functions to use the new management approach. - Update device tree bindings and instances to reflect the new SSP IP management mechanism. Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
fb0a689
to
d393c9c
Compare
This commit refactors the Intel SSP DAI driver to support dynamic management of SSP links. The changes include the introduction of a new structure
intel_ssp_link
to encapsulate SSP link-specific data.Key changes:
The new approach allows for more flexible and maintainable management of SSP links.
Related, necessary changes: