summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2020-11-24 18:46:39 +0100
committerMichael Brown2020-11-24 18:46:39 +0100
commit9e280aecb774ef71e65f41845fdf6cdde1f0b7a2 (patch)
treed2c2a5f74a933335edf41d75baa755e76fdd194d /src
parent[efi] Report correct error when failing to unload a vetoed driver (diff)
downloadipxe-9e280aecb774ef71e65f41845fdf6cdde1f0b7a2.tar.gz
ipxe-9e280aecb774ef71e65f41845fdf6cdde1f0b7a2.tar.xz
ipxe-9e280aecb774ef71e65f41845fdf6cdde1f0b7a2.zip
[intel] Configure DMA mask as 64-bit
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src')
-rw-r--r--src/drivers/net/intel.c5
-rw-r--r--src/drivers/net/intelx.c5
-rw-r--r--src/drivers/net/intelxvf.c5
3 files changed, 12 insertions, 3 deletions
diff --git a/src/drivers/net/intel.c b/src/drivers/net/intel.c
index 2963d9dc8..408101bad 100644
--- a/src/drivers/net/intel.c
+++ b/src/drivers/net/intel.c
@@ -983,7 +983,6 @@ static int intel_probe ( struct pci_device *pci ) {
pci_set_drvdata ( pci, netdev );
netdev->dev = &pci->dev;
memset ( intel, 0, sizeof ( *intel ) );
- intel->dma = &pci->dma;
intel->port = PCI_FUNC ( pci->busdevfn );
intel->flags = pci->id->driver_data;
intel_init_ring ( &intel->tx.ring, INTEL_NUM_TX_DESC, INTEL_TD,
@@ -1001,6 +1000,10 @@ static int intel_probe ( struct pci_device *pci ) {
goto err_ioremap;
}
+ /* Configure DMA */
+ intel->dma = &pci->dma;
+ dma_set_mask_64bit ( intel->dma );
+
/* Reset the NIC */
if ( ( rc = intel_reset ( intel ) ) != 0 )
goto err_reset;
diff --git a/src/drivers/net/intelx.c b/src/drivers/net/intelx.c
index 3fa68bb3c..364ec76c5 100644
--- a/src/drivers/net/intelx.c
+++ b/src/drivers/net/intelx.c
@@ -394,7 +394,6 @@ static int intelx_probe ( struct pci_device *pci ) {
pci_set_drvdata ( pci, netdev );
netdev->dev = &pci->dev;
memset ( intel, 0, sizeof ( *intel ) );
- intel->dma = &pci->dma;
intel->port = PCI_FUNC ( pci->busdevfn );
intel_init_ring ( &intel->tx.ring, INTEL_NUM_TX_DESC, INTELX_TD,
intel_describe_tx );
@@ -411,6 +410,10 @@ static int intelx_probe ( struct pci_device *pci ) {
goto err_ioremap;
}
+ /* Configure DMA */
+ intel->dma = &pci->dma;
+ dma_set_mask_64bit ( intel->dma );
+
/* Reset the NIC */
if ( ( rc = intelx_reset ( intel ) ) != 0 )
goto err_reset;
diff --git a/src/drivers/net/intelxvf.c b/src/drivers/net/intelxvf.c
index 4941fc57b..a650979ef 100644
--- a/src/drivers/net/intelxvf.c
+++ b/src/drivers/net/intelxvf.c
@@ -446,7 +446,6 @@ static int intelxvf_probe ( struct pci_device *pci ) {
pci_set_drvdata ( pci, netdev );
netdev->dev = &pci->dev;
memset ( intel, 0, sizeof ( *intel ) );
- intel->dma = &pci->dma;
intel_init_mbox ( &intel->mbox, INTELXVF_MBCTRL, INTELXVF_MBMEM );
intel_init_ring ( &intel->tx.ring, INTEL_NUM_TX_DESC, INTELXVF_TD(0),
intel_describe_tx_adv );
@@ -463,6 +462,10 @@ static int intelxvf_probe ( struct pci_device *pci ) {
goto err_ioremap;
}
+ /* Configure DMA */
+ intel->dma = &pci->dma;
+ dma_set_mask_64bit ( intel->dma );
+
/* Reset the function */
intelxvf_reset ( intel );