Thread (51 messages) 51 messages, 5 authors, 2012-03-01

Re: [PATCH 02/39] x86, PCI: have own version for pcibios_bus_to_resource

From: Bjorn Helgaas <bhelgaas@google.com>
Date: 2012-02-29 23:20:32
Also in: linux-pci, lkml

On Wed, Feb 29, 2012 at 4:07 PM, Yinghai Lu [off-list ref] wrote:
x86 does not need to offset the address. So we can skip that costing offset
searching.
I tried to start a discussion about this patch (and others), but I
don't think you responded:
http://marc.info/?l=linux-pci&m=133036414506921&w=2

It's discouraging to spend time reviewing all your patches and trying
to give useful feedback, when all I get in response is a deluge of
fresh patches.

Bjorn
quoted hunk ↗ jump to hunk
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
---
 arch/x86/pci/i386.c       |   14 ++++++++++++++
 drivers/pci/host-bridge.c |    9 +++++----
 2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index 33e6a0b..eeed28e 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -335,6 +335,20 @@ void __init pcibios_resource_survey(void)
 */
 fs_initcall(pcibios_assign_resources);

+void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
+                            struct resource *res)
+{
+       region->start = res->start;
+       region->end = res->end;
+}
+
+void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
+                            struct pci_bus_region *region)
+{
+       res->start = region->start;
+       res->end = region->end;
+}
+
 static const struct vm_operations_struct pci_mmap_ops = {
       .access = generic_access_phys,
 };
diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
index 5ca4220..dfaff3f 100644
--- a/drivers/pci/host-bridge.c
+++ b/drivers/pci/host-bridge.c
@@ -38,8 +38,9 @@ static bool resource_contains(struct resource *res1, struct resource *res2)
       return res1->start <= res2->start && res1->end >= res2->end;
 }

-void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
-                            struct resource *res)
+void __weak pcibios_resource_to_bus(struct pci_dev *dev,
+                                   struct pci_bus_region *region,
+                                   struct resource *res)
 {
       struct pci_host_bridge *bridge = pci_host_bridge(dev);
       struct pci_host_bridge_window *window;
@@ -66,8 +67,8 @@ static bool region_contains(struct pci_bus_region *region1,
       return region1->start <= region2->start && region1->end >= region2->end;
 }

-void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
-                            struct pci_bus_region *region)
+void __weak pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
+                                   struct pci_bus_region *region)
 {
       struct pci_host_bridge *bridge = pci_host_bridge(dev);
       struct pci_host_bridge_window *window;
--
1.7.7
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help