@@ -3564,6 +3564,15 @@ static void alc256_init(struct hda_codec *codec)
3564
3564
hda_nid_t hp_pin = alc_get_hp_pin (spec );
3565
3565
bool hp_pin_sense ;
3566
3566
3567
+ if (spec -> ultra_low_power ) {
3568
+ alc_update_coef_idx (codec , 0x03 , 1 <<1 , 1 <<1 );
3569
+ alc_update_coef_idx (codec , 0x08 , 3 <<2 , 3 <<2 );
3570
+ alc_update_coef_idx (codec , 0x08 , 7 <<4 , 0 );
3571
+ alc_update_coef_idx (codec , 0x3b , 1 <<15 , 0 );
3572
+ alc_update_coef_idx (codec , 0x0e , 7 <<6 , 7 <<6 );
3573
+ msleep (30 );
3574
+ }
3575
+
3567
3576
if (!hp_pin )
3568
3577
hp_pin = 0x21 ;
3569
3578
@@ -3575,14 +3584,6 @@ static void alc256_init(struct hda_codec *codec)
3575
3584
msleep (2 );
3576
3585
3577
3586
alc_update_coefex_idx (codec , 0x57 , 0x04 , 0x0007 , 0x1 ); /* Low power */
3578
- if (spec -> ultra_low_power ) {
3579
- alc_update_coef_idx (codec , 0x03 , 1 <<1 , 1 <<1 );
3580
- alc_update_coef_idx (codec , 0x08 , 3 <<2 , 3 <<2 );
3581
- alc_update_coef_idx (codec , 0x08 , 7 <<4 , 0 );
3582
- alc_update_coef_idx (codec , 0x3b , 1 <<15 , 0 );
3583
- alc_update_coef_idx (codec , 0x0e , 7 <<6 , 7 <<6 );
3584
- msleep (30 );
3585
- }
3586
3587
3587
3588
snd_hda_codec_write (codec , hp_pin , 0 ,
3588
3589
AC_VERB_SET_AMP_GAIN_MUTE , AMP_OUT_MUTE );
@@ -3713,6 +3714,13 @@ static void alc225_init(struct hda_codec *codec)
3713
3714
hda_nid_t hp_pin = alc_get_hp_pin (spec );
3714
3715
bool hp1_pin_sense , hp2_pin_sense ;
3715
3716
3717
+ if (spec -> ultra_low_power ) {
3718
+ alc_update_coef_idx (codec , 0x08 , 0x0f << 2 , 3 <<2 );
3719
+ alc_update_coef_idx (codec , 0x0e , 7 <<6 , 7 <<6 );
3720
+ alc_update_coef_idx (codec , 0x33 , 1 <<11 , 0 );
3721
+ msleep (30 );
3722
+ }
3723
+
3716
3724
if (spec -> codec_variant != ALC269_TYPE_ALC287 &&
3717
3725
spec -> codec_variant != ALC269_TYPE_ALC245 )
3718
3726
/* required only at boot or S3 and S4 resume time */
@@ -3734,12 +3742,6 @@ static void alc225_init(struct hda_codec *codec)
3734
3742
msleep (2 );
3735
3743
3736
3744
alc_update_coefex_idx (codec , 0x57 , 0x04 , 0x0007 , 0x1 ); /* Low power */
3737
- if (spec -> ultra_low_power ) {
3738
- alc_update_coef_idx (codec , 0x08 , 0x0f << 2 , 3 <<2 );
3739
- alc_update_coef_idx (codec , 0x0e , 7 <<6 , 7 <<6 );
3740
- alc_update_coef_idx (codec , 0x33 , 1 <<11 , 0 );
3741
- msleep (30 );
3742
- }
3743
3745
3744
3746
if (hp1_pin_sense || spec -> ultra_low_power )
3745
3747
snd_hda_codec_write (codec , hp_pin , 0 ,
0 commit comments