summaryrefslogtreecommitdiffstats
path: root/hw/usb
Commit message (Collapse)AuthorAgeFilesLines
* Endian fix an assertion in usb-msdBenjamin Herrenschmidt2012-03-131-3/+3
| | | | | | | | | | This fixes a broken endian assumption in an assertion in usb-msd. Cc: Gerd Hoffman <kraxel@redhat.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: alloc can't fail, drop check.Gerd Hoffmann2012-03-131-2/+0
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: new uhci_handle_td return code for tds still in flightGerd Hoffmann2012-03-131-5/+7
| | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: renumber uhci_handle_td return codesGerd Hoffmann2012-03-131-4/+4
| | | | | | | Step #2 (separate for better bisectability): renumber so the silly '-1' goes away. Pick a range which doesn't overlap the old values. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: use enum for uhci_handle_td return codesGerd Hoffmann2012-03-131-16/+23
| | | | | | Step #1 (separate for better bisectability): replace numbers with names. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: tracing supportGerd Hoffmann2012-03-131-55/+32
| | | | | | Zap DPRINTF, add tracepoints instead. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: cancel on schedule stop.Gerd Hoffmann2012-03-131-0/+1
| | | | | | Cancel any in-flight transaction when the guest stops the uhci schedule. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: fix uhci_async_cancel_allGerd Hoffmann2012-03-131-0/+1
| | | | | | It should also free all queues. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* uhci: pass addr to uhci_async_allocGerd Hoffmann2012-03-131-3/+3
| | | | | | | Also do async->td initialization in uhci_async_alloc now. Prepares for adding tracepoints. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* usb: improve packet state sanity checksGerd Hoffmann2012-03-131-6/+31
| | | | | | | Add a new function to check whenever the packet state is as expected, log more informations in case it isn't. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* usb-ohci: DMA writeback bug fixesWei Yang2012-03-131-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes two bugs in the OHCI device where the device writes back data to system memory that should be exclusively under the control of the guest side driver. In OHCI specification Section 5.2.7, it mentioned "In all cases, Host Controller Driver is responsible for the insertion and removal of all Endpoint Descriptors in the various Host Controller Endpoint Descriptor lists". In the ohci_frame_boundary(), ohci_put_hcca() writes the entire hcca back including the interrupt ED lists which should be under driver control. This violates the specification and can race with a host driver updating that list at the same time. In the OHCI Spec Section 4.6, Transfer Descriptor Queue Processing, it mentioned "Since the TD pointed to by TailP is not accessed by the HC, the Host Controller Driver can initialize that TD and link at least one other to it without creating a coherency or synchronization problem". While the function ohci_put_ed() writes the entire endpoint descriptor back including the TailP which should under driver control. This violate the specification and can race with a host driver updating the TD list at the same time. In each case the solution is to make sure we don't write data which is under driver control. Cc: Gerd Hoffman <kraxel@redhat.com> Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* usb-ehci: drop unused isoch_pause variableHans de Goede2012-03-131-5/+1
| | | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* usb: zap hw/ush-{ohic,uhci}.h + init wrappersGerd Hoffmann2012-03-132-22/+0
| | | | | | | | | Remove the uhci and ohci init wrappers, which all wrapped a pci_create_simple() one-liner. Switch callsites to call pci_create_simple directly. Remove the header files where the wrappers where declared. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* usb: the big renameGerd Hoffmann2012-03-1323-0/+23186
Reorganize usb source files. Create a new hw/usb/ directory and move all usb source code to that place. Also make filenames a bit more descriptive. Host adapters are prefixed with "hch-" now, usb device emulations are prefixed with "dev-". Fixup paths Makefile and include paths to make it compile. No code changes. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
OpenPOWER on IntegriCloud