sfc: move yet more functions
authorAlex Maftei (amaftei) <amaftei@solarflare.com>
Fri, 10 Jan 2020 13:28:23 +0000 (13:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Jan 2020 19:24:37 +0000 (11:24 -0800)
Functions are not related.

Signed-off-by: Alexandru-Mihai Maftei <amaftei@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/efx_common.c
drivers/net/ethernet/sfc/efx_common.h
drivers/net/ethernet/sfc/mcdi_functions.c
drivers/net/ethernet/sfc/mcdi_functions.h

index 6853b5cb3ac88e930d25af6d78c1bada900c0801..06045e181c8f624bf4cc672cbddc7054792be41e 100644 (file)
@@ -189,24 +189,6 @@ static bool efx_ef10_is_vf(struct efx_nic *efx)
        return efx->type->is_vf;
 }
 
-static int efx_ef10_get_pf_index(struct efx_nic *efx)
-{
-       MCDI_DECLARE_BUF(outbuf, MC_CMD_GET_FUNCTION_INFO_OUT_LEN);
-       struct efx_ef10_nic_data *nic_data = efx->nic_data;
-       size_t outlen;
-       int rc;
-
-       rc = efx_mcdi_rpc(efx, MC_CMD_GET_FUNCTION_INFO, NULL, 0, outbuf,
-                         sizeof(outbuf), &outlen);
-       if (rc)
-               return rc;
-       if (outlen < sizeof(outbuf))
-               return -EIO;
-
-       nic_data->pf_index = MCDI_DWORD(outbuf, GET_FUNCTION_INFO_OUT_PF);
-       return 0;
-}
-
 #ifdef CONFIG_SFC_SRIOV
 static int efx_ef10_get_vf_index(struct efx_nic *efx)
 {
@@ -714,7 +696,7 @@ static int efx_ef10_probe(struct efx_nic *efx)
        if (rc)
                goto fail4;
 
-       rc = efx_ef10_get_pf_index(efx);
+       rc = efx_get_pf_index(efx, &nic_data->pf_index);
        if (rc)
                goto fail5;
 
index a997f3d720ab29733f72c809b7a8bbc373803947..87b784c207bdfe40966fa2b360694a54679b618f 100644 (file)
@@ -695,51 +695,6 @@ static void efx_watchdog(struct net_device *net_dev, unsigned int txqueue)
        efx_schedule_reset(efx, RESET_TYPE_TX_WATCHDOG);
 }
 
-static unsigned int efx_xdp_max_mtu(struct efx_nic *efx)
-{
-       /* The maximum MTU that we can fit in a single page, allowing for
-        * framing, overhead and XDP headroom.
-        */
-       int overhead = EFX_MAX_FRAME_LEN(0) + sizeof(struct efx_rx_page_state) +
-                      efx->rx_prefix_size + efx->type->rx_buffer_padding +
-                      efx->rx_ip_align + XDP_PACKET_HEADROOM;
-
-       return PAGE_SIZE - overhead;
-}
-
-/* Context: process, rtnl_lock() held. */
-static int efx_change_mtu(struct net_device *net_dev, int new_mtu)
-{
-       struct efx_nic *efx = netdev_priv(net_dev);
-       int rc;
-
-       rc = efx_check_disabled(efx);
-       if (rc)
-               return rc;
-
-       if (rtnl_dereference(efx->xdp_prog) &&
-           new_mtu > efx_xdp_max_mtu(efx)) {
-               netif_err(efx, drv, efx->net_dev,
-                         "Requested MTU of %d too big for XDP (max: %d)\n",
-                         new_mtu, efx_xdp_max_mtu(efx));
-               return -EINVAL;
-       }
-
-       netif_dbg(efx, drv, efx->net_dev, "changing MTU to %d\n", new_mtu);
-
-       efx_device_detach_sync(efx);
-       efx_stop_all(efx);
-
-       mutex_lock(&efx->mac_lock);
-       net_dev->mtu = new_mtu;
-       efx_mac_reconfigure(efx);
-       mutex_unlock(&efx->mac_lock);
-
-       efx_start_all(efx);
-       efx_device_attach_if_not_resetting(efx);
-       return 0;
-}
-
 static int efx_set_mac_address(struct net_device *net_dev, void *data)
 {
        struct efx_nic *efx = netdev_priv(net_dev);
index 0875507efd0adf47587f90d64ae61f42ac2d88e0..ab0ce62f81c13e63e8fb99cb895061295a31dfbe 100644 (file)
@@ -197,6 +197,51 @@ void efx_link_status_changed(struct efx_nic *efx)
                netif_info(efx, link, efx->net_dev, "link down\n");
 }
 
