From: Andy Burns <lists.xensource.com@adslpipe.co.uk>
To: xen-devel@lists.xensource.com
Subject: Re: MMIO ioremap() error with PCI passthrough
Date: Tue, 01 Jul 2008 19:50:53 +0100 [thread overview]
Message-ID: <486A7C8D.7090709@adslpipe.co.uk> (raw)
In-Reply-To: <C49024D0.1A470%keir.fraser@eu.citrix.com>
On 01/07/2008 18:15, Keir Fraser wrote:
> Good idea. This kind of thing can be an honest mistake which would normally
> never cause a problem running natively.
I've asked the linuxtv folk if they are interested in a patch.
> Does the card work at all up to this point (first 40s)?
Well, if I modprobe the saa7134.ko and saa7134_dvb.ko
I get the /dev/video0 and /dev/dvb/adapter0 devices created
But if I try to scan for TV channels with
# dvbscan /usr/share/dvb/dvb-t/uk-Waltham > ~/.tzap/channels.conf
I get "Unable to query frontend status", so the device doesn't seem to
be functioning.
> Any sign of life after the message prints?
The machine doesn't die when the stray interrupt fires, in fact I can
rmmod the module and modprobe it again, the error repeats after another
40 seconds.
> This would indicate either that Xen/pciback has got irq routing wrong for
> this line (so the wrong interrupts are being delivered to the driver) or
> that for some other reason the driver has decided that there was no work to
> be done in response to the interrupt. Could the irq line for this device be
> a shared line?
I did wonder how (or if) shared interrupts would work.
Given the relatively high number of devices on the motherboard and
PCI-X/PCI/PCIe cards I suspect it will have to be shared.
Here is a brief lspci
00:00.0 Host bridge: Intel Corporation 82X38 Express DRAM Controller
(rev 01)
00:01.0 PCI bridge: Intel Corporation 82X38 Express Host-Primary PCI
Express Bridge (rev 01)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #5 (rev 02)
00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #6 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio
Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 1 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 4 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express
Port 5 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI
Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI
Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface
Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6
port SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller
(rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc RV370 [Sapphire
X550 Silent]
01:00.1 Display controller: ATI Technologies Inc RV370 secondary
[Sapphire X550 Silent]
02:00.0 IDE interface: Marvell Technology Group Ltd. 88SE6145 SATA II
PCI-E controller (rev a1)
03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E
Gigabit Ethernet Controller (rev 12)
04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E
Gigabit Ethernet Controller (rev 12)
05:00.0 PCI bridge: NEC Corporation uPD720400 PCI Express - PCI/PCI-X
Bridge (rev 06)
05:00.1 PCI bridge: NEC Corporation uPD720400 PCI Express - PCI/PCI-X
Bridge (rev 06)
07:01.0 SCSI storage controller: Marvell Technology Group Ltd.
MV88SX6081 8-port SATA II PCI-X Controller (rev 09)
08:01.0 Multimedia controller: Philips Semiconductors SAA7130 Video
Broadcast Decoder (rev 01)
08:03.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host
Controller (rev c0)
Looks like the PCI slot with the tuner shares IRQ17 with the PCI-X slot
used by my 8xSATA card.
07:01.0 SCSI storage controller: Marvell Technology Group Ltd.
MV88SX6081 8-port SATA II PCI-X Controller (rev 09)
Subsystem: Marvell Technology Group Ltd. Unknown device 11ab
Interrupt: pin A routed to IRQ 17
08:01.0 Multimedia controller: Philips Semiconductors SAA7130 Video
Broadcast Decoder (rev 01)
Subsystem: Compro Technology, Inc. Videomate DVB-T200
Interrupt: pin A routed to IRQ 17
I can try to move the tuner card to the other PCI slot, but I suspect it
will just share with something else instead, besides I planned to
populate both PCI slots with tuners for passthrough, once I got the
first one working.
> You could try disabling the spurious irq logic in
> kernel/irq/spurious.c, and then see if the device works and also what the
> irq rate looks like in /proc/interrupts.
I'll have a go at that.
next prev parent reply other threads:[~2008-07-01 18:50 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-01 8:17 MMIO ioremap() error with PCI passthrough Andy Burns
2008-07-01 8:30 ` Keir Fraser
2008-07-01 8:58 ` Andy Burns
2008-07-01 9:45 ` Keir Fraser
2008-07-01 13:16 ` Andy Burns
2008-07-01 13:31 ` Keir Fraser
2008-07-01 15:44 ` Andy Burns
2008-07-01 16:42 ` Andy Burns
2008-07-01 17:15 ` Keir Fraser
2008-07-01 18:50 ` Andy Burns [this message]
2008-07-01 19:24 ` Andy Burns
2008-07-01 19:57 ` Keir Fraser
2008-07-01 22:27 ` Andy Burns
2008-07-02 9:35 ` Andy Burns
2008-07-02 12:54 ` Andy Burns
2008-07-02 14:09 ` Andy Burns
2008-07-01 17:10 ` Keir Fraser
2008-07-01 18:52 ` Jeremy Fitzhardinge
2008-07-01 9:09 ` Andy Burns
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=486A7C8D.7090709@adslpipe.co.uk \
--to=lists.xensource.com@adslpipe.co.uk \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.