RDMA/ocrdma: Increase the size of STAG array in dev structure to 16K
HW can support 16K STAG entries. Change this max limit. Also, move this array out of ocrdma_dev to reduce the size of this structure. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
920de55d40
commit
4f1df8440d
|
@ -236,7 +236,7 @@ struct ocrdma_dev {
|
|||
struct list_head entry;
|
||||
struct rcu_head rcu;
|
||||
int id;
|
||||
u64 stag_arr[OCRDMA_MAX_STAG];
|
||||
u64 *stag_arr;
|
||||
u8 sl; /* service level */
|
||||
bool pfc_state;
|
||||
atomic_t update_sl;
|
||||
|
|
|
@ -324,6 +324,11 @@ static int ocrdma_alloc_resources(struct ocrdma_dev *dev)
|
|||
if (!dev->qp_tbl)
|
||||
goto alloc_err;
|
||||
}
|
||||
|
||||
dev->stag_arr = kzalloc(sizeof(u64) * OCRDMA_MAX_STAG, GFP_KERNEL);
|
||||
if (dev->stag_arr == NULL)
|
||||
goto alloc_err;
|
||||
|
||||
spin_lock_init(&dev->av_tbl.lock);
|
||||
spin_lock_init(&dev->flush_q_lock);
|
||||
return 0;
|
||||
|
@ -334,6 +339,7 @@ alloc_err:
|
|||
|
||||
static void ocrdma_free_resources(struct ocrdma_dev *dev)
|
||||
{
|
||||
kfree(dev->stag_arr);
|
||||
kfree(dev->qp_tbl);
|
||||
kfree(dev->cq_tbl);
|
||||
kfree(dev->sgid_tbl);
|
||||
|
|
|
@ -107,7 +107,7 @@ enum {
|
|||
|
||||
#define OCRDMA_MAX_QP 2048
|
||||
#define OCRDMA_MAX_CQ 2048
|
||||
#define OCRDMA_MAX_STAG 8192
|
||||
#define OCRDMA_MAX_STAG 16384
|
||||
|
||||
enum {
|
||||
OCRDMA_DB_RQ_OFFSET = 0xE0,
|
||||
|
|
Loading…
Reference in New Issue