diff options
author | Mursalin Akon <makon@nvidia.com> | 2011-12-16 11:52:29 -0800 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2011-12-22 11:30:21 +0530 |
commit | cf33748d9075f382bde54f691fa90ae6f876f7e5 (patch) | |
tree | 74e2a3eacf1d7efdd5ecbb7879c9454de5fdd6c4 /arch/arm/mach-tegra/pcie.c | |
parent | 343897259b1554f781d048ebd868a478b2de4c52 (diff) |
ARM: tegra3: restate msi irq desc
Restate MSI irq desc in architecture specific
functions. This way, PCI device drivers can later
on hook those irqs.
Plus, a minor fix.
Change-Id: I3d9ba84c071309343b58c6200a9f53708e4043f4
Signed-off-by: Mursalin Akon <makon@nvidia.com>
Reviewed-on: http://git-master/r/70631
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Gerrit_Virtual_Submit
Reviewed-by: Krishna Thota <kthota@nvidia.com>
Reviewed-by: Allen Martin <amartin@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/pcie.c')
-rw-r--r-- | arch/arm/mach-tegra/pcie.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/pcie.c b/arch/arm/mach-tegra/pcie.c index 86c357369d98..a4df649d5d25 100644 --- a/arch/arm/mach-tegra/pcie.c +++ b/arch/arm/mach-tegra/pcie.c @@ -311,7 +311,7 @@ struct tegra_pcie_port { }; struct tegra_pcie_info { - struct tegra_pcie_port port[2]; + struct tegra_pcie_port port[MAX_PCIE_SUPPORTED_PORTS]; int num_ports; void __iomem *reg_clk_base; @@ -1423,13 +1423,13 @@ int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc) if (map_entry == NULL) goto exit; - - dynamic_irq_init(map_entry->irq); - irq_set_chip_and_handler_name(map_entry->irq, + irq_alloc_desc(map_entry->irq); + irq_set_chip_and_handler(map_entry->irq, &tegra_irq_chip_msi_pcie, - handle_simple_irq, "PCIe-MSI"); + handle_simple_irq); irq_set_msi_desc(map_entry->irq, desc); + set_irq_flags(map_entry->irq, IRQF_VALID); msg.address_lo = afi_readl(AFI_MSI_AXI_BAR_ST_0); /* 32 bit address only */ @@ -1453,7 +1453,7 @@ void arch_teardown_msi_irq(unsigned int irq) int i; for (i = 0; i < MSI_MAP_SIZE; i++) { if ((msi_map[i].used) && (msi_map[i].irq == irq)) { - dynamic_irq_cleanup(msi_map[i].irq); + irq_free_desc(msi_map[i].irq); msi_map_release(msi_map + i); break; } |