Messages in this thread | | | Date | Thu, 6 Jul 2006 09:39:40 -0600 | From | Grant Grundler <> | Subject | Re: [patch 3/7] Check root chipset no_msi flag instead of all parent busses flags |
| |
On Wed, Jul 05, 2006 at 12:38:27AM -0400, Brice Goglin wrote: > Grant Grundler wrote: > > I still don't want the generic PCI code to assume a "root" > > PCI Host bus controller was found after that loop. > > If I am not mistaken, we can use the following code to check whether we > found a root chipset: > unsigned cap; > u16 val; > u8 ext_type; > cap = pci_find_capability(pdev, PCI_CAP_ID_EXP);
That might work fine on x86 boxen where firmware fakes all devices to show up in PCI config space. That's not the case on many other architectures. My whole point was the pdev doesn't exist for a root chipset on those other arch's.
grant
> if (cap) { > pci_read_config_word(pdev, cap + PCI_CAP_FLAGS, &val); > ext_type = (val & PCI_EXP_FLAGS_TYPE) >> 4; > if (ext_type == PCI_EXP_TYPE_ROOT_PORT) > <check no_msi flag> > } > > Brice - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |