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

Reply via email to