Date: Sat, 19 Jun 2010 21:10:13 +0000 (UTC) From: Juli Mallett <jmallett@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r209355 - user/jmallett/octeon/sys/contrib/octeon-sdk Message-ID: <201006192110.o5JLADgR095952@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006192110.o5JLADgR095952>