You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Platform: WHL RVP
Kernel: 4.18 + SOF and HDA enabled
Check command:
cat /proc/asound/card0/codec#0
Output show that codec support only 16, 20 and 24 bits.
What about 32? SOF topology is set to 32b_LE.
Aplay make linear conversion during playing waves with above bits. So I can't check if driver/codec/FW real support 16, 24 or 32 bit waves.
@echudzi what topology file are you using ? The SOF pipeline may use S32_LE internally where the link DMA will automatically convert to 16 or 24 bit is set in topology.
@echudzi What do you mean by "Aplay make linear conversion during playing waves with above bits. So I can't check if driver/codec/FW real support 16, 24 or 32 bit waves." If you use aplay -Dhw: there will be no conversions, it'll just fail if not supported.
Can you please attach log files (command line and dmesg)?
@echudzi
pass-through topology is required so no volume component is included. Only one format which is defined in topology file, is supported by our SOF because no format conversion in FW. Now 32le is defined whl_hda_generic.m4, only S32_LE would be reported to ASOC, so you see a conversion with aplay -vvv xxx.wav. If you want to test native 16le or 24le (24_3le is not supported), just replace all the 32le to 16le or 24le in m4 then build it.
For ALC700 only support 16/20/24bit case, it is a good finding. For 32le pcm, HDA would check the capability of codec and set 24 bit format to codec. But 32le pcm data would be sent to codec (pass through) and 8bit of lsb data would lost. It is not easy to hear the difference but not a perfect solution. I would refine it later
@echudzi What do you mean by "Aplay make linear conversion during playing waves with above bits. So I can't check if driver/codec/FW real support 16, 24 or 32 bit waves." If you use aplay -Dhw: there will be no conversions, it'll just fail if not supported.
Can you please attach log files (command line and dmesg)?
Please see below (source file: 48k,2ch,16b). I don't use -Dplughw:0,0 (plug make conversions), despite this alsa make conversions - maybe it is default made by alsa.
If I use -Dhw:0,0 you have right: I have not supported format.
Activity
lgirdwood commentedon Nov 7, 2018
@echudzi what topology file are you using ? The SOF pipeline may use S32_LE internally where the link DMA will automatically convert to 16 or 24 bit is set in topology.
emilchudzik commentedon Nov 7, 2018
I use for WHL: sof-whl-hda.tplg
[-][WHL] bits support for ALD700 codec[/-][+][WHL] bits support for ALC700 codec[/+]plbossart commentedon Nov 7, 2018
@echudzi What do you mean by "Aplay make linear conversion during playing waves with above bits. So I can't check if driver/codec/FW real support 16, 24 or 32 bit waves." If you use aplay -Dhw: there will be no conversions, it'll just fail if not supported.
Can you please attach log files (command line and dmesg)?
RanderWang commentedon Nov 8, 2018
@echudzi
pass-through topology is required so no volume component is included. Only one format which is defined in topology file, is supported by our SOF because no format conversion in FW. Now 32le is defined whl_hda_generic.m4, only S32_LE would be reported to ASOC, so you see a conversion with aplay -vvv xxx.wav. If you want to test native 16le or 24le (24_3le is not supported), just replace all the 32le to 16le or 24le in m4 then build it.
For ALC700 only support 16/20/24bit case, it is a good finding. For 32le pcm, HDA would check the capability of codec and set 24 bit format to codec. But 32le pcm data would be sent to codec (pass through) and 8bit of lsb data would lost. It is not easy to hear the difference but not a perfect solution. I would refine it later
emilchudzik commentedon Nov 8, 2018
Please see below (source file: 48k,2ch,16b). I don't use -Dplughw:0,0 (plug make conversions), despite this alsa make conversions - maybe it is default made by alsa.
If I use -Dhw:0,0 you have right: I have not supported format.
So we can close this isse, all is clear now.
I see thesofproject/soft#121 based on this 251 which fix 32b to 16b format.
dm/dax: Fix table reference counts
power: supply: core: Fix extension related lockdep warning
selftests/bpf: Add mprog API tests for BPF tcx opts
selftests/bpf: Add test for detachment on empty mprog entry
selftests/bpf: Add various more tcx test cases
wifi: rtw89: fix use-after-free in rtw89_core_tx_kick_off_and_wait()
netfilter: nft_fib_ipv6: handle routes via external nexthop