
Hey,
On Mon, 2 Dec 2019, Nikhil Mahale wrote:
On 11/29/19 8:07 PM, Kai Vehmanen wrote:
In the drm_audio_component.h interface, the third parameter to pin_eld_notify() is pipe number. On Intel platforms, this value is -1 for MST. On other platforms, a non-zero pipe id is used to
Do you mean "on Intel platforms, this value is -1 for non-MST"?
[...]
I am looking into functions intel_audio_codec_enable/intel_audio_codec_disable, they sets pipe = -1 for non-MST cases, right?
yup, -1 for non-MST, that was just plain wrong in my Friday mail. The problem seems to be pipe id is positive in some non-MST cases (like https://github.com/thesofproject/linux/issues/1536 ), which is very suprising looking at e.g. intel_audio_codec_enable(), but that seems to be happening nevertheless.
This would seem like a lurking bug on the i915 graphics driver side. Your patch changed the behaviour in these cases on ALSA side (PCM was selected based on per_pin->pin_nid_idx, ignoring dev_id), but one can argue whether this is worth preserving (or just drop/revert the RFC patch). I'll try to get a bit more info on the rootcause and how common case this is.
Br, Kai