[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<BY3PR18MB4707C45665890659CE11220EA0D52@BY3PR18MB4707.namprd18.prod.outlook.com>
Date: Tue, 25 Jun 2024 17:44:32 +0000
From: Sai Krishna Gajula <saikrishnag@...vell.com>
To: Jon Kohler <jon@...anix.com>, Christian Benvenuti <benve@...co.com>,
Satish Kharat <satishkh@...co.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo
Abeni <pabeni@...hat.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2] enic: add ethtool get_channel support
> -----Original Message-----
> From: Jon Kohler <jon@...anix.com>
> Sent: Tuesday, June 25, 2024 12:19 AM
> To: Christian Benvenuti <benve@...co.com>; Satish Kharat
> <satishkh@...co.com>; David S. Miller <davem@...emloft.net>; Eric
> Dumazet <edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo
> Abeni <pabeni@...hat.com>; netdev@...r.kernel.org; linux-
> kernel@...r.kernel.org
> Cc: Jon Kohler <jon@...anix.com>
> Subject: [PATCH v2] enic: add ethtool get_channel support
It is better to indicate the patch is for NET or NET-NEXT ex: [ PATCH net-next v2].
>
> Add .get_channel to enic_ethtool_ops to enable basic ethtool -l support to
> get the current channel configuration. Note that the driver does not support
> dynamically changing queue configuration, so .set_channel is intentionally
> unused. Instead,
> Add .get_channel to enic_ethtool_ops to enable basic ethtool -l support to
> get the current channel configuration.
>
> Note that the driver does not support dynamically changing queue
> configuration, so .set_channel is intentionally unused. Instead, users should
> use Cisco's hardware management tools (UCSM/IMC) to modify virtual
> interface card configuration out of band.
>
> Signed-off-by: Jon Kohler <jon@...anix.com>
> ---
> v1
> - https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__lore.kernel.org_netdev_20240618160146.3900470-2D1-2Djon-
> 40nutanix.com_T_-
> 23u&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=c3MsgrR-U-
> HFhmFd6R4MWRZG-8QeikJn5PkjqMTpBSg&m=IIWcqk3E-
> aJ8g4EtpjIC9Jg_2T37OpnceY8mwAIuWEBmyGG9tHKaQp1rAgD5__2K&s=hTRY
> fTAQB9Tli-3DbKoTQkrJ2OxTBab-RqcKIJUjQTc&e=
> v1 -> v2:
> - Addressed comments from Przemek and Jakub
> ---
> .../net/ethernet/cisco/enic/enic_ethtool.c | 27 +++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> index 241906697019..54f542238b4e 100644
> --- a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> +++ b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> @@ -608,6 +608,32 @@ static int enic_get_ts_info(struct net_device *netdev,
> return 0;
> }
>
> +static void enic_get_channels(struct net_device *netdev,
> + struct ethtool_channels *channels) {
> + struct enic *enic = netdev_priv(netdev);
> +
> + switch (vnic_dev_get_intr_mode(enic->vdev)) {
> + case VNIC_DEV_INTR_MODE_MSIX:
> + channels->max_rx = ENIC_RQ_MAX;
> + channels->max_tx = ENIC_WQ_MAX;
> + channels->rx_count = enic->rq_count;
> + channels->tx_count = enic->wq_count;
> + break;
> + case VNIC_DEV_INTR_MODE_MSI:
> + channels->max_rx = 1;
> + channels->max_tx = 1;
> + channels->rx_count = 1;
> + channels->tx_count = 1;
> + break;
> + case VNIC_DEV_INTR_MODE_INTX:
> + channels->max_combined = 1;
> + channels->combined_count = 1;
> + default:
> + break;
> + }
> +}
> +
> static const struct ethtool_ops enic_ethtool_ops = {
> .supported_coalesce_params = ETHTOOL_COALESCE_USECS |
> ETHTOOL_COALESCE_USE_ADAPTIVE_RX |
> @@ -632,6 +658,7 @@ static const struct ethtool_ops enic_ethtool_ops = {
> .set_rxfh = enic_set_rxfh,
> .get_link_ksettings = enic_get_ksettings,
> .get_ts_info = enic_get_ts_info,
> + .get_channels = enic_get_channels,
> };
>
> void enic_set_ethtool_ops(struct net_device *netdev)
> --
> 2.43.0
>
Reviewed-by: Sai Krishna <saikrishnag@...vell.com>
Powered by blists - more mailing lists