Revision 7e9638d3 hw/usb/redirect.c
b/hw/usb/redirect.c | ||
---|---|---|
44 | 44 |
#define NO_INTERFACE_INFO 255 /* Valid interface_count always <= 32 */ |
45 | 45 |
#define EP2I(ep_address) (((ep_address & 0x80) >> 3) | (ep_address & 0x0f)) |
46 | 46 |
#define I2EP(i) (((i & 0x10) << 3) | (i & 0x0f)) |
47 |
#define USBEP2I(usb_ep) (((usb_ep)->pid == USB_TOKEN_IN) ? \ |
|
48 |
((usb_ep)->nr | 0x10) : ((usb_ep)->nr)) |
|
49 |
#define I2USBEP(d, i) (usb_ep_get(&(d)->dev, \ |
|
50 |
((i) & 0x10) ? USB_TOKEN_IN : USB_TOKEN_OUT, \ |
|
51 |
(i) & 0x0f)) |
|
47 | 52 |
|
48 | 53 |
typedef struct USBRedirDevice USBRedirDevice; |
49 | 54 |
|
... | ... | |
1351 | 1356 |
static void usbredir_setup_usb_eps(USBRedirDevice *dev) |
1352 | 1357 |
{ |
1353 | 1358 |
struct USBEndpoint *usb_ep; |
1354 |
int i, pid;
|
|
1359 |
int i; |
|
1355 | 1360 |
|
1356 | 1361 |
for (i = 0; i < MAX_ENDPOINTS; i++) { |
1357 |
pid = (i & 0x10) ? USB_TOKEN_IN : USB_TOKEN_OUT; |
|
1358 |
usb_ep = usb_ep_get(&dev->dev, pid, i & 0x0f); |
|
1362 |
usb_ep = I2USBEP(dev, i); |
|
1359 | 1363 |
usb_ep->type = dev->endpoint[i].type; |
1360 | 1364 |
usb_ep->ifnum = dev->endpoint[i].interface; |
1361 | 1365 |
usb_ep->max_packet_size = dev->endpoint[i].max_packet_size; |
Also available in: Unified diff