Searched refs:pdsp (Results 1 - 3 of 3) sorted by relevance

/linux-4.1.27/drivers/soc/ti/
H A Dknav_qmss_acc.c73 struct knav_pdsp_info *pdsp = range->acc_info.pdsp; knav_acc_set_notify() local
90 writel_relaxed(mask, pdsp->intd + offset); knav_acc_set_notify()
99 struct knav_pdsp_info *pdsp; knav_acc_int_handler() local
110 pdsp = range->acc_info.pdsp; knav_acc_int_handler()
130 writel_relaxed(1, pdsp->intd + ACC_INTD_OFFSET_COUNT(channel)); knav_acc_int_handler()
133 pdsp->intd + ACC_INTD_OFFSET_EOI); knav_acc_int_handler()
138 notifies = readl_relaxed(pdsp->intd + ACC_INTD_OFFSET_COUNT(channel)); knav_acc_int_handler()
203 writel_relaxed(1, pdsp->intd + ACC_INTD_OFFSET_COUNT(channel)); knav_acc_int_handler()
207 pdsp->intd + ACC_INTD_OFFSET_EOI); knav_acc_int_handler()
290 knav_acc_write(struct knav_device *kdev, struct knav_pdsp_info *pdsp, knav_acc_write() argument
299 writel_relaxed(cmd->timer_config, &pdsp->acc_command->timer_config); knav_acc_write()
300 writel_relaxed(cmd->queue_num, &pdsp->acc_command->queue_num); knav_acc_write()
301 writel_relaxed(cmd->list_phys, &pdsp->acc_command->list_phys); knav_acc_write()
302 writel_relaxed(cmd->queue_mask, &pdsp->acc_command->queue_mask); knav_acc_write()
303 writel_relaxed(cmd->command, &pdsp->acc_command->command); knav_acc_write()
307 result = readl_relaxed(&pdsp->acc_command->command); knav_acc_write()
359 result = knav_acc_write(kdev, range->acc_info.pdsp, &cmd); knav_acc_stop()
377 result = knav_acc_write(kdev, range->acc_info.pdsp, &cmd); knav_acc_start()
489 struct knav_pdsp_info *pdsp; knav_init_acc_range() local
522 pdsp = knav_find_pdsp(kdev, info->pdsp_id); knav_init_acc_range()
523 if (!pdsp) { knav_init_acc_range()
524 dev_err(kdev->dev, "pdsp id %d not found for range %s\n", knav_init_acc_range()
529 info->pdsp = pdsp; knav_init_acc_range()
H A Dknav_qmss_queue.c1440 struct knav_pdsp_info *pdsp; knav_queue_init_pdsps() local
1445 pdsp = devm_kzalloc(dev, sizeof(*pdsp), GFP_KERNEL); for_each_child_of_node()
1446 if (!pdsp) { for_each_child_of_node()
1447 dev_err(dev, "out of memory allocating pdsp\n"); for_each_child_of_node()
1450 pdsp->name = knav_queue_find_name(child); for_each_child_of_node()
1452 &pdsp->firmware); for_each_child_of_node()
1453 if (ret < 0 || !pdsp->firmware) { for_each_child_of_node()
1454 dev_err(dev, "unknown firmware for pdsp %s\n", for_each_child_of_node()
1455 pdsp->name); for_each_child_of_node()
1456 devm_kfree(dev, pdsp); for_each_child_of_node()
1459 dev_dbg(dev, "pdsp name %s fw name :%s\n", pdsp->name, for_each_child_of_node()
1460 pdsp->firmware); for_each_child_of_node()
1462 pdsp->iram = for_each_child_of_node()
1465 pdsp->regs = for_each_child_of_node()
1468 pdsp->intd = for_each_child_of_node()
1471 pdsp->command = for_each_child_of_node()
1475 if (IS_ERR(pdsp->command) || IS_ERR(pdsp->iram) || for_each_child_of_node()
1476 IS_ERR(pdsp->regs) || IS_ERR(pdsp->intd)) { for_each_child_of_node()
1477 dev_err(dev, "failed to map pdsp %s regs\n", for_each_child_of_node()
1478 pdsp->name); for_each_child_of_node()
1479 if (!IS_ERR(pdsp->command)) for_each_child_of_node()
1480 devm_iounmap(dev, pdsp->command); for_each_child_of_node()
1481 if (!IS_ERR(pdsp->iram)) for_each_child_of_node()
1482 devm_iounmap(dev, pdsp->iram); for_each_child_of_node()
1483 if (!IS_ERR(pdsp->regs)) for_each_child_of_node()
1484 devm_iounmap(dev, pdsp->regs); for_each_child_of_node()
1485 if (!IS_ERR(pdsp->intd)) for_each_child_of_node()
1486 devm_iounmap(dev, pdsp->intd); for_each_child_of_node()
1487 devm_kfree(dev, pdsp); for_each_child_of_node()
1490 of_property_read_u32(child, "id", &pdsp->id); for_each_child_of_node()
1491 list_add_tail(&pdsp->list, &kdev->pdsps); for_each_child_of_node()
1492 dev_dbg(dev, "added pdsp %s: command %p, iram %p, regs %p, intd %p, firmware %s\n", for_each_child_of_node()
1493 pdsp->name, pdsp->command, pdsp->iram, pdsp->regs, for_each_child_of_node()
1494 pdsp->intd, pdsp->firmware); for_each_child_of_node()
1500 struct knav_pdsp_info *pdsp) knav_queue_stop_pdsp()
1505 val = readl_relaxed(&pdsp->regs->control) & ~PDSP_CTRL_ENABLE; knav_queue_stop_pdsp()
1506 writel_relaxed(val, &pdsp->regs->control); knav_queue_stop_pdsp()
1507 ret = knav_queue_pdsp_wait(&pdsp->regs->control, timeout, knav_queue_stop_pdsp()
1510 dev_err(kdev->dev, "timed out on pdsp %s stop\n", pdsp->name); knav_queue_stop_pdsp()
1517 struct knav_pdsp_info *pdsp) knav_queue_load_pdsp()
1523 ret = request_firmware(&fw, pdsp->firmware, kdev->dev); knav_queue_load_pdsp()
1525 dev_err(kdev->dev, "failed to get firmware %s for pdsp %s\n", knav_queue_load_pdsp()
1526 pdsp->firmware, pdsp->name); knav_queue_load_pdsp()
1529 writel_relaxed(pdsp->id + 1, pdsp->command + 0x18); knav_queue_load_pdsp()
1534 writel_relaxed(be32_to_cpu(fwdata[i]), pdsp->iram + i); knav_queue_load_pdsp()
1541 struct knav_pdsp_info *pdsp) knav_queue_start_pdsp()
1547 writel_relaxed(0xffffffff, pdsp->command); knav_queue_start_pdsp()
1548 while (readl_relaxed(pdsp->command) != 0xffffffff) knav_queue_start_pdsp()
1552 val = readl_relaxed(&pdsp->regs->control); knav_queue_start_pdsp()
1554 writel_relaxed(val, &pdsp->regs->control); knav_queue_start_pdsp()
1556 /* enable pdsp */ knav_queue_start_pdsp()
1557 val = readl_relaxed(&pdsp->regs->control) | PDSP_CTRL_ENABLE; knav_queue_start_pdsp()
1558 writel_relaxed(val, &pdsp->regs->control); knav_queue_start_pdsp()
1561 ret = knav_queue_pdsp_wait(pdsp->command, timeout, 0); knav_queue_start_pdsp()
1564 "timed out on pdsp %s command register wait\n", knav_queue_start_pdsp()
1565 pdsp->name); knav_queue_start_pdsp()
1573 struct knav_pdsp_info *pdsp; knav_queue_stop_pdsps() local
1576 for_each_pdsp(kdev, pdsp) knav_queue_stop_pdsps()
1577 knav_queue_stop_pdsp(kdev, pdsp); knav_queue_stop_pdsps()
1582 struct knav_pdsp_info *pdsp; knav_queue_start_pdsps() local
1587 for_each_pdsp(kdev, pdsp) { for_each_pdsp()
1588 ret = knav_queue_load_pdsp(kdev, pdsp); for_each_pdsp()
1593 for_each_pdsp(kdev, pdsp) { for_each_pdsp()
1594 ret = knav_queue_start_pdsp(kdev, pdsp); for_each_pdsp()
1725 /* get pdsp configuration values from device tree */ knav_queue_probe()
1499 knav_queue_stop_pdsp(struct knav_device *kdev, struct knav_pdsp_info *pdsp) knav_queue_stop_pdsp() argument
1516 knav_queue_load_pdsp(struct knav_device *kdev, struct knav_pdsp_info *pdsp) knav_queue_load_pdsp() argument
1540 knav_queue_start_pdsp(struct knav_device *kdev, struct knav_pdsp_info *pdsp) knav_queue_start_pdsp() argument
H A Dknav_qmss.h115 struct knav_pdsp_info *pdsp; member in struct:knav_acc_info
364 #define for_each_pdsp(kdev, pdsp) \
365 list_for_each_entry(pdsp, &kdev->pdsps, list)
373 struct knav_pdsp_info *pdsp; knav_find_pdsp() local
375 for_each_pdsp(kdev, pdsp) knav_find_pdsp()
376 if (pdsp_id == pdsp->id) knav_find_pdsp()
377 return pdsp; knav_find_pdsp()

Completed in 156 milliseconds