6
6
* Copyright (C) Tom Long Nguyen ([email protected] )
7
7
*/
8
8
9
+ #include <linux/bitfield.h>
9
10
#include <linux/dmi.h>
10
11
#include <linux/init.h>
11
12
#include <linux/module.h>
@@ -69,7 +70,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
69
70
if (mask & (PCIE_PORT_SERVICE_PME | PCIE_PORT_SERVICE_HP |
70
71
PCIE_PORT_SERVICE_BWNOTIF )) {
71
72
pcie_capability_read_word (dev , PCI_EXP_FLAGS , & reg16 );
72
- * pme = ( reg16 & PCI_EXP_FLAGS_IRQ ) >> 9 ;
73
+ * pme = FIELD_GET ( PCI_EXP_FLAGS_IRQ , reg16 ) ;
73
74
nvec = * pme + 1 ;
74
75
}
75
76
@@ -81,7 +82,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
81
82
if (pos ) {
82
83
pci_read_config_dword (dev , pos + PCI_ERR_ROOT_STATUS ,
83
84
& reg32 );
84
- * aer = ( reg32 & PCI_ERR_ROOT_AER_IRQ ) >> 27 ;
85
+ * aer = FIELD_GET ( PCI_ERR_ROOT_AER_IRQ , reg32 ) ;
85
86
nvec = max (nvec , * aer + 1 );
86
87
}
87
88
}
@@ -92,7 +93,7 @@ static int pcie_message_numbers(struct pci_dev *dev, int mask,
92
93
if (pos ) {
93
94
pci_read_config_word (dev , pos + PCI_EXP_DPC_CAP ,
94
95
& reg16 );
95
- * dpc = reg16 & PCI_EXP_DPC_IRQ ;
96
+ * dpc = FIELD_GET ( PCI_EXP_DPC_IRQ , reg16 ) ;
96
97
nvec = max (nvec , * dpc + 1 );
97
98
}
98
99
}
0 commit comments