mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: HDA: Fix automute on Thinkpad L412/L512 ALSA: HDA: Fix dmesg output of HDMI supported bits ALSA: fix invalid hardware.h include in ac97c for AVR32 architecture ASoC: correct link specifications for corgi, poodle and spitz ASoC: Samsung: Fix outdated cpu_dai_name for s3c24xx i2s ASoC: Fix codec device id format used by some dai_links ALSA: azt3328 - fix broken AZF_FMT_XLATE macro ALSA: Xonar, CS43xx: Don't overrun static array ASoC: Handle low measured DC offsets for wm_hubs devices ASoC: da8xx/omap-l1xx: match codec_name with i2c ids ASoC: WM8994: fix wrong value in tristate function ASoC: WM8995: Fix incorrect use of snd_soc_update_bits()
This commit is contained in:
commit
7bfeea05d9
|
@ -33,9 +33,12 @@
|
|||
#include <linux/dw_dmac.h>
|
||||
|
||||
#include <mach/cpu.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/gpio.h>
|
||||
|
||||
#ifdef CONFIG_ARCH_AT91
|
||||
#include <mach/hardware.h>
|
||||
#endif
|
||||
|
||||
#include "ac97c.h"
|
||||
|
||||
enum {
|
||||
|
|
|
@ -979,31 +979,25 @@ snd_azf3328_codec_setfmt(struct snd_azf3328_codec_data *codec,
|
|||
|
||||
snd_azf3328_dbgcallenter();
|
||||
switch (bitrate) {
|
||||
#define AZF_FMT_XLATE(in_freq, out_bits) \
|
||||
do { \
|
||||
case AZF_FREQ_ ## in_freq: \
|
||||
freq = SOUNDFORMAT_FREQ_ ## out_bits; \
|
||||
break; \
|
||||
} while (0);
|
||||
AZF_FMT_XLATE(4000, SUSPECTED_4000)
|
||||
AZF_FMT_XLATE(4800, SUSPECTED_4800)
|
||||
/* the AZF3328 names it "5510" for some strange reason: */
|
||||
AZF_FMT_XLATE(5512, 5510)
|
||||
AZF_FMT_XLATE(6620, 6620)
|
||||
AZF_FMT_XLATE(8000, 8000)
|
||||
AZF_FMT_XLATE(9600, 9600)
|
||||
AZF_FMT_XLATE(11025, 11025)
|
||||
AZF_FMT_XLATE(13240, SUSPECTED_13240)
|
||||
AZF_FMT_XLATE(16000, 16000)
|
||||
AZF_FMT_XLATE(22050, 22050)
|
||||
AZF_FMT_XLATE(32000, 32000)
|
||||
case AZF_FREQ_4000: freq = SOUNDFORMAT_FREQ_SUSPECTED_4000; break;
|
||||
case AZF_FREQ_4800: freq = SOUNDFORMAT_FREQ_SUSPECTED_4800; break;
|
||||
case AZF_FREQ_5512:
|
||||
/* the AZF3328 names it "5510" for some strange reason */
|
||||
freq = SOUNDFORMAT_FREQ_5510; break;
|
||||
case AZF_FREQ_6620: freq = SOUNDFORMAT_FREQ_6620; break;
|
||||
case AZF_FREQ_8000: freq = SOUNDFORMAT_FREQ_8000; break;
|
||||
case AZF_FREQ_9600: freq = SOUNDFORMAT_FREQ_9600; break;
|
||||
case AZF_FREQ_11025: freq = SOUNDFORMAT_FREQ_11025; break;
|
||||
case AZF_FREQ_13240: freq = SOUNDFORMAT_FREQ_SUSPECTED_13240; break;
|
||||
case AZF_FREQ_16000: freq = SOUNDFORMAT_FREQ_16000; break;
|
||||
case AZF_FREQ_22050: freq = SOUNDFORMAT_FREQ_22050; break;
|
||||
case AZF_FREQ_32000: freq = SOUNDFORMAT_FREQ_32000; break;
|
||||
default:
|
||||
snd_printk(KERN_WARNING "unknown bitrate %d, assuming 44.1kHz!\n", bitrate);
|
||||
/* fall-through */
|
||||
AZF_FMT_XLATE(44100, 44100)
|
||||
AZF_FMT_XLATE(48000, 48000)
|
||||
AZF_FMT_XLATE(66200, SUSPECTED_66200)
|
||||
#undef AZF_FMT_XLATE
|
||||
case AZF_FREQ_44100: freq = SOUNDFORMAT_FREQ_44100; break;
|
||||
case AZF_FREQ_48000: freq = SOUNDFORMAT_FREQ_48000; break;
|
||||
case AZF_FREQ_66200: freq = SOUNDFORMAT_FREQ_SUSPECTED_66200; break;
|
||||
}
|
||||
/* val = 0xff07; 3m27.993s (65301Hz; -> 64000Hz???) hmm, 66120, 65967, 66123 */
|
||||
/* val = 0xff09; 17m15.098s (13123,478Hz; -> 12000Hz???) hmm, 13237.2Hz? */
|
||||
|
|
|
@ -381,7 +381,7 @@ static void hdmi_show_short_audio_desc(struct cea_sad *a)
|
|||
snd_print_pcm_rates(a->rates, buf, sizeof(buf));
|
||||
|
||||
if (a->format == AUDIO_CODING_TYPE_LPCM)
|
||||
snd_print_pcm_bits(a->sample_bits, buf2 + 8, sizeof(buf2 - 8));
|
||||
snd_print_pcm_bits(a->sample_bits, buf2 + 8, sizeof(buf2) - 8);
|
||||
else if (a->max_bitrate)
|
||||
snprintf(buf2, sizeof(buf2),
|
||||
", max bitrate = %d", a->max_bitrate);
|
||||
|
|
|
@ -14954,9 +14954,11 @@ static struct snd_pci_quirk alc269_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
|
||||
SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
|
||||
SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z),
|
||||
SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
|
||||
SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
|
||||
SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE),
|
||||
SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE),
|
||||
SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE),
|
||||
SND_PCI_QUIRK(0x17aa, 0x21ca, "Thinkpad L412", ALC269_FIXUP_SKU_IGNORE),
|
||||
SND_PCI_QUIRK(0x17aa, 0x21e9, "Thinkpad Edge 15", ALC269_FIXUP_SKU_IGNORE),
|
||||
SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
|
||||
SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD),
|
||||
{}
|
||||
|
|
|
@ -392,7 +392,7 @@ static void dump_d1_registers(struct oxygen *chip,
|
|||
unsigned int i;
|
||||
|
||||
snd_iprintf(buffer, "\nCS4398: 7?");
|
||||
for (i = 2; i <= 8; ++i)
|
||||
for (i = 2; i < 8; ++i)
|
||||
snd_iprintf(buffer, " %02x", data->cs4398_regs[i]);
|
||||
snd_iprintf(buffer, "\n");
|
||||
dump_cs4362a_registers(data, buffer);
|
||||
|
|
|
@ -129,7 +129,7 @@ static struct snd_soc_dai_link afeb9260_dai = {
|
|||
.cpu_dai_name = "atmel-ssc-dai.0",
|
||||
.codec_dai_name = "tlv320aic23-hifi",
|
||||
.platform_name = "atmel_pcm-audio",
|
||||
.codec_name = "tlv320aic23-codec.0-0x1a",
|
||||
.codec_name = "tlv320aic23-codec.0-001a",
|
||||
.init = afeb9260_tlv320aic23_init,
|
||||
.ops = &afeb9260_ops,
|
||||
};
|
||||
|
|
|
@ -119,7 +119,7 @@ static struct snd_soc_dai_link bf5xx_ssm2602_dai = {
|
|||
.cpu_dai_name = "bf5xx-i2s",
|
||||
.codec_dai_name = "ssm2602-hifi",
|
||||
.platform_name = "bf5xx-pcm-audio",
|
||||
.codec_name = "ssm2602-codec.0-0x1b",
|
||||
.codec_name = "ssm2602-codec.0-001b",
|
||||
.ops = &bf5xx_ssm2602_ops,
|
||||
};
|
||||
|
||||
|
|
|
@ -2386,7 +2386,7 @@ static int wm8994_set_tristate(struct snd_soc_dai *codec_dai, int tristate)
|
|||
else
|
||||
val = 0;
|
||||
|
||||
return snd_soc_update_bits(codec, reg, mask, reg);
|
||||
return snd_soc_update_bits(codec, reg, mask, val);
|
||||
}
|
||||
|
||||
#define WM8994_RATES SNDRV_PCM_RATE_8000_96000
|
||||
|
|
|
@ -1223,7 +1223,7 @@ static int wm8995_set_tristate(struct snd_soc_dai *codec_dai, int tristate)
|
|||
else
|
||||
val = 0;
|
||||
|
||||
return snd_soc_update_bits(codec, reg, mask, reg);
|
||||
return snd_soc_update_bits(codec, reg, mask, val);
|
||||
}
|
||||
|
||||
/* The size in bits of the FLL divide multiplied by 10
|
||||
|
|
|
@ -91,6 +91,7 @@ static void wait_for_dc_servo(struct snd_soc_codec *codec, unsigned int op)
|
|||
static void calibrate_dc_servo(struct snd_soc_codec *codec)
|
||||
{
|
||||
struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec);
|
||||
s8 offset;
|
||||
u16 reg, reg_l, reg_r, dcs_cfg;
|
||||
|
||||
/* If we're using a digital only path and have a previously
|
||||
|
@ -149,16 +150,14 @@ static void calibrate_dc_servo(struct snd_soc_codec *codec)
|
|||
hubs->dcs_codes);
|
||||
|
||||
/* HPOUT1L */
|
||||
if (reg_l + hubs->dcs_codes > 0 &&
|
||||
reg_l + hubs->dcs_codes < 0xff)
|
||||
reg_l += hubs->dcs_codes;
|
||||
dcs_cfg = reg_l << WM8993_DCS_DAC_WR_VAL_1_SHIFT;
|
||||
offset = reg_l;
|
||||
offset += hubs->dcs_codes;
|
||||
dcs_cfg = (u8)offset << WM8993_DCS_DAC_WR_VAL_1_SHIFT;
|
||||
|
||||
/* HPOUT1R */
|
||||
if (reg_r + hubs->dcs_codes > 0 &&
|
||||
reg_r + hubs->dcs_codes < 0xff)
|
||||
reg_r += hubs->dcs_codes;
|
||||
dcs_cfg |= reg_r;
|
||||
offset = reg_r;
|
||||
offset += hubs->dcs_codes;
|
||||
dcs_cfg |= (u8)offset;
|
||||
|
||||
dev_dbg(codec->dev, "DCS result: %x\n", dcs_cfg);
|
||||
|
||||
|
|
|
@ -223,7 +223,7 @@ static struct snd_soc_dai_link da8xx_evm_dai = {
|
|||
.stream_name = "AIC3X",
|
||||
.cpu_dai_name= "davinci-mcasp.0",
|
||||
.codec_dai_name = "tlv320aic3x-hifi",
|
||||
.codec_name = "tlv320aic3x-codec.0-001a",
|
||||
.codec_name = "tlv320aic3x-codec.1-0018",
|
||||
.platform_name = "davinci-pcm-audio",
|
||||
.init = evm_aic3x_init,
|
||||
.ops = &evm_ops,
|
||||
|
|
|
@ -307,10 +307,10 @@ static int corgi_wm8731_init(struct snd_soc_pcm_runtime *rtd)
|
|||
static struct snd_soc_dai_link corgi_dai = {
|
||||
.name = "WM8731",
|
||||
.stream_name = "WM8731",
|
||||
.cpu_dai_name = "pxa-is2-dai",
|
||||
.cpu_dai_name = "pxa2xx-i2s",
|
||||
.codec_dai_name = "wm8731-hifi",
|
||||
.platform_name = "pxa-pcm-audio",
|
||||
.codec_name = "wm8731-codec-0.001a",
|
||||
.codec_name = "wm8731-codec-0.001b",
|
||||
.init = corgi_wm8731_init,
|
||||
.ops = &corgi_ops,
|
||||
};
|
||||
|
|
|
@ -276,7 +276,7 @@ static struct snd_soc_dai_link poodle_dai = {
|
|||
.cpu_dai_name = "pxa2xx-i2s",
|
||||
.codec_dai_name = "wm8731-hifi",
|
||||
.platform_name = "pxa-pcm-audio",
|
||||
.codec_name = "wm8731-codec.0-001a",
|
||||
.codec_name = "wm8731-codec.0-001b",
|
||||
.init = poodle_wm8731_init,
|
||||
.ops = &poodle_ops,
|
||||
};
|
||||
|
|
|
@ -315,10 +315,10 @@ static int spitz_wm8750_init(struct snd_soc_pcm_runtime *rtd)
|
|||
static struct snd_soc_dai_link spitz_dai = {
|
||||
.name = "wm8750",
|
||||
.stream_name = "WM8750",
|
||||
.cpu_dai_name = "pxa-is2",
|
||||
.cpu_dai_name = "pxa2xx-i2s",
|
||||
.codec_dai_name = "wm8750-hifi",
|
||||
.platform_name = "pxa-pcm-audio",
|
||||
.codec_name = "wm8750-codec.0-001a",
|
||||
.codec_name = "wm8750-codec.0-001b",
|
||||
.init = spitz_wm8750_init,
|
||||
.ops = &spitz_ops,
|
||||
};
|
||||
|
|
|
@ -397,11 +397,11 @@ static struct snd_soc_dai_link neo1973_gta02_dai[] = {
|
|||
{ /* Hifi Playback - for similatious use with voice below */
|
||||
.name = "WM8753",
|
||||
.stream_name = "WM8753 HiFi",
|
||||
.cpu_dai_name = "s3c24xx-i2s",
|
||||
.cpu_dai_name = "s3c24xx-iis",
|
||||
.codec_dai_name = "wm8753-hifi",
|
||||
.init = neo1973_gta02_wm8753_init,
|
||||
.platform_name = "samsung-audio",
|
||||
.codec_name = "wm8753-codec.0-0x1a",
|
||||
.codec_name = "wm8753-codec.0-001a",
|
||||
.ops = &neo1973_gta02_hifi_ops,
|
||||
},
|
||||
{ /* Voice via BT */
|
||||
|
@ -410,7 +410,7 @@ static struct snd_soc_dai_link neo1973_gta02_dai[] = {
|
|||
.cpu_dai_name = "bluetooth-dai",
|
||||
.codec_dai_name = "wm8753-voice",
|
||||
.ops = &neo1973_gta02_voice_ops,
|
||||
.codec_name = "wm8753-codec.0-0x1a",
|
||||
.codec_name = "wm8753-codec.0-001a",
|
||||
.platform_name = "samsung-audio",
|
||||
},
|
||||
};
|
||||
|
|
|
@ -559,9 +559,9 @@ static struct snd_soc_dai_link neo1973_dai[] = {
|
|||
.name = "WM8753",
|
||||
.stream_name = "WM8753 HiFi",
|
||||
.platform_name = "samsung-audio",
|
||||
.cpu_dai_name = "s3c24xx-i2s",
|
||||
.cpu_dai_name = "s3c24xx-iis",
|
||||
.codec_dai_name = "wm8753-hifi",
|
||||
.codec_name = "wm8753-codec.0-0x1a",
|
||||
.codec_name = "wm8753-codec.0-001a",
|
||||
.init = neo1973_wm8753_init,
|
||||
.ops = &neo1973_hifi_ops,
|
||||
},
|
||||
|
@ -571,7 +571,7 @@ static struct snd_soc_dai_link neo1973_dai[] = {
|
|||
.platform_name = "samsung-audio",
|
||||
.cpu_dai_name = "bluetooth-dai",
|
||||
.codec_dai_name = "wm8753-voice",
|
||||
.codec_name = "wm8753-codec.0-0x1a",
|
||||
.codec_name = "wm8753-codec.0-001a",
|
||||
.ops = &neo1973_voice_ops,
|
||||
},
|
||||
};
|
||||
|
|
|
@ -94,8 +94,8 @@ static int simtec_hermes_init(struct snd_soc_pcm_runtime *rtd)
|
|||
static struct snd_soc_dai_link simtec_dai_aic33 = {
|
||||
.name = "tlv320aic33",
|
||||
.stream_name = "TLV320AIC33",
|
||||
.codec_name = "tlv320aic3x-codec.0-0x1a",
|
||||
.cpu_dai_name = "s3c24xx-i2s",
|
||||
.codec_name = "tlv320aic3x-codec.0-001a",
|
||||
.cpu_dai_name = "s3c24xx-iis",
|
||||
.codec_dai_name = "tlv320aic3x-hifi",
|
||||
.platform_name = "samsung-audio",
|
||||
.init = simtec_hermes_init,
|
||||
|
|
|
@ -85,8 +85,8 @@ static int simtec_tlv320aic23_init(struct snd_soc_pcm_runtime *rtd)
|
|||
static struct snd_soc_dai_link simtec_dai_aic23 = {
|
||||
.name = "tlv320aic23",
|
||||
.stream_name = "TLV320AIC23",
|
||||
.codec_name = "tlv320aic3x-codec.0-0x1a",
|
||||
.cpu_dai_name = "s3c24xx-i2s",
|
||||
.codec_name = "tlv320aic3x-codec.0-001a",
|
||||
.cpu_dai_name = "s3c24xx-iis",
|
||||
.codec_dai_name = "tlv320aic3x-hifi",
|
||||
.platform_name = "samsung-audio",
|
||||
.init = simtec_tlv320aic23_init,
|
||||
|
|
|
@ -228,7 +228,7 @@ static struct snd_soc_dai_link s3c24xx_uda134x_dai_link = {
|
|||
.stream_name = "UDA134X",
|
||||
.codec_name = "uda134x-hifi",
|
||||
.codec_dai_name = "uda134x-hifi",
|
||||
.cpu_dai_name = "s3c24xx-i2s",
|
||||
.cpu_dai_name = "s3c24xx-iis",
|
||||
.ops = &s3c24xx_uda134x_ops,
|
||||
.platform_name = "samsung-audio",
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue