Lines Matching refs:pasid_table
41 struct pasid_table *pasid_table; in intel_pasid_alloc_table() local
50 if (WARN_ON(info->pasid_table)) in intel_pasid_alloc_table()
53 pasid_table = kzalloc(sizeof(*pasid_table), GFP_KERNEL); in intel_pasid_alloc_table()
54 if (!pasid_table) in intel_pasid_alloc_table()
65 kfree(pasid_table); in intel_pasid_alloc_table()
69 pasid_table->table = dir; in intel_pasid_alloc_table()
70 pasid_table->order = order; in intel_pasid_alloc_table()
71 pasid_table->max_pasid = 1 << (order + PAGE_SHIFT + 3); in intel_pasid_alloc_table()
72 info->pasid_table = pasid_table; in intel_pasid_alloc_table()
75 clflush_cache_range(pasid_table->table, (1 << order) * PAGE_SIZE); in intel_pasid_alloc_table()
83 struct pasid_table *pasid_table; in intel_pasid_free_table() local
89 if (!info || !dev_is_pci(dev) || !info->pasid_table) in intel_pasid_free_table()
92 pasid_table = info->pasid_table; in intel_pasid_free_table()
93 info->pasid_table = NULL; in intel_pasid_free_table()
96 dir = pasid_table->table; in intel_pasid_free_table()
97 max_pde = pasid_table->max_pasid >> PASID_PDE_SHIFT; in intel_pasid_free_table()
103 iommu_free_pages(pasid_table->table, pasid_table->order); in intel_pasid_free_table()
104 kfree(pasid_table); in intel_pasid_free_table()
107 struct pasid_table *intel_pasid_get_table(struct device *dev) in intel_pasid_get_table()
115 return info->pasid_table; in intel_pasid_get_table()
123 if (!info || !info->pasid_table) in intel_pasid_get_dev_max_id()
126 return info->pasid_table->max_pasid; in intel_pasid_get_dev_max_id()
132 struct pasid_table *pasid_table; in intel_pasid_get_entry() local
137 pasid_table = intel_pasid_get_table(dev); in intel_pasid_get_entry()
138 if (WARN_ON(!pasid_table || pasid >= intel_pasid_get_dev_max_id(dev))) in intel_pasid_get_entry()
141 dir = pasid_table->table; in intel_pasid_get_entry()
723 static unsigned long context_get_sm_pds(struct pasid_table *table) in context_get_sm_pds()
739 struct pasid_table *table = info->pasid_table; in context_entry_set_pasid_table()
925 for (i = 0; i < info->pasid_table->max_pasid; i++) { in intel_context_flush_present()