Lines Matching refs:info

29 	struct dma_info *info;  in get_dma_info()  local
35 list_for_each_entry(info, &registered_dmac_list, list) { in get_dma_info()
36 if ((chan < info->first_vchannel_nr) || in get_dma_info()
37 (chan >= info->first_vchannel_nr + info->nr_channels)) in get_dma_info()
40 return info; in get_dma_info()
49 struct dma_info *info; in get_dma_info_by_name() local
51 list_for_each_entry(info, &registered_dmac_list, list) { in get_dma_info_by_name()
52 if (dmac_name && (strcmp(dmac_name, info->name) != 0)) in get_dma_info_by_name()
55 return info; in get_dma_info_by_name()
64 struct dma_info *info; in get_nr_channels() local
70 list_for_each_entry(info, &registered_dmac_list, list) in get_nr_channels()
71 nr += info->nr_channels; in get_nr_channels()
78 struct dma_info *info = get_dma_info(chan); in get_dma_channel() local
82 if (unlikely(!info)) in get_dma_channel()
85 for (i = 0; i < info->nr_channels; i++) { in get_dma_channel()
86 channel = &info->channels[i]; in get_dma_channel()
97 struct dma_info *info = get_dma_info(chan); in get_dma_residue() local
100 if (info->ops->get_residue) in get_dma_residue()
101 return info->ops->get_residue(channel); in get_dma_residue()
134 struct dma_info *info; in request_dma_bycap() local
140 list_for_each_entry(info, &registered_dmac_list, list) in request_dma_bycap()
141 if (strcmp(*dmac, info->name) == 0) { in request_dma_bycap()
149 for (i = 0; i < info->nr_channels; i++) { in request_dma_bycap()
150 struct dma_channel *channel = &info->channels[i]; in request_dma_bycap()
170 struct dma_info *info = get_dma_info(0); in dmac_search_free_channel() local
173 for (i = 0; i < info->nr_channels; i++) { in dmac_search_free_channel()
174 channel = &info->channels[i]; in dmac_search_free_channel()
182 if (info->ops->request) { in dmac_search_free_channel()
183 int result = info->ops->request(channel); in dmac_search_free_channel()
197 struct dma_info *info = get_dma_info(chan); in request_dma() local
206 if (info->ops->request) { in request_dma()
207 result = info->ops->request(channel); in request_dma()
220 struct dma_info *info = get_dma_info(chan); in free_dma() local
223 if (info->ops->free) in free_dma()
224 info->ops->free(channel); in free_dma()
232 struct dma_info *info = get_dma_info(chan); in dma_wait_for_completion() local
237 (info->ops->get_residue(channel) == 0)); in dma_wait_for_completion()
241 while (info->ops->get_residue(channel)) in dma_wait_for_completion()
248 struct dma_info *info; in register_chan_caps() local
252 list_for_each_entry(info, &registered_dmac_list, list) in register_chan_caps()
253 if (strcmp(dmac, info->name) == 0) { in register_chan_caps()
261 for (i = 0; i < info->nr_channels; i++, caps++) { in register_chan_caps()
264 if ((info->first_channel_nr + i) != caps->ch_num) in register_chan_caps()
267 channel = &info->channels[i]; in register_chan_caps()
277 struct dma_info *info = get_dma_info(chan); in dma_configure_channel() local
280 if (info->ops->configure) in dma_configure_channel()
281 info->ops->configure(channel, flags); in dma_configure_channel()
288 struct dma_info *info = get_dma_info(chan); in dma_xfer() local
296 return info->ops->xfer(channel); in dma_xfer()
302 struct dma_info *info = get_dma_info(chan); in dma_extend() local
305 if (info->ops->extend) in dma_extend()
306 return info->ops->extend(channel, op, param); in dma_extend()
314 struct dma_info *info = v; in dma_proc_show() local
322 list_for_each_entry(info, &registered_dmac_list, list) { in dma_proc_show()
328 for (i = 0; i < info->nr_channels; i++) { in dma_proc_show()
329 struct dma_channel *channel = info->channels + i; in dma_proc_show()
335 info->name, channel->dev_id); in dma_proc_show()
354 int register_dmac(struct dma_info *info) in register_dmac() argument
358 INIT_LIST_HEAD(&info->list); in register_dmac()
361 info->name, info->nr_channels, info->nr_channels > 1 ? "s" : ""); in register_dmac()
363 BUG_ON((info->flags & DMAC_CHANNELS_CONFIGURED) && !info->channels); in register_dmac()
365 info->pdev = platform_device_register_simple(info->name, -1, in register_dmac()
367 if (IS_ERR(info->pdev)) in register_dmac()
368 return PTR_ERR(info->pdev); in register_dmac()
373 if (!(info->flags & DMAC_CHANNELS_CONFIGURED)) { in register_dmac()
376 size = sizeof(struct dma_channel) * info->nr_channels; in register_dmac()
378 info->channels = kzalloc(size, GFP_KERNEL); in register_dmac()
379 if (!info->channels) in register_dmac()
384 info->first_vchannel_nr = total_channels; in register_dmac()
385 for (i = 0; i < info->nr_channels; i++) { in register_dmac()
386 struct dma_channel *chan = &info->channels[i]; in register_dmac()
390 chan->chan = info->first_channel_nr + i; in register_dmac()
391 chan->vchan = info->first_channel_nr + i + total_channels; in register_dmac()
395 if (info->flags & DMAC_CHANNELS_TEI_CAPABLE) in register_dmac()
399 dma_create_sysfs_files(chan, info); in register_dmac()
402 list_add(&info->list, &registered_dmac_list); in register_dmac()
408 void unregister_dmac(struct dma_info *info) in unregister_dmac() argument
412 for (i = 0; i < info->nr_channels; i++) in unregister_dmac()
413 dma_remove_sysfs_files(info->channels + i, info); in unregister_dmac()
415 if (!(info->flags & DMAC_CHANNELS_CONFIGURED)) in unregister_dmac()
416 kfree(info->channels); in unregister_dmac()
418 list_del(&info->list); in unregister_dmac()
419 platform_device_unregister(info->pdev); in unregister_dmac()