Beispiel #1
0
void adf_isr_resource_free(struct adf_accel_dev *accel_dev)
{
    adf_free_irqs(accel_dev);
    adf_cleanup_bh(accel_dev);
    adf_disable_msix(&accel_dev->accel_pci_dev);
    adf_isr_free_msix_entry_table(accel_dev);
}
Beispiel #2
0
/*
 * adf_isr_resource_free
 * Free up the required resources
 */
int adf_isr_resource_free(icp_accel_dev_t *accel_dev)
{
        int status = SUCCESS;
        free_irq(accel_dev->pciAccelDev.irq, (void*) accel_dev);
        adf_disable_msi(&accel_dev->pciAccelDev);
        /* Clean bottom half handlers */
        adf_cleanup_bh(accel_dev);
        adf_cleanup_pf2vf_bh(accel_dev);
        return status;
}
Beispiel #3
0
/**
 * adf_vf_isr_resource_free() - Free IRQ for acceleration device
 * @accel_dev:  Pointer to acceleration device.
 *
 * Function frees interrupts for acceleration device virtual function.
 */
void adf_vf_isr_resource_free(struct adf_accel_dev *accel_dev)
{
	struct pci_dev *pdev = accel_to_pci_dev(accel_dev);

	irq_set_affinity_hint(pdev->irq, NULL);
	free_irq(pdev->irq, (void *)accel_dev);
	adf_cleanup_bh(accel_dev);
	adf_cleanup_pf2vf_bh(accel_dev);
	adf_disable_msi(accel_dev);
}