• Yinghai Lu's avatar
    PCI: update bridge resources to get more big ranges when allocating space (again) · da7822e5
    Yinghai Lu authored
    With Ram's fixes, this should be safe to do again.  So let's give it
    another try.
    
    BIOS separates IO ranges between several IOHs, and on some slots, BIOS
    assigns resources to a bridge, but stops assigning resources to the
    device under that bridge, because the device needs a big resource.
    
    So:
    1. allocate resources and record the failed device resources
    2. clear the BIOS assigned resources of the parent bridge of failing device
    3. go back and call pci assign unassigned
    4. if it still fails, go up the tree, clear more bridges. and try again
    
    Now Ram's allocate requested resource already got into mainline. could
    put this one again.
    Reviewed-by: default avatarRam Pai <linuxram@us.ibm.com>
    Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    da7822e5
setup-bus.c 31.2 KB