+unsigned int efx_xdp_max_mtu(struct efx_nic *efx)
+{
+       /* The maximum MTU that we can fit in a single page, allowing for
+        * framing, overhead and XDP headroom.
+        */
+       int overhead = EFX_MAX_FRAME_LEN(0) + sizeof(struct efx_rx_page_state) +
+                      efx->rx_prefix_size + efx->type->rx_buffer_padding +
+                      efx->rx_ip_align + XDP_PACKET_HEADROOM;
+
+       return PAGE_SIZE - overhead;
+}
+
+/* Context: process, rtnl_lock() held. */
+int efx_change_mtu(struct net_device *net_dev, int new_mtu)
+{
+       struct efx_nic *efx = netdev_priv(net_dev);
+       int rc;
+
+       rc = efx_check_disabled(efx);
+       if (rc)
+               return rc;
+
+       if (rtnl_dereference(efx->xdp_prog) &&
+           new_mtu > efx_xdp_max_mtu(efx)) {
+               netif_err(efx, drv, efx->net_dev,
+                         "Requested MTU of %d too big for XDP (max: %d)\n",
+                         new_mtu, efx_xdp_max_mtu(efx));
+               return -EINVAL;
+       }
+
+       netif_dbg(efx, drv, efx->net_dev, "changing MTU to %d\n", new_mtu);
+
+       efx_device_detach_sync(efx);
+       efx_stop_all(efx);
+
+       mutex_lock(&efx->mac_lock);
+       net_dev->mtu = new_mtu;
+       efx_mac_reconfigure(efx);
+       mutex_unlock(&efx->mac_lock);
+
+       efx_start_all(efx);
+       efx_device_attach_if_not_resetting(efx);
+       return 0;
+}
+
 /**************************************************************************
  *
  * Hardware monitor
index 32a23ec9b1049ae2fea6b33260b86b8ace7b930e..fa2fc681e7f9983330beec454d1fd37399fc4b1d 100644 (file)
@@ -67,5 +67,7 @@ static inline void efx_fini_mcdi_logging(struct efx_nic *efx) {}
 
 void efx_mac_reconfigure(struct efx_nic *efx);
 void efx_link_status_changed(struct efx_nic *efx);
+unsigned int efx_xdp_max_mtu(struct efx_nic *efx);
+int efx_change_mtu(struct net_device *net_dev, int new_mtu);
 
 #endif
index 0f571864df229ec8d0c45956d117b41fa3972b4b..f5dad8bffc3d70a3b1de0609caf8a298c052b05b 100644 (file)
@@ -370,3 +370,20 @@ int efx_mcdi_window_mode_to_stride(struct efx_nic *efx, u8 vi_window_mode)
                  efx->vi_stride);
        return 0;
 }
+
+int efx_get_pf_index(struct efx_nic *efx, unsigned int *pf_index)
+{
+       MCDI_DECLARE_BUF(outbuf, MC_CMD_GET_FUNCTION_INFO_OUT_LEN);
+       size_t outlen;
+       int rc;
+
+       rc = efx_mcdi_rpc(efx, MC_CMD_GET_FUNCTION_INFO, NULL, 0, outbuf,
+                         sizeof(outbuf), &outlen);
+       if (rc)
+               return rc;
+       if (outlen < sizeof(outbuf))
+               return -EIO;
+
+       *pf_index = MCDI_DWORD(outbuf, GET_FUNCTION_INFO_OUT_PF);
+       return 0;
+}
index 0396294bfdcd1e78a44ace10c60ef36b22bab73d..ca4a5ac1a66bb79a2382ce3769024356fe9975b2 100644 (file)
@@ -27,5 +27,6 @@ void efx_mcdi_rx_init(struct efx_rx_queue *rx_queue);
 void efx_mcdi_rx_remove(struct efx_rx_queue *rx_queue);
 void efx_mcdi_rx_fini(struct efx_rx_queue *rx_queue);
 int efx_mcdi_window_mode_to_stride(struct efx_nic *efx, u8 vi_window_mode);
+int efx_get_pf_index(struct efx_nic *efx, unsigned int *pf_index);
 
 #endif