]> git.baikalelectronics.ru Git - kernel.git/commit
PCI/x86: don't assume prefetchable ranges are 64bit
authorYinghai Lu <yinghai@kernel.org>
Fri, 24 Apr 2009 03:48:32 +0000 (20:48 -0700)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Thu, 11 Jun 2009 19:04:06 +0000 (12:04 -0700)
commit590097f7b6a77953b3b057ee5690a2ddbd785094
tree3e93b9d1c97ae48509133fbbec9c81b4823816a5
parentc077d9b6374440570e815f49d37f70f72591f8c3
PCI/x86: don't assume prefetchable ranges are 64bit

We should not assign 64bit ranges to PCI devices that only take 32bit
prefetchable addresses.

Try to set IORESOURCE_MEM_64 in 64bit resource of pci_device/pci_bridge
and make the bus resource only have that bit set when all devices under
it support 64bit prefetchable memory.  Use that flag to allocate
resources from that range.

Reported-by: Yannick <yannick.roehlly@free.fr>
Reviewed-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
arch/x86/include/asm/pci.h
drivers/pci/bus.c
drivers/pci/probe.c
drivers/pci/setup-bus.c
include/linux/ioport.h
include/linux/pci.h