public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Fitzhardinge <jeremy@goop.org>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Xen-devel] Re: [GIT PATCH v2 0/14] xen: events: cleanups + ween off nr_irqs
Date: Fri, 11 Mar 2011 09:29:54 -0500	[thread overview]
Message-ID: <20110311142954.GC4880@dumpdata.com> (raw)
In-Reply-To: <1299850128.17339.2007.camel@zakaz.uk.xensource.com>

> > > > I am having difficulties with passthrough of an USB device. Somehow the
> > > > irq count is not going up at all (both in dom0 and domU) and it looks to
> > > > be doing just simple polling. I've rebased the xen-pciback to be on top
> > > > of your changes and apply cleanly. The whole lot is now in #master
> > > > 
> > > > MSI and MSI-X devices work just fine in both Dom0 and DomU case so
> > > > it is something special with the legacy IRQs. Probably forgot something
> > > > simple...
> > > 
> > > Thanks, I'll take a look. Did you mean "legacy IRQ" as in <16 or as in
> > > not-MSI(-X)?

not-MSI(-X) ones. I've this fancy LSI 1030 controller that sits at GSI 46 on this
SuperMicro board and it is quite confused.
> > 
> > Works for me in a PV guest, at least under the second interpretation (I
> > don't have any useful devices IRQ < 16). This is with your pciback 0.5.

OK. Let me boot up that machine and see what /proc/interrupts look like. Maybe
the xen-pciback.hide=() throws a lot of things out of whack.
> > 
> > I see something like what you describe under HVM, although pciback is
> > not used in that case. xc_physdev_map_pirq is used but not with
> > the /sys/.../bdf node AFAICT.
> > 
> > More digging required I guess...
> 
> If I just pass through the EHCI device it doesn't work. However if I
> also pass-through the associated UHCI controller then I do see the
> usb-storage device, interrupts and all. The EHCI controller still
> doesn't work though. Note that with a PV guest passing-through the EHCI
> controller by itself does work.
> 
> The issue I'm seeing seems to have more to do with accessing the memory
> mapped BAR than IRQs though:

> 
>         ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>         PHYSDEVOP_map_pirq mapped gsi 46 to pirq 18
>         xen_allocate_pirq_gsi for gsi 46, pirq 18 "ioapic-level"
>         xen: --> irq=46, pirq=18
>         ehci_hcd 0000:00:07.0: PCI INT C -> GSI 46 (level, low) -> IRQ 46
>         ehci: remapped rsrc 0xf3021000 to c8064000

<scratch> If you hit the 'i' in the debug console is this 
BAR visible there? That is f3021?
>         ehci_hcd 0000:00:07.0: setting latency timer to 64
>         ehci_hcd 0000:00:07.0: EHCI Host Controller
>         ehci_hcd 0000:00:07.0: new USB bus registered, assigned bus number 1
>         ehci_reset: handshake failed with -19. regs c80640ff
>         ehci_hcd 0000:00:07.0: Enabling legacy PCI PM
>         __startup_pirq: irq46 bound to evtchn 19
>         ehci_hcd 0000:00:07.0: irq 46, io mem 0xf3021000
>         ehci_reset: handshake failed with -19. regs c80640ff
>         ehci_run: ehci_reset failed with -19
>         ehci_hcd 0000:00:07.0: startup error -19
>         ehci_hcd 0000:00:07.0: USB bus 1 deregistered
>         ehci_hcd 0000:00:07.0: PCI INT C disabled
>         ehci_hcd 0000:00:07.0: init 0000:00:07.0 fail, -19
> 
> The -19 is -ENODEV from driver/usb/host/ehci-hcd.c:handshake() which is
> a readl with nothing to do with IRQs.

<nods>
> 
> Ian.
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

  parent reply	other threads:[~2011-03-11 14:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-10 16:07 [GIT PATCH v2 0/14] xen: events: cleanups + ween off nr_irqs Ian Campbell
2011-03-10 16:08 ` [PATCH 01/14] xen: events: separate two unrelated halves of if condition Ian Campbell
2011-03-10 16:08 ` [PATCH 02/14] xen: events: fix xen_map_pirq_gsi error return Ian Campbell
2011-03-10 16:08 ` [PATCH 03/14] xen: events: simplify comment Ian Campbell
2011-03-10 16:08 ` [PATCH 04/14] xen: events: remove unused public functions Ian Campbell
2011-03-10 16:08 ` [PATCH 05/14] xen: events: rename restore_cpu_pirqs -> restore_pirqs Ian Campbell
2011-03-10 16:08 ` [PATCH 06/14] xen: events: refactor GSI pirq bindings functions Ian Campbell
2011-03-10 16:08 ` [PATCH 07/14] xen: events: use per-cpu variable for cpu_evtchn_mask Ian Campbell
2011-03-10 16:08 ` [PATCH 08/14] xen: events: turn irq_info constructors into initialiser functions Ian Campbell
2011-03-10 16:08 ` [PATCH 09/14] xen: events: push setup of irq<->{evtchn,ipi,virq,pirq} maps into irq_info init functions Ian Campbell
2011-03-10 16:08 ` [PATCH 10/14] xen: events: maintain a list of Xen interrupts Ian Campbell
2011-03-10 16:08 ` [PATCH 11/14] xen: events: dynamically allocate irq info structures Ian Campbell
2011-03-10 16:08 ` [PATCH 12/14] xen: events: remove use of nr_irqs as upper bound on number of pirqs Ian Campbell
2011-03-10 16:08 ` [PATCH 13/14] xen: events: do not workaround too-small nr_irqs Ian Campbell
2011-03-10 16:08 ` [PATCH 14/14] xen: events: propagate irq allocation failure instead of panicking Ian Campbell
2011-03-10 22:57 ` [GIT PATCH v2 0/14] xen: events: cleanups + ween off nr_irqs Konrad Rzeszutek Wilk
2011-03-10 23:23   ` Konrad Rzeszutek Wilk
2011-03-11  9:14     ` Ian Campbell
2011-03-11  0:38   ` [Xen-devel] " Konrad Rzeszutek Wilk
2011-03-11  9:17     ` Ian Campbell
2011-03-11  9:12   ` Ian Campbell
2011-03-11 11:24     ` [Xen-devel] " Ian Campbell
2011-03-11 13:28       ` Ian Campbell
2011-03-11 14:24         ` Ian Campbell
2011-03-11 14:32           ` Ian Campbell
2011-03-11 14:46             ` Ian Campbell
2011-03-11 14:29         ` Konrad Rzeszutek Wilk [this message]
2011-03-11 14:46           ` Ian Campbell

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=20110311142954.GC4880@dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox