Lines Matching refs:accel_dev

63 static int adf_enable_msix(struct adf_accel_dev *accel_dev)  in adf_enable_msix()  argument
65 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_enable_msix()
66 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_enable_msix()
76 dev_err(&GET_DEV(accel_dev), "Failed to enable MSIX IRQ\n"); in adf_enable_msix()
98 struct adf_accel_dev *accel_dev = dev_ptr; in adf_msix_isr_ae() local
100 dev_info(&GET_DEV(accel_dev), "qat_dev%d spurious AE interrupt\n", in adf_msix_isr_ae()
101 accel_dev->accel_id); in adf_msix_isr_ae()
105 static int adf_request_irqs(struct adf_accel_dev *accel_dev) in adf_request_irqs() argument
107 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_request_irqs()
108 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_request_irqs()
110 struct adf_etr_data *etr_data = accel_dev->transport; in adf_request_irqs()
121 "qat%d-bundle%d", accel_dev->accel_id, i); in adf_request_irqs()
125 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
131 cpu = ((accel_dev->accel_id * hw_data->num_banks) + i) % cpus; in adf_request_irqs()
138 "qat%d-ae-cluster", accel_dev->accel_id); in adf_request_irqs()
139 ret = request_irq(msixe[i].vector, adf_msix_isr_ae, 0, name, accel_dev); in adf_request_irqs()
141 dev_err(&GET_DEV(accel_dev), in adf_request_irqs()
149 static void adf_free_irqs(struct adf_accel_dev *accel_dev) in adf_free_irqs() argument
151 struct adf_accel_pci *pci_dev_info = &accel_dev->accel_pci_dev; in adf_free_irqs()
152 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_free_irqs()
154 struct adf_etr_data *etr_data = accel_dev->transport; in adf_free_irqs()
162 free_irq(msixe[i].vector, accel_dev); in adf_free_irqs()
165 static int adf_isr_alloc_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_alloc_msix_entry_table() argument
170 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_isr_alloc_msix_entry_table()
174 GFP_KERNEL, dev_to_node(&GET_DEV(accel_dev))); in adf_isr_alloc_msix_entry_table()
188 accel_dev->accel_pci_dev.msix_entries.entries = entries; in adf_isr_alloc_msix_entry_table()
189 accel_dev->accel_pci_dev.msix_entries.names = names; in adf_isr_alloc_msix_entry_table()
199 static void adf_isr_free_msix_entry_table(struct adf_accel_dev *accel_dev) in adf_isr_free_msix_entry_table() argument
201 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_isr_free_msix_entry_table()
203 char **names = accel_dev->accel_pci_dev.msix_entries.names; in adf_isr_free_msix_entry_table()
206 kfree(accel_dev->accel_pci_dev.msix_entries.entries); in adf_isr_free_msix_entry_table()
212 static int adf_setup_bh(struct adf_accel_dev *accel_dev) in adf_setup_bh() argument
214 struct adf_etr_data *priv_data = accel_dev->transport; in adf_setup_bh()
215 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_setup_bh()
225 static void adf_cleanup_bh(struct adf_accel_dev *accel_dev) in adf_cleanup_bh() argument
227 struct adf_etr_data *priv_data = accel_dev->transport; in adf_cleanup_bh()
228 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_cleanup_bh()
237 void adf_isr_resource_free(struct adf_accel_dev *accel_dev) in adf_isr_resource_free() argument
239 adf_free_irqs(accel_dev); in adf_isr_resource_free()
240 adf_cleanup_bh(accel_dev); in adf_isr_resource_free()
241 adf_disable_msix(&accel_dev->accel_pci_dev); in adf_isr_resource_free()
242 adf_isr_free_msix_entry_table(accel_dev); in adf_isr_resource_free()
245 int adf_isr_resource_alloc(struct adf_accel_dev *accel_dev) in adf_isr_resource_alloc() argument
249 ret = adf_isr_alloc_msix_entry_table(accel_dev); in adf_isr_resource_alloc()
252 if (adf_enable_msix(accel_dev)) in adf_isr_resource_alloc()
255 if (adf_setup_bh(accel_dev)) in adf_isr_resource_alloc()
258 if (adf_request_irqs(accel_dev)) in adf_isr_resource_alloc()
263 adf_isr_resource_free(accel_dev); in adf_isr_resource_alloc()