On Fri, Jan 27, 2012 at 04:19:15PM +0200, Felipe Balbi wrote: > __ffs() can tell us which is the SEGMENT_SHIFT value > to be used. This will prevent problems when users are > too fast and don't pay attention to the need of fixing > the Shift after changing TRBS_PER_SEGMENT. > > Signed-off-by: Felipe Balbi <balbi@xxxxxx> > --- > > *** COMPILE TESTED ONLY *** > > Sarah, what do you think about this patch ? Sure, this looks like a good idea. I'll queue it for 3.4 after testing it. Sarah > > drivers/usb/host/xhci.h | 5 +---- > 1 files changed, 1 insertions(+), 4 deletions(-) > > diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h > index fb99c83..7bdfe5f 100644 > --- a/drivers/usb/host/xhci.h > +++ b/drivers/usb/host/xhci.h > @@ -1223,10 +1223,7 @@ union xhci_trb { > /* Allow two commands + a link TRB, along with any reserved command TRBs */ > #define MAX_RSVD_CMD_TRBS (TRBS_PER_SEGMENT - 3) > #define SEGMENT_SIZE (TRBS_PER_SEGMENT*16) > -/* SEGMENT_SHIFT should be log2(SEGMENT_SIZE). > - * Change this if you change TRBS_PER_SEGMENT! > - */ > -#define SEGMENT_SHIFT 10 > +#define SEGMENT_SHIFT (__ffs(SEGMENT_SIZE)) > /* TRB buffer pointers can't cross 64KB boundaries */ > #define TRB_MAX_BUFF_SHIFT 16 > #define TRB_MAX_BUFF_SIZE (1 << TRB_MAX_BUFF_SHIFT) > -- > 1.7.8.2 > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html