Lines Matching full:acc

24 				struct knav_acc_channel *acc)  in __knav_acc_notify()  argument
38 dev_dbg(kdev->dev, "acc-irq: notifying %d\n", in __knav_acc_notify()
44 queue = acc->channel - range->acc_info.start_channel; in __knav_acc_notify()
46 dev_dbg(kdev->dev, "acc-irq: notifying %d\n", in __knav_acc_notify()
68 atomic_inc(&kq->acc->retrigger_count); in knav_acc_set_notify()
69 mask = BIT(kq->acc->channel % 32); in knav_acc_set_notify()
70 offset = ACC_INTD_OFFSET_STATUS(kq->acc->channel); in knav_acc_set_notify()
72 kq->acc->name); in knav_acc_set_notify()
79 struct knav_acc_channel *acc; in knav_acc_int_handler() local
94 acc = range->acc; in knav_acc_int_handler()
102 acc += queue; in knav_acc_int_handler()
105 channel = acc->channel; in knav_acc_int_handler()
106 list_dma = acc->list_dma[acc->list_index]; in knav_acc_int_handler()
107 list_cpu = acc->list_cpu[acc->list_index]; in knav_acc_int_handler()
108 dev_dbg(kdev->dev, "acc-irq: channel %d, list %d, virt %p, dma %pad\n", in knav_acc_int_handler()
109 channel, acc->list_index, list_cpu, &list_dma); in knav_acc_int_handler()
110 if (atomic_read(&acc->retrigger_count)) { in knav_acc_int_handler()
111 atomic_dec(&acc->retrigger_count); in knav_acc_int_handler()
112 __knav_acc_notify(range, acc); in knav_acc_int_handler()
130 "acc-irq: list %d, entry @%p, %08x\n", in knav_acc_int_handler()
131 acc->list_index, list, list[0]); in knav_acc_int_handler()
134 "acc-irq: list %d, entry @%p, %08x %08x\n", in knav_acc_int_handler()
135 acc->list_index, list, list[0], list[1]); in knav_acc_int_handler()
138 "acc-irq: list %d, entry @%p, %08x %08x %08x %08x\n", in knav_acc_int_handler()
139 acc->list_index, list, list[0], list[1], in knav_acc_int_handler()
165 "acc-irq: queue %d full, entry dropped\n", in knav_acc_int_handler()
173 dev_dbg(kdev->dev, "acc-irq: enqueue %08x at %d, queue %d\n", in knav_acc_int_handler()
177 __knav_acc_notify(range, acc); in knav_acc_int_handler()
183 acc->list_index ^= 1; in knav_acc_int_handler()
199 struct knav_acc_channel *acc; in knav_range_setup_acc_irq() local
205 acc = range->acc; in knav_range_setup_acc_irq()
209 acc = range->acc + queue; in knav_range_setup_acc_irq()
214 old = acc->open_mask; in knav_range_setup_acc_irq()
219 acc->open_mask = new; in knav_range_setup_acc_irq()
222 "setup-acc-irq: open mask old %08x, new %08x, channel %s\n", in knav_range_setup_acc_irq()
223 old, new, acc->name); in knav_range_setup_acc_irq()
230 "setup-acc-irq: requesting %s for channel %s\n", in knav_range_setup_acc_irq()
231 acc->name, acc->name); in knav_range_setup_acc_irq()
232 ret = request_irq(irq, knav_acc_int_handler, 0, acc->name, in knav_range_setup_acc_irq()
245 dev_dbg(kdev->dev, "setup-acc-irq: freeing %s for channel %s\n", in knav_range_setup_acc_irq()
246 acc->name, acc->name); in knav_range_setup_acc_irq()
282 dev_dbg(kdev->dev, "acc command %08x %08x %08x %08x %08x\n", in knav_acc_write()
306 struct knav_acc_channel *acc; in knav_acc_setup_cmd() local
311 acc = range->acc; in knav_acc_setup_cmd()
315 acc = range->acc + queue; in knav_acc_setup_cmd()
321 cmd->command = acc->channel; in knav_acc_setup_cmd()
323 cmd->list_dma = (u32)acc->list_dma[0]; in knav_acc_setup_cmd()
339 struct knav_acc_channel *acc; in knav_acc_stop() local
342 acc = range->acc + queue; in knav_acc_stop()
348 dev_dbg(kdev->dev, "stopped acc channel %s, result %s\n", in knav_acc_stop()
349 acc->name, knav_acc_result_str(result)); in knav_acc_stop()
357 struct knav_acc_channel *acc; in knav_acc_start() local
360 acc = range->acc + queue; in knav_acc_start()
366 dev_dbg(kdev->dev, "started acc channel %s, result %s\n", in knav_acc_start()
367 acc->name, knav_acc_result_str(result)); in knav_acc_start()
375 struct knav_acc_channel *acc; in knav_acc_init_range() local
380 acc = range->acc + queue; in knav_acc_init_range()
383 acc->list_index = 0; in knav_acc_init_range()
405 kq->acc = range->acc; in knav_acc_init_queue()
407 kq->acc += id; in knav_acc_init_queue()
430 struct knav_acc_channel *acc; in knav_acc_free_range() local
442 acc = range->acc + channel; in knav_acc_free_range()
443 if (!acc->list_cpu[0]) in knav_acc_free_range()
445 dma_unmap_single(kdev->dev, acc->list_dma[0], in knav_acc_free_range()
447 free_pages_exact(acc->list_cpu[0], info->mem_size); in knav_acc_free_range()
449 devm_kfree(range->kdev->dev, range->acc); in knav_acc_free_range()
475 struct knav_acc_channel *acc; in knav_init_acc_range() local
547 range->acc = devm_kcalloc(kdev->dev, channels, sizeof(*range->acc), in knav_init_acc_range()
549 if (!range->acc) in knav_init_acc_range()
553 acc = range->acc + channel; in knav_init_acc_range()
554 acc->channel = info->start_channel + channel; in knav_init_acc_range()
571 scnprintf(acc->name, sizeof(acc->name), "hwqueue-acc-%d", in knav_init_acc_range()
572 acc->channel); in knav_init_acc_range()
573 acc->list_cpu[0] = list_mem; in knav_init_acc_range()
574 acc->list_cpu[1] = list_mem + list_size; in knav_init_acc_range()
575 acc->list_dma[0] = list_dma; in knav_init_acc_range()
576 acc->list_dma[1] = list_dma + list_size; in knav_init_acc_range()
578 acc->name, acc->channel, &list_dma, list_mem); in knav_init_acc_range()