Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 93676703 authored by Kalesh AP's avatar Kalesh AP Committed by David S. Miller
Browse files

be2net: send a max of 8 EQs to be_cmd_modify_eqd() on Lancer



The MODIFY_EQ_DELAY FW cmd on Lancer is supported for a max of 8 EQs per cmd.

Signed-off-by: default avatarKalesh AP <kalesh.purayil@emulex.com>
Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6809cee0
Loading
Loading
Loading
Loading
+21 −2
Original line number Diff line number Diff line
@@ -1783,7 +1783,7 @@ int be_cmd_get_fw_ver(struct be_adapter *adapter)
/* set the EQ delay interval of an EQ to specified value
 * Uses async mcc
 */
int be_cmd_modify_eqd(struct be_adapter *adapter, struct be_set_eqd *set_eqd,
int __be_cmd_modify_eqd(struct be_adapter *adapter, struct be_set_eqd *set_eqd,
			int num)
{
	struct be_mcc_wrb *wrb;
@@ -1817,6 +1817,25 @@ int be_cmd_modify_eqd(struct be_adapter *adapter, struct be_set_eqd *set_eqd,
	return status;
}

int be_cmd_modify_eqd(struct be_adapter *adapter, struct be_set_eqd *set_eqd,
		      int num)
{
	int num_eqs, i = 0;

	if (lancer_chip(adapter) && num > 8) {
		while (num) {
			num_eqs = min(num, 8);
			__be_cmd_modify_eqd(adapter, &set_eqd[i], num_eqs);
			i += num_eqs;
			num -= num_eqs;
		}
	} else {
		__be_cmd_modify_eqd(adapter, set_eqd, num);
	}

	return 0;
}

/* Uses sycnhronous mcc */
int be_cmd_vlan_config(struct be_adapter *adapter, u32 if_id, u16 *vtag_array,
		       u32 num)