From nobody Tue Jun 30 21:25:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3000AC4332F for ; Sun, 9 Jan 2022 08:52:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233477AbiAIIwB (ORCPT ); Sun, 9 Jan 2022 03:52:01 -0500 Received: from smtp07.smtpout.orange.fr ([80.12.242.129]:59565 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232807AbiAIIwA (ORCPT ); Sun, 9 Jan 2022 03:52:00 -0500 Received: from pop-os.home ([90.11.185.88]) by smtp.orange.fr with ESMTPA id 6TvhnHBR2FGqt6TvhnEcVo; Sun, 09 Jan 2022 09:51:58 +0100 X-ME-Helo: pop-os.home X-ME-Auth: YWZlNiIxYWMyZDliZWIzOTcwYTEyYzlhMmU3ZiQ1M2U2MzfzZDfyZTMxZTBkMTYyNDBjNDJlZmQ3ZQ== X-ME-Date: Sun, 09 Jan 2022 09:51:58 +0100 X-ME-IP: 90.11.185.88 From: Christophe JAILLET To: Ronak Doshi , pv-drivers@vmware.com, "David S. Miller" , Jakub Kicinski Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET , netdev@vger.kernel.org Subject: [PATCH] vmxnet3: Remove useless DMA-32 fallback configuration Date: Sun, 9 Jan 2022 09:50:22 +0100 Message-Id: <43e5dcf1a5e9e9c5d2d86f87810d6e93e3d22e32.1641718188.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" As stated in [1], dma_set_mask() with a 64-bit mask never fails if dev->dma_mask is non-NULL. So, if it fails, the 32 bits case will also fail for the same reason. So if dma_set_mask_and_coherent() succeeds, 'dma64' is know to be 'true'. Simplify code and remove some dead code accordingly. [1]: https://lkml.org/lkml/2021/6/7/398 Signed-off-by: Christophe JAILLET --- drivers/net/vmxnet3/vmxnet3_drv.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet= 3_drv.c index fd407c0e2856..d9d90baac72a 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c @@ -3159,14 +3159,14 @@ vmxnet3_change_mtu(struct net_device *netdev, int n= ew_mtu) =20 =20 static void -vmxnet3_declare_features(struct vmxnet3_adapter *adapter, bool dma64) +vmxnet3_declare_features(struct vmxnet3_adapter *adapter) { struct net_device *netdev =3D adapter->netdev; =20 netdev->hw_features =3D NETIF_F_SG | NETIF_F_RXCSUM | NETIF_F_HW_CSUM | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_TSO | NETIF_F_TSO6 | - NETIF_F_LRO; + NETIF_F_LRO | NETIF_F_HIGHDMA; =20 if (VMXNET3_VERSION_GE_4(adapter)) { netdev->hw_features |=3D NETIF_F_GSO_UDP_TUNNEL | @@ -3179,8 +3179,6 @@ vmxnet3_declare_features(struct vmxnet3_adapter *adap= ter, bool dma64) NETIF_F_GSO_UDP_TUNNEL_CSUM; } =20 - if (dma64) - netdev->hw_features |=3D NETIF_F_HIGHDMA; netdev->vlan_features =3D netdev->hw_features & ~(NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX); @@ -3397,7 +3395,6 @@ vmxnet3_probe_device(struct pci_dev *pdev, #endif }; int err; - bool dma64; u32 ver; struct net_device *netdev; struct vmxnet3_adapter *adapter; @@ -3439,15 +3436,10 @@ vmxnet3_probe_device(struct pci_dev *pdev, adapter->rx_ring_size =3D VMXNET3_DEF_RX_RING_SIZE; adapter->rx_ring2_size =3D VMXNET3_DEF_RX_RING2_SIZE; =20 - if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) =3D=3D 0) { - dma64 =3D true; - } else { - err =3D dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); - if (err) { - dev_err(&pdev->dev, "dma_set_mask failed\n"); - goto err_set_mask; - } - dma64 =3D false; + err =3D dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); + if (err) { + dev_err(&pdev->dev, "dma_set_mask failed\n"); + goto err_set_mask; } =20 spin_lock_init(&adapter->cmd_lock); @@ -3614,7 +3606,7 @@ vmxnet3_probe_device(struct pci_dev *pdev, } =20 SET_NETDEV_DEV(netdev, &pdev->dev); - vmxnet3_declare_features(adapter, dma64); + vmxnet3_declare_features(adapter); =20 adapter->rxdata_desc_size =3D VMXNET3_VERSION_GE_3(adapter) ? VMXNET3_DEF_RXDATA_DESC_SIZE : 0; --=20 2.32.0