Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a184d4e4 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'for-linus' into for-next

Need to merge the fixes regarding EPSS.

Conflicts:
	sound/pci/hda/hda_codec.c
parents 5d908ab9 c36b5b05
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -233,7 +233,7 @@ static int __devinit snd_card_als100_probe(int 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);
		return error;
	}
+4 −2
Original line number Diff line number Diff line
@@ -1327,6 +1327,9 @@ int /*__devinit*/ snd_hda_codec_new(struct hda_bus *bus,
	if (!codec->d3_stop_clk)
		bus->power_keep_link_on = 1;
#endif
	codec->epss = snd_hda_codec_get_supported_ps(codec,
					codec->afg ? codec->afg : codec->mfg,
					AC_PWRST_EPSS);

	/* power-up all before initialization */
	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 */
	if (power_state == AC_PWRST_D3) {
		/* transition time less than 10ms for power down */
		bool epss = snd_hda_codec_get_supported_ps(codec, fg, AC_PWRST_EPSS);
		msleep(epss ? 10 : 100);
		msleep(codec->epss ? 10 : 100);
	}

	/* repeat power states setting at most 10 times*/
+1 −0
Original line number Diff line number Diff line
@@ -866,6 +866,7 @@ struct hda_codec {
	unsigned int ignore_misc_bit:1; /* ignore MISC_NO_PRESENCE bit */
	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 epss:1;		/* supporting EPSS? */
#ifdef CONFIG_SND_HDA_POWER_SAVE
	unsigned int power_on :1;	/* current (global) power-state */
	int power_transition;	/* power-state in transition */
+4 −0
Original line number Diff line number Diff line
@@ -4541,6 +4541,9 @@ static void stac92xx_line_out_detect(struct hda_codec *codec,
	struct auto_pin_cfg *cfg = &spec->autocfg;
	int i;

	if (cfg->speaker_outs == 0)
		return;

	for (i = 0; i < cfg->line_outs; i++) {
		if (presence)
			break;
@@ -5529,6 +5532,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
		snd_hda_codec_set_pincfg(codec, 0xf, 0x2181205e);
	}

	codec->epss = 0; /* longer delay needed for D3 */
	codec->no_trigger_sense = 1;
	codec->spec = spec;