From 50e703a534e3be4496600562dab5cd4561cd5b71 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 1 May 2015 16:28:45 +0100 Subject: [usb] Include setup packet within I/O buffer for message transfers The USB API currently assumes that host controllers will have immediate data buffer space available in which to store the setup packet. This is true for xHCI, partially true for EHCI (which happens to have 12 bytes of padding in each transfer descriptor due to alignment requirements), and not true at all for UHCI. Include the setup packet within the I/O buffer passed to the host controller's message() method, thereby eliminating the requirement for host controllers to provide immediate data buffers. Signed-off-by: Michael Brown --- src/include/ipxe/usb.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/include') diff --git a/src/include/ipxe/usb.h b/src/include/ipxe/usb.h index b3803cd18..991a6f44e 100644 --- a/src/include/ipxe/usb.h +++ b/src/include/ipxe/usb.h @@ -433,12 +433,10 @@ struct usb_endpoint_host_operations { /** Enqueue message transfer * * @v ep USB endpoint - * @v packet Setup packet - * @v iobuf I/O buffer (if any) + * @v iobuf I/O buffer * @ret rc Return status code */ int ( * message ) ( struct usb_endpoint *ep, - struct usb_setup_packet *setup, struct io_buffer *iobuf ); /** Enqueue stream transfer * -- cgit v1.2.3-55-g7522