lkml.org 
[lkml]   [2011]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Xen-devel] Re: [GIT PATCH v2 0/14] xen: events: cleanups + ween off nr_irqs
    > > > > 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


    \
     
     \ /
      Last update: 2011-03-11 15:33    [W:0.027 / U:0.024 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site