Repository navigation
dmic: Use the correct 24 bit conversion function - #7573
Conversation
The DMIC interface places 24-bit samples on the most significant bits of a 32-bit container. The correct conversion function for this gateway was used. Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
| ipc4_gtw_all & ~(ipc4_gtw_link | ipc4_gtw_alh | ipc4_gtw_host), ipc4_bidirection, | ||
| audio_stream_copy}, | ||
| ipc4_gtw_all & ~(ipc4_gtw_link | ipc4_gtw_alh | ipc4_gtw_host | ipc4_gtw_dmic), | ||
| ipc4_bidirection, audio_stream_copy}, |
There was a problem hiding this comment.
ipc4_gtw_all & ~(ipc4_gtw_link | ipc4_gtw_alh | ipc4_gtw_host | ipc4_gtw_dmic)
Isnt this a bit convoluted? If we want to exclude all but ssp, why not just change it tp ipc4_gtw_ssp instead?
There was a problem hiding this comment.
audio_stream_copy() should be called for ipc4_gtw_none case. ipc4_gtw_ssp probably should be handled the same way as ipc4_gtw_link and ipc4_gtw_alh, however, not 100% sure. So probably additional fix is needed for SSP (and could be another PR). This one fixes DMIC.
There was a problem hiding this comment.
@serhiy-katsyuba-intel thats the other problem I have. TOday we define ipc4_gtw_all as BIT(6) -1 which means all includes none as well. It should really be BIT(6) - 2. Then you can modifythis check to include the none and ssp only
There was a problem hiding this comment.
JUst to clarify I understand this change fixes the DMIC issue and we need to fix it. But I think we should fix it properly so there's no confusion in the future
The DMIC interface places 24-bit samples on the most significant bits of a 32-bit container. The correct conversion function for this gateway was used.