Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / pci / msi.h
index 524504f..4ac52d4 100644 (file)
 #define NR_HP_RESERVED_VECTORS         20
 
 extern int vector_irq[NR_VECTORS];
-extern cpumask_t pending_irq_balance_cpumask[NR_IRQS];
 extern void (*interrupt[NR_IRQS])(void);
 extern int pci_vector_resources(int last, int nr_released);
 
-#ifdef CONFIG_SMP
-#define set_msi_irq_affinity   set_msi_affinity
-#else
-#define set_msi_irq_affinity   NULL
-#endif
-
-#ifndef CONFIG_IRQBALANCE
-static inline void move_msi(int vector) {}
-#endif
-
 /*
  * MSI-X Address Register
  */
@@ -41,11 +30,11 @@ static inline void move_msi(int vector) {}
 #define PCI_MSIX_FLAGS_BIRMASK         (7 << 0)
 #define PCI_MSIX_FLAGS_BITMASK         (1 << 0)
 
-#define PCI_MSIX_ENTRY_LOWER_ADDR_OFFSET       0
-#define PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET       4
-#define PCI_MSIX_ENTRY_DATA_OFFSET             8
-#define PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET      12
 #define PCI_MSIX_ENTRY_SIZE                    16
+#define  PCI_MSIX_ENTRY_LOWER_ADDR_OFFSET      0
+#define  PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET      4
+#define  PCI_MSIX_ENTRY_DATA_OFFSET            8
+#define  PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET     12
 
 #define msi_control_reg(base)          (base + PCI_MSI_FLAGS)
 #define msi_lower_address_reg(base)    (base + PCI_MSI_ADDRESS_LO)
@@ -64,7 +53,6 @@ static inline void move_msi(int vector) {}
 #define msi_enable(control, num) multi_msi_enable(control, num); \
        control |= PCI_MSI_FLAGS_ENABLE
 
-#define msix_control_reg               msi_control_reg
 #define msix_table_offset_reg(base)    (base + 0x04)
 #define msix_pba_offset_reg(base)      (base + 0x08)
 #define msix_enable(control)           control |= PCI_MSIX_FLAGS_ENABLE
@@ -140,7 +128,8 @@ struct msi_desc {
        struct {
                __u8    type    : 5;    /* {0: unused, 5h:MSI, 11h:MSI-X} */
                __u8    maskbit : 1;    /* mask-pending bit supported ?   */
-               __u8    reserved: 2;    /* reserved                       */
+               __u8    state   : 1;    /* {0: free, 1: busy}             */
+               __u8    reserved: 1;    /* reserved                       */
                __u8    entry_nr;       /* specific enabled entry         */
                __u8    default_vector; /* default pre-assigned vector    */
                __u8    current_cpu;    /* current destination cpu        */
@@ -151,7 +140,7 @@ struct msi_desc {
                __u16   tail;
        }link;
 
-       unsigned long mask_base;
+       void __iomem *mask_base;
        struct pci_dev *dev;
 };