cxgb3: Remove useless DMA-32 fallback configuration
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, 'pci_using_dac' is known to be 1. 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/a0e2539aefb0034091aca02c98440ea9459f1258.1641736234.git.christophe.jaillet@wanadoo.fr Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
3aa440503b
commit
544bdad074
|
@ -3204,7 +3204,7 @@ static void cxgb3_init_iscsi_mac(struct net_device *dev)
|
|||
NETIF_F_IPV6_CSUM | NETIF_F_HIGHDMA)
|
||||
static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
{
|
||||
int i, err, pci_using_dac = 0;
|
||||
int i, err;
|
||||
resource_size_t mmio_start, mmio_len;
|
||||
const struct adapter_info *ai;
|
||||
struct adapter *adapter = NULL;
|
||||
|
@ -3231,9 +3231,8 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
goto out_disable_device;
|
||||
}
|
||||
|
||||
if (!dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64))) {
|
||||
pci_using_dac = 1;
|
||||
} else if ((err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) != 0) {
|
||||
err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "no usable DMA configuration\n");
|
||||
goto out_release_regions;
|
||||
}
|
||||
|
@ -3309,8 +3308,8 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
netdev->features |= netdev->hw_features |
|
||||
NETIF_F_HW_VLAN_CTAG_TX;
|
||||
netdev->vlan_features |= netdev->features & VLAN_FEAT;
|
||||
if (pci_using_dac)
|
||||
netdev->features |= NETIF_F_HIGHDMA;
|
||||
|
||||
netdev->features |= NETIF_F_HIGHDMA;
|
||||
|
||||
netdev->netdev_ops = &cxgb_netdev_ops;
|
||||
netdev->ethtool_ops = &cxgb_ethtool_ops;
|
||||
|
|
Loading…
Reference in New Issue