Commit 48a46752 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "A collection of small fixes for 3.4-rc1, including
   - mic-recording regression fix for Realtek codec
   - clean-up of dmaengine parameter mess
   - WM8894 calibration tweak
   - minor fixes for asihpi and some bool module parms"

* tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: fix isa/opti9xx module param type
  sound: fix oss/msnd_pinnacle module param type
  ALSA: asihpi - fix return type of hpios_locked_mem_alloc()
  ASoC: dmaengine_pcm: use dmaengine cyclic wrapper
  ASoC: Add extra parameter to device_prep_dma_cyclic
  ALSA: hda/realtek - Fix ADC assignment with a shared HP/Mic pin
  ASoC: wm8994: Update WM8994 DCS calibration
parents 59f2fe32 c578ae00
...@@ -65,7 +65,7 @@ static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */ ...@@ -65,7 +65,7 @@ static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */
static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */ static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */
//static bool enable = SNDRV_DEFAULT_ENABLE1; /* Enable this card */ //static bool enable = SNDRV_DEFAULT_ENABLE1; /* Enable this card */
#ifdef CONFIG_PNP #ifdef CONFIG_PNP
static int isapnp = 1; /* Enable ISA PnP detection */ static bool isapnp = true; /* Enable ISA PnP detection */
#endif #endif
static long port = SNDRV_DEFAULT_PORT1; /* 0x530,0xe80,0xf40,0x604 */ static long port = SNDRV_DEFAULT_PORT1; /* 0x530,0xe80,0xf40,0x604 */
static long mpu_port = SNDRV_DEFAULT_PORT1; /* 0x300,0x310,0x320,0x330 */ static long mpu_port = SNDRV_DEFAULT_PORT1; /* 0x300,0x310,0x320,0x330 */
......
...@@ -1631,7 +1631,7 @@ static int ide_irq __initdata = 0; ...@@ -1631,7 +1631,7 @@ static int ide_irq __initdata = 0;
static int joystick_io __initdata = 0; static int joystick_io __initdata = 0;
/* If we have the digital daugherboard... */ /* If we have the digital daugherboard... */
static int digital __initdata = 0; static bool digital __initdata = false;
#endif #endif
static int fifosize __initdata = DEFFIFOSIZE; static int fifosize __initdata = DEFFIFOSIZE;
......
...@@ -42,7 +42,7 @@ On error *pLockedMemHandle marked invalid, non-zero returned. ...@@ -42,7 +42,7 @@ On error *pLockedMemHandle marked invalid, non-zero returned.
If this function succeeds, then HpiOs_LockedMem_GetVirtAddr() and If this function succeeds, then HpiOs_LockedMem_GetVirtAddr() and
HpiOs_LockedMem_GetPyhsAddr() will always succed on the returned handle. HpiOs_LockedMem_GetPyhsAddr() will always succed on the returned handle.
*/ */
u16 hpios_locked_mem_alloc(struct consistent_dma_area *p_locked_mem_handle, int hpios_locked_mem_alloc(struct consistent_dma_area *p_locked_mem_handle,
/**< memory handle */ /**< memory handle */
u32 size, /**< Size in bytes to allocate */ u32 size, /**< Size in bytes to allocate */
struct pci_dev *p_os_reference struct pci_dev *p_os_reference
......
...@@ -43,7 +43,7 @@ void hpios_delay_micro_seconds(u32 num_micro_sec) ...@@ -43,7 +43,7 @@ void hpios_delay_micro_seconds(u32 num_micro_sec)
On error, return -ENOMEM, and *pMemArea.size = 0 On error, return -ENOMEM, and *pMemArea.size = 0
*/ */
u16 hpios_locked_mem_alloc(struct consistent_dma_area *p_mem_area, u32 size, int hpios_locked_mem_alloc(struct consistent_dma_area *p_mem_area, u32 size,
struct pci_dev *pdev) struct pci_dev *pdev)
{ {
/*?? any benefit in using managed dmam_alloc_coherent? */ /*?? any benefit in using managed dmam_alloc_coherent? */
......
...@@ -2717,9 +2717,6 @@ static int alc_auto_fill_adc_caps(struct hda_codec *codec) ...@@ -2717,9 +2717,6 @@ static int alc_auto_fill_adc_caps(struct hda_codec *codec)
int max_nums = ARRAY_SIZE(spec->private_adc_nids); int max_nums = ARRAY_SIZE(spec->private_adc_nids);
int i, nums = 0; int i, nums = 0;
if (spec->shared_mic_hp)
max_nums = 1; /* no multi streams with the shared HP/mic */
nid = codec->start_nid; nid = codec->start_nid;
for (i = 0; i < codec->num_nodes; i++, nid++) { for (i = 0; i < codec->num_nodes; i++, nid++) {
hda_nid_t src; hda_nid_t src;
...@@ -4076,6 +4073,7 @@ static void alc_remove_invalid_adc_nids(struct hda_codec *codec) ...@@ -4076,6 +4073,7 @@ static void alc_remove_invalid_adc_nids(struct hda_codec *codec)
if (spec->dyn_adc_switch) if (spec->dyn_adc_switch)
return; return;
again:
nums = 0; nums = 0;
for (n = 0; n < spec->num_adc_nids; n++) { for (n = 0; n < spec->num_adc_nids; n++) {
hda_nid_t cap = spec->private_capsrc_nids[n]; hda_nid_t cap = spec->private_capsrc_nids[n];
...@@ -4096,6 +4094,11 @@ static void alc_remove_invalid_adc_nids(struct hda_codec *codec) ...@@ -4096,6 +4094,11 @@ static void alc_remove_invalid_adc_nids(struct hda_codec *codec)
if (!nums) { if (!nums) {
/* check whether ADC-switch is possible */ /* check whether ADC-switch is possible */
if (!alc_check_dyn_adc_switch(codec)) { if (!alc_check_dyn_adc_switch(codec)) {
if (spec->shared_mic_hp) {
spec->shared_mic_hp = 0;
spec->private_imux[0].num_items = 1;
goto again;
}
printk(KERN_WARNING "hda_codec: %s: no valid ADC found;" printk(KERN_WARNING "hda_codec: %s: no valid ADC found;"
" using fallback 0x%x\n", " using fallback 0x%x\n",
codec->chip_name, spec->private_adc_nids[0]); codec->chip_name, spec->private_adc_nids[0]);
...@@ -4113,7 +4116,7 @@ static void alc_remove_invalid_adc_nids(struct hda_codec *codec) ...@@ -4113,7 +4116,7 @@ static void alc_remove_invalid_adc_nids(struct hda_codec *codec)
if (spec->auto_mic) if (spec->auto_mic)
alc_auto_mic_check_imux(codec); /* check auto-mic setups */ alc_auto_mic_check_imux(codec); /* check auto-mic setups */
else if (spec->input_mux->num_items == 1) else if (spec->input_mux->num_items == 1 || spec->shared_mic_hp)
spec->num_adc_nids = 1; /* reduce to a single ADC */ spec->num_adc_nids = 1; /* reduce to a single ADC */
} }
......
...@@ -3629,7 +3629,7 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec) ...@@ -3629,7 +3629,7 @@ static int wm8994_codec_probe(struct snd_soc_codec *codec)
case 2: case 2:
case 3: case 3:
wm8994->hubs.dcs_codes_l = -9; wm8994->hubs.dcs_codes_l = -9;
wm8994->hubs.dcs_codes_r = -5; wm8994->hubs.dcs_codes_r = -7;
break; break;
default: default:
break; break;
......
...@@ -143,7 +143,7 @@ static int dmaengine_pcm_prepare_and_submit(struct snd_pcm_substream *substream) ...@@ -143,7 +143,7 @@ static int dmaengine_pcm_prepare_and_submit(struct snd_pcm_substream *substream)
direction = snd_pcm_substream_to_dma_direction(substream); direction = snd_pcm_substream_to_dma_direction(substream);
prtd->pos = 0; prtd->pos = 0;
desc = chan->device->device_prep_dma_cyclic(chan, desc = dmaengine_prep_dma_cyclic(chan,
substream->runtime->dma_addr, substream->runtime->dma_addr,
snd_pcm_lib_buffer_bytes(substream), snd_pcm_lib_buffer_bytes(substream),
snd_pcm_lib_period_bytes(substream), direction); snd_pcm_lib_period_bytes(substream), direction);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment