Lines Matching refs:pasid_table

97 	struct pasid_table *pasid_table;  in intel_pasid_alloc_table()  local
104 if (WARN_ON(!info || !dev_is_pci(dev) || info->pasid_table)) in intel_pasid_alloc_table()
107 pasid_table = kzalloc(sizeof(*pasid_table), GFP_KERNEL); in intel_pasid_alloc_table()
108 if (!pasid_table) in intel_pasid_alloc_table()
120 kfree(pasid_table); in intel_pasid_alloc_table()
124 pasid_table->table = page_address(pages); in intel_pasid_alloc_table()
125 pasid_table->order = order; in intel_pasid_alloc_table()
126 pasid_table->max_pasid = 1 << (order + PAGE_SHIFT + 3); in intel_pasid_alloc_table()
127 info->pasid_table = pasid_table; in intel_pasid_alloc_table()
135 struct pasid_table *pasid_table; in intel_pasid_free_table() local
141 if (!info || !dev_is_pci(dev) || !info->pasid_table) in intel_pasid_free_table()
144 pasid_table = info->pasid_table; in intel_pasid_free_table()
145 info->pasid_table = NULL; in intel_pasid_free_table()
148 dir = pasid_table->table; in intel_pasid_free_table()
149 max_pde = pasid_table->max_pasid >> PASID_PDE_SHIFT; in intel_pasid_free_table()
155 free_pages((unsigned long)pasid_table->table, pasid_table->order); in intel_pasid_free_table()
156 kfree(pasid_table); in intel_pasid_free_table()
159 struct pasid_table *intel_pasid_get_table(struct device *dev) in intel_pasid_get_table()
167 return info->pasid_table; in intel_pasid_get_table()
175 if (!info || !info->pasid_table) in intel_pasid_get_dev_max_id()
178 return info->pasid_table->max_pasid; in intel_pasid_get_dev_max_id()
184 struct pasid_table *pasid_table; in intel_pasid_get_entry() local
189 pasid_table = intel_pasid_get_table(dev); in intel_pasid_get_entry()
190 if (WARN_ON(!pasid_table || pasid >= intel_pasid_get_dev_max_id(dev))) in intel_pasid_get_entry()
193 dir = pasid_table->table; in intel_pasid_get_entry()