Re: [PATCH] pci: change msi-x vector to 32bit

Yinghai Lu
2008-08-16T06:42:35Z

On Fri, Aug 15, 2008 at 8:26 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> The 28 bits aren't enough, are they: we need domain as well (and surely we can have more than 16 domains?)

current code
static unsigned int build_irq_for_pci_dev(struct pci_dev *dev)
{
unsigned int irq;

irq = dev->bus->number;
irq <<= 8;
irq |= dev->devfn;
irq <<= 12;

return irq;
}

int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
{
unsigned int irq;
int ret;
unsigned int irq_want;

irq_want = build_irq_for_pci_dev(dev) + 0x100;

irq = create_irq(irq_want);

domain is not used yet.

need to make vecter_irq to vector_domain_irq

irq_desc(irq) change to domain_irq_desc(domain, irq)

...

YH

YH