On 2024/6/6 17:18, Srinivas Kandagatla wrote:
Hi Xilin
On 25/05/2024 08:12, Xilin Wu wrote:
Hi Srini,
On 2024/5/24 20:50, Srinivas Kandagatla wrote:
Hi Xilin,
On 23/05/2024 05:09, Xilin Wu wrote:
Srinivas Kandagatla (4):
ASoC: qcom: q6dsp: parse Display port tokens
ASoC: qcom: common: add Display port Jack function
ASoC: qcom: sc8280xp: add Display port Jack
ASoC: qcom: sm8250: fix a typo in function name
sound/soc/qcom/common.c | 29 +++++++++++++++++++++++++++++
sound/soc/qcom/common.h | 3 +++
sound/soc/qcom/qdsp6/topology.c | 26 ++++++++++++++++++++++++++
sound/soc/qcom/sc8280xp.c | 14 ++++++++++++++
sound/soc/qcom/sm8250.c | 4 ++--
5 files changed, 74 insertions(+), 2 deletions(-)
Hi Srini,
I tested this series on SM8550 with tplg in [1] and ucm in [2]. But
the kernel output errors attached below. Headphone does work
properly without DisplayPort in the ucm.
What could be the possible cause of this? Is there any significant
change from sc8280xp to sm8550?
--
Thanks,
Xilin Wu
[1]
https://github.com/edk2-porting/audioreach-topology/blob/sakuramist/QCS8550-AYN-ODIN2.m4
[2]
For sm8550 you would need this patch for tplg
https://git.codelinaro.org/krzysztof.kozlowski/audioreach-topology/-/commit/d8ef47bc85700a7cdfabee5e06808d9f359b0a26
can you try this as the Container CAP Id changed for platforms from sm8550.
Kryzstof verified Display port tplg and these patches on x1e80100.
That exactly solved the previous problem, thanks!
Hot-unplugging type-c caused `fail to close APM port` error, and DP
audio will no longer work after that. But I guess that would be another
issue anyway :)
--
Thanks,
Xilin Wu
thanks,
srini
https://github.com/strongtz/alsa-ucm-conf/blob/odin2/ucm2/Qualcomm/sm8550/HiFi.conf
[ 1552.313713] qcom-apm gprsvc:service:2:1: Error (1) Processing
0x01001000 cmd
[ 1552.313730] qcom-apm gprsvc:service:2:1: DSP returned
error[1001000] 1
[ 1552.314455] qcom-apm gprsvc:service:2:1: Error (1) Processing
Is the DP cable connected?
I'm sure that the cable is connected and I have desktop on external
display.
If it's not connected, kernel gives the following error when using aplay:
hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: error at
snd_soc_dai_hw_params on i2s-hifi: -22
if its not connected the dsp will throw this error.
due to this issue I did workaround this issue by modeling it as
conflicting device to Speaker in x13s ucm.
I see in your ucm setup its not the case.
which is why you might be hitting this issue.
Can you try
amixer -c 0 cset iface=MIXER,name='DISPLAY_PORT_RX_0 Audio Mixer
MultiMedia2' 1
aplay -D plughw:0,1 some-wav-file.wav
both with and without display connected.
aplay always gives the following error:
Playing WAVE 'Summer.wav' : Signed 16 bit Little Endian, Rate 44100
Hz, Stereo
aplay: set_params:1456: Unable to install hw params:
ACCESS: RW_INTERLEAVED
FORMAT: S16_LE
SUBFORMAT: STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 44100
PERIOD_TIME: (42666 42667)
PERIOD_SIZE: (1881 1882)
PERIOD_BYTES: (7524 7528)
PERIODS: (3 5)
BUFFER_TIME: (170657 170658)
BUFFER_SIZE: 7526
BUFFER_BYTES: 30104
TICK_TIME: 0
and kernel gives the following when display is connected:
[drm:dp_catalog_audio_config_sdp] sdp_cfg = 0x100066
[drm:dp_catalog_audio_config_sdp] sdp_cfg2 = 0x1b800004
[drm:dp_audio_hw_params] Header Byte 1: value = 0xce020000,
parity_byte = 0xce
[drm:dp_audio_hw_params] Header Byte 2: value = 0x67010000,
parity_byte = 0x0
[drm:dp_audio_hw_params] Header Byte 3: value = 0x67010000,
parity_byte = 0x67
[drm:dp_audio_hw_params] Header Byte 1: value = 0x67010000,
parity_byte = 0x67
[drm:dp_audio_hw_params] Header Byte 2: value = 0x33443517,
parity_byte = 0x35
[drm:dp_audio_hw_params] Header Byte 3: value = 0x33443517,
parity_byte = 0x33
[drm:dp_audio_hw_params] Header Byte 1: value = 0x84840000,
parity_byte = 0x84
[drm:dp_audio_hw_params] Header Byte 2: value = 0x3344d71b,
parity_byte = 0xd7
[drm:dp_audio_hw_params] Header Byte 3: value = 0x44, parity_byte = 0x33
[drm:dp_audio_hw_params] Header Byte 1: value = 0xd8050000,
parity_byte = 0xd8
[drm:dp_audio_hw_params] Header Byte 2: value = 0x4b0f, parity_byte =
0x4b
[drm:dp_audio_hw_params] Header Byte 3: value = 0x4b0f, parity_byte = 0x0
[drm:dp_audio_hw_params] Header Byte 1: value = 0x71060000,
parity_byte = 0x71
[drm:dp_audio_hw_params] Header Byte 2: value = 0x4b0f, parity_byte =
0x4b
[drm:dp_catalog_audio_config_acr] select: 0x3, acr_ctrl: 0x80004130
[drm:dp_catalog_audio_sfe_level] mainlink_level = 0xa08,
safe_to_exit_level = 0x8
[drm:dp_catalog_audio_enable] dp_audio_cfg = 0xc1
qcom-apm gprsvc:service:2:1: Error (1) Processing 0x01001006 cmd
qcom-apm gprsvc:service:2:1: DSP returned error[1001006] 1
qcom-apm gprsvc:service:2:1: Error (1) Processing 0x01001006 cmd
qcom-apm gprsvc:service:2:1: DSP returned error[1001006] 1
qcom-apm gprsvc:service:2:1: Error (1) Processing 0x01001001 cmd
qcom-apm gprsvc:service:2:1: DSP returned error[1001001] 1
q6apm-lpass-dais 30000000.remoteproc:glink-edge:gpr:service@1:bedais:
Failed to prepare Graph -22
q6apm-lpass-dais 30000000.remoteproc:glink-edge:gpr:service@1:bedais:
ASoC: error at snd_soc_pcm_dai_prepare on DISPLAY_PORT_RX_0: -22
[drm:dp_catalog_audio_enable] dp_audio_cfg = 0xc0
--srini
0x01001006 cmd
[ 1552.314463] qcom-apm gprsvc:service:2:1: DSP returned
error[1001006] 1
[ 1552.315496] qcom-apm gprsvc:service:2:1: Error (1) Processing
0x01001006 cmd
[ 1552.315506] qcom-apm gprsvc:service:2:1: DSP returned
error[1001006] 1
[ 1552.316033] qcom-apm gprsvc:service:2:1: Error (1) Processing
0x01001001 cmd
[ 1552.316042] qcom-apm gprsvc:service:2:1: DSP returned
error[1001001] 1
[ 1552.316045] q6apm-lpass-dais
30000000.remoteproc:glink-edge:gpr:service@1:bedais: Failed to
prepare Graph -22
[ 1552.316047] q6apm-lpass-dais
30000000.remoteproc:glink-edge:gpr:service@1:bedais: ASoC: error at
snd_soc_pcm_dai_prepare on DISPLAY_PORT_RX_0: -22