Commit 149cb7d9 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Takashi Iwai
Browse files

ALSA: hda: intel: Switch to pci_alloc_irq_vectors API



Switch from legacy pci_msi_enable()/pci_intx() API to the
pci_alloc_irq_vectors API.

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Link: https://patch.msgid.link/11c60429-9435-4666-8e27-77160abef68e@gmail.com


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent cac99f73
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -773,6 +773,14 @@ static void azx_clear_irq_pending(struct azx *chip)
static int azx_acquire_irq(struct azx *chip, int do_disconnect)
{
	struct hdac_bus *bus = azx_bus(chip);
	int ret;

	if (!chip->msi || pci_alloc_irq_vectors(chip->pci, 1, 1, PCI_IRQ_MSI) < 0) {
		ret = pci_alloc_irq_vectors(chip->pci, 1, 1, PCI_IRQ_INTX);
		if (ret < 0)
			return ret;
		chip->msi = 0;
	}

	if (request_irq(chip->pci->irq, azx_interrupt,
			chip->msi ? 0 : IRQF_SHARED,
@@ -786,7 +794,6 @@ static int azx_acquire_irq(struct azx *chip, int do_disconnect)
	}
	bus->irq = chip->pci->irq;
	chip->card->sync_irq = bus->irq;
	pci_intx(chip->pci, !chip->msi);
	return 0;
}

@@ -1879,14 +1886,10 @@ static int azx_first_init(struct azx *chip)
		chip->gts_present = true;
#endif

	if (chip->msi) {
		if (chip->driver_caps & AZX_DCAPS_NO_MSI64) {
	if (chip->msi && chip->driver_caps & AZX_DCAPS_NO_MSI64) {
		dev_dbg(card->dev, "Disabling 64bit MSI\n");
		pci->no_64bit_msi = true;
	}
		if (pci_enable_msi(pci) < 0)
			chip->msi = 0;
	}

	pci_set_master(pci);

@@ -2037,7 +2040,7 @@ static int disable_msi_reset_irq(struct azx *chip)
	free_irq(bus->irq, chip);
	bus->irq = -1;
	chip->card->sync_irq = -1;
	pci_disable_msi(chip->pci);
	pci_free_irq_vectors(chip->pci);
	chip->msi = 0;
	err = azx_acquire_irq(chip, 1);
	if (err < 0)