Lines Matching refs:accel_dev

18 static int adf_enable_msix(struct adf_accel_dev *accel_dev)  in adf_enable_msix()  argument
20 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_enable_msix()
21 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_enable_msix()
25 hw_data->set_msix_rttable(accel_dev); in adf_enable_msix()
28 if (!accel_dev->pf.vf_info) { in adf_enable_msix()
42 dev_err(&GET_DEV(accel_dev), "Failed to enable MSI-X IRQ(s)\n"); in adf_enable_msix()
56 struct adf_hw_csr_ops *csr_ops = GET_CSR_OPS(bank->accel_dev); in adf_msix_isr_bundle()
66 struct adf_accel_dev *accel_dev = dev_ptr; in adf_msix_isr_ae() local
70 if (accel_dev->pf.vf_info) { in adf_msix_isr_ae()
71 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_msix_isr_ae()
73 &GET_BARS(accel_dev)[hw_data->get_misc_bar_id(hw_data)]; in adf_msix_isr_ae()
89 adf_disable_vf2pf_interrupts(accel_dev, vf_mask); in adf_msix_isr_ae()
98 vf_info = accel_dev->pf.vf_info + i; in adf_msix_isr_ae()
101 dev_info(&GET_DEV(accel_dev), in adf_msix_isr_ae()
118 dev_dbg(&GET_DEV(accel_dev), "qat_dev%d spurious AE interrupt\n", in adf_msix_isr_ae()
119 accel_dev->accel_id); in adf_msix_isr_ae()
124 static int adf_request_irqs(struct adf_accel_dev *accel_dev) in adf_request_irqs() argument
126 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_request_irqs()
127 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_request_irqs()
129 struct adf_etr_data *etr_data = accel_dev->transport; in adf_request_irqs()
134 if (!accel_dev->pf.vf_info) { in adf_request_irqs()
141 "qat%d-bundle%d", accel_dev->accel_id, i); in adf_request_irqs()
145 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
151 cpu = ((accel_dev->accel_id * hw_data->num_banks) + in adf_request_irqs()
161 "qat%d-ae-cluster", accel_dev->accel_id); in adf_request_irqs()
162 ret = request_irq(msixe[i].vector, adf_msix_isr_ae, 0, name, accel_dev); in adf_request_irqs()
164 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
172 static void adf_free_irqs(struct adf_accel_dev *accel_dev) in adf_free_irqs() argument
174 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_free_irqs()
175 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_free_irqs()
177 struct adf_etr_data *etr_data = accel_dev->transport; in adf_free_irqs()
187 free_irq(msixe[i].vector, accel_dev); in adf_free_irqs()
190 static int adf_isr_alloc_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_alloc_msix_entry_table() argument
195 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_isr_alloc_msix_entry_table()
199 if (!accel_dev->pf.vf_info) in adf_isr_alloc_msix_entry_table()
203 GFP_KERNEL, dev_to_node(&GET_DEV(accel_dev))); in adf_isr_alloc_msix_entry_table()
217 accel_dev->accel_pci_dev.msix_entries.num_entries = msix_num_entries; in adf_isr_alloc_msix_entry_table()
218 accel_dev->accel_pci_dev.msix_entries.entries = entries; in adf_isr_alloc_msix_entry_table()
219 accel_dev->accel_pci_dev.msix_entries.names = names; in adf_isr_alloc_msix_entry_table()
229 static void adf_isr_free_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_free_msix_entry_table() argument
231 char **names = accel_dev->accel_pci_dev.msix_entries.names; in adf_isr_free_msix_entry_table()
234 kfree(accel_dev->accel_pci_dev.msix_entries.entries); in adf_isr_free_msix_entry_table()
235 for (i = 0; i < accel_dev->accel_pci_dev.msix_entries.num_entries; i++) in adf_isr_free_msix_entry_table()
240 static int adf_setup_bh(struct adf_accel_dev *accel_dev) in adf_setup_bh() argument
242 struct adf_etr_data *priv_data = accel_dev->transport; in adf_setup_bh()
243 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_setup_bh()
253 static void adf_cleanup_bh(struct adf_accel_dev *accel_dev) in adf_cleanup_bh() argument
255 struct adf_etr_data *priv_data = accel_dev->transport; in adf_cleanup_bh()
256 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_cleanup_bh()
271 void adf_isr_resource_free(struct adf_accel_dev *accel_dev) in adf_isr_resource_free() argument
273 adf_free_irqs(accel_dev); in adf_isr_resource_free()
274 adf_cleanup_bh(accel_dev); in adf_isr_resource_free()
275 adf_disable_msix(&accel_dev->accel_pci_dev); in adf_isr_resource_free()
276 adf_isr_free_msix_entry_table(accel_dev); in adf_isr_resource_free()
288 int adf_isr_resource_alloc(struct adf_accel_dev *accel_dev) in adf_isr_resource_alloc() argument
292 ret = adf_isr_alloc_msix_entry_table(accel_dev); in adf_isr_resource_alloc()
296 ret = adf_enable_msix(accel_dev); in adf_isr_resource_alloc()
300 ret = adf_setup_bh(accel_dev); in adf_isr_resource_alloc()
304 ret = adf_request_irqs(accel_dev); in adf_isr_resource_alloc()
311 adf_cleanup_bh(accel_dev); in adf_isr_resource_alloc()
314 adf_disable_msix(&accel_dev->accel_pci_dev); in adf_isr_resource_alloc()
317 adf_isr_free_msix_entry_table(accel_dev); in adf_isr_resource_alloc()