Lines Matching refs:pasid_table

71 			  struct pasid_table *pasid_table)  in device_attach_pasid_table()  argument
73 info->pasid_table = pasid_table; in device_attach_pasid_table()
74 list_add(&info->table, &pasid_table->dev); in device_attach_pasid_table()
79 struct pasid_table *pasid_table) in device_detach_pasid_table() argument
81 info->pasid_table = NULL; in device_detach_pasid_table()
86 struct pasid_table **pasid_table; member
99 info->pasid_table) { in search_pasid_table()
100 *data->pasid_table = info->pasid_table; in search_pasid_table()
125 struct pasid_table *pasid_table; in intel_pasid_alloc_table() local
134 if (WARN_ON(!info || !dev_is_pci(dev) || info->pasid_table)) in intel_pasid_alloc_table()
138 data.pasid_table = &pasid_table; in intel_pasid_alloc_table()
144 pasid_table = kzalloc(sizeof(*pasid_table), GFP_KERNEL); in intel_pasid_alloc_table()
145 if (!pasid_table) in intel_pasid_alloc_table()
147 INIT_LIST_HEAD(&pasid_table->dev); in intel_pasid_alloc_table()
158 kfree(pasid_table); in intel_pasid_alloc_table()
162 pasid_table->table = page_address(pages); in intel_pasid_alloc_table()
163 pasid_table->order = order; in intel_pasid_alloc_table()
164 pasid_table->max_pasid = 1 << (order + PAGE_SHIFT + 3); in intel_pasid_alloc_table()
167 device_attach_pasid_table(info, pasid_table); in intel_pasid_alloc_table()
175 struct pasid_table *pasid_table; in intel_pasid_free_table() local
181 if (!info || !dev_is_pci(dev) || !info->pasid_table) in intel_pasid_free_table()
184 pasid_table = info->pasid_table; in intel_pasid_free_table()
185 device_detach_pasid_table(info, pasid_table); in intel_pasid_free_table()
187 if (!list_empty(&pasid_table->dev)) in intel_pasid_free_table()
191 dir = pasid_table->table; in intel_pasid_free_table()
192 max_pde = pasid_table->max_pasid >> PASID_PDE_SHIFT; in intel_pasid_free_table()
198 free_pages((unsigned long)pasid_table->table, pasid_table->order); in intel_pasid_free_table()
199 kfree(pasid_table); in intel_pasid_free_table()
202 struct pasid_table *intel_pasid_get_table(struct device *dev) in intel_pasid_get_table()
210 return info->pasid_table; in intel_pasid_get_table()
218 if (!info || !info->pasid_table) in intel_pasid_get_dev_max_id()
221 return info->pasid_table->max_pasid; in intel_pasid_get_dev_max_id()
227 struct pasid_table *pasid_table; in intel_pasid_get_entry() local
232 pasid_table = intel_pasid_get_table(dev); in intel_pasid_get_entry()
233 if (WARN_ON(!pasid_table || pasid < 0 || in intel_pasid_get_entry()
237 dir = pasid_table->table; in intel_pasid_get_entry()