|
@@ -151,7 +151,7 @@ static void msix_mask_irq(struct msi_desc *desc, u32 flag)
|
|
|
{
|
|
|
u32 mask_bits = desc->masked;
|
|
|
unsigned offset = desc->msi_attrib.entry_nr * PCI_MSIX_ENTRY_SIZE +
|
|
|
- PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET;
|
|
|
+ PCI_MSIX_ENTRY_VECTOR_CTRL;
|
|
|
mask_bits &= ~1;
|
|
|
mask_bits |= flag;
|
|
|
writel(mask_bits, desc->mask_base + offset);
|
|
@@ -188,9 +188,9 @@ void read_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg)
|
|
|
void __iomem *base = entry->mask_base +
|
|
|
entry->msi_attrib.entry_nr * PCI_MSIX_ENTRY_SIZE;
|
|
|
|
|
|
- msg->address_lo = readl(base + PCI_MSIX_ENTRY_LOWER_ADDR_OFFSET);
|
|
|
- msg->address_hi = readl(base + PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET);
|
|
|
- msg->data = readl(base + PCI_MSIX_ENTRY_DATA_OFFSET);
|
|
|
+ msg->address_lo = readl(base + PCI_MSIX_ENTRY_LOWER_ADDR);
|
|
|
+ msg->address_hi = readl(base + PCI_MSIX_ENTRY_UPPER_ADDR);
|
|
|
+ msg->data = readl(base + PCI_MSIX_ENTRY_DATA);
|
|
|
} else {
|
|
|
struct pci_dev *dev = entry->dev;
|
|
|
int pos = entry->msi_attrib.pos;
|
|
@@ -225,11 +225,9 @@ void write_msi_msg_desc(struct irq_desc *desc, struct msi_msg *msg)
|
|
|
base = entry->mask_base +
|
|
|
entry->msi_attrib.entry_nr * PCI_MSIX_ENTRY_SIZE;
|
|
|
|
|
|
- writel(msg->address_lo,
|
|
|
- base + PCI_MSIX_ENTRY_LOWER_ADDR_OFFSET);
|
|
|
- writel(msg->address_hi,
|
|
|
- base + PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET);
|
|
|
- writel(msg->data, base + PCI_MSIX_ENTRY_DATA_OFFSET);
|
|
|
+ writel(msg->address_lo, base + PCI_MSIX_ENTRY_LOWER_ADDR);
|
|
|
+ writel(msg->address_hi, base + PCI_MSIX_ENTRY_UPPER_ADDR);
|
|
|
+ writel(msg->data, base + PCI_MSIX_ENTRY_DATA);
|
|
|
} else {
|
|
|
struct pci_dev *dev = entry->dev;
|
|
|
int pos = entry->msi_attrib.pos;
|
|
@@ -493,7 +491,7 @@ static int msix_capability_init(struct pci_dev *dev,
|
|
|
set_irq_msi(entry->irq, entry);
|
|
|
j = entries[i].entry;
|
|
|
entry->masked = readl(base + j * PCI_MSIX_ENTRY_SIZE +
|
|
|
- PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
|
|
|
+ PCI_MSIX_ENTRY_VECTOR_CTRL);
|
|
|
msix_mask_irq(entry, 1);
|
|
|
i++;
|
|
|
}
|