public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* cx88 pci_abort messages
@ 2007-10-04 15:52 Scott
  2007-10-05 12:04 ` Scott
  0 siblings, 1 reply; 6+ messages in thread
From: Scott @ 2007-10-04 15:52 UTC (permalink / raw)
  To: linux-kernel

I'm having what I think is a PCI bus problem.

I have a ASUS P5B Intel 965 motherboard and a DVICO Fusion HDTV5 RT
adapter on the PCI bus. When this adapter is recording (anything) I see
pci_abort messages repeating in the /var/log/messages file. As a result
I see some minor video corruption during playback. I've installed the
adapter into a PCI slot that shares an IRQ with the onboard USB.
However, I've also disabled all USB support in BIOS, so the adapter is
the only thing on the IRQ, and still see the same errors. 

Any suggestions for further troubleshooting? Is this a PCI bus quirk on
this motherboard? A copy of my .config is at
http://donpoo.net/kernel_config

Oct  2 21:59:12 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
Oct  2 21:59:12 htpc cx88[0]/2-mpeg: general errors: 0x00080000
Oct  2 21:59:20 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
Oct  2 21:59:20 htpc cx88[0]/2-mpeg: general errors: 0x00080000
Oct  2 21:59:32 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
Oct  2 21:59:32 htpc cx88[0]/2-mpeg: general errors: 0x00080000

htpc ~ # uname -a
Linux htpc 2.6.22.1 #4 SMP PREEMPT Tue Oct 2 04:15:40 EDT 2007 i686
Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux

htpc ~ # lspci -v 
00:00.0 Host bridge: Intel Corporation Memory Controller Hub (rev 02)
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ea
        Flags: bus master, fast devsel, latency 0
        Capabilities: [e0] Vendor Specific Information

00:01.0 PCI bridge: Intel Corporation PCI Express Root Port (rev 02)
(prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000b000-0000bfff
        Memory behind bridge: f4900000-f89fffff
        Prefetchable memory behind bridge:
        00000000bfe00000-00000000dfdfffff
        Capabilities: [88] Subsystem: Intel Corporation Unknown device
        277d
        Capabilities: [80] Power Management version 3
        Capabilities: [90] Message Signalled Interrupts: Mask- 64bit-
        Queue=0/0 Enable-
        Capabilities: [a0] Express Root Port (Slot+) IRQ 0

00:1a.0 USB Controller: Intel Corporation USB UHCI Controller #4 (rev
02) (prog-if 00 [UHCI])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0, IRQ 16
        I/O ports at e000 [size=32]

00:1a.1 USB Controller: Intel Corporation USB UHCI Controller #5 (rev
02) (prog-if 00 [UHCI])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0, IRQ 21
        I/O ports at e080 [size=32]

00:1a.7 USB Controller: Intel Corporation USB2 EHCI Controller #2 (rev
02) (prog-if 20 [EHCI])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0, IRQ 18
        Memory at febff400 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Debug port

00:1b.0 Audio device: Intel Corporation HD Audio Controller (rev 02)
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, fast devsel, latency 0, IRQ 20
        Memory at febf8000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
        Capabilities: [60] Message Signalled Interrupts: Mask- 64bit+
        Queue=0/0 Enable-
        Capabilities: [70] Express Unknown type IRQ 0

00:1c.0 PCI bridge: Intel Corporation PCI Express Port 1 (rev 02)
(prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
        Prefetchable memory behind bridge:
        00000000dfe00000-00000000dfefffff
        Capabilities: [40] Express Root Port (Slot+) IRQ 0
        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
        Queue=0/0 Enable-
        Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Unknown
        device 81ec
        Capabilities: [a0] Power Management version 2

00:1c.3 PCI bridge: Intel Corporation PCI Express Port 4 (rev 02)
(prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        I/O behind bridge: 0000c000-0000cfff
        Memory behind bridge: f8a00000-f8afffff
        Capabilities: [40] Express Root Port (Slot+) IRQ 0
        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
        Queue=0/0 Enable-
        Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Unknown
        device 81ec
        Capabilities: [a0] Power Management version 2

00:1d.0 USB Controller: Intel Corporation USB UHCI Controller #1 (rev
02) (prog-if 00 [UHCI])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0, IRQ 19
        I/O ports at d800 [size=32]

00:1d.1 USB Controller: Intel Corporation USB UHCI Controller #2 (rev
02) (prog-if 00 [UHCI])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0, IRQ 17
        I/O ports at d880 [size=32]

00:1d.2 USB Controller: Intel Corporation USB UHCI Controller #3 (rev
02) (prog-if 00 [UHCI])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0, IRQ 18
        I/O ports at dc00 [size=32]

00:1d.7 USB Controller: Intel Corporation USB2 EHCI Controller #1 (rev
02) (prog-if 20 [EHCI])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0, IRQ 19
        Memory at febff000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Debug port

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2) (prog-if
01 [Subtractive decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=04, subordinate=04, sec-latency=32
        Memory behind bridge: f8b00000-feafffff
        Capabilities: [50] Subsystem: ASUSTeK Computer Inc. Unknown
        device 81ec

00:1f.0 ISA bridge: Intel Corporation LPC Interface Controller (rev 02)
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, medium devsel, latency 0
        Capabilities: [e0] Vendor Specific Information

00:1f.2 SATA controller: Intel Corporation SATA Controller AHCI (rev 02)
(prog-if 01 [AHCI 1.0])
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 17
        I/O ports at ec00 [size=8]
        I/O ports at e880 [size=4]
        I/O ports at e800 [size=8]
        I/O ports at e480 [size=4]
        I/O ports at e400 [size=32]
        Memory at febff800 (32-bit, non-prefetchable) [size=2K]
        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit-
        Queue=0/4 Enable-
        Capabilities: [70] Power Management version 3
        Capabilities: [a8] #12 [0010]

00:1f.3 SMBus: Intel Corporation SMBus Controller (rev 02)
        Subsystem: ASUSTeK Computer Inc. Unknown device 81ec
        Flags: medium devsel, IRQ 18
        Memory at 50000000 (32-bit, non-prefetchable) [size=256]
        I/O ports at 0400 [size=32]

01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7600
GT] (rev a1) (prog-if 00 [VGA])
        Subsystem: Giga-byte Technology Unknown device 3417
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at f7000000 (32-bit, non-prefetchable) [size=16M]
        Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Memory at f6000000 (64-bit, non-prefetchable) [size=16M]
        I/O ports at bc00 [size=128]
        [virtual] Expansion ROM at f89e0000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
        Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+
        Queue=0/0 Enable-
        Capabilities: [78] Express Endpoint IRQ 0

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Unknown
device 8168 (rev 01)
        Subsystem: ASUSTeK Computer Inc. Unknown device 8168
        Flags: bus master, fast devsel, latency 0, IRQ 17
        I/O ports at c800 [size=256]
        Memory at f8aff000 (64-bit, non-prefetchable) [size=4K]
        Expansion ROM at f8ac0000 [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
        Capabilities: [48] Vital Product Data
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+
        Queue=0/1 Enable-
        Capabilities: [60] Express Endpoint IRQ 0
        Capabilities: [84] Vendor Specific Information

04:02.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video
and Audio Decoder (rev 05)
        Subsystem: DViCO Corporation FusionHDTV 5 Gold
        Flags: bus master, medium devsel, latency 64, IRQ 19
        Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [44] Vital Product Data
        Capabilities: [4c] Power Management version 2

04:02.1 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and
Audio Decoder [Audio Port] (rev 05)
        Subsystem: DViCO Corporation Unknown device d500
        Flags: bus master, medium devsel, latency 64, IRQ 7
        Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [4c] Power Management version 2

04:02.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and
Audio Decoder [MPEG Port] (rev 05)
        Subsystem: DViCO Corporation DViCO FusionHDTV5 Gold
        Flags: bus master, medium devsel, latency 64, IRQ 19
        Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [4c] Power Management version 2
--
Scott


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cx88 pci_abort messages
  2007-10-04 15:52 cx88 pci_abort messages Scott
@ 2007-10-05 12:04 ` Scott
  0 siblings, 0 replies; 6+ messages in thread
