The default jack detection type overridden by sof_sdw_quirk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
    I have an Intel AlderLake machine which uses the sof-soundwire
driver for audio functions. When the headset is plugged in, it will
incorrectly trigger the event KEY_PLAYPAUSE and never stops. To fix
the problem, I used to apply the quirk RT711_JD2 proposed in
sound/soc/intel/boards/sof_sdw.c and the jack detect function will
work as expected.
    However, when I look into the code of sound/soc/codecs/rt711.c and
rt711-sdca.c, the default value for jd_src
(https://github.com/torvalds/linux/blob/master/sound/soc/codecs/rt711.c#L1209)
 is already RT711_JD2, which means it is overridden by other drivers.
After digging deeper, the jd_src value is overridden by
rt711_add_codec_device_props() with the value RT711_JD1 comes from
sof_sdw_quirk.
    Is there any reason why sof_sdw_quirk is assigned with RT711_JD1
by default? Can I simply fix it by assigning the sof_sdw_quirk to
RT711_JD_NULL as follows?
-unsigned long sof_sdw_quirk = RT711_JD1;
+unsigned long sof_sdw_quirk = RT711_JD_NULL;

    Please let me know if there's any potential problem I didn't
notice and suggest if there's any better solution. Thanks

Chris



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux