Updated from Linux LTS 3.10.25 to 3.10.26
This commit is contained in:
@@ -1931,6 +1931,8 @@ static int wait_for_avail(struct snd_pcm_substream *substream,
|
||||
case SNDRV_PCM_STATE_DISCONNECTED:
|
||||
err = -EBADFD;
|
||||
goto _endloop;
|
||||
case SNDRV_PCM_STATE_PAUSED:
|
||||
continue;
|
||||
}
|
||||
if (!tout) {
|
||||
snd_printd("%s write error (DMA or IRQ trouble?)\n",
|
||||
|
||||
@@ -1094,6 +1094,10 @@ static void check_probe_mask(struct azx *chip, int dev)
|
||||
* white/black-list for enable_msi
|
||||
*/
|
||||
static struct snd_pci_quirk msi_black_list[] = {
|
||||
SND_PCI_QUIRK(0x103c, 0x2191, "HP", 0), /* AMD Hudson */
|
||||
SND_PCI_QUIRK(0x103c, 0x2192, "HP", 0), /* AMD Hudson */
|
||||
SND_PCI_QUIRK(0x103c, 0x21f7, "HP", 0), /* AMD Hudson */
|
||||
SND_PCI_QUIRK(0x103c, 0x21fa, "HP", 0), /* AMD Hudson */
|
||||
SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */
|
||||
SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */
|
||||
SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */
|
||||
|
||||
@@ -897,7 +897,7 @@ static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
|
||||
{ "HPOUT2R", NULL, "OUT2R" },
|
||||
|
||||
{ "HPOUT3L", NULL, "OUT3L" },
|
||||
{ "HPOUT3R", NULL, "OUT3L" },
|
||||
{ "HPOUT3R", NULL, "OUT3R" },
|
||||
|
||||
{ "SPKOUTLN", NULL, "OUT4L" },
|
||||
{ "SPKOUTLP", NULL, "OUT4L" },
|
||||
|
||||
@@ -1449,7 +1449,7 @@ static int wm8904_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
|
||||
case SND_SOC_DAIFMT_DSP_B:
|
||||
aif1 |= WM8904_AIF_LRCLK_INV;
|
||||
aif1 |= 0x3 | WM8904_AIF_LRCLK_INV;
|
||||
case SND_SOC_DAIFMT_DSP_A:
|
||||
aif1 |= 0x3;
|
||||
break;
|
||||
|
||||
@@ -1073,13 +1073,17 @@ static int wm_adsp2_ena(struct wm_adsp *dsp)
|
||||
return ret;
|
||||
|
||||
/* Wait for the RAM to start, should be near instantaneous */
|
||||
count = 0;
|
||||
do {
|
||||
for (count = 0; count < 10; ++count) {
|
||||
ret = regmap_read(dsp->regmap, dsp->base + ADSP2_STATUS1,
|
||||
&val);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
} while (!(val & ADSP2_RAM_RDY) && ++count < 10);
|
||||
|
||||
if (val & ADSP2_RAM_RDY)
|
||||
break;
|
||||
|
||||
msleep(1);
|
||||
}
|
||||
|
||||
if (!(val & ADSP2_RAM_RDY)) {
|
||||
adsp_err(dsp, "Failed to start DSP RAM\n");
|
||||
|
||||
@@ -74,7 +74,7 @@ static int tegra20_i2s_set_fmt(struct snd_soc_dai *dai,
|
||||
unsigned int fmt)
|
||||
{
|
||||
struct tegra20_i2s *i2s = snd_soc_dai_get_drvdata(dai);
|
||||
unsigned int mask, val;
|
||||
unsigned int mask = 0, val = 0;
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
|
||||
case SND_SOC_DAIFMT_NB_NF:
|
||||
@@ -83,10 +83,10 @@ static int tegra20_i2s_set_fmt(struct snd_soc_dai *dai,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
mask = TEGRA20_I2S_CTRL_MASTER_ENABLE;
|
||||
mask |= TEGRA20_I2S_CTRL_MASTER_ENABLE;
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
val = TEGRA20_I2S_CTRL_MASTER_ENABLE;
|
||||
val |= TEGRA20_I2S_CTRL_MASTER_ENABLE;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
break;
|
||||
|
||||
@@ -67,15 +67,15 @@ static int tegra20_spdif_hw_params(struct snd_pcm_substream *substream,
|
||||
{
|
||||
struct device *dev = dai->dev;
|
||||
struct tegra20_spdif *spdif = snd_soc_dai_get_drvdata(dai);
|
||||
unsigned int mask, val;
|
||||
unsigned int mask = 0, val = 0;
|
||||
int ret, spdifclock;
|
||||
|
||||
mask = TEGRA20_SPDIF_CTRL_PACK |
|
||||
TEGRA20_SPDIF_CTRL_BIT_MODE_MASK;
|
||||
mask |= TEGRA20_SPDIF_CTRL_PACK |
|
||||
TEGRA20_SPDIF_CTRL_BIT_MODE_MASK;
|
||||
switch (params_format(params)) {
|
||||
case SNDRV_PCM_FORMAT_S16_LE:
|
||||
val = TEGRA20_SPDIF_CTRL_PACK |
|
||||
TEGRA20_SPDIF_CTRL_BIT_MODE_16BIT;
|
||||
val |= TEGRA20_SPDIF_CTRL_PACK |
|
||||
TEGRA20_SPDIF_CTRL_BIT_MODE_16BIT;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
|
||||
@@ -118,7 +118,7 @@ static int tegra30_i2s_set_fmt(struct snd_soc_dai *dai,
|
||||
unsigned int fmt)
|
||||
{
|
||||
struct tegra30_i2s *i2s = snd_soc_dai_get_drvdata(dai);
|
||||
unsigned int mask, val;
|
||||
unsigned int mask = 0, val = 0;
|
||||
|
||||
switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
|
||||
case SND_SOC_DAIFMT_NB_NF:
|
||||
@@ -127,10 +127,10 @@ static int tegra30_i2s_set_fmt(struct snd_soc_dai *dai,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
mask = TEGRA30_I2S_CTRL_MASTER_ENABLE;
|
||||
mask |= TEGRA30_I2S_CTRL_MASTER_ENABLE;
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
val = TEGRA30_I2S_CTRL_MASTER_ENABLE;
|
||||
val |= TEGRA30_I2S_CTRL_MASTER_ENABLE;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_CBM_CFM:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user