On 12/3/21 8:07 AM, Kai Vehmanen wrote:
Hey,
On Fri, 3 Dec 2021, Pierre-Louis Bossart wrote:
127 do { 128 mutex_lock(&hbus->core.cmd_mutex); 129 snd_hdac_bus_send_cmd(&hbus->core, hda_cmd); 130 snd_hdac_bus_get_response(&hbus->core, address, &resp); 131 mutex_unlock(&hbus->core.cmd_mutex);
132 } while (resp == -1 && retry++ < CODEC_PROBE_RETRIES);
Indeed, something's not right here.
CODEC_PROBE_RETRIES is defined conditionally
#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC) #define IDISP_VID_INTEL 0x80860000 #define CODEC_PROBE_RETRIES 3
but it's used unconditionally.
yup, the definition needs to be moved out.
We could define this constant unconditionally as a quick fix, but this compilation problem might expose a larger problem.
Kai, I wonder if this is code from lines 120 to 139 that we didn't update when we moved to support HDMI with the generic HDaudio parts? I don't see why we could even try to send a command on the bus is there's no audio codec support?
hda_codec_use_common_hdmi should be the default assumption now, I don't think we support the old solution, do we?
We do still support the hdac-hdmi as well, albeit only for select old hardware to maintain backwards compatibility.
Would it be a major risk to drop this compatibility, possibly in steps that can be reverted quickly? Maintaining this old HDMI-specific path isn't really sustainable.
I'll send the quick fix.
Thanks!