From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rasesh Mody Subject: [PATCH v2 14/61] net/qede/base: update MFW when default MTU is changed Date: Sat, 18 Mar 2017 00:05:39 -0700 Message-ID: <1489820786-14226-15-git-send-email-rasesh.mody@cavium.com> References: <162b5be7-d8a5-0e89-a32f-b1a992aef2a3@intel.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Rasesh Mody , To: , Return-path: Received: from mx0b-0016ce01.pphosted.com (mx0b-0016ce01.pphosted.com [67.231.156.153]) by dpdk.org (Postfix) with ESMTP id 263A22B99 for ; Sat, 18 Mar 2017 08:11:43 +0100 (CET) In-Reply-To: <162b5be7-d8a5-0e89-a32f-b1a992aef2a3@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 7a501bb..13e13ba 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 8720ae7..0338576 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]" -- 1.7.10.3