Lines Matching refs:accel_dev
26 static int adf_enable_msix(struct adf_accel_dev *accel_dev) in adf_enable_msix() argument
28 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_enable_msix()
29 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_enable_msix()
33 hw_data->set_msix_rttable(accel_dev); in adf_enable_msix()
36 if (!accel_dev->pf.vf_info) { in adf_enable_msix()
50 dev_err(&GET_DEV(accel_dev), "Failed to enable MSI-X IRQ(s)\n"); in adf_enable_msix()
64 struct adf_hw_csr_ops *csr_ops = GET_CSR_OPS(bank->accel_dev); in adf_msix_isr_bundle()
74 struct adf_accel_dev *accel_dev = dev_ptr; in adf_msix_isr_ae() local
78 if (accel_dev->pf.vf_info) { in adf_msix_isr_ae()
79 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_msix_isr_ae()
81 &GET_BARS(accel_dev)[hw_data->get_misc_bar_id(hw_data)]; in adf_msix_isr_ae()
106 adf_disable_vf2pf_interrupts_irq(accel_dev, vf_mask); in adf_msix_isr_ae()
113 vf_info = accel_dev->pf.vf_info + i; in adf_msix_isr_ae()
116 dev_info(&GET_DEV(accel_dev), in adf_msix_isr_ae()
132 dev_dbg(&GET_DEV(accel_dev), "qat_dev%d spurious AE interrupt\n", in adf_msix_isr_ae()
133 accel_dev->accel_id); in adf_msix_isr_ae()
138 static int adf_request_irqs(struct adf_accel_dev *accel_dev) in adf_request_irqs() argument
140 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_request_irqs()
141 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_request_irqs()
143 struct adf_etr_data *etr_data = accel_dev->transport; in adf_request_irqs()
148 if (!accel_dev->pf.vf_info) { in adf_request_irqs()
155 "qat%d-bundle%d", accel_dev->accel_id, i); in adf_request_irqs()
159 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
165 cpu = ((accel_dev->accel_id * hw_data->num_banks) + in adf_request_irqs()
175 "qat%d-ae-cluster", accel_dev->accel_id); in adf_request_irqs()
176 ret = request_irq(msixe[i].vector, adf_msix_isr_ae, 0, name, accel_dev); in adf_request_irqs()
178 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
186 static void adf_free_irqs(struct adf_accel_dev *accel_dev) in adf_free_irqs() argument
188 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_free_irqs()
189 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_free_irqs()
191 struct adf_etr_data *etr_data = accel_dev->transport; in adf_free_irqs()
201 free_irq(msixe[i].vector, accel_dev); in adf_free_irqs()
204 static int adf_isr_alloc_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_alloc_msix_entry_table() argument
209 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_isr_alloc_msix_entry_table()
213 if (!accel_dev->pf.vf_info) in adf_isr_alloc_msix_entry_table()
217 GFP_KERNEL, dev_to_node(&GET_DEV(accel_dev))); in adf_isr_alloc_msix_entry_table()
231 accel_dev->accel_pci_dev.msix_entries.num_entries = msix_num_entries; in adf_isr_alloc_msix_entry_table()
232 accel_dev->accel_pci_dev.msix_entries.entries = entries; in adf_isr_alloc_msix_entry_table()
233 accel_dev->accel_pci_dev.msix_entries.names = names; in adf_isr_alloc_msix_entry_table()
243 static void adf_isr_free_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_free_msix_entry_table() argument
245 char **names = accel_dev->accel_pci_dev.msix_entries.names; in adf_isr_free_msix_entry_table()
248 kfree(accel_dev->accel_pci_dev.msix_entries.entries); in adf_isr_free_msix_entry_table()
249 for (i = 0; i < accel_dev->accel_pci_dev.msix_entries.num_entries; i++) in adf_isr_free_msix_entry_table()
254 static int adf_setup_bh(struct adf_accel_dev *accel_dev) in adf_setup_bh() argument
256 struct adf_etr_data *priv_data = accel_dev->transport; in adf_setup_bh()
257 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_setup_bh()
267 static void adf_cleanup_bh(struct adf_accel_dev *accel_dev) in adf_cleanup_bh() argument
269 struct adf_etr_data *priv_data = accel_dev->transport; in adf_cleanup_bh()
270 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_cleanup_bh()
285 void adf_isr_resource_free(struct adf_accel_dev *accel_dev) in adf_isr_resource_free() argument
287 adf_free_irqs(accel_dev); in adf_isr_resource_free()
288 adf_cleanup_bh(accel_dev); in adf_isr_resource_free()
289 adf_disable_msix(&accel_dev->accel_pci_dev); in adf_isr_resource_free()
290 adf_isr_free_msix_entry_table(accel_dev); in adf_isr_resource_free()
302 int adf_isr_resource_alloc(struct adf_accel_dev *accel_dev) in adf_isr_resource_alloc() argument
306 ret = adf_isr_alloc_msix_entry_table(accel_dev); in adf_isr_resource_alloc()
310 ret = adf_enable_msix(accel_dev); in adf_isr_resource_alloc()
314 ret = adf_setup_bh(accel_dev); in adf_isr_resource_alloc()
318 ret = adf_request_irqs(accel_dev); in adf_isr_resource_alloc()
325 adf_cleanup_bh(accel_dev); in adf_isr_resource_alloc()
328 adf_disable_msix(&accel_dev->accel_pci_dev); in adf_isr_resource_alloc()
331 adf_isr_free_msix_entry_table(accel_dev); in adf_isr_resource_alloc()