Lines Matching defs:pasid_table
97 struct pasid_table *pasid_table;
106 if (WARN_ON(info->pasid_table))
109 pasid_table = kzalloc(sizeof(*pasid_table), GFP_KERNEL);
110 if (!pasid_table)
122 kfree(pasid_table);
126 pasid_table->table = page_address(pages);
127 pasid_table->order = order;
128 pasid_table->max_pasid = 1 << (order + PAGE_SHIFT + 3);
129 info->pasid_table = pasid_table;
132 clflush_cache_range(pasid_table->table, (1 << order) * PAGE_SIZE);
140 struct pasid_table *pasid_table;
146 if (!info || !dev_is_pci(dev) || !info->pasid_table)
149 pasid_table = info->pasid_table;
150 info->pasid_table = NULL;
153 dir = pasid_table->table;
154 max_pde = pasid_table->max_pasid >> PASID_PDE_SHIFT;
160 free_pages((unsigned long)pasid_table->table, pasid_table->order);
161 kfree(pasid_table);
164 struct pasid_table *intel_pasid_get_table(struct device *dev)
172 return info->pasid_table;
180 if (!info || !info->pasid_table)
183 return info->pasid_table->max_pasid;
189 struct pasid_table *pasid_table;
194 pasid_table = intel_pasid_get_table(dev);
195 if (WARN_ON(!pasid_table || pasid >= intel_pasid_get_dev_max_id(dev)))
198 dir = pasid_table->table;