IB/qib: Eliminate divide/mod in converting idx to egr buf pointer
[linux.git] / drivers / infiniband / hw / qib / qib_iba7322.c
index 5ea9ece23b33996bedbcb652ecb2bb116c5c5ec2..f3f4b55262c211e2b78497fe4967bf9717bcfa0c 100644 (file)
@@ -6205,6 +6205,8 @@ static int qib_init_7322_variables(struct qib_devdata *dd)
 
        /* we always allocate at least 2048 bytes for eager buffers */
        dd->rcvegrbufsize = max(mtu, 2048);
+       BUG_ON(!is_power_of_2(dd->rcvegrbufsize));
+       dd->rcvegrbufsize_shift = ilog2(dd->rcvegrbufsize);
 
        qib_7322_tidtemplate(dd);