From: Scott @ 2007-10-05 12:04 UTC (permalink / raw)
  To: linux-kernel


On Oct 4, 2007, at 11:52 AM, Scott wrote:

> I'm having what I think is a PCI bus problem.
>
> I have a ASUS P5B Intel 965 motherboard and a DVICO Fusion HDTV5 RT
> adapter on the PCI bus. When this adapter is recording (anything) I  
> see
> pci_abort messages repeating in the /var/log/messages file. As a  
> result
> I see some minor video corruption during playback. I've installed the
> adapter into a PCI slot that shares an IRQ with the onboard USB.
> However, I've also disabled all USB support in BIOS, so the adapter is
> the only thing on the IRQ, and still see the same errors.
>
> Any suggestions for further troubleshooting? Is this a PCI bus  
> quirk on
> this motherboard? A copy of my .config is at
> http://donpoo.net/kernel_config
>
> Oct  2 21:59:12 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
> Oct  2 21:59:12 htpc cx88[0]/2-mpeg: general errors: 0x00080000
> Oct  2 21:59:20 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
> Oct  2 21:59:20 htpc cx88[0]/2-mpeg: general errors: 0x00080000
> Oct  2 21:59:32 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
> Oct  2 21:59:32 htpc cx88[0]/2-mpeg: general errors: 0x0008000

