1
0
Fork 0

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] soc at91 minor bug fixes
  [ALSA] soc - at91-pcm - Fix line wrapping
  pcspkr: fix dependancies
hifive-unleashed-5.1
Linus Torvalds 2008-05-08 10:58:45 -07:00
commit f589274533
6 changed files with 20 additions and 11 deletions

View File

@ -83,9 +83,7 @@ obj-$(CONFIG_KVM_GUEST) += kvm.o
obj-$(CONFIG_KVM_CLOCK) += kvmclock.o obj-$(CONFIG_KVM_CLOCK) += kvmclock.o
obj-$(CONFIG_PARAVIRT) += paravirt.o paravirt_patch_$(BITS).o obj-$(CONFIG_PARAVIRT) += paravirt.o paravirt_patch_$(BITS).o
ifdef CONFIG_INPUT_PCSPKR obj-$(CONFIG_PCSPKR_PLATFORM) += pcspeaker.o
obj-y += pcspeaker.o
endif
obj-$(CONFIG_SCx200) += scx200.o obj-$(CONFIG_SCx200) += scx200.o
scx200-y += scx200_32.o scx200-y += scx200_32.o

View File

@ -14,7 +14,7 @@ if INPUT_MISC
config INPUT_PCSPKR config INPUT_PCSPKR
tristate "PC Speaker support" tristate "PC Speaker support"
depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES depends on PCSPKR_PLATFORM
depends on SND_PCSP=n depends on SND_PCSP=n
help help
Say Y here if you want the standard PC Speaker to be used for Say Y here if you want the standard PC Speaker to be used for

View File

@ -634,6 +634,14 @@ config ELF_CORE
help help
Enable support for generating core dumps. Disabling saves about 4k. Enable support for generating core dumps. Disabling saves about 4k.
config PCSPKR_PLATFORM
bool "Enable PC-Speaker support" if EMBEDDED
depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
default y
help
This option allows to disable the internal PC-Speaker
support, saving some memory.
config COMPAT_BRK config COMPAT_BRK
bool "Disable heap randomization" bool "Disable heap randomization"
default y default y

View File

@ -5,8 +5,8 @@ menu "Generic devices"
config SND_PCSP config SND_PCSP
tristate "Internal PC speaker support" tristate "PC-Speaker support"
depends on X86_PC && HIGH_RES_TIMERS depends on PCSPKR_PLATFORM && X86_PC && HIGH_RES_TIMERS
depends on INPUT depends on INPUT
depends on SND depends on SND
select SND_PCM select SND_PCM

View File

@ -103,7 +103,8 @@ static void at91_pcm_dma_irq(u32 ssc_sr,
if (prtd->period_ptr >= prtd->dma_buffer_end) { if (prtd->period_ptr >= prtd->dma_buffer_end) {
prtd->period_ptr = prtd->dma_buffer; prtd->period_ptr = prtd->dma_buffer;
} }
at91_ssc_write(params->ssc_base + params->pdc->xnpr, prtd->period_ptr); at91_ssc_write(params->ssc_base + params->pdc->xnpr,
prtd->period_ptr);
at91_ssc_write(params->ssc_base + params->pdc->xncr, at91_ssc_write(params->ssc_base + params->pdc->xncr,
prtd->period_size / params->pdc_xfer_size); prtd->period_size / params->pdc_xfer_size);
} }
@ -191,10 +192,12 @@ static int at91_pcm_trigger(struct snd_pcm_substream *substream,
at91_ssc_write(params->ssc_base + AT91_SSC_IER, at91_ssc_write(params->ssc_base + AT91_SSC_IER,
params->mask->ssc_endx | params->mask->ssc_endbuf); params->mask->ssc_endx | params->mask->ssc_endbuf);
at91_ssc_write(params->ssc_base + ATMEL_PDC_PTCR, params->mask->pdc_enable); at91_ssc_write(params->ssc_base + ATMEL_PDC_PTCR,
params->mask->pdc_enable);
DBG("sr=%lx imr=%lx\n", at91_ssc_read(params->ssc_base + AT91_SSC_SR), DBG("sr=%lx imr=%lx\n",
at91_ssc_read(params->ssc_base + AT91_SSC_IER)); at91_ssc_read(params->ssc_base + AT91_SSC_SR),
at91_ssc_read(params->ssc_base + AT91_SSC_IMR));
break; break;
case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_STOP:

View File

@ -590,7 +590,7 @@ static int at91_ssc_hw_params(struct snd_pcm_substream *substream,
printk(KERN_WARNING "at91-ssc: request_irq failure\n"); printk(KERN_WARNING "at91-ssc: request_irq failure\n");
DBG("Stopping pid %d clock\n", ssc_p->ssc.pid); DBG("Stopping pid %d clock\n", ssc_p->ssc.pid);
at91_sys_write(AT91_PMC_PCER, 1<<ssc_p->ssc.pid); at91_sys_write(AT91_PMC_PCDR, 1<<ssc_p->ssc.pid);
return ret; return ret;
} }