diff options
author | Michael Brown <mcb30@ipxe.org> | 2016-01-19 00:01:11 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2016-01-19 00:01:11 +0000 |
commit | 71b83a6d00caedb62cc62a5810f99a7a1478f2ae (patch) | |
tree | 8e1224923a381d42a60f4bac985868e5294dad66 /src/include | |
parent | 8dc23d9b83027ea93e5e8689316f8448ff964647 (diff) | |
download | ipxe-71b83a6d00caedb62cc62a5810f99a7a1478f2ae.zip ipxe-71b83a6d00caedb62cc62a5810f99a7a1478f2ae.tar.gz ipxe-71b83a6d00caedb62cc62a5810f99a7a1478f2ae.tar.bz2 |
[usb] Allow USB endpoints to specify a reserved header length for refills
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/ipxe/usb.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/include/ipxe/usb.h b/src/include/ipxe/usb.h index 37b6d94..e7909d3 100644 --- a/src/include/ipxe/usb.h +++ b/src/include/ipxe/usb.h @@ -414,7 +414,9 @@ struct usb_endpoint { /** Recycled I/O buffer list */ struct list_head recycled; - /** Refill buffer length */ + /** Refill buffer reserved header length */ + size_t reserve; + /** Refill buffer payload length */ size_t len; /** Maximum fill level */ unsigned int max; @@ -588,13 +590,16 @@ extern void usb_complete_err ( struct usb_endpoint *ep, * Initialise USB endpoint refill * * @v ep USB endpoint - * @v len Refill buffer length (or zero to use endpoint's MTU) + * @v reserve Refill buffer reserved header length + * @v len Refill buffer payload length (zero for endpoint's MTU) * @v max Maximum fill level */ static inline __attribute__ (( always_inline )) void -usb_refill_init ( struct usb_endpoint *ep, size_t len, unsigned int max ) { +usb_refill_init ( struct usb_endpoint *ep, size_t reserve, size_t len, + unsigned int max ) { INIT_LIST_HEAD ( &ep->recycled ); + ep->reserve = reserve; ep->len = len; ep->max = max; } |