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