RDMA/siw: Introduce SIW_STAG_MAX_INDEX
[sfrench/cifs-2.6.git] / drivers / infiniband / sw / siw / siw_mem.c
index 2110ceb0603cb48ba4bf535f5dc25eef92967aaf..dcb963607c8b931dd79d1cc65639237e84fd56ba 100644 (file)
 #include "siw.h"
 #include "siw_mem.h"
 
+/* Stag lookup is based on its index part only (24 bits). */
+#define SIW_STAG_MAX_INDEX     0x00ffffff
+
 /*
- * Stag lookup is based on its index part only (24 bits).
  * The code avoids special Stag of zero and tries to randomize
  * STag values between 1 and SIW_STAG_MAX_INDEX.
  */
 int siw_mem_add(struct siw_device *sdev, struct siw_mem *m)
 {
-       struct xa_limit limit = XA_LIMIT(1, 0x00ffffff);
+       struct xa_limit limit = XA_LIMIT(1, SIW_STAG_MAX_INDEX);
        u32 id, next;
 
        get_random_bytes(&next, 4);
-       next &= 0x00ffffff;
+       next &= SIW_STAG_MAX_INDEX;
 
        if (xa_alloc_cyclic(&sdev->mem_xa, &id, m, limit, &next,
            GFP_KERNEL) < 0)
@@ -81,7 +83,7 @@ int siw_mr_add_mem(struct siw_mr *mr, struct ib_pd *pd, void *mem_obj,
 {
        struct siw_device *sdev = to_siw_dev(pd->device);
        struct siw_mem *mem = kzalloc(sizeof(*mem), GFP_KERNEL);
-       struct xa_limit limit = XA_LIMIT(1, 0x00ffffff);
+       struct xa_limit limit = XA_LIMIT(1, SIW_STAG_MAX_INDEX);
        u32 id, next;
 
        if (!mem)
@@ -97,7 +99,7 @@ int siw_mr_add_mem(struct siw_mr *mr, struct ib_pd *pd, void *mem_obj,
        kref_init(&mem->ref);
 
        get_random_bytes(&next, 4);
-       next &= 0x00ffffff;
+       next &= SIW_STAG_MAX_INDEX;
 
        if (xa_alloc_cyclic(&sdev->mem_xa, &id, mem, limit, &next,
            GFP_KERNEL) < 0) {