Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2052d6d25decc04dc05beb99348b3d78f6e3490d
Commit:     2052d6d25decc04dc05beb99348b3d78f6e3490d
Parent:     7659c038d3d0a635b5aeff04aed523d7b6c1dde8
Author:     Kumar Gala <[EMAIL PROTECTED]>
AuthorDate: Wed Jul 25 00:44:11 2007 -0500
Committer:  Kumar Gala <[EMAIL PROTECTED]>
CommitDate: Wed Jul 25 23:02:06 2007 -0500

    [POWERPC] Don't try to allocate resources for a Freescale POWERPC PHB
    
    The Freescale PCI PHBs actual report back values in the BAR registers
    this causes issues in that we try to allocate resources for them
    and will get error messages like the following on MPC8544 DS:
    
    PCI: Failed to allocate mem resource #1:[EMAIL PROTECTED] for 0000:00:00.0
    
    To address this if we are class PCI_CLASS_PROCESSOR_POWERPC, a normal
    header type, and the PHB we clear out all the resources.
    
    Signed-off-by: Kumar Gala <[EMAIL PROTECTED]>
---
 arch/powerpc/kernel/pci_32.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 721a694..395086f 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
@@ -60,6 +60,24 @@ LIST_HEAD(hose_list);
 static int pci_bus_count;
 
 static void
+fixup_hide_host_resource_fsl(struct pci_dev* dev)
+{
+       int i, class = dev->class >> 8;
+
+       if ((class == PCI_CLASS_PROCESSOR_POWERPC) &&
+               (dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
+               (dev->bus->parent == NULL)) {
+               for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
+                       dev->resource[i].start = 0;
+                       dev->resource[i].end = 0;
+                       dev->resource[i].flags = 0;
+               }
+       }
+}
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MOTOROLA, PCI_ANY_ID, 
fixup_hide_host_resource_fsl); 
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_FREESCALE, PCI_ANY_ID, 
fixup_hide_host_resource_fsl); 
+
+static void
 fixup_broken_pcnet32(struct pci_dev* dev)
 {
        if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to