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)
|
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_capabilities caps;
|
||||||
struct qed_mcp_link_params params;
|
struct qed_mcp_link_params params;
|
||||||
struct qed_mcp_link_state link;
|
struct qed_mcp_link_state link;
|
||||||
|
@ -3961,9 +3962,15 @@ void qed_inform_vf_link_state(struct qed_hwfn *hwfn)
|
||||||
if (!vf_info)
|
if (!vf_info)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
memcpy(¶ms, qed_mcp_get_link_params(hwfn), sizeof(params));
|
/* Only hwfn0 is actually interested in the link speed.
|
||||||
memcpy(&link, qed_mcp_get_link_state(hwfn), sizeof(link));
|
* But since only it would receive an MFW indication of link,
|
||||||
memcpy(&caps, qed_mcp_get_link_capabilities(hwfn),
|
* 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));
|
sizeof(caps));
|
||||||
|
|
||||||
/* Modify link according to the VF's configured link state */
|
/* Modify link according to the VF's configured link state */
|
||||||
|
|
Loading…
Reference in New Issue