Lines Matching full:dec
48 struct hl_dec *dec = container_of(work, struct hl_dec, abnrm_intr_work); in dec_abnrm_intr_work() local
49 struct hl_device *hdev = dec->hdev; in dec_abnrm_intr_work()
53 irq_status = RREG32(dec->base_addr + VCMD_IRQ_STATUS_OFFSET); in dec_abnrm_intr_work()
55 dev_err(hdev->dev, "Decoder abnormal interrupt %#x, core %d\n", irq_status, dec->core_id); in dec_abnrm_intr_work()
60 WREG32(dec->base_addr + VCMD_IRQ_STATUS_OFFSET, irq_status); in dec_abnrm_intr_work()
63 RREG32(dec->base_addr + VCMD_IRQ_STATUS_OFFSET); in dec_abnrm_intr_work()
88 kfree(hdev->dec); in hl_dec_fini()
94 struct hl_dec *dec; in hl_dec_init() local
101 hdev->dec = kcalloc(prop->max_dec, sizeof(struct hl_dec), GFP_KERNEL); in hl_dec_init()
102 if (!hdev->dec) in hl_dec_init()
106 dec = hdev->dec + j; in hl_dec_init()
108 dec->hdev = hdev; in hl_dec_init()
109 INIT_WORK(&dec->abnrm_intr_work, dec_abnrm_intr_work); in hl_dec_init()
110 dec->core_id = j; in hl_dec_init()
111 dec->base_addr = hdev->asic_funcs->get_dec_base_addr(hdev, j); in hl_dec_init()
112 if (!dec->base_addr) { in hl_dec_init()
131 struct hl_dec *dec; in hl_dec_ctx_fini() local
136 dec = hdev->dec + j; in hl_dec_ctx_fini()
138 WREG32(dec->base_addr + VCMD_CONTROL_OFFSET, 0); in hl_dec_ctx_fini()