Lines Matching refs:accel_dev

64 static int adf_enable_msix(struct adf_accel_dev *accel_dev)  in adf_enable_msix()  argument
66 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_enable_msix()
67 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_enable_msix()
71 if (!accel_dev->pf.vf_info) { in adf_enable_msix()
85 dev_err(&GET_DEV(accel_dev), "Failed to enable MSI-X IRQ(s)\n"); in adf_enable_msix()
107 struct adf_accel_dev *accel_dev = dev_ptr; in adf_msix_isr_ae() local
111 if (accel_dev->pf.vf_info) { in adf_msix_isr_ae()
113 (&GET_BARS(accel_dev)[ADF_DH895XCC_PMISC_BAR])->virt_addr; in adf_msix_isr_ae()
128 adf_disable_vf2pf_interrupts(accel_dev, vf_mask); in adf_msix_isr_ae()
137 vf_info = accel_dev->pf.vf_info + i; in adf_msix_isr_ae()
140 dev_info(&GET_DEV(accel_dev), in adf_msix_isr_ae()
157 dev_dbg(&GET_DEV(accel_dev), "qat_dev%d spurious AE interrupt\n", in adf_msix_isr_ae()
158 accel_dev->accel_id); in adf_msix_isr_ae()
163 static int adf_request_irqs(struct adf_accel_dev *accel_dev) in adf_request_irqs() argument
165 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_request_irqs()
166 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_request_irqs()
168 struct adf_etr_data *etr_data = accel_dev->transport; in adf_request_irqs()
173 if (!accel_dev->pf.vf_info) { in adf_request_irqs()
180 "qat%d-bundle%d", accel_dev->accel_id, i); in adf_request_irqs()
184 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
190 cpu = ((accel_dev->accel_id * hw_data->num_banks) + in adf_request_irqs()
200 "qat%d-ae-cluster", accel_dev->accel_id); in adf_request_irqs()
201 ret = request_irq(msixe[i].vector, adf_msix_isr_ae, 0, name, accel_dev); in adf_request_irqs()
203 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
211 static void adf_free_irqs(struct adf_accel_dev *accel_dev) in adf_free_irqs() argument
213 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_free_irqs()
214 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_free_irqs()
216 struct adf_etr_data *etr_data = accel_dev->transport; in adf_free_irqs()
226 free_irq(msixe[i].vector, accel_dev); in adf_free_irqs()
229 static int adf_isr_alloc_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_alloc_msix_entry_table() argument
234 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_isr_alloc_msix_entry_table()
238 if (!accel_dev->pf.vf_info) in adf_isr_alloc_msix_entry_table()
242 GFP_KERNEL, dev_to_node(&GET_DEV(accel_dev))); in adf_isr_alloc_msix_entry_table()
256 accel_dev->accel_pci_dev.msix_entries.num_entries = msix_num_entries; in adf_isr_alloc_msix_entry_table()
257 accel_dev->accel_pci_dev.msix_entries.entries = entries; in adf_isr_alloc_msix_entry_table()
258 accel_dev->accel_pci_dev.msix_entries.names = names; in adf_isr_alloc_msix_entry_table()
268 static void adf_isr_free_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_free_msix_entry_table() argument
270 char **names = accel_dev->accel_pci_dev.msix_entries.names; in adf_isr_free_msix_entry_table()
273 kfree(accel_dev->accel_pci_dev.msix_entries.entries); in adf_isr_free_msix_entry_table()
274 for (i = 0; i < accel_dev->accel_pci_dev.msix_entries.num_entries; i++) in adf_isr_free_msix_entry_table()
279 static int adf_setup_bh(struct adf_accel_dev *accel_dev) in adf_setup_bh() argument
281 struct adf_etr_data *priv_data = accel_dev->transport; in adf_setup_bh()
282 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_setup_bh()
292 static void adf_cleanup_bh(struct adf_accel_dev *accel_dev) in adf_cleanup_bh() argument
294 struct adf_etr_data *priv_data = accel_dev->transport; in adf_cleanup_bh()
295 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_cleanup_bh()
304 void adf_isr_resource_free(struct adf_accel_dev *accel_dev) in adf_isr_resource_free() argument
306 adf_free_irqs(accel_dev); in adf_isr_resource_free()
307 adf_cleanup_bh(accel_dev); in adf_isr_resource_free()
308 adf_disable_msix(&accel_dev->accel_pci_dev); in adf_isr_resource_free()
309 adf_isr_free_msix_entry_table(accel_dev); in adf_isr_resource_free()
312 int adf_isr_resource_alloc(struct adf_accel_dev *accel_dev) in adf_isr_resource_alloc() argument
316 ret = adf_isr_alloc_msix_entry_table(accel_dev); in adf_isr_resource_alloc()
319 if (adf_enable_msix(accel_dev)) in adf_isr_resource_alloc()
322 if (adf_setup_bh(accel_dev)) in adf_isr_resource_alloc()
325 if (adf_request_irqs(accel_dev)) in adf_isr_resource_alloc()
330 adf_isr_resource_free(accel_dev); in adf_isr_resource_alloc()