On Fri, 16 Jun 2000, David Brownell wrote:

> > > Actually, since Miles provided separate information about the
> > > controller's real address (0xc5882000) which isn't the one
> > > provided through the URB  (0xc5880000), it's clear that some
> > > pointer in the "urb->bus->dev->hcpriv" sequence used to get
> > > that pointer (hcpriv) became bogus ...
> >  
> > Didn't Miles say in his last mail that both Addresses are equal?
> > (0xc5882000)
> 
> I may have missed some e-mail, pacbell has been darn poor lately.
> 
> Actually he said to me that they weren't (in one letter) but
> in the full log he sent, I see they are ... I'm thinking that
> his controller address is changing between runs, just to cause
> maximal confusion!!

Yes.  It seems that is what's happening.

> Jun 16 08:57:14 agate kernel: usb-ohci.c: USB OHCI at membase 0xc5872000,
> IRQ 11 
> Jun 16 08:57:14 agate kernel: usb-ohci.c: PCI device 1045:c861 
> ...
> Jun 16 08:58:28 agate kernel: usb-storage.c: *** thread sleeping. 
> Jun 16 08:58:50 agate kernel: usb-ohci.c: USB suspend: c5872000 
> Jun 16 08:58:50 agate kernel: usb-ohci.c: rh_send_irq given bogus
> controller address c5872000 
> Jun 16 08:59:04 agate last message repeated 5 times
> Jun 16 08:59:05 agate kernel: usb-ohci.c: USB resume: c5872000 
> Jun 16 08:59:05 agate kernel: usb-ohci.c: rh_send_irq given bogus
> controller address c5872000 
> Jun 16 08:59:06 agate last message repeated 2 times
> ...
> Jun 16 08:59:07 agate kernel: PCI: Enabling device 03:00.0 (0000 -> 0002) 
> Jun 16 08:59:07 agate kernel: PCI: Found IRQ 11 for device 03:00.0 
> Jun 16 08:59:07 agate kernel: PCI: The same IRQ used for device 00:04.0 
> Jun 16 09:01:33 agate kernel: spurious 8259A interrupt: IRQ7. 
> 
> 
> OK, so this new information suggests something else is happening.
> 
> Could the timer be getting fired while PCI address mappings
> need to be re-established?  (I can't see any other reason why
> a timer call would cause any trouble in this sequence, since
> evidently both memory and the OHCI controller retained power,
> so there's no state that'd have been lost.)
> 
> I'm not sure the significance of the messages about IRQ 11,
> which is used by the USB controller, except that it suggests
> experiments where that IRQ isn't shared.

I have these two options enabled in my kernel build:

        CONFIG_IDEPCI_SHARE_IRQ=y
        CONFIG_SERIAL_SHARE_IRQ=y

Also, these messages seem to indicate that the cardbus controller
is sharing IRQ 11 for both cardbus slots:

