History log of /qemu/hw/usb/core.c (Results 51 – 75 of 104)
Revision Date Author Comments
# f1ae32a1 07-Mar-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: the big rename

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

usb: the big rename

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>

show more ...


# 1b4b29a1 02-Mar-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: add shortcut for control transfers

Add a more direct code path to submit control transfers. Instead of
feeding three usb packets (setup, data, ack) to usb_handle_packet and
have the do_token_*

usb: add shortcut for control transfers

Add a more direct code path to submit control transfers. Instead of
feeding three usb packets (setup, data, ack) to usb_handle_packet and
have the do_token_* functions in usb.c poke the control transfer
parameters out of it just submit a single packet carrying the actual
data with the control xfer parameters filled into USBPacket->parameters.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 7936e0f0 01-Mar-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: add pipelining option to usb endpoints

With this patch applied USB drivers can enable pipelining per endpoint.
With pipelining enabled the usb core will continue submitting packets
even when th

usb: add pipelining option to usb endpoints

With this patch applied USB drivers can enable pipelining per endpoint.
With pipelining enabled the usb core will continue submitting packets
even when there are still async transfers in flight instead of passing
them on one by one.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# eb9d4673 28-Feb-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: queue can have async packets

This can happen today in case the ->complete() callback queues up the
next packet. Also we'll support pipelining soon, which allows to have
multiple packets per qu

usb: queue can have async packets

This can happen today in case the ->complete() callback queues up the
next packet. Also we'll support pipelining soon, which allows to have
multiple packets per queue in flight (aka ASYNC) state.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 808aeb98 24-Feb-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: add tracepoint for usb packet state changes.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


# 37f32f0f 20-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: add USBBusOps->wakeup_endpoint

Add usb bus op which is called whenever a usb endpoint becomes ready,
so the host adapter emulation can react on that event.

Signed-off-by: Gerd Hoffmann <kraxel

usb: add USBBusOps->wakeup_endpoint

Add usb bus op which is called whenever a usb endpoint becomes ready,
so the host adapter emulation can react on that event.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 7567b51f 17-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: pass USBEndpoint to usb_wakeup

Devices must specify which endpoint has data to transfer now.
The plan is to use the usb_wakeup() not only for remove wakeup support,
but for "data ready" signali

usb: pass USBEndpoint to usb_wakeup

Devices must specify which endpoint has data to transfer now.
The plan is to use the usb_wakeup() not only for remove wakeup support,
but for "data ready" signaling in general, so we can move away from
constant polling to event driven usb device emulation.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# db4be873 12-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: maintain async packet list per endpoint

Maintain a list of async packets per endpoint. With the current code
the list will never receive more than a single item. I think you can
guess what th

usb: maintain async packet list per endpoint

Maintain a list of async packets per endpoint. With the current code
the list will never receive more than a single item. I think you can
guess what the future plan is though ;)

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 079d0b7f 12-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: Set USBEndpoint in usb_packet_setup().

With the separation of the device lookup (via usb_find_device) and
packet processing we can lookup device and endpoint before setting up
the usb packet.

usb: Set USBEndpoint in usb_packet_setup().

With the separation of the device lookup (via usb_find_device) and
packet processing we can lookup device and endpoint before setting up
the usb packet. So we can initialize USBPacket->ep early and keep it
valid for the whole lifecycle of the USBPacket. Also the devaddr and
devep fields are not needed any more.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 63095ab5 12-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: add USBEndpoint->{nr,pid}

Add a "nr" and "pid" fields to USBEndpoint so you can easily figure the
endpoint number and direction of any given endpoint.

Signed-off-by: Gerd Hoffmann <kraxel@redh

usb: add USBEndpoint->{nr,pid}

Add a "nr" and "pid" fields to USBEndpoint so you can easily figure the
endpoint number and direction of any given endpoint.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# f53c398a 12-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: USBPacket: add status, rename owner -> ep

Add enum to track the status of USBPackets, use that instead of the
owner pointer to figure whenever a usb packet is currently in flight
or not. Add s

usb: USBPacket: add status, rename owner -> ep

Add enum to track the status of USBPackets, use that instead of the
owner pointer to figure whenever a usb packet is currently in flight
or not. Add some more packet status sanity checks. Also rename the
USBEndpoint pointer from "owner" to "ep".

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 1977f93d 11-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: fold usb_generic_handle_packet into usb_handle_packet

There is no reason to have a separate usb_generic_handle_packet function
any more, fold it into usb_handle_packet(). Also call the do_toke

usb: fold usb_generic_handle_packet into usb_handle_packet

There is no reason to have a separate usb_generic_handle_packet function
any more, fold it into usb_handle_packet(). Also call the do_token_*
functions which handle control transfer emulation for control pipe
packets only.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 7f74a56b 11-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: kill handle_packet callback

All drivers except usb-hub use usb_generic_handle_packet. The only
reason the usb hub has its own function is that it used to be called
with packets which are inten

usb: kill handle_packet callback

All drivers except usb-hub use usb_generic_handle_packet. The only
reason the usb hub has its own function is that it used to be called
with packets which are intended for downstream devices. With the new,
separate device lookup step this doesn't happen any more, so the need
for a different handle_packet callback is gone.

