Update of /cvsroot/linux-mips/linux/arch/mips/au1000/common
In directory usw-pr-cvs1:/tmp/cvs-serv1301/arch/mips/au1000/common
Modified Files:
dma.c
Log Message:
Some changes to Au1000 sound driver:
- Added mutex locks around read/write methods, to prevent
simultaneous access on SMP or preemptible kernels.
- Removed the counter/pointer fragment aligning at the end
of read/write methods, for madplay.
- Use coherent DMA.
Index: dma.c
===================================================================
RCS file: /cvsroot/linux-mips/linux/arch/mips/au1000/common/dma.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- dma.c 23 Mar 2002 02:13:01 -0000 1.7
+++ dma.c 25 Mar 2002 22:58:15 -0000 1.8
@@ -77,23 +77,22 @@
unsigned int fifo_addr;
unsigned int dma_mode;
} dma_dev_table[DMA_NUM_DEV] = {
- {
- UART0_ADDR + UART_TX, 0}, {
- UART0_ADDR + UART_RX, 0}, {
- 0, 0}, {
- 0, 0}, {
- AC97C_DATA, DMA_DW16 | DMA_NC}, {
- AC97C_DATA, DMA_DR | DMA_DW16 | DMA_NC}, {
- UART3_ADDR + UART_TX, DMA_DW8 | DMA_NC}, {
- UART3_ADDR + UART_RX, DMA_DR | DMA_DW8 | DMA_NC}, {
- USBD_EP0RD, DMA_DR | DMA_DW8 | DMA_NC}, {
- USBD_EP0WR, DMA_DW8 | DMA_NC}, {
- USBD_EP2WR, DMA_DW8 | DMA_NC}, {
- USBD_EP3WR, DMA_DW8 | DMA_NC}, {
- USBD_EP4RD, DMA_DR | DMA_DW8 | DMA_NC}, {
- USBD_EP5RD, DMA_DR | DMA_DW8 | DMA_NC}, {
- I2S_DATA, DMA_DW32 | DMA_NC}, {
- I2S_DATA, DMA_DR | DMA_DW32 | DMA_NC}
+ {UART0_ADDR + UART_TX, 0},
+ {UART0_ADDR + UART_RX, 0},
+ {0, 0},
+ {0, 0},
+ {AC97C_DATA, DMA_DW16 }, // coherent
+ {AC97C_DATA, DMA_DR | DMA_DW16 }, // coherent
+ {UART3_ADDR + UART_TX, DMA_DW8 | DMA_NC},
+ {UART3_ADDR + UART_RX, DMA_DR | DMA_DW8 | DMA_NC},
+ {USBD_EP0RD, DMA_DR | DMA_DW8 | DMA_NC},
+ {USBD_EP0WR, DMA_DW8 | DMA_NC},
+ {USBD_EP2WR, DMA_DW8 | DMA_NC},
+ {USBD_EP3WR, DMA_DW8 | DMA_NC},
+ {USBD_EP4RD, DMA_DR | DMA_DW8 | DMA_NC},
+ {USBD_EP5RD, DMA_DR | DMA_DW8 | DMA_NC},
+ {I2S_DATA, DMA_DW32 | DMA_NC},
+ {I2S_DATA, DMA_DR | DMA_DW32 | DMA_NC}
};
|