Lines Matching full:iot
1227 RISCVIOMMUEntry *iot = (RISCVIOMMUEntry *) value; in riscv_iommu_iot_inval_pscid_iova() local
1229 if (iot->gscid == arg->gscid && in riscv_iommu_iot_inval_pscid_iova()
1230 iot->pscid == arg->pscid && in riscv_iommu_iot_inval_pscid_iova()
1231 iot->iova == arg->iova) { in riscv_iommu_iot_inval_pscid_iova()
1232 iot->perm = IOMMU_NONE; in riscv_iommu_iot_inval_pscid_iova()
1240 RISCVIOMMUEntry *iot = (RISCVIOMMUEntry *) value; in riscv_iommu_iot_inval_pscid() local
1242 if (iot->gscid == arg->gscid && in riscv_iommu_iot_inval_pscid()
1243 iot->pscid == arg->pscid) { in riscv_iommu_iot_inval_pscid()
1244 iot->perm = IOMMU_NONE; in riscv_iommu_iot_inval_pscid()
1252 RISCVIOMMUEntry *iot = (RISCVIOMMUEntry *) value; in riscv_iommu_iot_inval_gscid_gpa() local
1254 if (iot->gscid == arg->gscid) { in riscv_iommu_iot_inval_gscid_gpa()
1256 iot->perm = IOMMU_NONE; in riscv_iommu_iot_inval_gscid_gpa()
1264 RISCVIOMMUEntry *iot = (RISCVIOMMUEntry *) value; in riscv_iommu_iot_inval_gscid() local
1266 if (iot->gscid == arg->gscid) { in riscv_iommu_iot_inval_gscid()
1267 iot->perm = IOMMU_NONE; in riscv_iommu_iot_inval_gscid()
1275 RISCVIOMMUEntry *iot = (RISCVIOMMUEntry *) value; in riscv_iommu_iot_inval_all() local
1276 iot->perm = IOMMU_NONE; in riscv_iommu_iot_inval_all()
1293 GHashTable *iot_cache, RISCVIOMMUEntry *iot) in riscv_iommu_iot_update() argument
1305 g_hash_table_add(iot_cache, iot); in riscv_iommu_iot_update()
1326 RISCVIOMMUEntry *iot; in riscv_iommu_translate() local
1351 iot = riscv_iommu_iot_lookup(ctx, iot_cache, iotlb->iova); in riscv_iommu_translate()
1352 perm = iot ? iot->perm : IOMMU_NONE; in riscv_iommu_translate()
1354 iotlb->translated_addr = PPN_PHYS(iot->phys); in riscv_iommu_translate()
1376 iot = g_new0(RISCVIOMMUEntry, 1); in riscv_iommu_translate()
1377 iot->iova = PPN_DOWN(iotlb->iova); in riscv_iommu_translate()
1378 iot->phys = PPN_DOWN(iotlb->translated_addr); in riscv_iommu_translate()
1379 iot->gscid = get_field(ctx->gatp, RISCV_IOMMU_DC_IOHGATP_GSCID); in riscv_iommu_translate()
1380 iot->pscid = get_field(ctx->ta, RISCV_IOMMU_DC_TA_PSCID); in riscv_iommu_translate()
1381 iot->perm = iotlb->perm; in riscv_iommu_translate()
1382 riscv_iommu_iot_update(s, iot_cache, iot); in riscv_iommu_translate()