|
@@ -31,8 +31,8 @@ struct dma_info *get_dma_info(unsigned int chan)
|
|
* the channel is.
|
|
* the channel is.
|
|
*/
|
|
*/
|
|
list_for_each_entry(info, ®istered_dmac_list, list) {
|
|
list_for_each_entry(info, ®istered_dmac_list, list) {
|
|
- if ((chan < info->first_channel_nr) ||
|
|
|
|
- (chan >= info->first_channel_nr + info->nr_channels))
|
|
|
|
|
|
+ if ((chan < info->first_vchannel_nr) ||
|
|
|
|
+ (chan >= info->first_vchannel_nr + info->nr_channels))
|
|
continue;
|
|
continue;
|
|
|
|
|
|
return info;
|
|
return info;
|
|
@@ -82,7 +82,7 @@ struct dma_channel *get_dma_channel(unsigned int chan)
|
|
|
|
|
|
for (i = 0; i < info->nr_channels; i++) {
|
|
for (i = 0; i < info->nr_channels; i++) {
|
|
channel = &info->channels[i];
|
|
channel = &info->channels[i];
|
|
- if (channel->chan == chan)
|
|
|
|
|
|
+ if (channel->vchan == chan)
|
|
return channel;
|
|
return channel;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -369,6 +369,7 @@ int register_dmac(struct dma_info *info)
|
|
}
|
|
}
|
|
|
|
|
|
total_channels = get_nr_channels();
|
|
total_channels = get_nr_channels();
|
|
|
|
+ info->first_vchannel_nr = total_channels;
|
|
for (i = 0; i < info->nr_channels; i++) {
|
|
for (i = 0; i < info->nr_channels; i++) {
|
|
struct dma_channel *chan = &info->channels[i];
|
|
struct dma_channel *chan = &info->channels[i];
|
|
|
|
|