Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: alteon: Simplify DMA setting

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>

authored by

Christophe JAILLET and committed by
Jakub Kicinski
ba8a5863 21ef11ea

+2 -8
+2 -7
drivers/net/ethernet/alteon/acenic.c
··· 589 589 } 590 590 ap->name = dev->name; 591 591 592 - if (ap->pci_using_dac) 593 - dev->features |= NETIF_F_HIGHDMA; 592 + dev->features |= NETIF_F_HIGHDMA; 594 593 595 594 pci_set_drvdata(pdev, dev); 596 595 ··· 1129 1130 /* 1130 1131 * Configure DMA attributes. 1131 1132 */ 1132 - if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) { 1133 - ap->pci_using_dac = 1; 1134 - } else if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) { 1135 - ap->pci_using_dac = 0; 1136 - } else { 1133 + if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64))) { 1137 1134 ecode = -ENODEV; 1138 1135 goto init_error; 1139 1136 }
-1
drivers/net/ethernet/alteon/acenic.h
··· 692 692 __attribute__ ((aligned (SMP_CACHE_BYTES))); 693 693 u32 last_tx, last_std_rx, last_mini_rx; 694 694 #endif 695 - int pci_using_dac; 696 695 u8 firmware_major; 697 696 u8 firmware_minor; 698 697 u8 firmware_fix;