diff options
author | Ram Pai <linuxram@us.ibm.com> | 2011-07-25 13:08:39 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-26 11:34:57 -0800 |
commit | 36720ae8b37c324a1c2e8ad9652f08b180081861 (patch) | |
tree | 1ac41bfecb4a2ce4bb34382479865ec8fb61821d /include/linux | |
parent | 95eb6d3d6ea9d8788c1268be35a8e70db2025f07 (diff) | |
download | kernel_samsung_smdk4412-36720ae8b37c324a1c2e8ad9652f08b180081861.zip kernel_samsung_smdk4412-36720ae8b37c324a1c2e8ad9652f08b180081861.tar.gz kernel_samsung_smdk4412-36720ae8b37c324a1c2e8ad9652f08b180081861.tar.bz2 |
PCI : ability to relocate assigned pci-resources
commit 2bbc6942273b5b3097bd265d82227bdd84b351b2 upstream.
Currently pci-bridges are allocated enough resources to satisfy their immediate
requirements. Any additional resource-requests fail if additional free space,
contiguous to the one already allocated, is not available. This behavior is not
reasonable since sufficient contiguous resources, that can satisfy the request,
are available at a different location.
This patch provides the ability to expand and relocate a allocated resource.
v2: Changelog: Fixed size calculation in pci_reassign_resource()
v3: Changelog : Split this patch. The resource.c changes are already
upstream. All the pci driver changes are in here.
Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Andrew Worsley <amworsley@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/pci.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index c446b5c..f39d894 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -800,6 +800,7 @@ int __pci_reset_function(struct pci_dev *dev); int pci_reset_function(struct pci_dev *dev); void pci_update_resource(struct pci_dev *dev, int resno); int __must_check pci_assign_resource(struct pci_dev *dev, int i); +int __must_check pci_reassign_resource(struct pci_dev *dev, int i, resource_size_t add_size, resource_size_t align); int pci_select_bars(struct pci_dev *dev, unsigned long flags); /* ROM control related routines */ |