Re: [PATCH 08/14] pci: update bridge res to get more big range in pci assign unssign

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/15/2010 11:12 AM, Jesse Barnes wrote:
> On Tue, 22 Dec 2009 15:02:28 -0800
> Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> 
>> BIOS separate IO range between several IOHs, and on some slots, BIOS
>> assign the resource to the bridge, but stop assigning resource to the
>> device under that bridge, because the device need big resource.
>>
>> 1. pci assign unassign and record the failed device resource.
>> 2. clear the BIOS assigned resource of the parent bridge of fail
>> device 3. go back and call pci assign unsigned
>> 4. if it still fail, will go up more bridges. and clear and try again.
>>
>> use pci_try_num to control back track bridge levels.
>>
>> -v2: update it with resource_list_x
>> -v3: make pci_try_num default to 1. and when pci_try_num is set to
>> more than 1 will check it with max_depth, and adjust that to make
>> sure it is bigger enough
> 
> I really don't like the 'try' argument.  Either we can assign the
> resource or not; 'try=' just makes the whole thing scarier, as if we
> expect problems if we release too many resources.  If that's the case,
> then the whole approach must be flawed, since it means we're not taking
> into account some resources, or we're missing something about the
> system configuration.

before this patchset, acctually try = 1, and will not touch pci bridge resource if that are assigned by BIOS.

with this patchset, try = 1, will just like the old ways.
try = 2, it will find the deepest bridge, and increase the try.

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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux