IB/ipath: Add ipath_read_ireg() abstraction

Different chips have different width interrupt status registers, so add
a flag and accessor function to decide which width register read to use.

Signed-off-by: Arthur Jones <arthur.jones@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
此提交包含在:
Arthur Jones
2008-01-06 21:12:38 -08:00
提交者 Roland Dreier
父節點 4ea61b548b
當前提交 7da0498e7f
共有 2 個檔案被更改,包括 10 行新增2 行删除

查看文件

@@ -883,7 +883,7 @@ static noinline void ipath_bad_intr(struct ipath_devdata *dd, u32 *unexpectp)
dd->ipath_f_free_irq(dd);
}
}
if (ipath_read_kreg32(dd, dd->ipath_kregs->kr_intmask)) {
if (ipath_read_ireg(dd, dd->ipath_kregs->kr_intmask)) {
ipath_dev_err(dd, "%u unexpected interrupts, "
"disabling interrupts completely\n",
*unexpectp);
@@ -1034,7 +1034,7 @@ irqreturn_t ipath_intr(int irq, void *data)
goto bail;
}
istat = ipath_read_kreg32(dd, dd->ipath_kregs->kr_intstatus);
istat = ipath_read_ireg(dd, dd->ipath_kregs->kr_intstatus);
if (unlikely(!istat)) {
ipath_stats.sps_nullintr++;