Lines Matching refs:ssid
548 static int ivpu_mmu_cmdq_write_tlbi_nh_asid(struct ivpu_device *vdev, u16 ssid)
551 FIELD_PREP(IVPU_MMU_CMD_TLBI_0_ASID, ssid);
677 int ivpu_mmu_invalidate_tlb(struct ivpu_device *vdev, u16 ssid)
686 ret = ivpu_mmu_cmdq_write_tlbi_nh_asid(vdev, ssid);
696 static int ivpu_mmu_cd_add(struct ivpu_device *vdev, u32 ssid, u64 cd_dma)
704 if (ssid > IVPU_MMU_CDTAB_ENT_COUNT)
707 entry = cdtab->base + (ssid * IVPU_MMU_CDTAB_ENT_SIZE);
716 FIELD_PREP(IVPU_MMU_CD_0_ASID, ssid) |
727 if (ssid == IVPU_GLOBAL_CONTEXT_MMU_SSID)
741 cd_dma ? "write" : "clear", ssid, &cd_dma, cd[0], cd[1], cd[2], cd[3]);
768 static int ivpu_mmu_cd_add_user(struct ivpu_device *vdev, u32 ssid, dma_addr_t cd_dma)
772 if (ssid == 0) {
773 ivpu_err(vdev, "Invalid SSID: %u\n", ssid);
777 ret = ivpu_mmu_cd_add(vdev, ssid, cd_dma);
779 ivpu_err(vdev, "Failed to add CD entry SSID=%u: %d\n", ssid, ret);
871 u32 ssid = FIELD_GET(IVPU_MMU_EVT_SSID_MASK, event[0]);
878 op, ivpu_mmu_event_to_str(op), ssid, sid, event[2], event[3], in_addr, fetch_addr);
898 u32 ssid;
905 ssid = FIELD_GET(IVPU_MMU_EVT_SSID_MASK, event[0]);
906 if (ssid == IVPU_GLOBAL_CONTEXT_MMU_SSID) {
911 ivpu_mmu_user_context_mark_invalid(vdev, ssid);
961 int ivpu_mmu_set_pgtable(struct ivpu_device *vdev, int ssid, struct ivpu_mmu_pgtable *pgtable)
963 return ivpu_mmu_cd_add_user(vdev, ssid, pgtable->pgd_dma);
966 void ivpu_mmu_clear_pgtable(struct ivpu_device *vdev, int ssid)
968 ivpu_mmu_cd_add_user(vdev, ssid, 0); /* 0 will clear CD entry */