Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d976195c authored by Joerg Roedel's avatar Joerg Roedel
Browse files

iommu/amd: Add call-back routine for HPET MSI



Add a routine to setup a HPET MSI interrupt for remapping.

Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
parent 0b4d48cb
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -4200,4 +4200,30 @@ static int msi_setup_irq(struct pci_dev *pdev, unsigned int irq,
	return 0;
}

static int setup_hpet_msi(unsigned int irq, unsigned int id)
{
	struct irq_2_iommu *irte_info;
	struct irq_cfg *cfg;
	int index, devid;

	cfg = irq_get_chip_data(irq);
	if (!cfg)
		return -EINVAL;

	irte_info = &cfg->irq_2_iommu;
	devid     = get_hpet_devid(id);
	if (devid < 0)
		return devid;

	index = alloc_irq_index(cfg, devid, 1);
	if (index < 0)
		return index;

	irte_info->sub_handle = devid;
	irte_info->irte_index = index;
	irte_info->iommu      = (void *)cfg;

	return 0;
}

#endif