svn commit: r209355 - user/jmallett/octeon/sys/contrib/octeon-sdk
Juli Mallett
jmallett at FreeBSD.org
Sat Jun 19 21:10:13 UTC 2010
Author: jmallett
Date: Sat Jun 19 21:10:13 2010
New Revision: 209355
URL: http://svn.freebsd.org/changeset/base/209355
Log:
o) Make compilable on FreeBSD.
o) Add functions requested by hps@ to manage the toggle bit in the host driver.
Modified:
user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c
user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h
Modified: user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c
==============================================================================
--- user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c Sat Jun 19 20:34:37 2010 (r209354)
+++ user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c Sat Jun 19 21:10:13 2010 (r209355)
@@ -194,7 +194,7 @@ typedef struct
/* This macro logs out when a function returns a value */
#define CVMX_USB_RETURN(v) \
do { \
- typeof(v) r = v; \
+ __typeof(v) r = v; \
if (cvmx_unlikely(usb->init_flags & CVMX_USB_INITIALIZE_FLAGS_DEBUG_CALLS)) \
cvmx_dprintf("%*s%s: returned %s(%d)\n", 2*--usb->indent, "", __FUNCTION__, #v, r); \
return r; \
@@ -3648,3 +3648,20 @@ cvmx_usb_status_t cvmx_usb_device_disabl
CVMX_USB_RETURN(CVMX_USB_SUCCESS);
}
+extern void cvmx_usb_set_toggle(cvmx_usb_state_t *state, int endpoint_num, int toggle)
+{
+ cvmx_usb_internal_state_t *usb = (cvmx_usb_internal_state_t*)state;
+ cvmx_usb_pipe_t *pipe = usb->pipe + endpoint_num;
+
+ pipe->pid_toggle = !!toggle;
+}
+
+extern int cvmx_usb_get_toggle(cvmx_usb_state_t *state, int endpoint_num)
+{
+ cvmx_usb_internal_state_t *usb = (cvmx_usb_internal_state_t*)state;
+ cvmx_usb_pipe_t *pipe = usb->pipe + endpoint_num;
+
+ if (pipe->pid_toggle)
+ return (1);
+ return (0);
+}
Modified: user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h
==============================================================================
--- user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h Sat Jun 19 20:34:37 2010 (r209354)
+++ user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h Sat Jun 19 21:10:13 2010 (r209355)
@@ -1122,6 +1122,13 @@ extern cvmx_usb_status_t cvmx_usb_device
extern cvmx_usb_status_t cvmx_usb_device_disable_endpoint(cvmx_usb_state_t *state,
int endpoint_num);
+/*
+ * The FreeBSD host driver uses these functions to manipulate the toggle to deal
+ * more easily with endpoint management.
+ */
+extern void cvmx_usb_set_toggle(cvmx_usb_state_t *state, int endpoint_num, int toggle);
+extern int cvmx_usb_get_toggle(cvmx_usb_state_t *state, int endpoint_num);
+
#ifdef __cplusplus
}
#endif
More information about the svn-src-user
mailing list