net: alteon: Simplify DMA setting
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 8 Jan 2022 14:26:06 +0000 (15:26 +0100)
committerJakub Kicinski <kuba@kernel.org>
Mon, 10 Jan 2022 00:52:18 +0000 (16:52 -0800)
As stated in [1], dma_set_mask() 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.

If dma_set_mask_and_coherent() succeeds, 'ap->pci_using_dac' is known to be
1. So 'pci_using_dac' can be removed from the 'struct ace_private'.

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>
Link: https://lore.kernel.org/r/1a414c05c27b21c661aef61dffe1adcd1578b1f5.1641651917.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/alteon/acenic.c
drivers/net/ethernet/alteon/acenic.h

index 732da15..22fe985 100644 (file)
@@ -589,8 +589,7 @@ static int acenic_probe_one(struct pci_dev *pdev,
        }
        ap->name = dev->name;
 
-       if (ap->pci_using_dac)
-               dev->features |= NETIF_F_HIGHDMA;
+       dev->features |= NETIF_F_HIGHDMA;
 
        pci_set_drvdata(pdev, dev);
 
@@ -1130,11 +1129,7 @@ static int ace_init(struct net_device *dev)
        /*
         * Configure DMA attributes.
         */
-       if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) {
-               ap->pci_using_dac = 1;
-       } else if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) {
-               ap->pci_using_dac = 0;
-       } else {
+       if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) {
                ecode = -ENODEV;
                goto init_error;
        }
index 265fa60..ca5ce0c 100644 (file)
@@ -692,7 +692,6 @@ struct ace_private
                                __attribute__ ((aligned (SMP_CACHE_BYTES)));
        u32                     last_tx, last_std_rx, last_mini_rx;
 #endif
-       int                     pci_using_dac;
        u8                      firmware_major;
        u8                      firmware_minor;
        u8                      firmware_fix;