Merge branch 'for-linus' into for-next
Need to merge the fixes regarding EPSS. Conflicts: sound/pci/hda/hda_codec.c
This commit is contained in:
commit
a184d4e459
|
@ -233,7 +233,7 @@ static int __devinit snd_card_als100_probe(int dev,
|
||||||
irq[dev], dma8[dev], dma16[dev]);
|
irq[dev], dma8[dev], dma16[dev]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((error = snd_sb16dsp_pcm(chip, 0, NULL)) < 0) {
|
if ((error = snd_sb16dsp_pcm(chip, 0, &chip->pcm)) < 0) {
|
||||||
snd_card_free(card);
|
snd_card_free(card);
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1327,6 +1327,9 @@ int /*__devinit*/ snd_hda_codec_new(struct hda_bus *bus,
|
||||||
if (!codec->d3_stop_clk)
|
if (!codec->d3_stop_clk)
|
||||||
bus->power_keep_link_on = 1;
|
bus->power_keep_link_on = 1;
|
||||||
#endif
|
#endif
|
||||||
|
codec->epss = snd_hda_codec_get_supported_ps(codec,
|
||||||
|
codec->afg ? codec->afg : codec->mfg,
|
||||||
|
AC_PWRST_EPSS);
|
||||||
|
|
||||||
/* power-up all before initialization */
|
/* power-up all before initialization */
|
||||||
hda_set_power_state(codec,
|
hda_set_power_state(codec,
|
||||||
|
@ -3558,8 +3561,7 @@ static void hda_set_power_state(struct hda_codec *codec, hda_nid_t fg,
|
||||||
/* this delay seems necessary to avoid click noise at power-down */
|
/* this delay seems necessary to avoid click noise at power-down */
|
||||||
if (power_state == AC_PWRST_D3) {
|
if (power_state == AC_PWRST_D3) {
|
||||||
/* transition time less than 10ms for power down */
|
/* transition time less than 10ms for power down */
|
||||||
bool epss = snd_hda_codec_get_supported_ps(codec, fg, AC_PWRST_EPSS);
|
msleep(codec->epss ? 10 : 100);
|
||||||
msleep(epss ? 10 : 100);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* repeat power states setting at most 10 times*/
|
/* repeat power states setting at most 10 times*/
|
||||||
|
|
|
@ -866,6 +866,7 @@ struct hda_codec {
|
||||||
unsigned int ignore_misc_bit:1; /* ignore MISC_NO_PRESENCE bit */
|
unsigned int ignore_misc_bit:1; /* ignore MISC_NO_PRESENCE bit */
|
||||||
unsigned int no_jack_detect:1; /* Machine has no jack-detection */
|
unsigned int no_jack_detect:1; /* Machine has no jack-detection */
|
||||||
unsigned int pcm_format_first:1; /* PCM format must be set first */
|
unsigned int pcm_format_first:1; /* PCM format must be set first */
|
||||||
|
unsigned int epss:1; /* supporting EPSS? */
|
||||||
#ifdef CONFIG_SND_HDA_POWER_SAVE
|
#ifdef CONFIG_SND_HDA_POWER_SAVE
|
||||||
unsigned int power_on :1; /* current (global) power-state */
|
unsigned int power_on :1; /* current (global) power-state */
|
||||||
int power_transition; /* power-state in transition */
|
int power_transition; /* power-state in transition */
|
||||||
|
|
|
@ -4541,6 +4541,9 @@ static void stac92xx_line_out_detect(struct hda_codec *codec,
|
||||||
struct auto_pin_cfg *cfg = &spec->autocfg;
|
struct auto_pin_cfg *cfg = &spec->autocfg;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (cfg->speaker_outs == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
for (i = 0; i < cfg->line_outs; i++) {
|
for (i = 0; i < cfg->line_outs; i++) {
|
||||||
if (presence)
|
if (presence)
|
||||||
break;
|
break;
|
||||||
|
@ -5529,6 +5532,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
|
||||||
snd_hda_codec_set_pincfg(codec, 0xf, 0x2181205e);
|
snd_hda_codec_set_pincfg(codec, 0xf, 0x2181205e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
codec->epss = 0; /* longer delay needed for D3 */
|
||||||
codec->no_trigger_sense = 1;
|
codec->no_trigger_sense = 1;
|
||||||
codec->spec = spec;
|
codec->spec = spec;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue