Lines Matching refs:pdom_dev_data
32 static void remove_dev_pasid(struct pdom_dev_data *pdom_dev_data)
35 amd_iommu_clear_gcr3(pdom_dev_data->dev_data, pdom_dev_data->pasid);
37 list_del(&pdom_dev_data->list);
38 kfree(pdom_dev_data);
41 /* Clear PASID from device GCR3 table and remove pdom_dev_data from list */
45 struct pdom_dev_data *pdom_dev_data;
50 for_each_pdom_dev_data(pdom_dev_data, pdom) {
51 if (pdom_dev_data->dev_data == dev_data &&
52 pdom_dev_data->pasid == pasid) {
53 remove_dev_pasid(pdom_dev_data);
63 struct pdom_dev_data *pdom_dev_data;
71 for_each_pdom_dev_data(pdom_dev_data, sva_pdom) {
72 amd_iommu_dev_flush_pasid_pages(pdom_dev_data->dev_data,
73 pdom_dev_data->pasid,
82 struct pdom_dev_data *pdom_dev_data, *next;
91 for_each_pdom_dev_data_safe(pdom_dev_data, next, sva_pdom)
92 remove_dev_pasid(pdom_dev_data);
106 struct pdom_dev_data *pdom_dev_data;
124 pdom_dev_data = kzalloc(sizeof(*pdom_dev_data), GFP_KERNEL);
125 if (pdom_dev_data == NULL)
128 pdom_dev_data->pasid = pasid;
129 pdom_dev_data->dev_data = dev_data;
137 kfree(pdom_dev_data);
141 list_add(&pdom_dev_data->list, &sva_pdom->dev_data_list);