[PATCH 6/7] Enable MSI mappings for MPIC
Segher Boessenkool
segher at kernel.crashing.org
Fri Jan 12 02:22:22 EST 2007
> + flags = readb(base + HT_MSI_FLAGS);
> + if (!(flags & HT_MSI_FLAGS_FIXED)) {
> + addr = readl(base + HT_MSI_ADDR_LO) & HT_MSI_ADDR_LO_MASK;
> + addr = addr | ((u64)readl(base + HT_MSI_ADDR_HI) << 32);
> + }
> +
> + printk(KERN_INFO "mpic: - HT:%02x.%x %s MSI mapping found @
> 0x%lx\n",
> + PCI_SLOT(devfn), PCI_FUNC(devfn),
> + flags & HT_MSI_FLAGS_ENABLE ? "enabled" : "disabled", addr);
It's not safe in general to just take what the hardware
is currently set to.
Perhaps it is best to just always program 0xfee00000 (it's
a per-bus thing so you can use the same address everywhere),
since that address *has* to not conflict with other mappings
already, it being the standard fixed address and everything.
Segher
More information about the Linuxppc-dev
mailing list