mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 15:56:18 +07:00
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: Kalesh AP <kalesh.purayil@emulex.com> Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6809cee0ca
commit
936767039c
@ -1783,8 +1783,8 @@ 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 num)
|
||||
int __be_cmd_modify_eqd(struct be_adapter *adapter, struct be_set_eqd *set_eqd,
|
||||
int num)
|
||||
{
|
||||
struct be_mcc_wrb *wrb;
|
||||
struct be_cmd_req_modify_eq_delay *req;
|
||||
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user