]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/host/xhci.h
xhci: Use ilog2() rather than __ffs() for calculating SEGMENT_SHIFT
[~andy/linux] / drivers / usb / host / xhci.h
index 63582719e0fb26cafb4d19f5248c2b5f9aa8a43a..ca550ddb0b1d96aa7338fe00f403a202b57ef40a 100644 (file)
@@ -1239,7 +1239,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)
-#define SEGMENT_SHIFT          (__ffs(SEGMENT_SIZE))
+#define SEGMENT_SHIFT          (ilog2(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)