* Re: [PATCH] ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
2022-03-29 0:18 [PATCH] ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 Kai-Heng Feng
@ 2022-03-29 4:39 ` kernel test robot
2022-03-29 11:05 ` Dan Carpenter
1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-03-29 4:39 UTC (permalink / raw)
To: Kai-Heng Feng, tiwai
Cc: alsa-devel, Kailang Yang, kbuild-all, Lucas Tanure, Jeremy Szu,
llvm, linux-kernel, Werner Sembach, Hui Wang, Kai-Heng Feng,
Sami Loone, Cameron Berkenpas
Hi Kai-Heng,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tiwai-sound/for-next]
[also build test WARNING on v5.17 next-20220329]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Kai-Heng-Feng/ALSA-hda-realtek-Fix-audio-regression-on-Mi-Notebook-Pro-2020/20220329-082021
base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: arm64-randconfig-r036-20220327 (https://download.01.org/0day-ci/archive/20220329/202203291202.DT2WLVoc-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0f6d9501cf49ce02937099350d08f20c4af86f3d)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/b86b7ea348ec9ba6c3824d7a0066968ec4fa0ce5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kai-Heng-Feng/ALSA-hda-realtek-Fix-audio-regression-on-Mi-Notebook-Pro-2020/20220329-082021
git checkout b86b7ea348ec9ba6c3824d7a0066968ec4fa0ce5
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash sound/pci/hda/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> sound/pci/hda/patch_realtek.c:3620:42: warning: overlapping comparisons always evaluate to true [-Wtautological-overlap-compare]
if (codec->core.vendor_id != 0x10ec0236 ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
1 warning generated.
vim +3620 sound/pci/hda/patch_realtek.c
3594
3595 static void alc256_shutup(struct hda_codec *codec)
3596 {
3597 struct alc_spec *spec = codec->spec;
3598 hda_nid_t hp_pin = alc_get_hp_pin(spec);
3599 bool hp_pin_sense;
3600
3601 if (!hp_pin)
3602 hp_pin = 0x21;
3603
3604 hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
3605
3606 if (hp_pin_sense)
3607 msleep(2);
3608
3609 snd_hda_codec_write(codec, hp_pin, 0,
3610 AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE);
3611
3612 if (hp_pin_sense || spec->ultra_low_power)
3613 msleep(85);
3614
3615 /* 3k pull low control for Headset jack. */
3616 /* NOTE: call this before clearing the pin, otherwise codec stalls */
3617 /* If disable 3k pulldown control for alc257, the Mic detection will not work correctly
3618 * when booting with headset plugged. So skip setting it for the codec alc257
3619 */
> 3620 if (codec->core.vendor_id != 0x10ec0236 ||
3621 codec->core.vendor_id != 0x10ec0257)
3622 alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
3623
3624 if (!spec->no_shutup_pins)
3625 snd_hda_codec_write(codec, hp_pin, 0,
3626 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
3627
3628 if (hp_pin_sense || spec->ultra_low_power)
3629 msleep(100);
3630
3631 alc_auto_setup_eapd(codec, false);
3632 alc_shutup_pins(codec);
3633 if (spec->ultra_low_power) {
3634 msleep(50);
3635 alc_update_coef_idx(codec, 0x03, 1<<1, 0);
3636 alc_update_coef_idx(codec, 0x08, 7<<4, 7<<4);
3637 alc_update_coef_idx(codec, 0x08, 3<<2, 0);
3638 alc_update_coef_idx(codec, 0x3b, 1<<15, 1<<15);
3639 alc_update_coef_idx(codec, 0x0e, 7<<6, 0);
3640 msleep(30);
3641 }
3642 }
3643
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
2022-03-29 0:18 [PATCH] ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 Kai-Heng Feng
2022-03-29 4:39 ` kernel test robot
@ 2022-03-29 11:05 ` Dan Carpenter
1 sibling, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2022-03-29 11:05 UTC (permalink / raw)
To: kbuild, Kai-Heng Feng, tiwai
Cc: alsa-devel, Kailang Yang, kbuild-all, lkp, Lucas Tanure,
Jeremy Szu, linux-kernel, Werner Sembach, Hui Wang, Kai-Heng Feng,
Sami Loone, Cameron Berkenpas
Hi Kai-Heng,
url: https://github.com/intel-lab-lkp/linux/commits/Kai-Heng-Feng/ALSA-hda-realtek-Fix-audio-regression-on-Mi-Notebook-Pro-2020/20220329-082021
base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: xtensa-randconfig-m031-20220327 (https://download.01.org/0day-ci/archive/20220329/202203291807.UCLuP6Fi-lkp@intel.com/config)
compiler: xtensa-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
sound/pci/hda/patch_realtek.c:3620 alc256_shutup() warn: was && intended here instead of ||?
vim +3620 sound/pci/hda/patch_realtek.c
4a219ef8f37071 Kailang Yang 2017-06-16 3595 static void alc256_shutup(struct hda_codec *codec)
4a219ef8f37071 Kailang Yang 2017-06-16 3596 {
4a219ef8f37071 Kailang Yang 2017-06-16 3597 struct alc_spec *spec = codec->spec;
35a39f98567d8d Takashi Iwai 2019-02-01 3598 hda_nid_t hp_pin = alc_get_hp_pin(spec);
4a219ef8f37071 Kailang Yang 2017-06-16 3599 bool hp_pin_sense;
4a219ef8f37071 Kailang Yang 2017-06-16 3600
6447c962bc47a5 Kailang Yang 2019-05-08 3601 if (!hp_pin)
6447c962bc47a5 Kailang Yang 2019-05-08 3602 hp_pin = 0x21;
4a219ef8f37071 Kailang Yang 2017-06-16 3603
4a219ef8f37071 Kailang Yang 2017-06-16 3604 hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
4a219ef8f37071 Kailang Yang 2017-06-16 3605
4a219ef8f37071 Kailang Yang 2017-06-16 3606 if (hp_pin_sense)
4a219ef8f37071 Kailang Yang 2017-06-16 3607 msleep(2);
4a219ef8f37071 Kailang Yang 2017-06-16 3608
4a219ef8f37071 Kailang Yang 2017-06-16 3609 snd_hda_codec_write(codec, hp_pin, 0,
4a219ef8f37071 Kailang Yang 2017-06-16 3610 AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE);
4a219ef8f37071 Kailang Yang 2017-06-16 3611
6447c962bc47a5 Kailang Yang 2019-05-08 3612 if (hp_pin_sense || spec->ultra_low_power)
4a219ef8f37071 Kailang Yang 2017-06-16 3613 msleep(85);
4a219ef8f37071 Kailang Yang 2017-06-16 3614
1c9609e3a8cf59 Takashi Iwai 2018-01-19 3615 /* 3k pull low control for Headset jack. */
1c9609e3a8cf59 Takashi Iwai 2018-01-19 3616 /* NOTE: call this before clearing the pin, otherwise codec stalls */
3f74249057827c Hui Wang 2020-09-14 3617 /* If disable 3k pulldown control for alc257, the Mic detection will not work correctly
3f74249057827c Hui Wang 2020-09-14 3618 * when booting with headset plugged. So skip setting it for the codec alc257
3f74249057827c Hui Wang 2020-09-14 3619 */
b86b7ea348ec9b Kai-Heng Feng 2022-03-29 @3620 if (codec->core.vendor_id != 0x10ec0236 ||
This should be && instead of ||
b86b7ea348ec9b Kai-Heng Feng 2022-03-29 3621 codec->core.vendor_id != 0x10ec0257)
1c9609e3a8cf59 Takashi Iwai 2018-01-19 3622 alc_update_coef_idx(codec, 0x46, 0, 3 << 12);
1c9609e3a8cf59 Takashi Iwai 2018-01-19 3623
c0ca5eced22215 Takashi Iwai 2019-02-20 3624 if (!spec->no_shutup_pins)
4a219ef8f37071 Kailang Yang 2017-06-16 3625 snd_hda_codec_write(codec, hp_pin, 0,
4a219ef8f37071 Kailang Yang 2017-06-16 3626 AC_VERB_SET_PIN_WIDGET_CONTROL, 0x0);
4a219ef8f37071 Kailang Yang 2017-06-16 3627
6447c962bc47a5 Kailang Yang 2019-05-08 3628 if (hp_pin_sense || spec->ultra_low_power)
4a219ef8f37071 Kailang Yang 2017-06-16 3629 msleep(100);
4a219ef8f37071 Kailang Yang 2017-06-16 3630
4a219ef8f37071 Kailang Yang 2017-06-16 3631 alc_auto_setup_eapd(codec, false);
c0ca5eced22215 Takashi Iwai 2019-02-20 3632 alc_shutup_pins(codec);
6447c962bc47a5 Kailang Yang 2019-05-08 3633 if (spec->ultra_low_power) {
6447c962bc47a5 Kailang Yang 2019-05-08 3634 msleep(50);
6447c962bc47a5 Kailang Yang 2019-05-08 3635 alc_update_coef_idx(codec, 0x03, 1<<1, 0);
6447c962bc47a5 Kailang Yang 2019-05-08 3636 alc_update_coef_idx(codec, 0x08, 7<<4, 7<<4);
6447c962bc47a5 Kailang Yang 2019-05-08 3637 alc_update_coef_idx(codec, 0x08, 3<<2, 0);
6447c962bc47a5 Kailang Yang 2019-05-08 3638 alc_update_coef_idx(codec, 0x3b, 1<<15, 1<<15);
6447c962bc47a5 Kailang Yang 2019-05-08 3639 alc_update_coef_idx(codec, 0x0e, 7<<6, 0);
6447c962bc47a5 Kailang Yang 2019-05-08 3640 msleep(30);
6447c962bc47a5 Kailang Yang 2019-05-08 3641 }
4a219ef8f37071 Kailang Yang 2017-06-16 3642 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 3+ messages in thread