Lines Matching refs:ssid
467 static int ivpu_mmu_cmdq_write_tlbi_nh_asid(struct ivpu_device *vdev, u16 ssid)
470 FIELD_PREP(IVPU_MMU_CMD_TLBI_0_ASID, ssid);
596 int ivpu_mmu_invalidate_tlb(struct ivpu_device *vdev, u16 ssid)
605 ret = ivpu_mmu_cmdq_write_tlbi_nh_asid(vdev, ssid);
615 static int ivpu_mmu_cd_add(struct ivpu_device *vdev, u32 ssid, u64 cd_dma)
623 if (ssid > IVPU_MMU_CDTAB_ENT_COUNT)
626 entry = cdtab->base + (ssid * IVPU_MMU_CDTAB_ENT_SIZE);
635 FIELD_PREP(IVPU_MMU_CD_0_ASID, ssid) |
646 if (ssid == IVPU_GLOBAL_CONTEXT_MMU_SSID)
660 cd_dma ? "write" : "clear", ssid, &cd_dma, cd[0], cd[1], cd[2], cd[3]);
687 static int ivpu_mmu_cd_add_user(struct ivpu_device *vdev, u32 ssid, dma_addr_t cd_dma)
691 if (ssid == 0) {
692 ivpu_err(vdev, "Invalid SSID: %u\n", ssid);
696 ret = ivpu_mmu_cd_add(vdev, ssid, cd_dma);
698 ivpu_err(vdev, "Failed to add CD entry SSID=%u: %d\n", ssid, ret);
787 u32 ssid = FIELD_GET(IVPU_MMU_EVT_SSID_MASK, event[0]);
794 op, ivpu_mmu_event_to_str(op), ssid, sid, event[2], event[3], in_addr, fetch_addr);
817 u32 ssid;
824 ssid = FIELD_GET(IVPU_MMU_EVT_SSID_MASK, event[0]);
825 if (ssid == IVPU_GLOBAL_CONTEXT_MMU_SSID)
828 ivpu_mmu_user_context_mark_invalid(vdev, ssid);
872 int ivpu_mmu_set_pgtable(struct ivpu_device *vdev, int ssid, struct ivpu_mmu_pgtable *pgtable)
874 return ivpu_mmu_cd_add_user(vdev, ssid, pgtable->pgd_dma);
877 void ivpu_mmu_clear_pgtable(struct ivpu_device *vdev, int ssid)
879 ivpu_mmu_cd_add_user(vdev, ssid, 0); /* 0 will clear CD entry */