summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/intelxl.c
diff options
context:
space:
mode:
authorSimon Rettberg2026-01-28 12:53:53 +0100
committerSimon Rettberg2026-01-28 12:53:53 +0100
commit8e82785c584dc13e20f9229decb95bd17bbe9cd1 (patch)
treea8b359e59196be5b2e3862bed189107f4bc9975f /src/drivers/net/intelxl.c
parentMerge branch 'master' into openslx (diff)
parent[prefix] Make unlzma.S compatible with 386 class CPUs (diff)
downloadipxe-openslx.tar.gz
ipxe-openslx.tar.xz
ipxe-openslx.zip
Merge branch 'master' into openslxopenslx
Diffstat (limited to 'src/drivers/net/intelxl.c')
-rw-r--r--src/drivers/net/intelxl.c29
1 files changed, 6 insertions, 23 deletions
diff --git a/src/drivers/net/intelxl.c b/src/drivers/net/intelxl.c
index 82b07833c..f8d325ead 100644
--- a/src/drivers/net/intelxl.c
+++ b/src/drivers/net/intelxl.c
@@ -22,6 +22,7 @@
*/
FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
+FILE_SECBOOT ( PERMITTED );
#include <stdint.h>
#include <string.h>
@@ -63,35 +64,20 @@ int intelxl_msix_enable ( struct intelxl_nic *intelxl,
struct pci_device *pci, unsigned int vector ) {
int rc;
- /* Map dummy target location */
- if ( ( rc = dma_map ( intelxl->dma, &intelxl->msix.map,
- virt_to_phys ( &intelxl->msix.msg ),
- sizeof ( intelxl->msix.msg ), DMA_RX ) ) != 0 ) {
- DBGC ( intelxl, "INTELXL %p could not map MSI-X target: %s\n",
- intelxl, strerror ( rc ) );
- goto err_map;
- }
-
/* Enable MSI-X capability */
- if ( ( rc = pci_msix_enable ( pci, &intelxl->msix.cap ) ) != 0 ) {
+ if ( ( rc = pci_msix_enable ( pci, &intelxl->msix ) ) != 0 ) {
DBGC ( intelxl, "INTELXL %p could not enable MSI-X: %s\n",
intelxl, strerror ( rc ) );
goto err_enable;
}
- /* Configure interrupt to write to dummy location */
- pci_msix_map ( &intelxl->msix.cap, vector,
- dma ( &intelxl->msix.map, &intelxl->msix.msg ), 0 );
-
/* Enable dummy interrupt */
- pci_msix_unmask ( &intelxl->msix.cap, vector );
+ pci_msix_unmask ( &intelxl->msix, vector );
return 0;
- pci_msix_disable ( pci, &intelxl->msix.cap );
+ pci_msix_disable ( pci, &intelxl->msix );
err_enable:
- dma_unmap ( &intelxl->msix.map );
- err_map:
return rc;
}
@@ -106,13 +92,10 @@ void intelxl_msix_disable ( struct intelxl_nic *intelxl,
struct pci_device *pci, unsigned int vector ) {
/* Disable dummy interrupts */
- pci_msix_mask ( &intelxl->msix.cap, vector );
+ pci_msix_mask ( &intelxl->msix, vector );
/* Disable MSI-X capability */
- pci_msix_disable ( pci, &intelxl->msix.cap );
-
- /* Unmap dummy target location */
- dma_unmap ( &intelxl->msix.map );
+ pci_msix_disable ( pci, &intelxl->msix );
}
/******************************************************************************