Lines Matching refs:dte
98 phys_addr_t (*pt_address)(u32 dte);
185 static inline phys_addr_t rk_dte_pt_address(u32 dte)
187 return (phys_addr_t)dte & RK_DTE_PT_ADDRESS_MASK;
206 static inline phys_addr_t rk_dte_pt_address_v2(u32 dte)
208 u64 dte_v2 = dte;
217 static inline bool rk_dte_is_pt_valid(u32 dte)
219 return dte & RK_DTE_PT_VALID;
540 u32 dte;
556 dte = *dte_addr;
558 if (!rk_dte_is_pt_valid(dte))
561 pte_addr_phys = rk_ops->pt_address(dte) + (pte_index * 4);
574 dev_err(iommu->dev, "mmu_dte_addr: %pa dte@%pa: %#08x valid: %u pte@%pa: %#08x valid: %u page@%pa flags: %#03x\n",
575 &mmu_dte_addr_phys, &dte_addr_phys, dte,
576 rk_dte_is_pt_valid(dte), &pte_addr_phys, pte,
655 u32 dte, pte;
660 dte = rk_domain->dt[rk_iova_dte_index(iova)];
661 if (!rk_dte_is_pt_valid(dte))
664 pt_phys = rk_ops->pt_address(dte);
719 u32 dte_index, dte;
727 dte = *dte_addr;
728 if (rk_dte_is_pt_valid(dte))
742 dte = rk_ops->mk_dtentries(pt_dma);
743 *dte_addr = dte;
748 pt_phys = rk_ops->pt_address(dte);
799 * mapped cachelines holding stale values for its dte and pte.
801 * dte or pte shared with an existing mapping.
836 * aligned, we will always only be mapping from a single dte here.
864 u32 dte;
875 * aligned, we will always only be unmapping from a single dte here.
877 dte = rk_domain->dt[rk_iova_dte_index(iova)];
879 if (!rk_dte_is_pt_valid(dte)) {
884 pt_phys = rk_ops->pt_address(dte);
1117 u32 dte = rk_domain->dt[i];
1118 if (rk_dte_is_pt_valid(dte)) {
1119 phys_addr_t pt_phys = rk_ops->pt_address(dte);