From 876436775230373d7f83b6ec381f28a74ae708f2 Mon Sep 17 00:00:00 2001 From: Rasesh Mody Date: Wed, 29 Mar 2017 13:36:14 -0700 Subject: [PATCH] net/qede/base: update MFW when default MTU is changed Send mailbox command to Management FW when MTU changes. Signed-off-by: Rasesh Mody --- 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 7a501bb2ee..13e13ba226 100644 --- a/drivers/net/qede/base/ecore_dev.c +++ b/drivers/net/qede/base/ecore_dev.c @@ -1629,6 +1629,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; @@ -1648,6 +1649,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; @@ -1776,6 +1783,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 8720ae7f8c..0338576328 100644 --- a/drivers/net/qede/base/ecore_mcp.c +++ b/drivers/net/qede/base/ecore_mcp.c @@ -1438,9 +1438,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]" -- 2.20.1