Searched refs:nuc900_audio (Results 1 - 3 of 3) sorted by relevance
/linux-4.4.14/sound/soc/nuc900/ |
H A D | nuc900-ac97.c | 30 struct nuc900_audio *nuc900_ac97_data; 35 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_checkready() local 37 if (!(AUDIO_READ(nuc900_audio->mmio + ACTL_ACIS0) & CODEC_READY)) nuc900_checkready() 47 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_ac97_read() local 54 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); nuc900_ac97_read() 59 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS1, R_WB | reg); nuc900_ac97_read() 62 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); nuc900_ac97_read() 64 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, val); nuc900_ac97_read() 69 while (!(AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_R_FINISH) nuc900_ac97_read() 74 dev_err(nuc900_audio->dev, "AC97 read register time out !\n"); nuc900_ac97_read() 79 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0) ; nuc900_ac97_read() 81 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, val); nuc900_ac97_read() 83 if (AUDIO_READ(nuc900_audio->mmio + ACTL_ACIS1) >> 2 != reg) { nuc900_ac97_read() 84 dev_err(nuc900_audio->dev, nuc900_ac97_read() 89 val = (AUDIO_READ(nuc900_audio->mmio + ACTL_ACIS2) & 0xFFFF); nuc900_ac97_read() 100 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_ac97_write() local 107 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); nuc900_ac97_write() 110 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS1, reg); nuc900_ac97_write() 113 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS2, val); nuc900_ac97_write() 116 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); nuc900_ac97_write() 118 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); nuc900_ac97_write() 123 while ((AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON) & AC_W_FINISH) nuc900_ac97_write() 128 dev_err(nuc900_audio->dev, "AC97 write register time out !\n"); nuc900_ac97_write() 130 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); nuc900_ac97_write() 132 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); nuc900_ac97_write() 140 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_ac97_warm_reset() local 146 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON); nuc900_ac97_warm_reset() 148 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACCON, val); nuc900_ac97_warm_reset() 154 dev_err(nuc900_audio->dev, "AC97 codec is not ready\n"); nuc900_ac97_warm_reset() 161 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_ac97_cold_reset() local 167 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); nuc900_ac97_cold_reset() 169 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_ac97_cold_reset() 171 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); nuc900_ac97_cold_reset() 173 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_ac97_cold_reset() 177 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); nuc900_ac97_cold_reset() 179 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_ac97_cold_reset() 181 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); nuc900_ac97_cold_reset() 183 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_ac97_cold_reset() 186 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON); nuc900_ac97_cold_reset() 188 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACCON, val); nuc900_ac97_cold_reset() 190 val = AUDIO_READ(nuc900_audio->mmio + ACTL_ACCON); nuc900_ac97_cold_reset() 192 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACCON, val); nuc900_ac97_cold_reset() 211 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_ac97_trigger() local 220 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); nuc900_ac97_trigger() 222 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); nuc900_ac97_trigger() 224 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); nuc900_ac97_trigger() 226 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_PSR); nuc900_ac97_trigger() 228 AUDIO_WRITE(nuc900_audio->mmio + ACTL_PSR, tmp); nuc900_ac97_trigger() 231 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_RSR); nuc900_ac97_trigger() 234 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RSR, tmp); nuc900_ac97_trigger() 238 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_ac97_trigger() 243 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); nuc900_ac97_trigger() 245 tmp = AUDIO_READ(nuc900_audio->mmio + ACTL_ACOS0); nuc900_ac97_trigger() 247 AUDIO_WRITE(nuc900_audio->mmio + ACTL_ACOS0, tmp); nuc900_ac97_trigger() 249 AUDIO_WRITE(nuc900_audio->mmio + ACTL_PSR, RESET_PRSR); nuc900_ac97_trigger() 252 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RSR, RESET_PRSR); nuc900_ac97_trigger() 256 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_ac97_trigger() 268 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_ac97_probe() local 274 clk_enable(nuc900_audio->clk); nuc900_ac97_probe() 277 val = AUDIO_READ(nuc900_audio->mmio + ACTL_CON); nuc900_ac97_probe() 279 AUDIO_WRITE(nuc900_audio->mmio + ACTL_CON, val); nuc900_ac97_probe() 288 struct nuc900_audio *nuc900_audio = nuc900_ac97_data; nuc900_ac97_remove() local 290 clk_disable(nuc900_audio->clk); nuc900_ac97_remove() 323 struct nuc900_audio *nuc900_audio; nuc900_ac97_drvprobe() local 329 nuc900_audio = devm_kzalloc(&pdev->dev, sizeof(struct nuc900_audio), nuc900_ac97_drvprobe() 331 if (!nuc900_audio) nuc900_ac97_drvprobe() 334 spin_lock_init(&nuc900_audio->lock); nuc900_ac97_drvprobe() 336 nuc900_audio->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); nuc900_ac97_drvprobe() 337 nuc900_audio->mmio = devm_ioremap_resource(&pdev->dev, nuc900_ac97_drvprobe() 338 nuc900_audio->res); nuc900_ac97_drvprobe() 339 if (IS_ERR(nuc900_audio->mmio)) nuc900_ac97_drvprobe() 340 return PTR_ERR(nuc900_audio->mmio); nuc900_ac97_drvprobe() 342 nuc900_audio->clk = devm_clk_get(&pdev->dev, NULL); nuc900_ac97_drvprobe() 343 if (IS_ERR(nuc900_audio->clk)) { nuc900_ac97_drvprobe() 344 ret = PTR_ERR(nuc900_audio->clk); nuc900_ac97_drvprobe() 348 nuc900_audio->irq_num = platform_get_irq(pdev, 0); nuc900_ac97_drvprobe() 349 if (!nuc900_audio->irq_num) { nuc900_ac97_drvprobe() 354 nuc900_ac97_data = nuc900_audio; nuc900_ac97_drvprobe() 366 mfp_set_groupg(nuc900_audio->dev, NULL); nuc900_ac97_drvprobe()
|
H A D | nuc900-pcm.c | 51 struct nuc900_audio *nuc900_audio = runtime->private_data; nuc900_update_dma_register() local 55 mmio_addr = nuc900_audio->mmio + ACTL_PDSTB; nuc900_update_dma_register() 56 mmio_len = nuc900_audio->mmio + ACTL_PDST_LENGTH; nuc900_update_dma_register() 58 mmio_addr = nuc900_audio->mmio + ACTL_RDSTB; nuc900_update_dma_register() 59 mmio_len = nuc900_audio->mmio + ACTL_RDST_LENGTH; nuc900_update_dma_register() 69 struct nuc900_audio *nuc900_audio = runtime->private_data; nuc900_dma_start() local 72 val = AUDIO_READ(nuc900_audio->mmio + ACTL_CON); nuc900_dma_start() 74 AUDIO_WRITE(nuc900_audio->mmio + ACTL_CON, val); nuc900_dma_start() 80 struct nuc900_audio *nuc900_audio = runtime->private_data; nuc900_dma_stop() local 83 val = AUDIO_READ(nuc900_audio->mmio + ACTL_CON); nuc900_dma_stop() 85 AUDIO_WRITE(nuc900_audio->mmio + ACTL_CON, val); nuc900_dma_stop() 91 struct nuc900_audio *nuc900_audio = substream->runtime->private_data; nuc900_dma_interrupt() local 94 spin_lock(&nuc900_audio->lock); nuc900_dma_interrupt() 96 val = AUDIO_READ(nuc900_audio->mmio + ACTL_CON); nuc900_dma_interrupt() 99 AUDIO_WRITE(nuc900_audio->mmio + ACTL_CON, val | R_DMA_IRQ); nuc900_dma_interrupt() 101 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RSR); nuc900_dma_interrupt() 105 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RSR, val); nuc900_dma_interrupt() 110 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RSR, val); nuc900_dma_interrupt() 113 AUDIO_WRITE(nuc900_audio->mmio + ACTL_CON, val | T_DMA_IRQ); nuc900_dma_interrupt() 115 val = AUDIO_READ(nuc900_audio->mmio + ACTL_PSR); nuc900_dma_interrupt() 119 AUDIO_WRITE(nuc900_audio->mmio + ACTL_PSR, val); nuc900_dma_interrupt() 124 AUDIO_WRITE(nuc900_audio->mmio + ACTL_PSR, val); nuc900_dma_interrupt() 127 dev_err(nuc900_audio->dev, "Wrong DMA interrupt status!\n"); nuc900_dma_interrupt() 128 spin_unlock(&nuc900_audio->lock); nuc900_dma_interrupt() 132 spin_unlock(&nuc900_audio->lock); nuc900_dma_interrupt() 148 struct nuc900_audio *nuc900_audio = runtime->private_data; nuc900_dma_prepare() local 152 spin_lock_irqsave(&nuc900_audio->lock, flags); nuc900_dma_prepare() 156 val = AUDIO_READ(nuc900_audio->mmio + ACTL_RESET); nuc900_dma_prepare() 167 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_dma_prepare() 174 AUDIO_WRITE(nuc900_audio->mmio + ACTL_RESET, val); nuc900_dma_prepare() 179 spin_unlock_irqrestore(&nuc900_audio->lock, flags); nuc900_dma_prepare() 210 struct nuc900_audio *nuc900_audio = runtime->private_data; nuc900_dma_getposition() local 213 *src = AUDIO_READ(nuc900_audio->mmio + ACTL_PDSTC); nuc900_dma_getposition() 216 *dst = AUDIO_READ(nuc900_audio->mmio + ACTL_RDSTC); nuc900_dma_getposition() 240 struct nuc900_audio *nuc900_audio; nuc900_dma_open() local 244 nuc900_audio = nuc900_ac97_data; nuc900_dma_open() 246 if (request_irq(nuc900_audio->irq_num, nuc900_dma_interrupt, nuc900_dma_open() 250 runtime->private_data = nuc900_audio; nuc900_dma_open() 258 struct nuc900_audio *nuc900_audio = runtime->private_data; nuc900_dma_close() local 260 free_irq(nuc900_audio->irq_num, substream); nuc900_dma_close()
|
H A D | nuc900-audio.h | 100 struct nuc900_audio { struct 110 extern struct nuc900_audio *nuc900_ac97_data;
|
Completed in 72 milliseconds