Lines Matching refs:ops
40 container_of((x), struct io_pgtable, ops)
322 static int arm_lpae_map(struct io_pgtable_ops *ops, unsigned long iova, in arm_lpae_map() argument
325 struct arm_lpae_io_pgtable *data = io_pgtable_ops_to_data(ops); in arm_lpae_map()
466 static int arm_lpae_unmap(struct io_pgtable_ops *ops, unsigned long iova, in arm_lpae_unmap() argument
470 struct arm_lpae_io_pgtable *data = io_pgtable_ops_to_data(ops); in arm_lpae_unmap()
482 static phys_addr_t arm_lpae_iova_to_phys(struct io_pgtable_ops *ops, in arm_lpae_iova_to_phys() argument
485 struct arm_lpae_io_pgtable *data = io_pgtable_ops_to_data(ops); in arm_lpae_iova_to_phys()
583 data->iop.ops = (struct io_pgtable_ops) { in arm_lpae_alloc_pgtable()
849 static void __init arm_lpae_dump_ops(struct io_pgtable_ops *ops) in arm_lpae_dump_ops() argument
851 struct arm_lpae_io_pgtable *data = io_pgtable_ops_to_data(ops); in arm_lpae_dump_ops()
861 #define __FAIL(ops, i) ({ \ argument
863 arm_lpae_dump_ops(ops); \
878 struct io_pgtable_ops *ops; in arm_lpae_run_tests() local
884 ops = alloc_io_pgtable_ops(fmts[i], cfg, cfg); in arm_lpae_run_tests()
885 if (!ops) { in arm_lpae_run_tests()
894 if (ops->iova_to_phys(ops, 42)) in arm_lpae_run_tests()
895 return __FAIL(ops, i); in arm_lpae_run_tests()
897 if (ops->iova_to_phys(ops, SZ_1G + 42)) in arm_lpae_run_tests()
898 return __FAIL(ops, i); in arm_lpae_run_tests()
900 if (ops->iova_to_phys(ops, SZ_2G + 42)) in arm_lpae_run_tests()
901 return __FAIL(ops, i); in arm_lpae_run_tests()
911 if (ops->map(ops, iova, iova, size, IOMMU_READ | in arm_lpae_run_tests()
915 return __FAIL(ops, i); in arm_lpae_run_tests()
918 if (!ops->map(ops, iova, iova + size, size, in arm_lpae_run_tests()
920 return __FAIL(ops, i); in arm_lpae_run_tests()
922 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42)) in arm_lpae_run_tests()
923 return __FAIL(ops, i); in arm_lpae_run_tests()
932 if (ops->unmap(ops, SZ_1G + size, size) != size) in arm_lpae_run_tests()
933 return __FAIL(ops, i); in arm_lpae_run_tests()
936 if (ops->map(ops, SZ_1G + size, size, size, IOMMU_READ)) in arm_lpae_run_tests()
937 return __FAIL(ops, i); in arm_lpae_run_tests()
939 if (ops->iova_to_phys(ops, SZ_1G + size + 42) != (size + 42)) in arm_lpae_run_tests()
940 return __FAIL(ops, i); in arm_lpae_run_tests()
948 if (ops->unmap(ops, iova, size) != size) in arm_lpae_run_tests()
949 return __FAIL(ops, i); in arm_lpae_run_tests()
951 if (ops->iova_to_phys(ops, iova + 42)) in arm_lpae_run_tests()
952 return __FAIL(ops, i); in arm_lpae_run_tests()
955 if (ops->map(ops, iova, iova, size, IOMMU_WRITE)) in arm_lpae_run_tests()
956 return __FAIL(ops, i); in arm_lpae_run_tests()
958 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42)) in arm_lpae_run_tests()
959 return __FAIL(ops, i); in arm_lpae_run_tests()
966 free_io_pgtable_ops(ops); in arm_lpae_run_tests()