tsnep: Support full DMA mask
authorGerhard Engleder <gerhard@engleder-embedded.com>
Wed, 17 Aug 2022 19:30:16 +0000 (21:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Aug 2022 12:56:37 +0000 (13:56 +0100)
DMA addresses up to 64bit are supported by the device. Configure DMA
mask according to the capabilities of the device.

Signed-off-by: Gerhard Engleder <gerhard@engleder-embedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/engleder/tsnep_main.c

index 9f8ca6d9a010f608cef6cdfaa754e6e83fedb577..415ae6a4b32c0d0cd981b7b04c78a59a3a6e7303 100644 (file)
@@ -1239,6 +1239,13 @@ static int tsnep_probe(struct platform_device *pdev)
        adapter->queue[0].rx = &adapter->rx[0];
        adapter->queue[0].irq_mask = ECM_INT_TX_0 | ECM_INT_RX_0;
 
+       retval = dma_set_mask_and_coherent(&adapter->pdev->dev,
+                                          DMA_BIT_MASK(64));
+       if (retval) {
+               dev_err(&adapter->pdev->dev, "no usable DMA configuration.\n");
+               return retval;
+       }
+
        tsnep_disable_irq(adapter, ECM_INT_ALL);
        retval = devm_request_irq(&adapter->pdev->dev, adapter->irq, tsnep_irq,
                                  0, TSNEP, adapter);