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-...
[2]
For sm8550 you would need this patch for tplg
https://git.codelinaro.org/krzysztof.kozlowski/audioreach-topology/-/commit/...
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/Hi...
>>>>
>>>> [ 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
>>