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:
parent
f9c82a0b75
commit
153d58cd8e
1 changed files with 1 additions and 1 deletions
|
@ -13508,7 +13508,7 @@ static void init_qos(struct hfi1_devdata *dd, u32 first_ctxt)
|
||||||
goto bail;
|
goto bail;
|
||||||
qpns_per_vl = __roundup_pow_of_two(max_by_vl);
|
qpns_per_vl = __roundup_pow_of_two(max_by_vl);
|
||||||
/* determine bits vl */
|
/* determine bits vl */
|
||||||
n = ilog2(num_vls);
|
n = ilog2(__roundup_pow_of_two(num_vls));
|
||||||
/* determine bits for qpn */
|
/* determine bits for qpn */
|
||||||
m = ilog2(qpns_per_vl);
|
m = ilog2(qpns_per_vl);
|
||||||
if ((m + n) > 7)
|
if ((m + n) > 7)
|
||||||
|
|
Loading…
Reference in a new issue