summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2015-06-23 12:18:46 +0800
committerSimon Glass <sjg@chromium.org>2015-07-14 18:03:17 -0600
commit8c38e4d0b8d37dcd3bfd2293481e220b1b4a3a42 (patch)
treedd9c395e8e761f335c07a1f4b1c8a4b73e7acbe2
parent9c235436a3fbc8d6959c0acee276b7060e61f2e5 (diff)
downloadu-boot-imx-8c38e4d0b8d37dcd3bfd2293481e220b1b4a3a42.zip
u-boot-imx-8c38e4d0b8d37dcd3bfd2293481e220b1b4a3a42.tar.gz
u-boot-imx-8c38e4d0b8d37dcd3bfd2293481e220b1b4a3a42.tar.bz2
x86: Ignore function number when writing PIRQ routing table
In fill_irq_info() pci device's function number is written into the table, however this is not really necessary. The function number can be anything as OS doesn't care about this field, neither does the PIRQ routing specification. Change to always writing 0 as the function number. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/x86/cpu/irq.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
index 7d5ccc1..df4300c 100644
--- a/arch/x86/cpu/irq.c
+++ b/arch/x86/cpu/irq.c
@@ -59,12 +59,12 @@ void pirq_assign_irq(int link, u8 irq)
}
static inline void fill_irq_info(struct irq_info **slotp, int *entries, u8 bus,
- u8 device, u8 func, u8 pin, u8 pirq)
+ u8 device, u8 pin, u8 pirq)
{
struct irq_info *slot = *slotp;
slot->bus = bus;
- slot->devfn = (device << 3) | func;
+ slot->devfn = (device << 3) | 0;
slot->irq[pin - 1].link = LINK_N2V(pirq, irq_router.link_base);
slot->irq[pin - 1].bitmap = irq_router.irq_mask;
(*entries)++;
@@ -182,8 +182,7 @@ static int create_pirq_routing_table(void)
PCI_FUNC(pr.bdf), 'A' + pr.pin - 1,
'A' + pr.pirq);
fill_irq_info(&slot, &irq_entries, PCI_BUS(pr.bdf),
- PCI_DEV(pr.bdf), PCI_FUNC(pr.bdf),
- pr.pin, pr.pirq);
+ PCI_DEV(pr.bdf), pr.pin, pr.pirq);
cell += sizeof(struct pirq_routing) / sizeof(u32);
}