PERFORCE change 113575 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Fri Jan 26 20:37:15 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=113575
Change 113575 by hselasky at hselasky_mini_itx on 2007/01/26 20:36:33
Optimize use of "td_token" in "uhci_setup_standard_chain()".
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/uhci.c#20 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/uhci.c#20 (text+ko) ====
@@ -1407,13 +1407,13 @@
usbd_page_dma_exit(td->page);
td->td_status = td_status & htole32(~UHCI_TD_SPD);
- td->td_token =
- htole32(UHCI_TD_SET_ENDPT(xfer->endpoint)) |
- htole32(UHCI_TD_SET_DEVADDR(xfer->address)) |
- htole32(UHCI_TD_SET_MAXLEN(sizeof(usb_device_request_t))) |
- htole32(UHCI_TD_PID_SETUP)|
- htole32(UHCI_TD_SET_DT(0));
-
+ td_token =
+ (UHCI_TD_SET_ENDPT(xfer->endpoint) |
+ UHCI_TD_SET_DEVADDR(xfer->address) |
+ UHCI_TD_SET_MAXLEN(sizeof(usb_device_request_t)) |
+ UHCI_TD_PID_SETUP|
+ UHCI_TD_SET_DT(0));
+ td->td_token = htole32(td_token);
td->td_buffer = htole32(buf_res.physaddr);
buf_offset += sizeof(usb_device_request_t);
@@ -1444,14 +1444,14 @@
}
td_token =
- htole32(UHCI_TD_SET_ENDPT(xfer->endpoint)) |
- htole32(UHCI_TD_SET_DEVADDR(xfer->address)) |
- htole32(UHCI_TD_SET_MAXLEN(average)) |
- (isread ? htole32(UHCI_TD_PID_IN) : htole32(UHCI_TD_PID_OUT));
+ (UHCI_TD_SET_ENDPT(xfer->endpoint) |
+ UHCI_TD_SET_DEVADDR(xfer->address) |
+ UHCI_TD_SET_MAXLEN(average) |
+ (isread ? UHCI_TD_PID_IN : UHCI_TD_PID_OUT));
if(xfer->pipe->toggle_next)
{
- td_token |= htole32(UHCI_TD_SET_DT(1));
+ td_token |= UHCI_TD_SET_DT(1);
}
while(1)
@@ -1476,8 +1476,8 @@
average = len;
/* update length */
- td_token &= htole32(~(0x7ff<<21));
- td_token |= htole32(UHCI_TD_SET_MAXLEN(average));
+ td_token &= ~(0x7ff << 21);
+ td_token |= UHCI_TD_SET_MAXLEN(average);
}
if(td == NULL)
@@ -1491,10 +1491,10 @@
/* fill out current TD */
td->td_status = td_status;
- td->td_token = td_token;
+ td->td_token = htole32(td_token);
td->td_buffer = htole32(buf_res.physaddr);
- td_token ^= htole32(UHCI_TD_SET_DT(1));
+ td_token ^= UHCI_TD_SET_DT(1);
buf_offset += average;
usbd_get_page(&(xfer->buf_data), buf_offset, &buf_res);
@@ -1518,13 +1518,13 @@
/* STATUS message */
/* update length and PID */
- td_token &= htole32(~(0x7ff<<21));
- td_token |= htole32(UHCI_TD_SET_MAXLEN(0)|UHCI_TD_SET_DT(1));
- td_token ^= htole32(0x88);
+ td_token &= ~(0x7ff << 21);
+ td_token |= (UHCI_TD_SET_MAXLEN(0)|UHCI_TD_SET_DT(1));
+ td_token ^= 0x00000088;
usbd_page_dma_exit(td->page);
- td->td_token = td_token;
+ td->td_token = htole32(td_token);
td->td_buffer = htole32(0);
td_last = td;
@@ -1544,12 +1544,9 @@
xfer->td_transfer_last = td_last;
/* store data-toggle */
- if(td_token & htole32(UHCI_TD_SET_DT(1)))
- {
+ if (td_token & UHCI_TD_SET_DT(1)) {
xfer->pipe->toggle_next = 1;
- }
- else
- {
+ } else {
xfer->pipe->toggle_next = 0;
}
More information about the p4-projects
mailing list