Re: [PATCH 9/9] pci: set PCI_PREF_RANGE_TYPE_64 in pci_bridge_check_ranges

From: Yinghai Lu
Date: Thu Jan 21 2010 - 16:55:37 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/