On 14-Mar-19 16:39, Leon Romanovsky wrote: > On Thu, Mar 14, 2019 at 01:45:15PM +0200, Gal Pressman wrote: >> A helper header file for EFA admin queue, admin queue completion, asynchronous >> notification queue, and various hardware configuration data structures and >> functions. >> >> Signed-off-by: Gal Pressman <galpress@xxxxxxxxxx> >> Reviewed-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> >> --- >> drivers/infiniband/hw/efa/efa_com.h | 141 ++++++++++++++++++++++++++++++++++++ >> 1 file changed, 141 insertions(+) >> create mode 100644 drivers/infiniband/hw/efa/efa_com.h >> >> diff --git a/drivers/infiniband/hw/efa/efa_com.h b/drivers/infiniband/hw/efa/efa_com.h >> new file mode 100644 >> index 000000000000..38bcf4d98416 >> --- /dev/null >> +++ b/drivers/infiniband/hw/efa/efa_com.h >> @@ -0,0 +1,141 @@ >> +/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */ >> +/* >> + * Copyright 2018-2019 Amazon.com, Inc. or its affiliates. All rights reserved. >> + */ >> + >> +#ifndef _EFA_COM_H_ >> +#define _EFA_COM_H_ >> + >> +#include <linux/delay.h> >> +#include <linux/semaphore.h> >> + >> +#include "efa_common_defs.h" >> +#include "efa_admin_defs.h" >> +#include "efa_admin_cmds_defs.h" >> +#include "efa_regs_defs.h" >> + >> +#define EFA_MAX_HANDLERS 256 >> + >> +#define ADMIN_SQ_SIZE(depth) ((depth) * sizeof(struct efa_admin_aq_entry)) >> +#define ADMIN_CQ_SIZE(depth) ((depth) * sizeof(struct efa_admin_acq_entry)) >> +#define ADMIN_AENQ_SIZE(depth) ((depth) * sizeof(struct efa_admin_aenq_entry)) >> + > > Is it necessary to add wrapper for a * b? Not really, removing.