Commit 21ef11ea authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Jakub Kicinski
Browse files

myri10ge: 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, 'dac_enabled' 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: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/e92b0c3a3c1574a97a4e6fd0c30225f10fa59d18.1641651693.git.christophe.jaillet@wanadoo.fr


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent a72dc199
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -3742,7 +3742,6 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
	struct myri10ge_priv *mgp;
	struct device *dev = &pdev->dev;
	int status = -ENXIO;
	int dac_enabled;
	unsigned hdr_offset, ss_offset;
	static int board_number;

@@ -3782,14 +3781,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)

	myri10ge_mask_surprise_down(pdev);
	pci_set_master(pdev);
	dac_enabled = 1;
	status = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
	if (status != 0) {
		dac_enabled = 0;
		dev_err(&pdev->dev,
			"64-bit pci address mask was refused, trying 32-bit\n");
		status = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
	}
	if (status != 0) {
		dev_err(&pdev->dev, "Error %d setting DMA mask\n", status);
		goto abort_with_enabled;
@@ -3874,10 +3866,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
	/* fake NETIF_F_HW_VLAN_CTAG_RX for good GRO performance */
	netdev->hw_features |= NETIF_F_HW_VLAN_CTAG_RX;

	netdev->features = netdev->hw_features;

	if (dac_enabled)
		netdev->features |= NETIF_F_HIGHDMA;
	netdev->features = netdev->hw_features | NETIF_F_HIGHDMA;

	netdev->vlan_features |= mgp->features;
	if (mgp->fw_ver_tiny < 37)