Send mailbox command to Management FW when mtu changes. Signed-off-by: Rasesh Mody <rasesh.m...@cavium.com> --- drivers/net/qede/base/ecore_dev.c | 11 +++++++++++ drivers/net/qede/base/ecore_mcp.c | 3 --- 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/net/qede/base/ecore_dev.c b/drivers/net/qede/base/ecore_dev.c index ea087a7..73bd008 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -1637,6 +1637,7 @@ enum _ecore_status_t ecore_hw_init(struct ecore_dev *p_dev, { enum _ecore_status_t rc = ECORE_SUCCESS, mfw_rc; u32 load_code, param, drv_mb_param; + bool b_default_mtu = true; struct ecore_hwfn *p_hwfn; int i; @@ -1656,6 +1657,12 @@ enum _ecore_status_t ecore_hw_init(struct ecore_dev *p_dev, for_each_hwfn(p_dev, i) { struct ecore_hwfn *p_hwfn = &p_dev->hwfns[i]; + /* If management didn't provide a default, set one of our own */ + if (!p_hwfn->hw_info.mtu) { + p_hwfn->hw_info.mtu = 1500; + b_default_mtu = false; + } + if (IS_VF(p_dev)) { p_hwfn->b_int_enabled = 1; continue; @@ -1784,6 +1791,10 @@ enum _ecore_status_t ecore_hw_init(struct ecore_dev *p_dev, return rc; } + if (!b_default_mtu) + ecore_mcp_ov_update_mtu(p_hwfn, p_hwfn->p_main_ptt, + p_hwfn->hw_info.mtu); + rc = ecore_mcp_ov_update_driver_state(p_hwfn, p_hwfn->p_main_ptt, ECORE_OV_DRIVER_STATE_DISABLED); diff --git a/drivers/net/qede/base/ecore_mcp.c b/drivers/net/qede/base/ecore_mcp.c index b744c42..d3f0fbd 100644 --- a/drivers/net/qede/base/ecore_mcp.c +++ b/drivers/net/qede/base/ecore_mcp.c @@ -1439,9 +1439,6 @@ enum _ecore_status_t ecore_mcp_fill_shmem_func_info(struct ecore_hwfn *p_hwfn, info->mtu = (u16)shmem_info.mtu_size; - if (info->mtu == 0) - info->mtu = 1500; - DP_VERBOSE(p_hwfn, (ECORE_MSG_SP | ECORE_MSG_IFUP), "Read configuration from shmem: pause_on_host %02x" " protocol %02x BW [%02x - %02x]" -- 1.7.10.3