Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: qcom: q6dsp: parse Display port tokens

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # X13s
Link: https://msgid.link/r/20240606104922.114229-2-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Srinivas Kandagatla and committed by
Mark Brown
6d620e50 195815c2

+26
+26
sound/soc/qcom/qdsp6/topology.c
··· 730 730 return 0; 731 731 } 732 732 733 + static int audioreach_widget_dp_module_load(struct audioreach_module *mod, 734 + struct snd_soc_tplg_vendor_array *mod_array) 735 + { 736 + struct snd_soc_tplg_vendor_value_elem *mod_elem; 737 + int tkn_count = 0; 738 + 739 + mod_elem = mod_array->value; 740 + 741 + while (tkn_count <= (le32_to_cpu(mod_array->num_elems) - 1)) { 742 + switch (le32_to_cpu(mod_elem->token)) { 743 + case AR_TKN_U32_MODULE_FMT_DATA: 744 + mod->data_format = le32_to_cpu(mod_elem->value); 745 + break; 746 + default: 747 + break; 748 + } 749 + tkn_count++; 750 + mod_elem++; 751 + } 752 + 753 + return 0; 754 + } 755 + 733 756 static int audioreach_widget_load_buffer(struct snd_soc_component *component, 734 757 int index, struct snd_soc_dapm_widget *w, 735 758 struct snd_soc_tplg_dapm_widget *tplg_w) ··· 782 759 case MODULE_ID_I2S_SINK: 783 760 case MODULE_ID_I2S_SOURCE: 784 761 audioreach_widget_i2s_module_load(mod, mod_array); 762 + break; 763 + case MODULE_ID_DISPLAY_PORT_SINK: 764 + audioreach_widget_dp_module_load(mod, mod_array); 785 765 break; 786 766 default: 787 767 return -EINVAL;