]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
tehuti: Use dma_set_mask_and_coherent() and simplify code
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 1 Jan 2022 14:48:25 +0000 (15:48 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 2 Jan 2022 12:21:16 +0000 (12:21 +0000)
Use dma_set_mask_and_coherent() instead of unrolling it with some
dma_set_mask()+dma_set_coherent_mask().

Moreover, as stated in [1], dma_set_mask_and_coherent() with a 64-bit mask
will never fail if dev->dma_mask is non-NULL.
So, if it fails, the 32 bits case will also fail for the same reason.

That said, 'pci_using_dac' can only be 1 after a successful
dma_set_mask_and_coherent().

Simplify code and remove some dead code accordingly.

[1]: https://lkml.org/lkml/2021/6/7/398
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/tehuti/tehuti.c

index 89bc1602661c7f5300f3d9aeec170b951977a1b5..985073eba3bd7258c4813e524e16d35998938783 100644 (file)
@@ -1884,10 +1884,10 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
        struct net_device *ndev;
        struct bdx_priv *priv;
-       int err, pci_using_dac, port;
        unsigned long pciaddr;
        u32 regionSize;
        struct pci_nic *nic;
+       int err, port;
 
        ENTER;
 
@@ -1900,16 +1900,10 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (err)                        /* it triggers interrupt, dunno why. */
                goto err_pci;           /* it's not a problem though */
 
-       if (!(err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) &&
-           !(err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)))) {
-               pci_using_dac = 1;
-       } else {
-               if ((err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) ||
-                   (err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)))) {
-                       pr_err("No usable DMA configuration, aborting\n");
-                       goto err_dma;
-               }
-               pci_using_dac = 0;
+       err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
+       if (err) {
+               pr_err("No usable DMA configuration, aborting\n");
+               goto err_dma;
        }
 
        err = pci_request_regions(pdev, BDX_DRV_NAME);
@@ -1982,16 +1976,14 @@ bdx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                /* these fields are used for info purposes only
                 * so we can have them same for all ports of the board */
                ndev->if_port = port;
-               ndev->features = NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO
-                   | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
-                   NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_RXCSUM
-                   ;
+               ndev->features = NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO |
+                   NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_HW_VLAN_CTAG_RX |
+                   NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_RXCSUM |
+                   NETIF_F_HIGHDMA;
+
                ndev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG |
                        NETIF_F_TSO | NETIF_F_HW_VLAN_CTAG_TX;
 
-               if (pci_using_dac)
-                       ndev->features |= NETIF_F_HIGHDMA;
-
        /************** priv ****************/
                priv = nic->priv[port] = netdev_priv(ndev);