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 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: pcm - Fix race with proc files
ALSA: pcm - Fix unbalanced pm_qos_request
ALSA: HDA: Enable internal speaker on Dell M101z
ALSA: patch_nvhdmi.c: Fix supported sample rate list.
sound: Remove pr_<level> uses of KERN_<level>
ALSA: hda - Add quirk for Toshiba C650D using a Conexant CX20585
ALSA: hda_intel: ALSA HD Audio patch for Intel Patsburg DeviceIDs

+43 -13
+24 -9
sound/core/pcm.c
··· 372 372 struct snd_info_buffer *buffer) 373 373 { 374 374 struct snd_pcm_substream *substream = entry->private_data; 375 - struct snd_pcm_runtime *runtime = substream->runtime; 375 + struct snd_pcm_runtime *runtime; 376 + 377 + mutex_lock(&substream->pcm->open_mutex); 378 + runtime = substream->runtime; 376 379 if (!runtime) { 377 380 snd_iprintf(buffer, "closed\n"); 378 - return; 381 + goto unlock; 379 382 } 380 383 if (runtime->status->state == SNDRV_PCM_STATE_OPEN) { 381 384 snd_iprintf(buffer, "no setup\n"); 382 - return; 385 + goto unlock; 383 386 } 384 387 snd_iprintf(buffer, "access: %s\n", snd_pcm_access_name(runtime->access)); 385 388 snd_iprintf(buffer, "format: %s\n", snd_pcm_format_name(runtime->format)); ··· 401 398 snd_iprintf(buffer, "OSS period frames: %lu\n", (unsigned long)runtime->oss.period_frames); 402 399 } 403 400 #endif 401 + unlock: 402 + mutex_unlock(&substream->pcm->open_mutex); 404 403 } 405 404 406 405 static void snd_pcm_substream_proc_sw_params_read(struct snd_info_entry *entry, 407 406 struct snd_info_buffer *buffer) 408 407 { 409 408 struct snd_pcm_substream *substream = entry->private_data; 410 - struct snd_pcm_runtime *runtime = substream->runtime; 409 + struct snd_pcm_runtime *runtime; 410 + 411 + mutex_lock(&substream->pcm->open_mutex); 412 + runtime = substream->runtime; 411 413 if (!runtime) { 412 414 snd_iprintf(buffer, "closed\n"); 413 - return; 415 + goto unlock; 414 416 } 415 417 if (runtime->status->state == SNDRV_PCM_STATE_OPEN) { 416 418 snd_iprintf(buffer, "no setup\n"); 417 - return; 419 + goto unlock; 418 420 } 419 421 snd_iprintf(buffer, "tstamp_mode: %s\n", snd_pcm_tstamp_mode_name(runtime->tstamp_mode)); 420 422 snd_iprintf(buffer, "period_step: %u\n", runtime->period_step); ··· 429 421 snd_iprintf(buffer, "silence_threshold: %lu\n", runtime->silence_threshold); 430 422 snd_iprintf(buffer, "silence_size: %lu\n", runtime->silence_size); 431 423 snd_iprintf(buffer, "boundary: %lu\n", runtime->boundary); 424 + unlock: 425 + mutex_unlock(&substream->pcm->open_mutex); 432 426 } 433 427 434 428 static void snd_pcm_substream_proc_status_read(struct snd_info_entry *entry, 435 429 struct snd_info_buffer *buffer) 436 430 { 437 431 struct snd_pcm_substream *substream = entry->private_data; 438 - struct snd_pcm_runtime *runtime = substream->runtime; 432 + struct snd_pcm_runtime *runtime; 439 433 struct snd_pcm_status status; 440 434 int err; 435 + 436 + mutex_lock(&substream->pcm->open_mutex); 437 + runtime = substream->runtime; 441 438 if (!runtime) { 442 439 snd_iprintf(buffer, "closed\n"); 443 - return; 440 + goto unlock; 444 441 } 445 442 memset(&status, 0, sizeof(status)); 446 443 err = snd_pcm_status(substream, &status); 447 444 if (err < 0) { 448 445 snd_iprintf(buffer, "error %d\n", err); 449 - return; 446 + goto unlock; 450 447 } 451 448 snd_iprintf(buffer, "state: %s\n", snd_pcm_state_name(status.state)); 452 449 snd_iprintf(buffer, "owner_pid : %d\n", pid_vnr(substream->pid)); ··· 465 452 snd_iprintf(buffer, "-----\n"); 466 453 snd_iprintf(buffer, "hw_ptr : %ld\n", runtime->status->hw_ptr); 467 454 snd_iprintf(buffer, "appl_ptr : %ld\n", runtime->control->appl_ptr); 455 + unlock: 456 + mutex_unlock(&substream->pcm->open_mutex); 468 457 } 469 458 470 459 #ifdef CONFIG_SND_PCM_XRUN_DEBUG
+2
sound/core/pcm_native.c
··· 1992 1992 substream->ops->close(substream); 1993 1993 substream->hw_opened = 0; 1994 1994 } 1995 + if (pm_qos_request_active(&substream->latency_pm_qos_req)) 1996 + pm_qos_remove_request(&substream->latency_pm_qos_req); 1995 1997 if (substream->pcm_release) { 1996 1998 substream->pcm_release(substream); 1997 1999 substream->pcm_release = NULL;
+3
sound/pci/hda/hda_intel.c
··· 126 126 "{Intel, ICH10}," 127 127 "{Intel, PCH}," 128 128 "{Intel, CPT}," 129 + "{Intel, PBG}," 129 130 "{Intel, SCH}," 130 131 "{ATI, SB450}," 131 132 "{ATI, SB600}," ··· 2750 2749 { PCI_DEVICE(0x8086, 0x3b57), .driver_data = AZX_DRIVER_ICH }, 2751 2750 /* CPT */ 2752 2751 { PCI_DEVICE(0x8086, 0x1c20), .driver_data = AZX_DRIVER_PCH }, 2752 + /* PBG */ 2753 + { PCI_DEVICE(0x8086, 0x1d20), .driver_data = AZX_DRIVER_PCH }, 2753 2754 /* SCH */ 2754 2755 { PCI_DEVICE(0x8086, 0x811b), .driver_data = AZX_DRIVER_SCH }, 2755 2756 /* ATI SB 450/600 */
+1
sound/pci/hda/patch_conexant.c
··· 3092 3092 SND_PCI_QUIRK(0x1028, 0x0402, "Dell Vostro", CXT5066_DELL_VOSTO), 3093 3093 SND_PCI_QUIRK(0x1028, 0x0408, "Dell Inspiron One 19T", CXT5066_IDEAPAD), 3094 3094 SND_PCI_QUIRK(0x103c, 0x360b, "HP G60", CXT5066_HP_LAPTOP), 3095 + SND_PCI_QUIRK(0x1179, 0xff1e, "Toshiba Satellite C650D", CXT5066_IDEAPAD), 3095 3096 SND_PCI_QUIRK(0x1179, 0xff50, "Toshiba Satellite P500-PSPGSC-01800T", CXT5066_OLPC_XO_1_5), 3096 3097 SND_PCI_QUIRK(0x1179, 0xffe0, "Toshiba Satellite Pro T130-15F", CXT5066_OLPC_XO_1_5), 3097 3098 SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400s", CXT5066_THINKPAD),
+1 -1
sound/pci/hda/patch_nvhdmi.c
··· 84 84 #else 85 85 /* support all rates and formats */ 86 86 #define SUPPORTED_RATES \ 87 - (SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |\ 87 + (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 |\ 88 88 SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |\ 89 89 SNDRV_PCM_RATE_192000) 90 90 #define SUPPORTED_MAXBPS 24
+10
sound/pci/hda/patch_realtek.c
··· 14453 14453 14454 14454 enum { 14455 14455 ALC269_FIXUP_SONY_VAIO, 14456 + ALC269_FIXUP_DELL_M101Z, 14456 14457 }; 14457 14458 14458 14459 static const struct hda_verb alc269_sony_vaio_fixup_verbs[] = { ··· 14465 14464 [ALC269_FIXUP_SONY_VAIO] = { 14466 14465 .verbs = alc269_sony_vaio_fixup_verbs 14467 14466 }, 14467 + [ALC269_FIXUP_DELL_M101Z] = { 14468 + .verbs = (const struct hda_verb[]) { 14469 + /* Enables internal speaker */ 14470 + {0x20, AC_VERB_SET_COEF_INDEX, 13}, 14471 + {0x20, AC_VERB_SET_PROC_COEF, 0x4040}, 14472 + {} 14473 + } 14474 + }, 14468 14475 }; 14469 14476 14470 14477 static struct snd_pci_quirk alc269_fixup_tbl[] = { 14471 14478 SND_PCI_QUIRK(0x104d, 0x9071, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), 14472 14479 SND_PCI_QUIRK(0x104d, 0x9077, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), 14480 + SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), 14473 14481 {} 14474 14482 }; 14475 14483
+1 -1
sound/ppc/snd_ps3.c
··· 579 579 rate * delay_ms / 1000) 580 580 * substream->runtime->channels; 581 581 582 - pr_debug(KERN_ERR "%s: time=%d rate=%d bytes=%ld, frames=%d, ret=%d\n", 582 + pr_debug("%s: time=%d rate=%d bytes=%ld, frames=%d, ret=%d\n", 583 583 __func__, 584 584 delay_ms, 585 585 rate,
+1 -2
sound/soc/s3c24xx/s3c-dma.c
··· 94 94 95 95 if ((pos + len) > prtd->dma_end) { 96 96 len = prtd->dma_end - pos; 97 - pr_debug(KERN_DEBUG "%s: corrected dma len %ld\n", 98 - __func__, len); 97 + pr_debug("%s: corrected dma len %ld\n", __func__, len); 99 98 } 100 99 101 100 ret = s3c2410_dma_enqueue(prtd->params->channel,