A small fix for the SSI driver and a fix for system shutdown with modern
devices. Most of the modern devices will never get shut down normally with a visible kernel log as the systems they're in tend not to shut down often and when they do it's usually in form factors that don't have a user visible console. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJPT2d3AAoJEBus8iNuMP3d5Y0P/iM8j26/TQ27/5r9WroKKHXL BeIt+xT2hB1xuCf8KUMmq4JZUQQQZBz2mhlcR5oG93A5S6QmLXl8bXJ2qdmGb3KW YmtWo1kCMj44Z/mVt9u9lIy+EnlxrgogwCA/Ph3Fb+GppR+f27rXr87g3OaYEJgu 1W1u9AYrmJ9SkWrjSxlihfQiQ7v4gojGQKrWsG6uFq4ZJIBDah9nqsfpvT1/XdeF ciijoSk1sRAHOz92MPDRvwPxVaWbyv4ehkE3O7Zckcm+8z0bBWL26U5Nq4thhIjz CCqhqSP/22XvJxOM6xQwnH3VmxyON+F7bOdmk9fZdwEIJ5zVpvK1gkBQSeykUn6F Ow6g5L2cH2azmswWCVsUt6+NjfnpaNI/g8+J/Jy9aDQbyx0LWeN89AUJBC+KCGUL YLAzzsx2e4cKcILx6PiDhDCkoPkszacPrsoWZWr5QvNc+32HQhXX/KEqUcYHhxGR N/b046oVzLjcAfOFDoSvER5G1Ep6wJCxgNKjo+b4uYk2UYQBt/haYqSjqQwFnRi1 JjkC/FZjHTS4z1dexdSx5SGsRl+dDvr9rlmYtq+u/5SqLb+eq+iDUhberrgP6vGh P7Nkt9PEHzJ+ifqlmvJXyKf54mlozmS5MzDn9JopGnZjLp5QVHIVqdd+inqGpFSg wpwymYcKQ3BXeJC0aGQH =FzOc -----END PGP SIGNATURE----- Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus A small fix for the SSI driver and a fix for system shutdown with modern devices. Most of the modern devices will never get shut down normally with a visible kernel log as the systems they're in tend not to shut down often and when they do it's usually in form factors that don't have a user visible console.
This commit is contained in:
commit
b399997008
|
@ -112,7 +112,7 @@ static int imx_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
|
|||
break;
|
||||
case SND_SOC_DAIFMT_DSP_A:
|
||||
/* data on rising edge of bclk, frame high 1clk before data */
|
||||
strcr |= SSI_STCR_TFSL | SSI_STCR_TEFS;
|
||||
strcr |= SSI_STCR_TFSL | SSI_STCR_TXBIT0 | SSI_STCR_TEFS;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -3068,9 +3068,13 @@ static void soc_dapm_shutdown_codec(struct snd_soc_dapm_context *dapm)
|
|||
* standby.
|
||||
*/
|
||||
if (powerdown) {
|
||||
snd_soc_dapm_set_bias_level(dapm, SND_SOC_BIAS_PREPARE);
|
||||
if (dapm->bias_level == SND_SOC_BIAS_ON)
|
||||
snd_soc_dapm_set_bias_level(dapm,
|
||||
SND_SOC_BIAS_PREPARE);
|
||||
dapm_seq_run(dapm, &down_list, 0, false);
|
||||
snd_soc_dapm_set_bias_level(dapm, SND_SOC_BIAS_STANDBY);
|
||||
if (dapm->bias_level == SND_SOC_BIAS_PREPARE)
|
||||
snd_soc_dapm_set_bias_level(dapm,
|
||||
SND_SOC_BIAS_STANDBY);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3083,7 +3087,9 @@ void snd_soc_dapm_shutdown(struct snd_soc_card *card)
|
|||
|
||||
list_for_each_entry(codec, &card->codec_dev_list, list) {
|
||||
soc_dapm_shutdown_codec(&codec->dapm);
|
||||
snd_soc_dapm_set_bias_level(&codec->dapm, SND_SOC_BIAS_OFF);
|
||||
if (codec->dapm.bias_level == SND_SOC_BIAS_STANDBY)
|
||||
snd_soc_dapm_set_bias_level(&codec->dapm,
|
||||
SND_SOC_BIAS_OFF);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue