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

ipc: dai: extend Zephyr native drivers api to ipc/dai.c #5899

Merged
merged 1 commit into from
Jun 8, 2022

Conversation

abonislawski
Copy link
Member

@abonislawski abonislawski commented Jun 7, 2022

This patch will extend Zephyr native drivers api usage
to ipc dai files and full flow with dma release will be supported

This patch will extend Zephyr native drivers api
to ipc dai files and full flow with dma release will be supported

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
@@ -257,7 +257,11 @@ void dai_dma_release(struct comp_dev *dev)
if (dd->chan) {
/* remove callback */
notifier_unregister(dev, dd->chan, NOTIFIER_ID_DMA_COPY);
#if CONFIG_ZEPHYR_NATIVE_DRIVERS
Copy link
Member Author

Choose a reason for hiding this comment

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

@lgirdwood one open: not sure If we want to support ipc3 dai with native drivers?

Copy link
Collaborator

Choose a reason for hiding this comment

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

@lgirdwood do we plan to deprecate IPC3 in the future in favor of IPC4?

Copy link
Member

Choose a reason for hiding this comment

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

@lgirdwood one open: not sure If we want to support ipc3 dai with native drivers?

Yes we need to support IPC3 as there is no current TSC decision to deprecate IPC3

Copy link
Member

Choose a reason for hiding this comment

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

@lgirdwood do we plan to deprecate IPC3 in the future in favor of IPC4?

That's a TSC decision, the if/when/how of IPC deprecation and planning. Good topic for next TSC though.

@@ -257,7 +257,11 @@ void dai_dma_release(struct comp_dev *dev)
if (dd->chan) {
/* remove callback */
notifier_unregister(dev, dd->chan, NOTIFIER_ID_DMA_COPY);
#if CONFIG_ZEPHYR_NATIVE_DRIVERS
Copy link
Member

Choose a reason for hiding this comment

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

@lgirdwood one open: not sure If we want to support ipc3 dai with native drivers?

Yes we need to support IPC3 as there is no current TSC decision to deprecate IPC3

@@ -257,7 +257,11 @@ void dai_dma_release(struct comp_dev *dev)
if (dd->chan) {
/* remove callback */
notifier_unregister(dev, dd->chan, NOTIFIER_ID_DMA_COPY);
#if CONFIG_ZEPHYR_NATIVE_DRIVERS
Copy link
Member

Choose a reason for hiding this comment

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

@lgirdwood do we plan to deprecate IPC3 in the future in favor of IPC4?

That's a TSC decision, the if/when/how of IPC deprecation and planning. Good topic for next TSC though.

@@ -229,7 +237,7 @@ static void dai_dma_position_init(struct dai_data *dd)

int dai_config(struct comp_dev *dev, struct ipc_config_dai *common_config,
void *spec_config)
{trace_point(9);
{
Copy link
Member

Choose a reason for hiding this comment

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

oh, looks like this sneaked in....

Copy link
Collaborator

Choose a reason for hiding this comment

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

Minor nit: ideally a separate commit

@lgirdwood
Copy link
Member

CI is good. @juimonen good for you too ?

Copy link
Collaborator

@kv2019i kv2019i left a comment

Choose a reason for hiding this comment

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

As a late comment to #5610 , the intent of CONFIG_ZEPHYR_NATIVE_DRIVERS is not very clear. The description implies this is a working option, but in practise this option cannot be used to build a fully functional image until all uses of DMA support both Zephyr and legacy (i.e. this and follow PRs).

But with that confusion still present in the tree, this code seems good to go.

@@ -229,7 +237,7 @@ static void dai_dma_position_init(struct dai_data *dd)

int dai_config(struct comp_dev *dev, struct ipc_config_dai *common_config,
void *spec_config)
{trace_point(9);
{
Copy link
Collaborator

Choose a reason for hiding this comment

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

Minor nit: ideally a separate commit

@lgirdwood lgirdwood merged commit 21d22a6 into thesofproject:main Jun 8, 2022
@abonislawski
Copy link
Member Author

abonislawski commented Jun 8, 2022

@kv2019i that was the goal for CONFIG_ZEPHYR_NATIVE_DRIVERS to use extra kconfig until everything works perfectly, otherwise we would just use __ ZEPHYR __
For now we have DMA transfers in host and dai components, so already pretty functional :)

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.

4 participants