On Wed, 05 Dec 2018 09:18:52 +0100, Kailang wrote:
Hi Takashi,
In Intel ENG board with ALC700. It had headphone no sound issue. If it plugged headphone or headset into the jack, then do the reboot, it will have a chance to cause headphone no sound. It just need to run the headphone mode procedure after boot time. The issue will be fixed. It also suitable for ALC234 ALC274 and ALC294.
Does this correspond to the HDA_FIXUP_ACT_INIT part of the patch?
BTW, some changes in the patch don't look good, unfortunately. Namely...
+static void alc_headset_btn_unsol_event(struct hda_codec *codec,
unsigned int res)
+{
- struct hda_jack_tbl *jack;
- int report = 0;
- jack = snd_hda_jack_tbl_get(codec, 0x55);
- report = SND_JACK_HEADSET;
- if (jack->nid == 0x55) {
Here essentially means that it always goes to this if-path, because jack object is exactly what you queried for NID 0x55.
if (res & (7 << 13))
report |= SND_JACK_BTN_0;
....
report |= report & jack->type;
snd_jack_report(jack->jack, report);
So eventually snd_jack_report() is always invoked at each unsol event no matter what event actually is.
thanks,
Takashi