qed: Always publish VF link from leading hwfn
The link information exists only on the leading hwfn, but some of its derivatives [e.g., min/max rate] need to be configured for each hwfn. When re-basing the VF link view, use the leading hwfn information as basis for all existing hwfns to allow said configurations to stick. Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e99a21cb81
commit
e50728effe
|
@ -3945,6 +3945,7 @@ static int qed_get_vf_config(struct qed_dev *cdev,
|
|||
|
||||
void qed_inform_vf_link_state(struct qed_hwfn *hwfn)
|
||||
{
|
||||
struct qed_hwfn *lead_hwfn = QED_LEADING_HWFN(hwfn->cdev);
|
||||
struct qed_mcp_link_capabilities caps;
|
||||
struct qed_mcp_link_params params;
|
||||
struct qed_mcp_link_state link;
|
||||
|
@ -3961,9 +3962,15 @@ void qed_inform_vf_link_state(struct qed_hwfn *hwfn)
|
|||
if (!vf_info)
|
||||
continue;
|
||||
|
||||
memcpy(¶ms, qed_mcp_get_link_params(hwfn), sizeof(params));
|
||||
memcpy(&link, qed_mcp_get_link_state(hwfn), sizeof(link));
|
||||
memcpy(&caps, qed_mcp_get_link_capabilities(hwfn),
|
||||
/* Only hwfn0 is actually interested in the link speed.
|
||||
* But since only it would receive an MFW indication of link,
|
||||
* need to take configuration from it - otherwise things like
|
||||
* rate limiting for hwfn1 VF would not work.
|
||||
*/
|
||||
memcpy(¶ms, qed_mcp_get_link_params(lead_hwfn),
|
||||
sizeof(params));
|
||||
memcpy(&link, qed_mcp_get_link_state(lead_hwfn), sizeof(link));
|
||||
memcpy(&caps, qed_mcp_get_link_capabilities(lead_hwfn),
|
||||
sizeof(caps));
|
||||
|
||||
/* Modify link according to the VF's configured link state */
|
||||
|
|
Loading…
Reference in New Issue