IB/hfi1: Fix QOS num_vl bit width

The bit width for num_vls, n, needs to be calculated based on
the pow2 rounded up of the number of vls.  Otherwise num_vls of 3,
5, 6, and 7 will have misplaced QOS RSM map entries.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dean Luick <dean.luick@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Dean Luick 2016-04-12 10:50:10 -07:00 committed by Doug Ledford
parent f9c82a0b75
commit 153d58cd8e

View File

@ -13508,7 +13508,7 @@ static void init_qos(struct hfi1_devdata *dd, u32 first_ctxt)
goto bail;
qpns_per_vl = __roundup_pow_of_two(max_by_vl);
/* determine bits vl */
n = ilog2(num_vls);
n = ilog2(__roundup_pow_of_two(num_vls));
/* determine bits for qpn */
m = ilog2(qpns_per_vl);
if ((m + n) > 7)