Skip to content

Conversation

@RanderWang
Copy link
Collaborator

S24_3LE is not a native supported format for hda dma. Driver
treats it as 16bit stream or 8bit stream, .e.g. 24bit 3LE
2ch stream will be set as 16bit 3ch stream. In FW side,
24bit stream will be converted to S24LE.

Currently HIFI3 optimization is not supported now and also
S24_LE unit test is not implemented. These will be supported
later.

Tested on windows platform.

Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

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

Good update to support the new format but lets check the conversions. We can add the HiFi3/4 versions in a subsequent PR.

@RanderWang
Copy link
Collaborator Author

updated, thanks!

Copy link
Collaborator

@singalsu singalsu left a comment

Choose a reason for hiding this comment

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

The s24c32 without sign extend is a risk, better to fix it.

@RanderWang RanderWang force-pushed the s24_3le branch 4 times, most recently from ea792a0 to 1435ef8 Compare January 18, 2022 12:36
@lgirdwood
Copy link
Member

@singalsu good for you ?
@RanderWang can you rebase ? We have a conflict.

The src & sink info can be gotten from struct comp_copy_limits,
no need to calculate it again.

Signed-off-by: Rander Wang <rander.wang@intel.com>
Move endif to include general ipc4 conversion.

Signed-off-by: Rander Wang <rander.wang@intel.com>
Compared to non-copier module, copier module uses
different conversion algorithoms for different
gateways, .e.g HDA dma requires sample bit starting
from MSB bits and also alh engine. These hw features
make pcm conversion algorithom different for different
modules.

This patch add gateway type to select conversion function.

Signed-off-by: Rander Wang <rander.wang@intel.com>
First we reused ipc3 pcm conversion function by by setting
frame_fmt to S24_4LE, but later found that we need different
conversion for copier with gateways support.

Now frame_fmt will be set by default config.

Signed-off-by: Rander Wang <rander.wang@intel.com>
For HDA gateway, 24bits sample will be in high 24bits with
32 bits container case. Alh requires 32 bits container and
all sample bits starting from bit 31 to bit 0.

Signed-off-by: Rander Wang <rander.wang@intel.com>
S24_3LE is not a native supported format for hda dma. Driver
treats it as 16bit stream or 8bit stream, .e.g. 24bit 3LE
2ch stream will be set as 16bit 3ch stream. In FW side,
24bit stream will be converted to S24LE.

Currently HIFI3 optimization is not supported now and also
S24_LE unit test is not implemented. These will be supported
later.

Tested on windows platform.

Signed-off-by: Rander Wang <rander.wang@intel.com>
@RanderWang
Copy link
Collaborator Author

updated, thanks

@mwasko
Copy link
Contributor

mwasko commented Jan 20, 2022

@marcinszkudlinski fyi

@RanderWang RanderWang requested a review from lgirdwood January 26, 2022 07:37
@lgirdwood lgirdwood merged commit 8ed3bce into thesofproject:main Jan 26, 2022
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.

7 participants