Jun 16 08:26:13 agate kernel: Linux PCMCIA Card Services 3.1.11 
Jun 16 08:26:13 agate kernel:   options:  [pci] [cardbus] [pm] 
Jun 16 08:26:13 agate kernel: Adding cardbus controller 0: Texas
Instruments PCI1131 
Jun 16 08:26:13 agate kernel: PCI: Enabling device 00:04.0 (0000 -> 0002) 
Jun 16 08:26:13 agate kernel: PCI: Assigned IRQ 11 for device 00:04.0 
Jun 16 08:26:14 agate kernel: Yenta IRQ list 0698, PCI irq11 
Jun 16 08:26:14 agate kernel: Socket status: 30000010 
Jun 16 08:26:14 agate kernel: Adding cardbus controller 1: Texas
Instruments PCI1131 (#2) 
Jun 16 08:26:14 agate kernel: PCI: Enabling device 00:04.1 (0000 -> 0002) 
Jun 16 08:26:15 agate kernel: PCI: Assigned IRQ 11 for device 00:04.1 
Jun 16 08:26:15 agate kernel: Yenta IRQ list 0698, PCI irq11 
Jun 16 08:26:15 agate kernel: Socket status: 30000020 
Jun 16 08:26:16 agate kernel: cs: cb_alloc(bus 3): vendor 0x1045, device
0xc861 
Jun 16 08:26:16 agate kernel: PCI: Enabling device 03:00.0 (0000 -> 0002) 
Jun 16 08:26:16 agate kernel: PCI: Found IRQ 11 for device 03:00.0 
Jun 16 08:26:16 agate kernel: PCI: The same IRQ used for device 00:04.0 
Jun 16 08:57:14 agate kernel: PCI: Setting latency timer of device 03:00.0
to 64 

> Miles, what does your /proc/interrupts say about irq11?  In
> fact, all of the irqs ... can you do something to avoid such
> sharing?  I boot with "pci=biosirq", maybe turning that on or
> off would shuffle those assignments enough to try this.

Here's /proc/interrupts:

  0:    2723485          XT-PIC  timer
  1:      12026          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  3:      42967          XT-PIC  serial
  5:        528          XT-PIC  CS4232
 11:        426          XT-PIC  Texas Instruments PCI1131, Texas
Instruments PCI1131 (#2), usb-ohci
 12:      11260          XT-PIC  PS/2 Mouse
 13:          1          XT-PIC  fpu
 14:      19196          XT-PIC  ide0
 15:          3          XT-PIC  ide1
NMI:          0 
ERR:          1

Just for good measure, here's "lspci -v":

les@agate /proc]$ lspci -v
00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge
(AGP disabled) (rev 02)
        Flags: bus master, medium devsel, latency 64
        Memory at <unassigned> (32-bit, prefetchable) [size=64M]

00:02.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph
128XD] (rev 01) (prog-if 00 [VGA])
        Subsystem: Dell Computer Corporation: Unknown device 007e
        Flags: bus master, medium devsel, latency 128
        Memory at fd000000 (32-bit, prefetchable) [size=16M]
        Memory at fea00000 (32-bit, non-prefetchable) [size=2M]
        Memory at fed00000 (32-bit, non-prefetchable) [size=1M]

00:04.0 CardBus bridge: Texas Instruments PCI1131 (rev 01)
        Subsystem: Dell Computer Corporation: Unknown device 007e
        Flags: bus master, medium devsel, latency 168, IRQ 11
        Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=176
        Memory window 0: 10400000-107ff000 (prefetchable)
        Memory window 1: 10800000-10bff000
        I/O window 0: 00001000-000010ff
        I/O window 1: 00000000-00000003
        16-bit legacy interface ports at 0001

00:04.1 CardBus bridge: Texas Instruments PCI1131 (rev 01)
        Subsystem: Dell Computer Corporation: Unknown device 007e
        Flags: bus master, medium devsel, latency 168, IRQ 11
        Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=03, subordinate=03, sec-latency=176
        Memory window 0: 10c00000-10fff000 (prefetchable)
        Memory window 1: 11000000-113ff000
        I/O window 0: 00001400-000014ff
        I/O window 1: 00000000-00000003
        16-bit legacy interface ports at 0001

00:07.0 Bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
        Flags: bus master, medium devsel, latency 0

00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev
01) (prog-if 80 [Master])
        Flags: bus master, medium devsel, latency 64
        I/O ports at fcf0 [size=16]

00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev
01) (prog-if 00 [UHCI])
        Flags: medium devsel
        I/O ports at fcc0 [disabled] [size=32]

00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
        Flags: medium devsel

03:00.0 USB Controller: OPTi Inc. 82C861 (rev 10) (prog-if 10 [OHCI])
        Subsystem: OPTi Inc.: Unknown device c861
        Flags: medium devsel, IRQ 11
        Memory at 11000000 (32-bit, non-prefetchable) [size=4K]

> Hmm ... OK, more info.  Is this using APM, or ACPI?  Is it
> possible to switch to the other, and still reproduce this?
> ACPI has given me no happiness whatsoever, though ymmv.

I am currently using APM.  Here are my Power Management options:

        CONFIG_PM=y
        CONFIG_APM=y
        CONFIG_APM_DO_ENABLE=y
        CONFIG_APM_CPU_IDLE=y
        CONFIG_APM_ALLOW_INTS=y
        CONFIG_APM_REAL_MODE_POWER_OFF=y

Possible bugaboos might be something to do with the CONFIG_APM_ALLOW_INTS
or the CONFIG_APM_CPU_IDLE options being enabled.

I'm not sure what we'd learn from my attempting to use ACPI.
ACPI seems to still be in the pre-alpha or alpha stage.

Hope this helps,

        Miles


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to