Lines Matching refs:hdev
138 static void venus_set_state(struct venus_hfi_device *hdev, in venus_set_state() argument
141 mutex_lock(&hdev->lock); in venus_set_state()
142 hdev->state = state; in venus_set_state()
143 mutex_unlock(&hdev->lock); in venus_set_state()
146 static bool venus_is_valid_state(struct venus_hfi_device *hdev) in venus_is_valid_state() argument
148 return hdev->state != VENUS_STATE_DEINIT; in venus_is_valid_state()
151 static void venus_dump_packet(struct venus_hfi_device *hdev, const void *packet) in venus_dump_packet() argument
162 static int venus_write_queue(struct venus_hfi_device *hdev, in venus_write_queue() argument
178 venus_dump_packet(hdev, packet); in venus_write_queue()
231 static int venus_read_queue(struct venus_hfi_device *hdev, in venus_read_queue() argument
319 venus_dump_packet(hdev, pkt); in venus_read_queue()
324 static int venus_alloc(struct venus_hfi_device *hdev, struct mem_desc *desc, in venus_alloc() argument
327 struct device *dev = hdev->core->dev; in venus_alloc()
340 static void venus_free(struct venus_hfi_device *hdev, struct mem_desc *mem) in venus_free() argument
342 struct device *dev = hdev->core->dev; in venus_free()
347 static void venus_set_registers(struct venus_hfi_device *hdev) in venus_set_registers() argument
349 const struct venus_resources *res = hdev->core->res; in venus_set_registers()
355 writel(tbl[i].value, hdev->core->base + tbl[i].reg); in venus_set_registers()
358 static void venus_soft_int(struct venus_hfi_device *hdev) in venus_soft_int() argument
360 void __iomem *cpu_ic_base = hdev->core->cpu_ic_base; in venus_soft_int()
363 if (IS_V6(hdev->core)) in venus_soft_int()
371 static int venus_iface_cmdq_write_nolock(struct venus_hfi_device *hdev, in venus_iface_cmdq_write_nolock() argument
374 struct device *dev = hdev->core->dev; in venus_iface_cmdq_write_nolock()
380 if (!venus_is_valid_state(hdev)) in venus_iface_cmdq_write_nolock()
384 hdev->last_packet_type = cmd_packet->pkt_type; in venus_iface_cmdq_write_nolock()
386 queue = &hdev->queues[IFACEQ_CMD_IDX]; in venus_iface_cmdq_write_nolock()
388 ret = venus_write_queue(hdev, queue, pkt, &rx_req); in venus_iface_cmdq_write_nolock()
399 queue = &hdev->queues[IFACEQ_MSG_IDX]; in venus_iface_cmdq_write_nolock()
406 venus_soft_int(hdev); in venus_iface_cmdq_write_nolock()
411 static int venus_iface_cmdq_write(struct venus_hfi_device *hdev, void *pkt, bool sync) in venus_iface_cmdq_write() argument
415 mutex_lock(&hdev->lock); in venus_iface_cmdq_write()
416 ret = venus_iface_cmdq_write_nolock(hdev, pkt, sync); in venus_iface_cmdq_write()
417 mutex_unlock(&hdev->lock); in venus_iface_cmdq_write()
425 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_hfi_core_set_resource() local
439 ret = venus_iface_cmdq_write(hdev, pkt, false); in venus_hfi_core_set_resource()
446 static int venus_boot_core(struct venus_hfi_device *hdev) in venus_boot_core() argument
448 struct device *dev = hdev->core->dev; in venus_boot_core()
452 void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; in venus_boot_core()
453 void __iomem *wrapper_base = hdev->core->wrapper_base; in venus_boot_core()
456 if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) { in venus_boot_core()
465 if (IS_V1(hdev->core)) in venus_boot_core()
484 if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) { in venus_boot_core()
492 static u32 venus_hwversion(struct venus_hfi_device *hdev) in venus_hwversion() argument
494 struct device *dev = hdev->core->dev; in venus_hwversion()
495 void __iomem *wrapper_base = hdev->core->wrapper_base; in venus_hwversion()
511 static int venus_run(struct venus_hfi_device *hdev) in venus_run() argument
513 struct device *dev = hdev->core->dev; in venus_run()
514 void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; in venus_run()
521 venus_set_registers(hdev); in venus_run()
523 writel(hdev->ifaceq_table.da, cpu_cs_base + UC_REGION_ADDR); in venus_run()
525 writel(hdev->ifaceq_table.da, cpu_cs_base + CPU_CS_SCIACMDARG2); in venus_run()
527 if (hdev->sfr.da) in venus_run()
528 writel(hdev->sfr.da, cpu_cs_base + SFR_ADDR); in venus_run()
530 ret = venus_boot_core(hdev); in venus_run()
536 venus_hwversion(hdev); in venus_run()
541 static int venus_halt_axi(struct venus_hfi_device *hdev) in venus_halt_axi() argument
543 void __iomem *wrapper_base = hdev->core->wrapper_base; in venus_halt_axi()
544 void __iomem *vbif_base = hdev->core->vbif_base; in venus_halt_axi()
545 void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; in venus_halt_axi()
546 void __iomem *aon_base = hdev->core->aon_base; in venus_halt_axi()
547 struct device *dev = hdev->core->dev; in venus_halt_axi()
552 if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) { in venus_halt_axi()
555 if (IS_IRIS2_1(hdev->core)) in venus_halt_axi()
585 if (IS_V4(hdev->core)) { in venus_halt_axi()
621 static int venus_power_off(struct venus_hfi_device *hdev) in venus_power_off() argument
625 if (!hdev->power_enabled) in venus_power_off()
628 ret = venus_set_hw_state_suspend(hdev->core); in venus_power_off()
632 ret = venus_halt_axi(hdev); in venus_power_off()
636 hdev->power_enabled = false; in venus_power_off()
641 static int venus_power_on(struct venus_hfi_device *hdev) in venus_power_on() argument
645 if (hdev->power_enabled) in venus_power_on()
648 ret = venus_set_hw_state_resume(hdev->core); in venus_power_on()
652 ret = venus_run(hdev); in venus_power_on()
656 hdev->power_enabled = true; in venus_power_on()
661 venus_set_hw_state_suspend(hdev->core); in venus_power_on()
663 hdev->power_enabled = false; in venus_power_on()
667 static int venus_iface_msgq_read_nolock(struct venus_hfi_device *hdev, in venus_iface_msgq_read_nolock() argument
674 if (!venus_is_valid_state(hdev)) in venus_iface_msgq_read_nolock()
677 queue = &hdev->queues[IFACEQ_MSG_IDX]; in venus_iface_msgq_read_nolock()
679 ret = venus_read_queue(hdev, queue, pkt, &tx_req); in venus_iface_msgq_read_nolock()
684 venus_soft_int(hdev); in venus_iface_msgq_read_nolock()
689 static int venus_iface_msgq_read(struct venus_hfi_device *hdev, void *pkt) in venus_iface_msgq_read() argument
693 mutex_lock(&hdev->lock); in venus_iface_msgq_read()
694 ret = venus_iface_msgq_read_nolock(hdev, pkt); in venus_iface_msgq_read()
695 mutex_unlock(&hdev->lock); in venus_iface_msgq_read()
700 static int venus_iface_dbgq_read_nolock(struct venus_hfi_device *hdev, in venus_iface_dbgq_read_nolock() argument
707 ret = venus_is_valid_state(hdev); in venus_iface_dbgq_read_nolock()
711 queue = &hdev->queues[IFACEQ_DBG_IDX]; in venus_iface_dbgq_read_nolock()
713 ret = venus_read_queue(hdev, queue, pkt, &tx_req); in venus_iface_dbgq_read_nolock()
718 venus_soft_int(hdev); in venus_iface_dbgq_read_nolock()
723 static int venus_iface_dbgq_read(struct venus_hfi_device *hdev, void *pkt) in venus_iface_dbgq_read() argument
730 mutex_lock(&hdev->lock); in venus_iface_dbgq_read()
731 ret = venus_iface_dbgq_read_nolock(hdev, pkt); in venus_iface_dbgq_read()
732 mutex_unlock(&hdev->lock); in venus_iface_dbgq_read()
753 static void venus_interface_queues_release(struct venus_hfi_device *hdev) in venus_interface_queues_release() argument
755 mutex_lock(&hdev->lock); in venus_interface_queues_release()
757 venus_free(hdev, &hdev->ifaceq_table); in venus_interface_queues_release()
758 venus_free(hdev, &hdev->sfr); in venus_interface_queues_release()
760 memset(hdev->queues, 0, sizeof(hdev->queues)); in venus_interface_queues_release()
761 memset(&hdev->ifaceq_table, 0, sizeof(hdev->ifaceq_table)); in venus_interface_queues_release()
762 memset(&hdev->sfr, 0, sizeof(hdev->sfr)); in venus_interface_queues_release()
764 mutex_unlock(&hdev->lock); in venus_interface_queues_release()
767 static int venus_interface_queues_init(struct venus_hfi_device *hdev) in venus_interface_queues_init() argument
777 ret = venus_alloc(hdev, &desc, ALIGNED_QUEUE_SIZE); in venus_interface_queues_init()
781 hdev->ifaceq_table = desc; in venus_interface_queues_init()
785 queue = &hdev->queues[i]; in venus_interface_queues_init()
791 IFACEQ_GET_QHDR_START_ADDR(hdev->ifaceq_table.kva, i); in venus_interface_queues_init()
805 tbl_hdr = hdev->ifaceq_table.kva; in venus_interface_queues_init()
817 queue = &hdev->queues[IFACEQ_DBG_IDX]; in venus_interface_queues_init()
820 ret = venus_alloc(hdev, &desc, ALIGNED_SFR_SIZE); in venus_interface_queues_init()
822 hdev->sfr.da = 0; in venus_interface_queues_init()
824 hdev->sfr = desc; in venus_interface_queues_init()
825 sfr = hdev->sfr.kva; in venus_interface_queues_init()
835 static int venus_sys_set_debug(struct venus_hfi_device *hdev, u32 debug) in venus_sys_set_debug() argument
844 return venus_iface_cmdq_write(hdev, pkt, false); in venus_sys_set_debug()
847 static int venus_sys_set_coverage(struct venus_hfi_device *hdev, u32 mode) in venus_sys_set_coverage() argument
856 return venus_iface_cmdq_write(hdev, pkt, false); in venus_sys_set_coverage()
859 static int venus_sys_set_idle_message(struct venus_hfi_device *hdev, in venus_sys_set_idle_message() argument
872 return venus_iface_cmdq_write(hdev, pkt, false); in venus_sys_set_idle_message()
875 static int venus_sys_set_power_control(struct venus_hfi_device *hdev, in venus_sys_set_power_control() argument
885 return venus_iface_cmdq_write(hdev, pkt, false); in venus_sys_set_power_control()
888 static int venus_sys_set_ubwc_config(struct venus_hfi_device *hdev) in venus_sys_set_ubwc_config() argument
892 const struct venus_resources *res = hdev->core->res; in venus_sys_set_ubwc_config()
899 ret = venus_iface_cmdq_write(hdev, pkt, false); in venus_sys_set_ubwc_config()
906 static int venus_get_queue_size(struct venus_hfi_device *hdev, in venus_get_queue_size() argument
914 qhdr = hdev->queues[index].qhdr; in venus_get_queue_size()
921 static int venus_sys_set_default_properties(struct venus_hfi_device *hdev) in venus_sys_set_default_properties() argument
923 struct device *dev = hdev->core->dev; in venus_sys_set_default_properties()
924 const struct venus_resources *res = hdev->core->res; in venus_sys_set_default_properties()
927 ret = venus_sys_set_debug(hdev, venus_fw_debug); in venus_sys_set_default_properties()
932 if (IS_V1(hdev->core)) { in venus_sys_set_default_properties()
933 ret = venus_sys_set_idle_message(hdev, false); in venus_sys_set_default_properties()
938 ret = venus_sys_set_power_control(hdev, venus_fw_low_power_mode); in venus_sys_set_default_properties()
945 ret = venus_sys_set_ubwc_config(hdev); in venus_sys_set_default_properties()
955 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_cmd() local
960 return venus_iface_cmdq_write(hdev, &pkt, sync); in venus_session_cmd()
963 static void venus_flush_debug_queue(struct venus_hfi_device *hdev) in venus_flush_debug_queue() argument
965 struct device *dev = hdev->core->dev; in venus_flush_debug_queue()
966 void *packet = hdev->dbg_buf; in venus_flush_debug_queue()
968 while (!venus_iface_dbgq_read(hdev, packet)) { in venus_flush_debug_queue()
979 static int venus_prepare_power_collapse(struct venus_hfi_device *hdev, in venus_prepare_power_collapse() argument
986 init_completion(&hdev->pwr_collapse_prep); in venus_prepare_power_collapse()
990 ret = venus_iface_cmdq_write(hdev, &pkt, false); in venus_prepare_power_collapse()
997 ret = wait_for_completion_timeout(&hdev->pwr_collapse_prep, timeout); in venus_prepare_power_collapse()
999 venus_flush_debug_queue(hdev); in venus_prepare_power_collapse()
1006 static int venus_are_queues_empty(struct venus_hfi_device *hdev) in venus_are_queues_empty() argument
1010 ret1 = venus_get_queue_size(hdev, IFACEQ_MSG_IDX); in venus_are_queues_empty()
1014 ret2 = venus_get_queue_size(hdev, IFACEQ_CMD_IDX); in venus_are_queues_empty()
1024 static void venus_sfr_print(struct venus_hfi_device *hdev) in venus_sfr_print() argument
1026 struct device *dev = hdev->core->dev; in venus_sfr_print()
1027 struct hfi_sfr *sfr = hdev->sfr.kva; in venus_sfr_print()
1044 static void venus_process_msg_sys_error(struct venus_hfi_device *hdev, in venus_process_msg_sys_error() argument
1052 venus_set_state(hdev, VENUS_STATE_DEINIT); in venus_process_msg_sys_error()
1054 venus_sfr_print(hdev); in venus_process_msg_sys_error()
1059 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_isr_thread() local
1064 if (!hdev) in venus_isr_thread()
1067 res = hdev->core->res; in venus_isr_thread()
1068 pkt = hdev->pkt_buf; in venus_isr_thread()
1071 while (!venus_iface_msgq_read(hdev, pkt)) { in venus_isr_thread()
1075 venus_process_msg_sys_error(hdev, pkt); in venus_isr_thread()
1081 hdev); in venus_isr_thread()
1084 complete(&hdev->release_resource); in venus_isr_thread()
1087 complete(&hdev->pwr_collapse_prep); in venus_isr_thread()
1094 venus_flush_debug_queue(hdev); in venus_isr_thread()
1101 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_isr() local
1106 if (!hdev) in venus_isr()
1109 cpu_cs_base = hdev->core->cpu_cs_base; in venus_isr()
1110 wrapper_base = hdev->core->wrapper_base; in venus_isr()
1117 hdev->irq_status = status; in venus_isr()
1122 hdev->irq_status = status; in venus_isr()
1133 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_core_init() local
1141 venus_set_state(hdev, VENUS_STATE_INIT); in venus_core_init()
1143 ret = venus_iface_cmdq_write(hdev, &pkt, false); in venus_core_init()
1149 ret = venus_iface_cmdq_write(hdev, &version_pkt, false); in venus_core_init()
1153 ret = venus_sys_set_default_properties(hdev); in venus_core_init()
1162 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_core_deinit() local
1164 venus_set_state(hdev, VENUS_STATE_DEINIT); in venus_core_deinit()
1165 hdev->suspended = true; in venus_core_deinit()
1166 hdev->power_enabled = false; in venus_core_deinit()
1173 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_core_ping() local
1178 return venus_iface_cmdq_write(hdev, &pkt, false); in venus_core_ping()
1183 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_core_trigger_ssr() local
1191 return venus_iface_cmdq_write(hdev, &pkt, false); in venus_core_trigger_ssr()
1197 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_init() local
1201 ret = venus_sys_set_debug(hdev, venus_fw_debug); in venus_session_init()
1209 ret = venus_iface_cmdq_write(hdev, &pkt, true); in venus_session_init()
1216 venus_flush_debug_queue(hdev); in venus_session_init()
1222 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_end() local
1223 struct device *dev = hdev->core->dev; in venus_session_end()
1226 if (venus_sys_set_coverage(hdev, venus_fw_coverage)) in venus_session_end()
1235 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_abort() local
1237 venus_flush_debug_queue(hdev); in venus_session_abort()
1244 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_flush() local
1252 return venus_iface_cmdq_write(hdev, &pkt, true); in venus_session_flush()
1273 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_etb() local
1284 ret = venus_iface_cmdq_write(hdev, &pkt, false); in venus_session_etb()
1292 ret = venus_iface_cmdq_write(hdev, &pkt, false); in venus_session_etb()
1303 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_ftb() local
1311 return venus_iface_cmdq_write(hdev, &pkt, false); in venus_session_ftb()
1317 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_set_buffers() local
1331 return venus_iface_cmdq_write(hdev, pkt, false); in venus_session_set_buffers()
1337 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_unset_buffers() local
1351 return venus_iface_cmdq_write(hdev, pkt, true); in venus_session_unset_buffers()
1367 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_parse_seq_hdr() local
1378 ret = venus_iface_cmdq_write(hdev, pkt, false); in venus_session_parse_seq_hdr()
1388 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_get_seq_hdr() local
1399 return venus_iface_cmdq_write(hdev, pkt, false); in venus_session_get_seq_hdr()
1405 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_set_property() local
1418 return venus_iface_cmdq_write(hdev, pkt, false); in venus_session_set_property()
1423 struct venus_hfi_device *hdev = to_hfi_priv(inst->core); in venus_session_get_property() local
1431 return venus_iface_cmdq_write(hdev, &pkt, true); in venus_session_get_property()
1436 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_resume() local
1439 mutex_lock(&hdev->lock); in venus_resume()
1441 if (!hdev->suspended) in venus_resume()
1444 ret = venus_power_on(hdev); in venus_resume()
1448 hdev->suspended = false; in venus_resume()
1450 mutex_unlock(&hdev->lock); in venus_resume()
1457 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_suspend_1xx() local
1459 void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; in venus_suspend_1xx()
1463 if (!hdev->power_enabled || hdev->suspended) in venus_suspend_1xx()
1466 mutex_lock(&hdev->lock); in venus_suspend_1xx()
1467 ret = venus_is_valid_state(hdev); in venus_suspend_1xx()
1468 mutex_unlock(&hdev->lock); in venus_suspend_1xx()
1475 ret = venus_prepare_power_collapse(hdev, true); in venus_suspend_1xx()
1481 mutex_lock(&hdev->lock); in venus_suspend_1xx()
1483 if (hdev->last_packet_type != HFI_CMD_SYS_PC_PREP) { in venus_suspend_1xx()
1484 mutex_unlock(&hdev->lock); in venus_suspend_1xx()
1488 ret = venus_are_queues_empty(hdev); in venus_suspend_1xx()
1490 mutex_unlock(&hdev->lock); in venus_suspend_1xx()
1496 mutex_unlock(&hdev->lock); in venus_suspend_1xx()
1500 ret = venus_power_off(hdev); in venus_suspend_1xx()
1502 mutex_unlock(&hdev->lock); in venus_suspend_1xx()
1506 hdev->suspended = true; in venus_suspend_1xx()
1508 mutex_unlock(&hdev->lock); in venus_suspend_1xx()
1513 static bool venus_cpu_and_video_core_idle(struct venus_hfi_device *hdev) in venus_cpu_and_video_core_idle() argument
1515 void __iomem *wrapper_base = hdev->core->wrapper_base; in venus_cpu_and_video_core_idle()
1516 void __iomem *wrapper_tz_base = hdev->core->wrapper_tz_base; in venus_cpu_and_video_core_idle()
1517 void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; in venus_cpu_and_video_core_idle()
1520 if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) in venus_cpu_and_video_core_idle()
1533 static bool venus_cpu_idle_and_pc_ready(struct venus_hfi_device *hdev) in venus_cpu_idle_and_pc_ready() argument
1535 void __iomem *wrapper_base = hdev->core->wrapper_base; in venus_cpu_idle_and_pc_ready()
1536 void __iomem *wrapper_tz_base = hdev->core->wrapper_tz_base; in venus_cpu_idle_and_pc_ready()
1537 void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; in venus_cpu_idle_and_pc_ready()
1540 if (IS_IRIS2(hdev->core) || IS_IRIS2_1(hdev->core)) in venus_cpu_idle_and_pc_ready()
1555 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_suspend_3xx() local
1557 void __iomem *cpu_cs_base = hdev->core->cpu_cs_base; in venus_suspend_3xx()
1562 if (!hdev->power_enabled || hdev->suspended) in venus_suspend_3xx()
1565 mutex_lock(&hdev->lock); in venus_suspend_3xx()
1566 ret = venus_is_valid_state(hdev); in venus_suspend_3xx()
1567 mutex_unlock(&hdev->lock); in venus_suspend_3xx()
1586 ret = readx_poll_timeout(venus_cpu_and_video_core_idle, hdev, val, val, in venus_suspend_3xx()
1593 ret = venus_prepare_power_collapse(hdev, false); in venus_suspend_3xx()
1599 ret = readx_poll_timeout(venus_cpu_idle_and_pc_ready, hdev, val, val, in venus_suspend_3xx()
1605 mutex_lock(&hdev->lock); in venus_suspend_3xx()
1607 ret = venus_power_off(hdev); in venus_suspend_3xx()
1610 mutex_unlock(&hdev->lock); in venus_suspend_3xx()
1614 hdev->suspended = true; in venus_suspend_3xx()
1616 mutex_unlock(&hdev->lock); in venus_suspend_3xx()
1662 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_hfi_destroy() local
1665 venus_interface_queues_release(hdev); in venus_hfi_destroy()
1666 mutex_destroy(&hdev->lock); in venus_hfi_destroy()
1667 kfree(hdev); in venus_hfi_destroy()
1673 struct venus_hfi_device *hdev; in venus_hfi_create() local
1676 hdev = kzalloc(sizeof(*hdev), GFP_KERNEL); in venus_hfi_create()
1677 if (!hdev) in venus_hfi_create()
1680 mutex_init(&hdev->lock); in venus_hfi_create()
1682 hdev->core = core; in venus_hfi_create()
1683 hdev->suspended = true; in venus_hfi_create()
1684 core->priv = hdev; in venus_hfi_create()
1687 ret = venus_interface_queues_init(hdev); in venus_hfi_create()
1694 kfree(hdev); in venus_hfi_create()
1702 struct venus_hfi_device *hdev = to_hfi_priv(core); in venus_hfi_queues_reinit() local
1708 mutex_lock(&hdev->lock); in venus_hfi_queues_reinit()
1711 queue = &hdev->queues[i]; in venus_hfi_queues_reinit()
1713 IFACEQ_GET_QHDR_START_ADDR(hdev->ifaceq_table.kva, i); in venus_hfi_queues_reinit()
1727 tbl_hdr = hdev->ifaceq_table.kva; in venus_hfi_queues_reinit()
1739 queue = &hdev->queues[IFACEQ_DBG_IDX]; in venus_hfi_queues_reinit()
1742 sfr = hdev->sfr.kva; in venus_hfi_queues_reinit()
1748 mutex_unlock(&hdev->lock); in venus_hfi_queues_reinit()