sound fixes for 3.4-rc1
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 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) iQIcBAABAgAGBQJPdX6XAAoJEGwxgFQ9KSmkFMcP+wTpqgoQgfcb6IMCY9KVGstd Uy2LgocxKSwcIv7a+OTN4WTfCJBjf045jY+coKHRhO0ybMqLIyqqeLzyCShksKdB PQ8+T+deIgezkhWuNdr+e+h+v39lRHQOPLiDDzEbToKryGxmx2YVbGh9b/4/oJfK U7oXYbMZu1RBm4btUR5jfyfC8dKMPwB0/gRG6662hw/WqkNalQyXnPvJPhl+Ky+J fbC2sggPlSwz6IzUdX023B7zuzUexiY3CVqZrFFskMiAEwB4xDIJ+aroQYhRSO+f C93EB4f3gQ0zr65n07QFIHICUogLDKdbx9GLUdfrFwoWMeKamd0YZBZNTIUEzrtc OkrLU5IDKxB+smjGul0SvJV/EkwYYCIx4dASoCUBORHAtAmEYrbUnHR/ga5c+i0X YIB5mvurSCYNZesmSzLeET6F7zS1VHbaK9qopHDrivK/ZMe90Y06D/gWuhNySHOm lwo4vepDG5rlDQBxVhHQGI7J1JXHBC8KI/drSROBJKb3XLIt76Qf0nmyTfRyLAqa xF3axkB53uiAyK9YXY2hWcOPH2klNCat9y45fQ9Z4o2wU0t74lO2VuQJzsePGWKc MP6cGAQ75G86jPPbsOY650AS4Lu4t4ZRDal/5q/Y+c5gLqM6ZoHI7RMmpSVa8uUS LTrgwwBT/V87snKMwAKW =cW/4 -----END PGP SIGNATURE----- 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
This commit is contained in:
commit
48a46752a9
|
@ -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;
|
||||||
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.
|
||||||
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)
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
|
|
||||||
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)
|
||||||
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)
|
||||||
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);
|
||||||
|
|
Loading…
Reference in New Issue