aaci               44 sound/arm/aaci.c 	u32 v, maincr = aaci->maincr | MAINCR_SCRA(ac97->num);
aaci               49 sound/arm/aaci.c 	v = readl(aaci->base + AACI_SLFR);
aaci               51 sound/arm/aaci.c 		readl(aaci->base + AACI_SL2RX);
aaci               53 sound/arm/aaci.c 		readl(aaci->base + AACI_SL1RX);
aaci               55 sound/arm/aaci.c 	writel(maincr, aaci->base + AACI_MAINCR);
aaci               70 sound/arm/aaci.c 	struct aaci *aaci = ac97->private_data;
aaci               77 sound/arm/aaci.c 	mutex_lock(&aaci->ac97_sem);
aaci               79 sound/arm/aaci.c 	aaci_ac97_select_codec(aaci, ac97);
aaci               85 sound/arm/aaci.c 	writel(val << 4, aaci->base + AACI_SL2TX);
aaci               86 sound/arm/aaci.c 	writel(reg << 12, aaci->base + AACI_SL1TX);
aaci               92 sound/arm/aaci.c 		v = readl(aaci->base + AACI_SLFR);
aaci               96 sound/arm/aaci.c 		dev_err(&aaci->dev->dev,
aaci               99 sound/arm/aaci.c 	mutex_unlock(&aaci->ac97_sem);
aaci              107 sound/arm/aaci.c 	struct aaci *aaci = ac97->private_data;
aaci              115 sound/arm/aaci.c 	mutex_lock(&aaci->ac97_sem);
aaci              117 sound/arm/aaci.c 	aaci_ac97_select_codec(aaci, ac97);
aaci              122 sound/arm/aaci.c 	writel((reg << 12) | (1 << 19), aaci->base + AACI_SL1TX);
aaci              128 sound/arm/aaci.c 		v = readl(aaci->base + AACI_SLFR);
aaci              132 sound/arm/aaci.c 		dev_err(&aaci->dev->dev, "timeout on slot 1 TX busy\n");
aaci              149 sound/arm/aaci.c 		v = readl(aaci->base + AACI_SLFR) & (SLFR_1RXV|SLFR_2RXV);
aaci              153 sound/arm/aaci.c 		dev_err(&aaci->dev->dev, "timeout on RX valid\n");
aaci              159 sound/arm/aaci.c 		v = readl(aaci->base + AACI_SL1RX) >> 12;
aaci              161 sound/arm/aaci.c 			v = readl(aaci->base + AACI_SL2RX) >> 4;
aaci              164 sound/arm/aaci.c 			dev_warn(&aaci->dev->dev,
aaci              168 sound/arm/aaci.c 			dev_warn(&aaci->dev->dev,
aaci              175 sound/arm/aaci.c 	mutex_unlock(&aaci->ac97_sem);
aaci              197 sound/arm/aaci.c 		dev_warn(&aaci->dev->dev, "RX overrun on chan %d\n", channel);
aaci              198 sound/arm/aaci.c 		writel(ICLR_RXOEC1 << channel, aaci->base + AACI_INTCLR);
aaci              202 sound/arm/aaci.c 		dev_warn(&aaci->dev->dev, "RX timeout on chan %d\n", channel);
aaci              203 sound/arm/aaci.c 		writel(ICLR_RXTOFEC1 << channel, aaci->base + AACI_INTCLR);
aaci              207 sound/arm/aaci.c 		struct aaci_runtime *aacirun = &aaci->capture;
aaci              211 sound/arm/aaci.c 			dev_warn(&aaci->dev->dev, "RX interrupt???\n");
aaci              224 sound/arm/aaci.c 				spin_unlock(&aaci->lock);
aaci              226 sound/arm/aaci.c 				spin_lock(&aaci->lock);
aaci              256 sound/arm/aaci.c 		dev_dbg(&aaci->dev->dev, "TX underrun on chan %d\n", channel);
aaci              257 sound/arm/aaci.c 		writel(ICLR_TXUEC1 << channel, aaci->base + AACI_INTCLR);
aaci              261 sound/arm/aaci.c 		struct aaci_runtime *aacirun = &aaci->playback;
aaci              265 sound/arm/aaci.c 			dev_warn(&aaci->dev->dev, "TX interrupt???\n");
aaci              278 sound/arm/aaci.c 				spin_unlock(&aaci->lock);
aaci              280 sound/arm/aaci.c 				spin_lock(&aaci->lock);
aaci              313 sound/arm/aaci.c 	struct aaci *aaci = devid;
aaci              317 sound/arm/aaci.c 	spin_lock(&aaci->lock);
aaci              318 sound/arm/aaci.c 	mask = readl(aaci->base + AACI_ALLINTS);
aaci              323 sound/arm/aaci.c 				aaci_fifo_irq(aaci, i, m);
aaci              327 sound/arm/aaci.c 	spin_unlock(&aaci->lock);
aaci              361 sound/arm/aaci.c 	return aaci->ac97_bus->codec[s->codec_idx]->rates[s->rate_idx];
aaci              376 sound/arm/aaci.c 	struct aaci *aaci = rule->private;
aaci              382 sound/arm/aaci.c 		rate_mask &= aaci_rate_mask(aaci, ACSTREAM_LFE);
aaci              384 sound/arm/aaci.c 		rate_mask &= aaci_rate_mask(aaci, ACSTREAM_SURROUND);
aaci              386 sound/arm/aaci.c 		rate_mask &= aaci_rate_mask(aaci, ACSTREAM_FRONT);
aaci              438 sound/arm/aaci.c 	runtime->hw.fifo_size = aaci->fifosize * 2;
aaci              445 sound/arm/aaci.c 				  aaci_rule_rate_by_channels, aaci,
aaci              451 sound/arm/aaci.c 	ret = request_irq(aaci->dev->irq[0], aaci_irq, IRQF_SHARED|IRQF_DISABLED,
aaci              452 sound/arm/aaci.c 			  DRIVER_NAME, aaci);
aaci              468 sound/arm/aaci.c 	struct aaci *aaci = substream->private_data;
aaci              474 sound/arm/aaci.c 	free_irq(aaci->dev->irq[0], aaci);
aaci              583 sound/arm/aaci.c 	struct aaci *aaci = rule->private;
aaci              589 sound/arm/aaci.c 	slots = aaci->ac97_bus->pcms[0].r[0].slots;
aaci              603 sound/arm/aaci.c 	struct aaci *aaci = substream->private_data;
aaci              611 sound/arm/aaci.c 				  aaci_rule_channels, aaci,
aaci              617 sound/arm/aaci.c 		ret = __aaci_pcm_open(aaci, substream, &aaci->playback);
aaci              619 sound/arm/aaci.c 		ret = __aaci_pcm_open(aaci, substream, &aaci->capture);
aaci              627 sound/arm/aaci.c 	struct aaci *aaci = substream->private_data;
aaci              645 sound/arm/aaci.c 		aacirun->fifosz	= aaci->fifosize * 4;
aaci              679 sound/arm/aaci.c 	struct aaci *aaci = substream->private_data;
aaci              684 sound/arm/aaci.c 	spin_lock_irqsave(&aaci->lock, flags);
aaci              711 sound/arm/aaci.c 	spin_unlock_irqrestore(&aaci->lock, flags);
aaci              731 sound/arm/aaci.c 	struct aaci *aaci = substream->private_data;
aaci              743 sound/arm/aaci.c 		aacirun->fifosz = aaci->fifosize * 4;
aaci              787 sound/arm/aaci.c 	struct aaci *aaci = substream->private_data;
aaci              792 sound/arm/aaci.c 	spin_lock_irqsave(&aaci->lock, flags);
aaci              821 sound/arm/aaci.c 	spin_unlock_irqrestore(&aaci->lock, flags);
aaci              829 sound/arm/aaci.c 	struct aaci *aaci = substream->private_data;
aaci              834 sound/arm/aaci.c 	aaci_ac97_write(aaci->ac97, AC97_EXTENDED_STATUS, 0x0001); /* VRA */
aaci              835 sound/arm/aaci.c 	aaci_ac97_write(aaci->ac97, AC97_PCM_LR_ADC_RATE, runtime->rate);
aaci              836 sound/arm/aaci.c 	aaci_ac97_write(aaci->ac97, AC97_PCM_MIC_ADC_RATE, runtime->rate);
aaci              839 sound/arm/aaci.c 	aaci_ac97_write(aaci->ac97, AC97_REC_SEL, 0x0404);
aaci              862 sound/arm/aaci.c 	struct aaci *aaci = card->private_data;
aaci              864 sound/arm/aaci.c 	snd_pcm_suspend_all(aaci->pcm);
aaci              943 sound/arm/aaci.c 	writel(0, aaci->base + AACI_RESET);
aaci              945 sound/arm/aaci.c 	writel(RESET_NRST, aaci->base + AACI_RESET);
aaci              953 sound/arm/aaci.c 	ret = snd_ac97_bus(aaci->card, 0, &aaci_bus_ops, aaci, &ac97_bus);
aaci              958 sound/arm/aaci.c 	aaci->ac97_bus = ac97_bus;
aaci              961 sound/arm/aaci.c 	ac97_template.private_data = aaci;
aaci              968 sound/arm/aaci.c 	aaci->ac97 = ac97;
aaci              980 sound/arm/aaci.c 	aaci->playback.pcm = &ac97_bus->pcms[0];
aaci              981 sound/arm/aaci.c 	aaci->capture.pcm  = &ac97_bus->pcms[1];
aaci              989 sound/arm/aaci.c 	struct aaci *aaci = card->private_data;
aaci              990 sound/arm/aaci.c 	if (aaci->base)
aaci              991 sound/arm/aaci.c 		iounmap(aaci->base);
aaci              994 sound/arm/aaci.c static struct aaci * __devinit aaci_init_card(struct amba_device *dev)
aaci              996 sound/arm/aaci.c 	struct aaci *aaci;
aaci             1000 sound/arm/aaci.c 			    THIS_MODULE, sizeof(struct aaci));
aaci             1013 sound/arm/aaci.c 	aaci = card->private_data;
aaci             1014 sound/arm/aaci.c 	mutex_init(&aaci->ac97_sem);
aaci             1015 sound/arm/aaci.c 	spin_lock_init(&aaci->lock);
aaci             1016 sound/arm/aaci.c 	aaci->card = card;
aaci             1017 sound/arm/aaci.c 	aaci->dev = dev;
aaci             1020 sound/arm/aaci.c 	aaci->maincr = MAINCR_IE | MAINCR_SL1RXEN | MAINCR_SL1TXEN |
aaci             1023 sound/arm/aaci.c 	return aaci;
aaci             1031 sound/arm/aaci.c 	ret = snd_pcm_new(aaci->card, "AACI AC'97", 0, 1, 1, &pcm);
aaci             1033 sound/arm/aaci.c 		aaci->pcm = pcm;
aaci             1034 sound/arm/aaci.c 		pcm->private_data = aaci;
aaci             1048 sound/arm/aaci.c 	struct aaci_runtime *aacirun = &aaci->playback;
aaci             1063 sound/arm/aaci.c 	writel(aaci->maincr & ~MAINCR_IE, aaci->base + AACI_MAINCR);
aaci             1064 sound/arm/aaci.c 	writel(aaci->maincr, aaci->base + AACI_MAINCR);
aaci             1078 sound/arm/aaci.c 	struct aaci *aaci;
aaci             1085 sound/arm/aaci.c 	aaci = aaci_init_card(dev);
aaci             1086 sound/arm/aaci.c 	if (!aaci) {
aaci             1091 sound/arm/aaci.c 	aaci->base = ioremap(dev->res.start, SZ_4K);
aaci             1092 sound/arm/aaci.c 	if (!aaci->base) {
aaci             1100 sound/arm/aaci.c 	aaci->playback.base = aaci->base + AACI_CSCH1;
aaci             1101 sound/arm/aaci.c 	aaci->playback.fifo = aaci->base + AACI_DR1;
aaci             1106 sound/arm/aaci.c 	aaci->capture.base = aaci->base + AACI_CSCH1;
aaci             1107 sound/arm/aaci.c 	aaci->capture.fifo = aaci->base + AACI_DR1;
aaci             1110 sound/arm/aaci.c 		void __iomem *base = aaci->base + i * 0x14;
aaci             1117 sound/arm/aaci.c 	writel(0x1fff, aaci->base + AACI_INTCLR);
aaci             1118 sound/arm/aaci.c 	writel(aaci->maincr, aaci->base + AACI_MAINCR);
aaci             1120 sound/arm/aaci.c 	ret = aaci_probe_ac97(aaci);
aaci             1127 sound/arm/aaci.c 	aaci->fifosize = aaci_size_fifo(aaci);
aaci             1128 sound/arm/aaci.c 	if (aaci->fifosize & 15) {
aaci             1130 sound/arm/aaci.c 		       aaci->fifosize);
aaci             1135 sound/arm/aaci.c 	ret = aaci_init_pcm(aaci);
aaci             1139 sound/arm/aaci.c 	snd_card_set_dev(aaci->card, &dev->dev);
aaci             1141 sound/arm/aaci.c 	ret = snd_card_register(aaci->card);
aaci             1143 sound/arm/aaci.c 		dev_info(&dev->dev, "%s, fifo %d\n", aaci->card->longname,
aaci             1144 sound/arm/aaci.c 			 aaci->fifosize);
aaci             1145 sound/arm/aaci.c 		amba_set_drvdata(dev, aaci->card);
aaci             1150 sound/arm/aaci.c 	if (aaci)
aaci             1151 sound/arm/aaci.c 		snd_card_free(aaci->card);
aaci             1163 sound/arm/aaci.c 		struct aaci *aaci = card->private_data;
aaci             1164 sound/arm/aaci.c 		writel(0, aaci->base + AACI_MAINCR);