Lines Matching refs:glb_iface
779 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_init_cs_iface() local
784 (csg_idx * glb_iface->control->group_stride) + in panthor_init_cs_iface()
835 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_init_csg_iface() local
838 u32 iface_offset = CSF_GROUP_CONTROL_OFFSET + (csg_idx * glb_iface->control->group_stride); in panthor_init_csg_iface()
880 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_get_instr_features() local
882 if (glb_iface->control->version < CSF_IFACE_VERSION(1, 1, 0)) in panthor_get_instr_features()
885 return glb_iface->control->instr_features; in panthor_get_instr_features()
890 struct panthor_fw_global_iface *glb_iface = &ptdev->fw->iface.global; in panthor_fw_init_ifaces() local
896 spin_lock_init(&glb_iface->lock); in panthor_fw_init_ifaces()
897 glb_iface->control = ptdev->fw->shared_section->mem->kmap; in panthor_fw_init_ifaces()
899 if (!glb_iface->control->version) { in panthor_fw_init_ifaces()
904 glb_iface->input = iface_fw_to_cpu_addr(ptdev, glb_iface->control->input_va); in panthor_fw_init_ifaces()
905 glb_iface->output = iface_fw_to_cpu_addr(ptdev, glb_iface->control->output_va); in panthor_fw_init_ifaces()
906 if (!glb_iface->input || !glb_iface->output) { in panthor_fw_init_ifaces()
911 if (glb_iface->control->group_num > MAX_CSGS || in panthor_fw_init_ifaces()
912 glb_iface->control->group_num < MIN_CSGS) { in panthor_fw_init_ifaces()
917 for (i = 0; i < glb_iface->control->group_num; i++) { in panthor_fw_init_ifaces()
925 CSF_IFACE_VERSION_MAJOR(glb_iface->control->version), in panthor_fw_init_ifaces()
926 CSF_IFACE_VERSION_MINOR(glb_iface->control->version), in panthor_fw_init_ifaces()
927 CSF_IFACE_VERSION_PATCH(glb_iface->control->version), in panthor_fw_init_ifaces()
928 glb_iface->control->features, in panthor_fw_init_ifaces()
935 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_fw_init_global_iface() local
938 glb_iface->input->core_en_mask = ptdev->gpu_info.shader_present; in panthor_fw_init_global_iface()
941 glb_iface->input->poweroff_timer = panthor_fw_conv_timeout(ptdev, PWROFF_HYSTERESIS_US); in panthor_fw_init_global_iface()
942 glb_iface->input->progress_timer = PROGRESS_TIMEOUT_CYCLES >> PROGRESS_TIMEOUT_SCALE_SHIFT; in panthor_fw_init_global_iface()
943 glb_iface->input->idle_timer = panthor_fw_conv_timeout(ptdev, IDLE_HYSTERESIS_US); in panthor_fw_init_global_iface()
946 glb_iface->input->ack_irq_mask = GLB_CFG_ALLOC_EN | in panthor_fw_init_global_iface()
953 panthor_fw_update_reqs(glb_iface, req, GLB_IDLE_EN, GLB_IDLE_EN); in panthor_fw_init_global_iface()
954 panthor_fw_toggle_reqs(glb_iface, req, ack, in panthor_fw_init_global_iface()
1040 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_fw_pre_reset() local
1043 panthor_fw_update_reqs(glb_iface, req, GLB_HALT, GLB_HALT); in panthor_fw_pre_reset()
1047 glb_iface->output->halt_status == PANTHOR_FW_HALT_OK) { in panthor_fw_pre_reset()
1056 panthor_fw_update_reqs(glb_iface, req, 0, GLB_HALT); in panthor_fw_pre_reset()
1212 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_fw_glb_wait_acks() local
1218 return panthor_fw_wait_acks(&glb_iface->input->req, in panthor_fw_glb_wait_acks()
1219 &glb_iface->output->ack, in panthor_fw_glb_wait_acks()
1272 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_fw_ring_csg_doorbells() local
1274 panthor_fw_toggle_reqs(glb_iface, doorbell_req, doorbell_ack, csg_mask); in panthor_fw_ring_csg_doorbells()
1282 struct panthor_fw_global_iface *glb_iface = panthor_fw_get_glb_iface(ptdev); in panthor_fw_ping_work() local
1289 panthor_fw_toggle_reqs(glb_iface, req, ack, GLB_PING); in panthor_fw_ping_work()