I was poking around the PCI bus with setpci/lspci last night and  
tried adjusting the latency from 64 to 32. This didn't make a  
difference. I also changed my core2duo speedstep governor from  
ondemand to performance to prevent the CPUs from changing speed. I  
eventualy saw the same pci_abort message but I might have seen less  
of them.

Is there a way to log every device pci device that throws an  
interrupt? I'm thinking if I could find out which pci device was  
stealing the interrupt that I could disable it or look at the code  
and see what it was doing.

--
Scott 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cx88 pci_abort messages
       [not found] ` <fa.m+2QwZVzW3oTWJBsJ4fdAiUZWkM@ifi.uio.no>
@ 2007-10-06 18:48   ` Robert Hancock
  2007-10-06 21:15     ` Scott
  0 siblings, 1 reply; 6+ messages in thread
From: Robert Hancock @ 2007-10-06 18:48 UTC (permalink / raw)
  To: Scott; +Cc: linux-kernel

Scott wrote:
> 
> On Oct 4, 2007, at 11:52 AM, Scott wrote:
> 
>> I'm having what I think is a PCI bus problem.
>>
>> I have a ASUS P5B Intel 965 motherboard and a DVICO Fusion HDTV5 RT
>> adapter on the PCI bus. When this adapter is recording (anything) I see
>> pci_abort messages repeating in the /var/log/messages file. As a result
>> I see some minor video corruption during playback. I've installed the
>> adapter into a PCI slot that shares an IRQ with the onboard USB.
>> However, I've also disabled all USB support in BIOS, so the adapter is
>> the only thing on the IRQ, and still see the same errors.
>>
>> Any suggestions for further troubleshooting? Is this a PCI bus quirk on
>> this motherboard? A copy of my .config is at
>> http://donpoo.net/kernel_config
>>
>> Oct  2 21:59:12 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
>> Oct  2 21:59:12 htpc cx88[0]/2-mpeg: general errors: 0x00080000
>> Oct  2 21:59:20 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
>> Oct  2 21:59:20 htpc cx88[0]/2-mpeg: general errors: 0x00080000
>> Oct  2 21:59:32 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
>> Oct  2 21:59:32 htpc cx88[0]/2-mpeg: general errors: 0x0008000
> 
> I was poking around the PCI bus with setpci/lspci last night and tried 
> adjusting the latency from 64 to 32. This didn't make a difference. I 
> also changed my core2duo speedstep governor from ondemand to performance 
> to prevent the CPUs from changing speed. I eventualy saw the same 
> pci_abort message but I might have seen less of them.
> 
> Is there a way to log every device pci device that throws an interrupt? 
> I'm thinking if I could find out which pci device was stealing the 
> interrupt that I could disable it or look at the code and see what it 
> was doing.

PCI aborts won't have anything to do with interrupts. It's a PCI DMA 
transfer that either the initiator (here, the TV card) or the target 
(the chipset host bridge) decided to puke on for some reason. Possibly 
parity errors?

-- 
Robert Hancock      Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cx88 pci_abort messages
  2007-10-06 18:48   ` Robert Hancock
@ 2007-10-06 21:15     ` Scott
  2007-10-08  7:44       ` Gerd Hoffmann
  0 siblings, 1 reply; 6+ messages in thread
From: Scott @ 2007-10-06 21:15 UTC (permalink / raw)
  To: Robert Hancock; +Cc: linux-kernel

