On 01/21/2010 01:32 PM, Alex Chiang wrote: > * Yinghai Lu <yinghai@xxxxxxxxxx>: >> make pci_bridge_check_ranges() to store the >> PCI_PREF_RANGE_TYPE_64 in addition to IORESOURCE_MEM_64. just >> like pci_read_bridge_bases() >> >> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> >> --- >> drivers/pci/setup-bus.c | 5 ++++- >> 1 files changed, 4 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c >> index a9c4f9e..8fafe73 100644 >> --- a/drivers/pci/setup-bus.c >> +++ b/drivers/pci/setup-bus.c >> @@ -359,8 +359,11 @@ static void pci_bridge_check_ranges(struct pci_bus *bus) >> } >> if (pmem) { >> b_res[2].flags |= IORESOURCE_MEM | IORESOURCE_PREFETCH; >> - if ((pmem & PCI_PREF_RANGE_TYPE_MASK) == PCI_PREF_RANGE_TYPE_64) >> + if ((pmem & PCI_PREF_RANGE_TYPE_MASK) == >> + PCI_PREF_RANGE_TYPE_64) { >> b_res[2].flags |= IORESOURCE_MEM_64; >> + b_res[2].flags |= PCI_PREF_RANGE_TYPE_64; here set PCI_PREF_RANGE_TYPE_64 too. >> + } >> } > > My copy of pci_read_bridge_bases() in jbarnes's linux-next tree > doesn't do anything like that. > > 284 void __devinit pci_read_bridge_bases(struct pci_bus *child) > 285 { > ... > 369 if (base <= limit) { > 370 res->flags = (mem_base_lo & PCI_PREF_RANGE_TYPE_MASK) | > 371 IORESOURCE_MEM | IORESOURCE_PREFETCH; so it could save PCI_PREF_RANGE_TYPE_64 here. > 372 if (res->flags & PCI_PREF_RANGE_TYPE_64) > 373 res->flags |= IORESOURCE_MEM_64; > 374 res->start = base; > 375 res->end = limit + 0xfffff; > 376 dev_printk(KERN_DEBUG, &dev->dev, " bridge window %pR\n", res); > 377 } YH -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html