Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d99c41f05fc2a26737aacf943db03ca89841199
Commit:     2d99c41f05fc2a26737aacf943db03ca89841199
Parent:     872758563d7f132d25fc06857bd19df06c5c70c7
Author:     Olaf Hering <[EMAIL PROTECTED]>
AuthorDate: Sat Feb 10 21:38:37 2007 +0100
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Tue Feb 13 15:35:52 2007 +1100

    [POWERPC] Mark winbond IDE PCI resources with start 0 as unassigned
    
    libata calls pci_request_regions to claim PCI BAR 0 - 5
    pci_request_regions fails if one of the regions cant be claimed.
    bar 5 has start == 0,  __request_resource will fail.
    
    Tested on a p630 in SMP mode with pata_sl82c105
    
     00:03.1 IDE interface: Symphony Labs SL82c105 (rev 05) (prog-if 8f [Master 
SecP SecO PriP PriO])
             Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- 
ParErr+ Stepping- SERR+ FastB2B-
             Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
             Interrupt: pin A routed to IRQ 86
             Region 0: I/O ports at 3fd3000f000 [size=8]
             Region 1: I/O ports at 3fd3000f010 [size=4]
             Region 2: I/O ports at 3fd3000f020 [size=8]
             Region 3: I/O ports at 3fd3000f030 [size=4]
             Region 4: I/O ports at 3fd3000f040 [size=16]
             Region 5: I/O ports at 3fd30000000 [size=16]
     00: ad 10 05 01 41 01 80 02 05 8f 01 01 08 48 80 00
     10: 01 f0 00 00 11 f0 00 00 21 f0 00 00 31 f0 00 00
     20: 41 f0 00 00 01 00 00 00 00 00 00 00 00 00 00 00
     30: 00 00 00 00 00 00 00 00 00 00 00 00 56 01 02 28
     40: b3 08 ff 00 09 09 00 00 09 09 00 00 09 09 00 00
     50: 09 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     70: 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00
     80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    
     name             "ide"
     linux,phandle    00d5cdc0 (14011840)
     assigned-addresses 81001910 00000000 0000f000 00000000 00000008 81001914
                      00000000 0000f010 00000000 00000004 81001918 00000000
                      0000f020 00000000 00000008 8100191c 00000000 0000f030
                      00000000 00000004 81001920 00000000 0000f040 00000000
                      00000010 81001924 00000000 00000000 00000000 00000010
     interrupts       00000003
     built-in
     #size-cells      00000000
     #address-cells   00000001
     device_type      "ide"
     reg              00001900 00000000 00000000 00000000 00000000
                      41001910 00000000 00000000 00000000 00000008
                      41001914 00000000 00000000 00000000 00000004
                      41001918 00000000 00000000 00000000 00000008
                      4100191c 00000000 00000000 00000000 00000004
                      41001920 00000000 00000000 00000000 00000010
                      41001924 00000000 00000000 00000000 00000010
     compatible       "pci10ad,105"
                      "pciclass,01018f"
     ibm,fw-slot-number 00000000
     fast-back-to-back
     devsel-speed     00000001
     max-latency      00000028 (40)
     min-grant        00000002
     class-code       0001018f (65935)
     revision-id      00000005
     device-id        00000105 (261)
     vendor-id        000010ad (4269)
     ibm,loc-code     "U0.1-P1/Q6"
    
    Signed-off-by: Olaf Hering <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/powerpc/platforms/pseries/pci.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/pci.c 
b/arch/powerpc/platforms/pseries/pci.c
index c69bd15..fa59124 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -98,6 +98,10 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
                if (dev->resource[i].flags & IORESOURCE_IO
                    && dev->bus->number == 0 && dev->devfn == 0x81)
                        dev->resource[i].flags &= ~IORESOURCE_IO;
+               if (dev->resource[i].start == 0 && dev->resource[i].end) {
+                       dev->resource[i].flags = 0;
+                       dev->resource[i].end = 0;
+               }
        }
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_82C105,
-
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