Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1434456
| From | Yongji Xie <xyjxie@linux.vnet.ibm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v3 5/7] PCI: Do not use IORESOURCE_STARTALIGN to identify bridge resources |
| Date | 2016-06-30 13:00 +0200 |
| Message-ID | <rPHRo-72-21@gated-at.bofh.it> (permalink) |
| References | <rPHRn-72-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Now we use the IORESOURCE_STARTALIGN to identify bridge resources in __assign_resources_sorted(). That's quite fragile. We may also set flag IORESOURCE_STARTALIGN for SR-IOV resources in some cases, for example, using the option "noresize" of parameter "pci=resource_alignment". In this patch, we try to use a more robust way to identify bridge resources. Signed-off-by: Yongji Xie <xyjxie@linux.vnet.ibm.com> --- drivers/pci/setup-bus.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 55641a3..216ddbc 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -390,6 +390,7 @@ static void __assign_resources_sorted(struct list_head *head, struct pci_dev_resource *dev_res, *tmp_res, *dev_res2; unsigned long fail_type; resource_size_t add_align, align; + int index; /* Check if optional add_size is there */ if (!realloc_head || list_empty(realloc_head)) @@ -410,11 +411,13 @@ static void __assign_resources_sorted(struct list_head *head, /* * There are two kinds of additional resources in the list: - * 1. bridge resource -- IORESOURCE_STARTALIGN - * 2. SR-IOV resource -- IORESOURCE_SIZEALIGN + * 1. bridge resource + * 2. SR-IOV resource * Here just fix the additional alignment for bridge */ - if (!(dev_res->res->flags & IORESOURCE_STARTALIGN)) + index = dev_res->res - dev_res->dev->resource; + if (index < PCI_BRIDGE_RESOURCES || + index > PCI_BRIDGE_RESOURCE_END) continue; add_align = get_res_add_align(realloc_head, dev_res->res); -- 1.7.9.5
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v3 0/7] PCI: Add support for enforcing all MMIO BARs not to share PAGE_SIZE Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
[PATCH v3 3/7] PCI: Do not disable memory decoding in pci_reassigndev_resource_alignment() Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
Re: [PATCH v3 3/7] PCI: Do not disable memory decoding in pci_reassigndev_resource_alignment() Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-01 03:00 +0200
Re: [PATCH v3 3/7] PCI: Do not disable memory decoding in pci_reassigndev_resource_alignment() Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-07-01 10:10 +0200
[PATCH v3 1/7] PCI: Ignore enforced alignment when kernel uses existing firmware setup Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
Re: [PATCH v3 1/7] PCI: Ignore enforced alignment when kernel uses existing firmware setup Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-01 02:30 +0200
Re: [PATCH v3 1/7] PCI: Ignore enforced alignment when kernel uses existing firmware setup Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-07-01 06:50 +0200
[PATCH v3 2/7] PCI: Ignore enforced alignment to VF BARs Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
Re: [PATCH v3 2/7] PCI: Ignore enforced alignment to VF BARs Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-01 02:50 +0200
Re: [PATCH v3 2/7] PCI: Ignore enforced alignment to VF BARs Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-07-01 07:30 +0200
Re: [PATCH v3 2/7] PCI: Ignore enforced alignment to VF BARs Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-01 08:10 +0200
Re: [PATCH v3 2/7] PCI: Ignore enforced alignment to VF BARs Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-07-01 08:50 +0200
Re: [PATCH v3 2/7] PCI: Ignore enforced alignment to VF BARs Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-02 02:40 +0200
[PATCH v3 7/7] PCI: Add a macro to set default alignment for all PCI devices Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
[PATCH v3 4/7] PCI: Add a new option for resource_alignment to reassign alignment Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
Re: [PATCH v3 4/7] PCI: Add a new option for resource_alignment to reassign alignment Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-01 05:40 +0200
Re: [PATCH v3 4/7] PCI: Add a new option for resource_alignment to reassign alignment Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-07-01 09:00 +0200
[PATCH v3 6/7] PCI: Add support for enforcing all MMIO BARs to be page aligned Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
[PATCH v3 5/7] PCI: Do not use IORESOURCE_STARTALIGN to identify bridge resources Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-06-30 13:00 +0200
Re: [PATCH v3 5/7] PCI: Do not use IORESOURCE_STARTALIGN to identify bridge resources Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-01 04:40 +0200
Re: [PATCH v3 5/7] PCI: Do not use IORESOURCE_STARTALIGN to identify bridge resources Yongji Xie <xyjxie@linux.vnet.ibm.com> - 2016-07-01 09:10 +0200
Re: [PATCH v3 5/7] PCI: Do not use IORESOURCE_STARTALIGN to identify bridge resources Gavin Shan <gwshan@linux.vnet.ibm.com> - 2016-07-02 02:40 +0200
csiph-web