Hi Chen-Yu,
On Mon, Jan 17, 2022 at 05:01:52PM +0800, Chen-Yu Tsai wrote:
On Sat, Jan 15, 2022 at 7:03 AM Brian Norris briannorris@chromium.org wrote:
Now that the cdn-dp driver supports plug-change callbacks, let's wire it up.
Signed-off-by: Brian Norris briannorris@chromium.org
(no changes since v1)
sound/soc/rockchip/rk3399_gru_sound.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c index e2d52d8d0ff9..eeef3ed70037 100644 --- a/sound/soc/rockchip/rk3399_gru_sound.c +++ b/sound/soc/rockchip/rk3399_gru_sound.c @@ -164,6 +164,25 @@ static int rockchip_sound_da7219_hw_params(struct snd_pcm_substream *substream, return 0; }
+static struct snd_soc_jack cdn_dp_card_jack;
+static int rockchip_sound_cdndp_init(struct snd_soc_pcm_runtime *rtd) +{
struct snd_soc_component *component = asoc_rtd_to_codec(rtd, 0)->component;
Using snd_soc_card_get_codec_dai() might be a better choice throughout this driver. While it will work for the cdn_dp case, because it is the first DAI in |rockchip_dais[]|, all the invocations for the other codecs are likely returning the wrong DAI.
I'll admit, I'm not very familiar with the ASoC object model, so you may well be correct that there's something fishy in here. But I did trace through the objects involved here, and we *are* getting the correct DAI for both this case and the DA7219 case (preexisting code).
It looks like we actually have a new runtime for each of our static dai_links:
devm_snd_soc_register_card() ... for_each_card_prelinks() snd_soc_add_pcm_runtime()
So I think this is valid to keep as-is.
For this particular patch it works either way, so
Reviewed-by: Chen-Yu Tsai wenst@chromium.org
Thanks for looking!
Brian