switch (source) {
case ADC:
- iowrite32(ioread32(INTCSR_reg) & ~(INTCSR_ADINT_ENABLE),
+ iowrite32(ioread32(INTCSR_reg)
+ & ~(INTCSR_ADINT_ENABLE | INTCSR_PCIINT_ENABLE),
INTCSR_reg);
break;
case CTR4:
- iowrite32(ioread32(INTCSR_reg) & ~(INTCSR_CTR4INT_ENABLE),
+ iowrite32(ioread32(INTCSR_reg)
+ & ~(INTCSR_CTR4INT_ENABLE | INTCSR_PCIINT_ENABLE),
INTCSR_reg);
break;
case ALL:
default:
iowrite32(ioread32(INTCSR_reg)
- & ~(INTCSR_ADINT_ENABLE | INTCSR_CTR4INT_ENABLE),
+ & ~(INTCSR_ADINT_ENABLE | INTCSR_CTR4INT_ENABLE
+ | INTCSR_PCIINT_ENABLE),
INTCSR_reg);
break;
}
switch (source) {
case ADC:
- iowrite32(ioread32(INTCSR_reg) | (INTCSR_ADINT_ENABLE),
+ iowrite32(ioread32(INTCSR_reg)
+ | INTCSR_ADINT_ENABLE | INTCSR_PCIINT_ENABLE,
INTCSR_reg);
break;
case CTR4:
- iowrite32(ioread32(INTCSR_reg) | (INTCSR_CTR4INT_ENABLE),
+ iowrite32(ioread32(INTCSR_reg)
+ | INTCSR_CTR4INT_ENABLE | INTCSR_PCIINT_ENABLE,
INTCSR_reg);
break;
case ALL:
default:
iowrite32(ioread32(INTCSR_reg)
- | (INTCSR_ADINT_ENABLE | INTCSR_CTR4INT_ENABLE),
+ | INTCSR_ADINT_ENABLE | INTCSR_CTR4INT_ENABLE
+ | INTCSR_PCIINT_ENABLE,
INTCSR_reg);
break;
}
static irqreturn_t mf624_irq_handler(int irq, struct uio_info *info)
{
- u8 __iomem *INTCSR_reg = (u8 *)info->mem[0].internal_addr + INTCSR;
+ void __iomem *INTCSR_reg = info->mem[0].internal_addr + INTCSR;
if ((ioread32(INTCSR_reg) & INTCSR_ADINT_ENABLE)
&& (ioread32(INTCSR_reg) & INTCSR_ADINT_STATUS)) {
info->name = "mf624";
info->version = "0.0.1";
+ /* Note: Datasheet says device uses BAR0, BAR1, BAR2 -- do not trust it */
+
/* BAR0 */
info->mem[0].name = "PCI chipset, interrupts, status "
"bits, special functions";