Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

Pull sound fixes from Takashi Iwai:
"A fairly calm update at this time, as seen in the short log, only one
fix per person: including,

- a few ASoC fixes (da7213 dmic, ux500 AD slot, wm0010 error path)
- a copule of HD-audio fixes
- a few other misc fixes (MIPS allmodconfig, proc output in usb, old
PowerBook support)"

* tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: usb-audio: proc: use found syncmaxsize to determine feedback format
ALSA: hda - Add headset mic support for another Dell machine
ALSA: snd-aoa: Add a layout entry for PowerBook6,5
ALSA: hda - Check the activity of the NID to be powered down
sound: Fix make allmodconfig on MIPS correctly
ASoC: da7213: Fix setting dmic_samplephase and dmic_clk_rate
ASoC: ux500: Swap even/odd AD slot definitions
ASoC: wm0010: fix error return code in wm0010_boot()

+53 -37
+8
sound/aoa/fabrics/layout.c
··· 113 113 MODULE_ALIAS("aoa-device-id-14"); 114 114 MODULE_ALIAS("aoa-device-id-22"); 115 115 MODULE_ALIAS("aoa-device-id-35"); 116 + MODULE_ALIAS("aoa-device-id-44"); 116 117 117 118 /* onyx with all but microphone connected */ 118 119 static struct codec_connection onyx_connections_nomic[] = { ··· 360 359 .codecs[0] = { 361 360 .name = "tas", 362 361 .connections = tas_connections_nolineout, 362 + }, 363 + }, 364 + /* PowerBook6,5 */ 365 + { .device_id = 44, 366 + .codecs[0] = { 367 + .name = "tas", 368 + .connections = tas_connections_all, 363 369 }, 364 370 }, 365 371 /* PowerBook6,7 */
+2 -1
sound/aoa/soundbus/i2sbus/core.c
··· 200 200 * We probably cannot handle all device-id machines, 201 201 * so restrict to those we do handle for now. 202 202 */ 203 - if (id && (*id == 22 || *id == 14 || *id == 35)) { 203 + if (id && (*id == 22 || *id == 14 || *id == 35 || 204 + *id == 44)) { 204 205 snprintf(dev->sound.modalias, 32, 205 206 "aoa-device-id-%d", *id); 206 207 ok = 1;
+1 -1
sound/oss/Kconfig
··· 250 250 menuconfig SOUND_OSS 251 251 tristate "OSS sound modules" 252 252 depends on ISA_DMA_API && VIRT_TO_BUS 253 - depends on !ISA_DMA_SUPPORT_BROKEN 253 + depends on !GENERIC_ISA_DMA_SUPPORT_BROKEN 254 254 help 255 255 OSS is the Open Sound System suite of sound card drivers. They make 256 256 sound programming easier since they provide a common API. Say Y or
+7 -2
sound/pci/hda/hda_generic.c
··· 606 606 return false; 607 607 } 608 608 609 + /* check whether the NID is referred by any active paths */ 610 + #define is_active_nid_for_any(codec, nid) \ 611 + is_active_nid(codec, nid, HDA_OUTPUT, 0) 612 + 609 613 /* get the default amp value for the target state */ 610 614 static int get_amp_val_to_activate(struct hda_codec *codec, hda_nid_t nid, 611 615 int dir, unsigned int caps, bool enable) ··· 763 759 764 760 for (i = 0; i < path->depth; i++) { 765 761 hda_nid_t nid = path->path[i]; 766 - if (!snd_hda_check_power_state(codec, nid, AC_PWRST_D3)) { 762 + if (!snd_hda_check_power_state(codec, nid, AC_PWRST_D3) && 763 + !is_active_nid_for_any(codec, nid)) { 767 764 snd_hda_codec_write(codec, nid, 0, 768 765 AC_VERB_SET_POWER_STATE, 769 766 AC_PWRST_D3); ··· 4162 4157 return power_state; 4163 4158 if (get_wcaps_type(get_wcaps(codec, nid)) >= AC_WID_POWER) 4164 4159 return power_state; 4165 - if (is_active_nid(codec, nid, HDA_OUTPUT, 0)) 4160 + if (is_active_nid_for_any(codec, nid)) 4166 4161 return power_state; 4167 4162 return AC_PWRST_D3; 4168 4163 }
+1
sound/pci/hda/patch_realtek.c
··· 3482 3482 SND_PCI_QUIRK(0x1028, 0x05c9, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 3483 3483 SND_PCI_QUIRK(0x1028, 0x05ca, "Dell", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE), 3484 3484 SND_PCI_QUIRK(0x1028, 0x05cb, "Dell", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE), 3485 + SND_PCI_QUIRK(0x1028, 0x05de, "Dell", ALC269_FIXUP_DELL2_MIC_NO_PRESENCE), 3485 3486 SND_PCI_QUIRK(0x1028, 0x05e9, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 3486 3487 SND_PCI_QUIRK(0x1028, 0x05ea, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE), 3487 3488 SND_PCI_QUIRK(0x1028, 0x05eb, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+18 -18
sound/soc/codecs/ab8500-codec.h
··· 348 348 349 349 /* AB8500_ADSLOTSELX */ 350 350 #define AB8500_ADSLOTSELX_AD_OUT1_TO_SLOT_ODD 0x00 351 - #define AB8500_ADSLOTSELX_AD_OUT2_TO_SLOT_ODD 0x01 352 - #define AB8500_ADSLOTSELX_AD_OUT3_TO_SLOT_ODD 0x02 353 - #define AB8500_ADSLOTSELX_AD_OUT4_TO_SLOT_ODD 0x03 354 - #define AB8500_ADSLOTSELX_AD_OUT5_TO_SLOT_ODD 0x04 355 - #define AB8500_ADSLOTSELX_AD_OUT6_TO_SLOT_ODD 0x05 356 - #define AB8500_ADSLOTSELX_AD_OUT7_TO_SLOT_ODD 0x06 357 - #define AB8500_ADSLOTSELX_AD_OUT8_TO_SLOT_ODD 0x07 358 - #define AB8500_ADSLOTSELX_ZEROES_TO_SLOT_ODD 0x08 359 - #define AB8500_ADSLOTSELX_TRISTATE_TO_SLOT_ODD 0x0F 351 + #define AB8500_ADSLOTSELX_AD_OUT2_TO_SLOT_ODD 0x10 352 + #define AB8500_ADSLOTSELX_AD_OUT3_TO_SLOT_ODD 0x20 353 + #define AB8500_ADSLOTSELX_AD_OUT4_TO_SLOT_ODD 0x30 354 + #define AB8500_ADSLOTSELX_AD_OUT5_TO_SLOT_ODD 0x40 355 + #define AB8500_ADSLOTSELX_AD_OUT6_TO_SLOT_ODD 0x50 356 + #define AB8500_ADSLOTSELX_AD_OUT7_TO_SLOT_ODD 0x60 357 + #define AB8500_ADSLOTSELX_AD_OUT8_TO_SLOT_ODD 0x70 358 + #define AB8500_ADSLOTSELX_ZEROES_TO_SLOT_ODD 0x80 359 + #define AB8500_ADSLOTSELX_TRISTATE_TO_SLOT_ODD 0xF0 360 360 #define AB8500_ADSLOTSELX_AD_OUT1_TO_SLOT_EVEN 0x00 361 - #define AB8500_ADSLOTSELX_AD_OUT2_TO_SLOT_EVEN 0x10 362 - #define AB8500_ADSLOTSELX_AD_OUT3_TO_SLOT_EVEN 0x20 363 - #define AB8500_ADSLOTSELX_AD_OUT4_TO_SLOT_EVEN 0x30 364 - #define AB8500_ADSLOTSELX_AD_OUT5_TO_SLOT_EVEN 0x40 365 - #define AB8500_ADSLOTSELX_AD_OUT6_TO_SLOT_EVEN 0x50 366 - #define AB8500_ADSLOTSELX_AD_OUT7_TO_SLOT_EVEN 0x60 367 - #define AB8500_ADSLOTSELX_AD_OUT8_TO_SLOT_EVEN 0x70 368 - #define AB8500_ADSLOTSELX_ZEROES_TO_SLOT_EVEN 0x80 369 - #define AB8500_ADSLOTSELX_TRISTATE_TO_SLOT_EVEN 0xF0 361 + #define AB8500_ADSLOTSELX_AD_OUT2_TO_SLOT_EVEN 0x01 362 + #define AB8500_ADSLOTSELX_AD_OUT3_TO_SLOT_EVEN 0x02 363 + #define AB8500_ADSLOTSELX_AD_OUT4_TO_SLOT_EVEN 0x03 364 + #define AB8500_ADSLOTSELX_AD_OUT5_TO_SLOT_EVEN 0x04 365 + #define AB8500_ADSLOTSELX_AD_OUT6_TO_SLOT_EVEN 0x05 366 + #define AB8500_ADSLOTSELX_AD_OUT7_TO_SLOT_EVEN 0x06 367 + #define AB8500_ADSLOTSELX_AD_OUT8_TO_SLOT_EVEN 0x07 368 + #define AB8500_ADSLOTSELX_ZEROES_TO_SLOT_EVEN 0x08 369 + #define AB8500_ADSLOTSELX_TRISTATE_TO_SLOT_EVEN 0x0F 370 370 #define AB8500_ADSLOTSELX_EVEN_SHIFT 0 371 371 #define AB8500_ADSLOTSELX_ODD_SHIFT 4 372 372
+4 -4
sound/soc/codecs/da7213.c
··· 1488 1488 DA7213_DMIC_DATA_SEL_SHIFT); 1489 1489 break; 1490 1490 } 1491 - switch (pdata->dmic_data_sel) { 1491 + switch (pdata->dmic_samplephase) { 1492 1492 case DA7213_DMIC_SAMPLE_ON_CLKEDGE: 1493 1493 case DA7213_DMIC_SAMPLE_BETWEEN_CLKEDGE: 1494 - dmic_cfg |= (pdata->dmic_data_sel << 1494 + dmic_cfg |= (pdata->dmic_samplephase << 1495 1495 DA7213_DMIC_SAMPLEPHASE_SHIFT); 1496 1496 break; 1497 1497 } 1498 - switch (pdata->dmic_data_sel) { 1498 + switch (pdata->dmic_clk_rate) { 1499 1499 case DA7213_DMIC_CLK_3_0MHZ: 1500 1500 case DA7213_DMIC_CLK_1_5MHZ: 1501 - dmic_cfg |= (pdata->dmic_data_sel << 1501 + dmic_cfg |= (pdata->dmic_clk_rate << 1502 1502 DA7213_DMIC_CLK_RATE_SHIFT); 1503 1503 break; 1504 1504 }
+1
sound/soc/codecs/wm0010.c
··· 667 667 /* On wm0010 only the CLKCTRL1 value is used */ 668 668 pll_rec.clkctrl1 = wm0010->pll_clkctrl1; 669 669 670 + ret = -ENOMEM; 670 671 len = pll_rec.length + 8; 671 672 out = kzalloc(len, GFP_KERNEL); 672 673 if (!out) {
+11 -11
sound/usb/proc.c
··· 116 116 } 117 117 118 118 static void proc_dump_ep_status(struct snd_usb_substream *subs, 119 - struct snd_usb_endpoint *ep, 119 + struct snd_usb_endpoint *data_ep, 120 + struct snd_usb_endpoint *sync_ep, 120 121 struct snd_info_buffer *buffer) 121 122 { 122 - if (!ep) 123 + if (!data_ep) 123 124 return; 124 - snd_iprintf(buffer, " Packet Size = %d\n", ep->curpacksize); 125 + snd_iprintf(buffer, " Packet Size = %d\n", data_ep->curpacksize); 125 126 snd_iprintf(buffer, " Momentary freq = %u Hz (%#x.%04x)\n", 126 127 subs->speed == USB_SPEED_FULL 127 - ? get_full_speed_hz(ep->freqm) 128 - : get_high_speed_hz(ep->freqm), 129 - ep->freqm >> 16, ep->freqm & 0xffff); 130 - if (ep->freqshift != INT_MIN) { 131 - int res = 16 - ep->freqshift; 128 + ? get_full_speed_hz(data_ep->freqm) 129 + : get_high_speed_hz(data_ep->freqm), 130 + data_ep->freqm >> 16, data_ep->freqm & 0xffff); 131 + if (sync_ep && data_ep->freqshift != INT_MIN) { 132 + int res = 16 - data_ep->freqshift; 132 133 snd_iprintf(buffer, " Feedback Format = %d.%d\n", 133 - (ep->syncmaxsize > 3 ? 32 : 24) - res, res); 134 + (sync_ep->syncmaxsize > 3 ? 32 : 24) - res, res); 134 135 } 135 136 } 136 137 ··· 141 140 snd_iprintf(buffer, " Status: Running\n"); 142 141 snd_iprintf(buffer, " Interface = %d\n", subs->interface); 143 142 snd_iprintf(buffer, " Altset = %d\n", subs->altset_idx); 144 - proc_dump_ep_status(subs, subs->data_endpoint, buffer); 145 - proc_dump_ep_status(subs, subs->sync_endpoint, buffer); 143 + proc_dump_ep_status(subs, subs->data_endpoint, subs->sync_endpoint, buffer); 146 144 } else { 147 145 snd_iprintf(buffer, " Status: Stop\n"); 148 146 }