diff options
-rw-r--r-- | arch/sh/drivers/dma/dma-api.c | 7 | ||||
-rw-r--r-- | include/asm-sh/dma.h | 1 | ||||
-rw-r--r-- | sound/sh/aica.h | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/sh/drivers/dma/dma-api.c b/arch/sh/drivers/dma/dma-api.c index cf8e11994330..76ed816d9a24 100644 --- a/arch/sh/drivers/dma/dma-api.c +++ b/arch/sh/drivers/dma/dma-api.c | |||
@@ -31,8 +31,8 @@ struct dma_info *get_dma_info(unsigned int chan) | |||
31 | * the channel is. | 31 | * the channel is. |
32 | */ | 32 | */ |
33 | list_for_each_entry(info, ®istered_dmac_list, list) { | 33 | list_for_each_entry(info, ®istered_dmac_list, list) { |
34 | if ((chan < info->first_channel_nr) || | 34 | if ((chan < info->first_vchannel_nr) || |
35 | (chan >= info->first_channel_nr + info->nr_channels)) | 35 | (chan >= info->first_vchannel_nr + info->nr_channels)) |
36 | continue; | 36 | continue; |
37 | 37 | ||
38 | return info; | 38 | return info; |
@@ -82,7 +82,7 @@ struct dma_channel *get_dma_channel(unsigned int chan) | |||
82 | 82 | ||
83 | for (i = 0; i < info->nr_channels; i++) { | 83 | for (i = 0; i < info->nr_channels; i++) { |
84 | channel = &info->channels[i]; | 84 | channel = &info->channels[i]; |
85 | if (channel->chan == chan) | 85 | if (channel->vchan == chan) |
86 | return channel; | 86 | return channel; |
87 | } | 87 | } |
88 | 88 | ||
@@ -369,6 +369,7 @@ int register_dmac(struct dma_info *info) | |||
369 | } | 369 | } |
370 | 370 | ||
371 | total_channels = get_nr_channels(); | 371 | total_channels = get_nr_channels(); |
372 | info->first_vchannel_nr = total_channels; | ||
372 | for (i = 0; i < info->nr_channels; i++) { | 373 | for (i = 0; i < info->nr_channels; i++) { |
373 | struct dma_channel *chan = &info->channels[i]; | 374 | struct dma_channel *chan = &info->channels[i]; |
374 | 375 | ||
diff --git a/include/asm-sh/dma.h b/include/asm-sh/dma.h index 6034d4a29e73..4c75b70b6414 100644 --- a/include/asm-sh/dma.h +++ b/include/asm-sh/dma.h | |||
@@ -111,6 +111,7 @@ struct dma_info { | |||
111 | 111 | ||
112 | struct list_head list; | 112 | struct list_head list; |
113 | int first_channel_nr; | 113 | int first_channel_nr; |
114 | int first_vchannel_nr; | ||
114 | }; | 115 | }; |
115 | 116 | ||
116 | struct dma_chan_caps { | 117 | struct dma_chan_caps { |
diff --git a/sound/sh/aica.h b/sound/sh/aica.h index 8c11e3d10a50..d098baaa0116 100644 --- a/sound/sh/aica.h +++ b/sound/sh/aica.h | |||
@@ -52,7 +52,7 @@ | |||
52 | #define AICA_CHANNEL1_OFFSET 0x21000 | 52 | #define AICA_CHANNEL1_OFFSET 0x21000 |
53 | #define CHANNEL_OFFSET 0x10000 | 53 | #define CHANNEL_OFFSET 0x10000 |
54 | 54 | ||
55 | #define AICA_DMA_CHANNEL 0 | 55 | #define AICA_DMA_CHANNEL 5 |
56 | #define AICA_DMA_MODE 5 | 56 | #define AICA_DMA_MODE 5 |
57 | 57 | ||
58 | #define SND_AICA_DRIVER "AICA" | 58 | #define SND_AICA_DRIVER "AICA" |