On Sat, 2007-10-06 at 12:48 -0600, Robert Hancock wrote:
> > On Oct 4, 2007, at 11:52 AM, Scott wrote:
> > 
> >> I'm having what I think is a PCI bus problem.
> >>
> >> I have a ASUS P5B Intel 965 motherboard and a DVICO Fusion HDTV5 RT
> >> adapter on the PCI bus. When this adapter is recording (anything) I see
> >> Oct  2 21:59:12 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
> >> Oct  2 21:59:12 htpc cx88[0]/2-mpeg: general errors: 0x00080000
> >> Oct  2 21:59:20 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
> >> Oct  2 21:59:20 htpc cx88[0]/2-mpeg: general errors: 0x00080000
> >> Oct  2 21:59:32 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
> >> Oct  2 21:59:32 htpc cx88[0]/2-mpeg: general errors: 0x0008000
> >
> PCI aborts won't have anything to do with interrupts. It's a PCI DMA 
> transfer that either the initiator (here, the TV card) or the target 
> (the chipset host bridge) decided to puke on for some reason. Possibly 
> parity errors?

I assumed it was an interrupt issue based on the 'irq mepg' error, not a
DMA issue. Any suggestions on how to log more information about PCI DMA
events on a system wide basis? 

I've seen this since 2.6.18.

-- 
Scott <linux-kernel@bluecamel.eml.cc>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cx88 pci_abort messages
  2007-10-06 21:15     ` Scott
@ 2007-10-08  7:44       ` Gerd Hoffmann
  2007-10-08 11:43         ` Scott
  0 siblings, 1 reply; 6+ messages in thread
From: Gerd Hoffmann @ 2007-10-08  7:44 UTC (permalink / raw)
  To: Scott; +Cc: Robert Hancock, linux-kernel

Scott wrote:
> On Sat, 2007-10-06 at 12:48 -0600, Robert Hancock wrote:
>>>> Oct  2 21:59:32 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
>>>> Oct  2 21:59:32 htpc cx88[0]/2-mpeg: general errors: 0x0008000

> I assumed it was an interrupt issue based on the 'irq mepg' error, not a
> DMA issue.

It's a DMA issue.  The chip raised an irq to signal the error condition
to the driver, thats why it is printed by the irq handler.  Happened
while streamimg mpeg data.

Havn't looked at the code for years now, but IIRC the 0x800000 is the
raw error code from some status register, pci_abort is the error bit in
clear text, meaning some PCI DMA transfer was aborted.  No idea why
though ...

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: cx88 pci_abort messages
  2007-10-08  7:44       ` Gerd Hoffmann
@ 2007-10-08 11:43         ` Scott
  0 siblings, 0 replies; 6+ messages in thread
From: Scott @ 2007-10-08 11:43 UTC (permalink / raw)
  To: Gerd Hoffmann, linux-kernel


On Oct 8, 2007, at 3:44 AM, Gerd Hoffmann wrote:

> Scott wrote:
>> On Sat, 2007-10-06 at 12:48 -0600, Robert Hancock wrote:
>>>>> Oct  2 21:59:32 htpc cx88[0]: irq mpeg  [0x80000] pci_abort*
>>>>> Oct  2 21:59:32 htpc cx88[0]/2-mpeg: general errors: 0x0008000
>
>> I assumed it was an interrupt issue based on the 'irq mepg' error,  
>> not a
>> DMA issue.
>
> It's a DMA issue.  The chip raised an irq to signal the error  
> condition
> to the driver, thats why it is printed by the irq handler.  Happened
> while streamimg mpeg data.
>
> Havn't looked at the code for years now, but IIRC the 0x800000 is the
> raw error code from some status register, pci_abort is the error  
> bit in
> clear text, meaning some PCI DMA transfer was aborted.  No idea why
> though ...

I went through and did the basics. Disabled SMP (it's a core 2 duo  
cpu), tried with noapic, nolapic settings, tried with pci=irqroute,  
and tried with acpi=off. Poking through the module code I noticd in  
cx88-mpeg.c the irq_debug option. I think this is the debug switch I  
want so I'll try to gather more info this week. At the very least it  
looks like it will help me walk through the code to get a better idea  
of what's going on.

--
Scott


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-10-08 11:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-04 15:52 cx88 pci_abort messages Scott
2007-10-05 12:04 ` Scott
     [not found] <fa.9BwFZjxkV7dKD7EmsWMTtKId3Qc@ifi.uio.no>
     [not found] ` <fa.m+2QwZVzW3oTWJBsJ4fdAiUZWkM@ifi.uio.no>
2007-10-06 18:48   ` Robert Hancock
2007-10-06 21:15     ` Scott
2007-10-08  7:44       ` Gerd Hoffmann
2007-10-08 11:43         ` Scott

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox