diff options
author | Mike Marciniszyn <mike.marciniszyn@intel.com> | 2018-06-20 19:42:31 +0300 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-06-22 18:12:17 +0300 |
commit | b25784312840bcf33558c12e5b2563029ad9dec6 (patch) | |
tree | 673e8dc33d5c4ba36025954d5229cd63227f2a0f /drivers/infiniband/hw/hfi1/hfi.h | |
parent | 59d40813328f405976774662ddb530c6e9e9df52 (diff) | |
download | linux-b25784312840bcf33558c12e5b2563029ad9dec6.tar.xz |
IB/hfi1: Remove rcvhdrq_size
The usage of this ctxt data field is not hot path and the value can be
computed on demand to cut down the ctxtdata bloat.
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/hfi.h')
-rw-r--r-- | drivers/infiniband/hw/hfi1/hfi.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/hfi1/hfi.h b/drivers/infiniband/hw/hfi1/hfi.h index ba6dd2c3aa6a..4a8e5930d539 100644 --- a/drivers/infiniband/hw/hfi1/hfi.h +++ b/drivers/infiniband/hw/hfi1/hfi.h @@ -201,8 +201,6 @@ struct hfi1_ctxtdata { volatile __le64 *rcvhdrtail_kvaddr; /* when waiting for rcv or pioavail */ wait_queue_head_t wait; - /* rcvhdrq size (for freeing) */ - size_t rcvhdrq_size; /* number of rcvhdrq entries */ u16 rcvhdrq_cnt; /* size of each of the rcvhdrq entries */ @@ -324,6 +322,19 @@ struct hfi1_ctxtdata { u8 vnic_q_idx; }; +/** + * rcvhdrq_size - return total size in bytes for header queue + * @rcd: the receive context + * + * rcvhdrqentsize is in DWs, so we have to convert to bytes + * + */ +static inline u32 rcvhdrq_size(struct hfi1_ctxtdata *rcd) +{ + return PAGE_ALIGN(rcd->rcvhdrq_cnt * + rcd->rcvhdrqentsize * sizeof(u32)); +} + /* * Represents a single packet at a high level. Put commonly computed things in * here so we do not have to keep doing them over and over. The rule of thumb is |