Comment 38 for bug 522998

Revision history for this message
Jeremy Kerr (jk-ozlabs) wrote :

OK, looks like we've got the XHCI power management patches upstream in 2.6.37-rc1:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5cc103506289de7ee0a0b526ae0381541990cad4

Unfortunately, it looks like there's be quite a few xhci updates to backport if we were looking to add USB 3 suspend/resume to Maverick. These are the xhci-specific changes between maverick and current upstream head:

436a389 usb: Fix linker errors with CONFIG_PM=n
b5b5c3a USB: xhci: Fix compile error when CONFIG_PM=n
5535b1d USB: xHCI: PCI power management implementation
9777e3c USB: xHCI: bus power management implementation
5619253 USB: xHCI: port remote wakeup implementation
be88fe4 USB: xHCI: port power management implementation
c8d4af8 USB: core: use kernel assigned address for devices under xHCI
f0615c4 USB: xHCI: change xhci_reset_device() to allocate new device
6492773 USB: xHCI: Add pointer to udev in struct xhci_virt_device
14184f9 USB: xHCI: update ring dequeue pointer when process missed tds
a1669b2 USB: xhci: Remove buggy assignment in next_trb()
006d582 USB: xhci: Set DMA mask for host.
ed3f245 USB: xhci: Don't flush doorbell writes.
c21599a USB: xhci: Reduce reads and writes of interrupter registers.
257d585 USB: xhci: Make xhci_set_hc_event_deq() static.
c06d68b USB: xhci: Minimize HW event ring dequeue pointer writes.
d6d98a4 USB: xhci: Make xhci_handle_event() static.
27e0dd4 USB: xhci: Remove unnecessary reads of IRQ_PENDING register.
bda5314 USB: xhci: Performance - move xhci_work() into xhci_irq()
9032cd5 USB: xhci: Performance - move interrupt handlers into xhci-ring.c
021bff9 USB: xhci: Performance - move functions that find ep ring.
787f4e5 USB: xHCI: Isoc urb enqueue
a061a5a USB: xHCI: allocate bigger ring for isochronous endpoint
04e5190 USB: xHCI: Isochronous transfer implementation
8e51adc USB: xHCI: Introduce urb_priv structure
d18240d USB: xHCI: Missed Service Error Event process
986a92d USB: xHCI: adds new cases to trb_comp_code switch
7fec325 USB: xHCI: remove redundant print messages
22405ed USB xHCI: handle_tx_event() refactor: process_bulk_intr_td
8af56be USB: xHCI: handle_tx_event() refactor: process_ctrl_td
4422da6 USB: xHCI: handle_tx_event() refactor: finish_td
43b86af USB: xHCI: Supporting MSI/MSI-X
e10fa47 USB: xhci: trivial: use ARRAY_SIZE
541c7d4 USB: convert usb_hcd bitfields into atomic flags
202380d USB: xhci: Remove obsolete debugging printk.

- these changes don't apply directly to the maverick kernel; we'd probably need quite a bit of munging and cherry-picking other patches to get these applied. We *may* be able to just grab the "power management implementation" patches, but we might be missing some important fixes in this case. I'll have an initial look and see if this is feasible.

In general, I'd strongly suggesting sticking to Natty for devices where 3.0 support is necessary.