On Tue, Dec 31, 2024 at 3:34 AM Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote: [...] > > I checked all instances of struct hdmi_codec_ops in v6.13-rc3 and it > > seems that there is only a single driver which uses the .prepare > > callback (drivers/gpu/drm/vc4/vc4_hdmi.c). All other drivers seem to > > implement .hw_params instead. > > Yes. However .hw_params don't have access to the infoframe contents, so > I had to settle on implementing .prepare. While debugging I noticed something unrelated to my problem: hdmi_codec_spdif_dai_ops does not implement .prepare(). FYI just in case someone wants to use your patches and feed the hdmi-codec with SPDIF instead of I2S. > > > > The audio controller code for my platform is already upstream: > > - sound/soc/meson/aiu-codec-ctrl.c > > - sound/soc/meson/aiu-encoder-i2s.c > > - sound/soc/meson/aiu-fifo-i2s.c > > > > My understanding is that you have a platform with a lontium-lt9611 > > HDMI controller available for testing. Can you please help me > > investigate and find out which piece of code is calling > > hdmi_codec_prepare() and therefore lt9611_hdmi_audio_prepare() on > > your board? > > Sure, this is the call trace on my platform (Qualcomm SDM845, > sdm845-db845c.dts): > > lt9611_hdmi_audio_prepare+0x1c/0xc0 (P) > drm_bridge_connector_audio_prepare+0x2c/0x40 (L) > drm_bridge_connector_audio_prepare+0x2c/0x40 > drm_connector_hdmi_audio_prepare+0x24/0x30 > hdmi_codec_prepare+0xec/0x144 > snd_soc_pcm_dai_prepare+0x78/0x10c Thank you, this helps! snd_soc_pcm_dai_prepare() is where it breaks for me. I suspect that it's an sound card issue on our platform, so I'm hoping that Jerome (author of the Amlogic ASoC drivers) will help me debug it: [0] Best regards, Martin [0] https://lore.kernel.org/linux-amlogic/CAFBinCDdiJ3UNVUcShjq=7U2=oUwT3ciYdKSuZ5TdcrikxFBpg@xxxxxxxxxxxxxx/