Subject: Re: [PATCH v10 06/22] IB/hns: Add initial cmd operation

From: Leon Romanovsky <[email-masked]>
Date: Mon, 20 Jun 2016 16:33:10 +0300

On Thu, Jun 16, 2016 at 10:35:14PM +0800, Lijun Ou wrote:
> This patch added the operation for cmd, and added some functions
> for initializing eq table and selecting cmd mode.
> 
> Signed-off-by: Wei Hu <[email-masked]>
> Signed-off-by: Nenglong Zhao <zhaonenglong-C8/M+/[email-masked]>
> Signed-off-by: Lijun Ou <[email-masked]>
> ---
> PATCH v9/v8/v7/v6:
> - No change over the PATCH v5
> 
> PATCH v5:
> - The initial patch which was redesigned based on the second patch
>   in PATCH v4
> ---

<...>

> +#define CMD_MAX_NUM		32
> +
> +int hns_roce_cmd_init(struct hns_roce_dev *hr_dev)
> +{
> +	struct device *dev = &hr_dev->pdev->dev;
> +
> +	mutex_init(&hr_dev->cmd.hcr_mutex);
> +	sema_init(&hr_dev->cmd.poll_sem, 1);
> +	hr_dev->cmd.use_events = 0;
> +	hr_dev->cmd.toggle = 1;
> +	hr_dev->cmd.max_cmds = CMD_MAX_NUM;

<...>

> +	for (hr_cmd->token_mask = 1; hr_cmd->token_mask < hr_cmd->max_cmds;
> +	     hr_cmd->token_mask <<= 1)
> +		;
> +	--hr_cmd->token_mask;

It doesn't look that you dynamically change max_cmds supported.
Why do you need to calculate token_mask dynamically?