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

hda: set correct link dma channel #505

Merged
merged 1 commit into from
Oct 25, 2018

Conversation

RanderWang
Copy link
Collaborator

host dma and link dma work in decouple mode for SOF + HDA codec.
Now allocate host dma and link dma channel in host and set them
in FW individually.

Signed-off-by: Rander Wang [email protected]

host dma and link dma work in decouple mode for SOF + HDA codec.
Now allocate host dma and link dma channel in host and set them
in FW individually.

Signed-off-by: Rander Wang <[email protected]>
@RanderWang
Copy link
Collaborator Author

for this issue:#433

@RanderWang
Copy link
Collaborator Author

host change:thesofproject/linux#210

@lgirdwood
Copy link
Member

@RanderWang can you clarify why this change is needed, I know it's to fix a bug but why must the host and link DMA channels be set by host drivers ? Should the host and link channels use the same ID ? Please explain why host must select them.

@RanderWang
Copy link
Collaborator Author

RanderWang commented Oct 24, 2018

@RanderWang can you clarify why this change is needed, I know it's to fix a bug but why must the host and link DMA channels be set by host drivers ? Should the host and link channels use the same ID ? Please explain why host must select them.

ID is a confusing word. dma channel should be better. host channel is independent of link channel

The detail is at :thesofproject/linux#210
And discussion:#497

@@ -500,7 +500,8 @@ struct sof_ipc_stream_params {
enum sof_ipc_stream_direction direction;
enum sof_ipc_frame frame_fmt;
enum sof_ipc_buffer_format buffer_fmt;
uint32_t stream_tag;
uint32_t host_dma_ch;
uint32_t be_dma_ch;
Copy link
Member

Choose a reason for hiding this comment

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

same comment as for the driver, I don't see why the link DMA info be_dma_ch is passed in the ipc structure used for the host.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

thanks, please see my comment in driver side

Copy link

@mmaka1 mmaka1 left a comment

Choose a reason for hiding this comment

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

Seems Ok as a short time solution for a single 1:1 host-dai relation.

@plbossart
Copy link
Member

I am fine with a temporary fix, but I don't want to change the ipc definition multiple times to accommodate HDAudio development. This will break all platforms and CI multiple times. If we need additional fields, let's add some padding than can be reclaimed for feature development or quirks upfront. we should do this for most structures btw.

@lgirdwood
Copy link
Member

@plbossart ack, lets make a padding update for ipc prior to upstreaming

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