So we can kill the handle_packet callback and just call
usb_generic_handle_packet directly. The special hub handling in
usb_handle_packet() can go away for the same reason.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 98861f51 10-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: handle dev == NULL in usb_handle_packet()

Allow passing in a NULL pointer, return USB_RET_NODEV in that case.
Removes the burden to to a NULL pointer check from the callers.

Signed-off-by: Ger

usb: handle dev == NULL in usb_handle_packet()

Allow passing in a NULL pointer, return USB_RET_NODEV in that case.
Removes the burden to to a NULL pointer check from the callers.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 73796fe6 10-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: add usb_find_device()

Add usb_find_device(). This function will check whenever a device with
a specific address is connected to the specified port. Usually this
will just check state and addr

usb: add usb_find_device()

Add usb_find_device(). This function will check whenever a device with
a specific address is connected to the specified port. Usually this
will just check state and address of the device hooked up to the port,
but in case of a hub it will ask the hub to check all hub ports for a
matching device.

This patch doesn't put the code into use yet, see the following patches
for details.

The master plan is to separate device lookup and packet processing.
Right now the usb code simply walks all devices, calls
usb_handle_packet() on each until one accepts the packet (by returning
something different that USB_RET_NODEV). I want to have a device lookup
first, then call usb_handle_packet() once, for the device which actually
processes the packet.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 70fc20d4 06-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: kill usb_send_msg

No users left. Zap it.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


# d28f4e2d 06-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: kill USB_MSG_RESET

The USB subsystem pipes internal reset notifications through
usb_handle_packet() with a special magic PID. This indirection
is a pretty pointless excercise as it ends up bei

usb: kill USB_MSG_RESET

The USB subsystem pipes internal reset notifications through
usb_handle_packet() with a special magic PID. This indirection
is a pretty pointless excercise as it ends up being handled by
usb_generic_handle_packet anyway.

Replace the USB_MSG_RESET with a usb_device_reset() function
which can be called directly. Also rename the existing usb_reset()
function to usb_port_reset() to avoid confusion.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# d1f8b536 06-Jan-2012 Gerd Hoffmann <kraxel@redhat.com>

usb: kill USB_MSG_{ATTACH,DETACH}

The USB subsystem pipes internal attach/detach notifications through
usb_handle_packet() with a special magic PID. This indirection is a
pretty pointless excercise

usb: kill USB_MSG_{ATTACH,DETACH}

The USB subsystem pipes internal attach/detach notifications through
usb_handle_packet() with a special magic PID. This indirection is a
pretty pointless excercise as it ends up being handled by
usb_generic_handle_packet anyway. Remove it.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# 62aed765 15-Dec-2011 Anthony Liguori <aliguori@us.ibm.com>

usb: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


# 25d5de7d 13-Dec-2011 Gerd Hoffmann <kraxel@redhat.com>

usb: link packets to endpoints not devices

Add USBEndpoint for the control endpoint to USBDevices. Link async
packets to the USBEndpoint instead of the USBDevice.

Signed-off-by: Gerd Hoffmann <kra

usb: link packets to endpoints not devices

Add USBEndpoint for the control endpoint to USBDevices. Link async
packets to the USBEndpoint instead of the USBDevice.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# f003397c 31-Aug-2011 Gerd Hoffmann <kraxel@redhat.com>

usb: add max_packet_size to USBEndpoint

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


# 5b6780d0 29-Aug-2011 Gerd Hoffmann <kraxel@redhat.com>

usb/debug: add usb_ep_dump

Add function to dump endpoint data, for debugging purposes.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


# 82f02fe9 29-Aug-2011 Gerd Hoffmann <kraxel@redhat.com>

usb: add ifnum to USBEndpoint

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>


# d8e17efd 29-Aug-2011 Gerd Hoffmann <kraxel@redhat.com>

usb: add USBEndpoint

Start maintaining endpoint state at USBDevice level. Add USBEndpoint
struct and some helper functions to deal with it. For now it contains
the endpoint type only. Moved over

usb: add USBEndpoint

Start maintaining endpoint state at USBDevice level. Add USBEndpoint
struct and some helper functions to deal with it. For now it contains
the endpoint type only. Moved over some bits from usb-linux.c

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


# e0b8e72d 15-Sep-2011 Gerd Hoffmann <kraxel@redhat.com>

usb: fix port reset

commit 891fb2cd4592b6fe76106a69e0ca40efbf82726a removed the implicit
detach before (re-)attaching in usb_attach(). Some usb host controllers
used that behavior though to do a po

usb: fix port reset

commit 891fb2cd4592b6fe76106a69e0ca40efbf82726a removed the implicit
detach before (re-)attaching in usb_attach(). Some usb host controllers
used that behavior though to do a port reset by a detach+attach
sequence.

This patch establishes old behavior by adding a new usb_reset() function
for port resets and putting it into use, thereby also unifying port
reset behavior of all host controllers. The patch also adds asserts to
usb_attach() and usb_detach() to make sure the calls are symmetrical.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

show more ...


12345