lkml.org 
[lkml]   [2008]   [Mar]   [25]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateTue, 25 Mar 2008 22:08:49 +0100
FromThomas Meyer <>
SubjectRe: ohci1394 problem (MMIO broken) (was 2.6.25-rc6-git6: Reported regressions from 2.6.24)
Ingo Molnar schrieb:
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> 
>>> Modprobing either ohci1394 or firewire_ohci seems to lock up the 
>>> system.
>>> 
>> that's weird. If you do the modprobe from a VGA console and do a 
>> 'dmesg -n 8', do you get any ioremap printk shortly before the hard 
>> lockup?
>> 
>
> basically, old ioremap did this:
>
> [  162.485605] ACPI: PCI Interrupt 0000:0c:03.0[A] -> GSI 19 (level, low) -> IRQ 19
> [  162.485695] ioremap: 00000000(00000800) => f8978000
>
> the theory (fact?) was that the zero physical address there (the 
> '00000000') was some 4GB+ address truncated down to 32-bits.
> 
See file attachments of this bug:

http://bugzilla.kernel.org/show_bug.cgi?id=10080

and compare lspci -vv from 2.6.25 and 2.6.24:

2.6.25:
0c:03.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61) (prog-if 10 
[OHCI])
    Subsystem: Agere Systems FW323
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- 
Stepping- SERR- FastB2B+ DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 248 (3000ns min, 6000ns max), Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 19
    Region 0: [virtual] Memory at 100000000 (32-bit, non-prefetchable) 
[size=4K]
    Capabilities: [44] Power Management version 2
        Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Kernel driver in use: ohci1394
    Kernel modules: firewire-ohci, ohci1394
2.6.24:
0c:03.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61) (prog-if 10 
[OHCI])
    Subsystem: Agere Systems FW323
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- 
Stepping- SERR- FastB2B+ DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 248 (3000ns min, 6000ns max), Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 19
    Region 0: Memory at 8c000000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: [44] Power Management version 2
        Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME+
    Kernel driver in use: ohci1394
    Kernel modules: firewire-ohci, ohci1394
> OTOH, before this system worked for you before, i start to suspect that 
> ioremap is a red herring here and that it's the code that gets to that 
> physical address (which is ioremap-ed) is at fault here.
> the hard hang might be your southbridge totally dumbfounded by the host 
> OS attempting to do an MMIO access to an above-4GB address?
> 
Maybe. Is it important that i have an core duo? (32 bit only - not a the 
core *2* duo)?
> so the question is - what physical address did that ioremap do in 2.6.24 
> (which presumly had a working ohci1394, right?), and why did it change 
> to something else in -git?
Is the lspci output sufficient for you?



\
 
 \ /
  Last update: 2008-03-25 22:11    [W:0.917 / U:0.180 seconds]
©2003-2008 Jasper Spaans