static void mvme147_intr (int irq, void *dummy, struct pt_regs *fp) { if (irq == MVME147_IRQ_SCSI_PORT) wd33c93_intr (mvme147_host); else m147_pcc->dma_intr = 0x89; /* Ack and enable ints */ }
static irqreturn_t mvme147_intr (int irq, void *dummy) { if (irq == MVME147_IRQ_SCSI_PORT) wd33c93_intr (mvme147_host); else m147_pcc->dma_intr = 0x89; /* Ack and enable ints */ return IRQ_HANDLED; }
/* XXX woof! */ static void sgiwd93_intr(int irq, void *dev_id, struct pt_regs *regs) { unsigned long flags; struct Scsi_Host *dev = dev_id; spin_lock_irqsave(dev->host_lock, flags); wd33c93_intr((struct Scsi_Host *) dev_id); spin_unlock_irqrestore(dev->host_lock, flags); }
static irqreturn_t mvme147_intr(int irq, void *data) { struct Scsi_Host *instance = data; if (irq == MVME147_IRQ_SCSI_PORT) wd33c93_intr(instance); else m147_pcc->dma_intr = 0x89; /* Ack and enable ints */ return IRQ_HANDLED; }
static irqreturn_t sgiwd93_intr(int irq, void *dev_id) { struct Scsi_Host * host = dev_id; unsigned long flags; spin_lock_irqsave(host->host_lock, flags); wd33c93_intr(host); spin_unlock_irqrestore(host->host_lock, flags); return IRQ_HANDLED; }
static irqreturn_t a2091_intr(int irq, void *data) { struct Scsi_Host *instance = data; struct a2091_hostdata *hdata = shost_priv(instance); unsigned int status = hdata->regs->ISTR; unsigned long flags; if (!(status & (ISTR_INT_F | ISTR_INT_P)) || !(status & ISTR_INTS)) return IRQ_NONE; spin_lock_irqsave(instance->host_lock, flags); wd33c93_intr(instance); spin_unlock_irqrestore(instance->host_lock, flags); return IRQ_HANDLED; }
static irqreturn_t a2091_intr (int irq, void *_instance) { unsigned long flags; unsigned int status; struct Scsi_Host *instance = (struct Scsi_Host *)_instance; status = DMA(instance)->ISTR; if (!(status & (ISTR_INT_F|ISTR_INT_P)) || !(status & ISTR_INTS)) return IRQ_NONE; spin_lock_irqsave(instance->host_lock, flags); wd33c93_intr(instance); spin_unlock_irqrestore(instance->host_lock, flags); return IRQ_HANDLED; }
static irqreturn_t a3000_intr (int irq, void *dummy, struct pt_regs *fp) { unsigned long flags; unsigned int status = DMA(a3000_host)->ISTR; if (!(status & ISTR_INT_P)) return IRQ_NONE; if (status & ISTR_INTS) { spin_lock_irqsave(a3000_host->host_lock, flags); wd33c93_intr (a3000_host); spin_unlock_irqrestore(a3000_host->host_lock, flags); return IRQ_HANDLED; } printk("Non-serviced A3000 SCSI-interrupt? ISTR = %02x\n", status); return IRQ_NONE; }
static irqreturn_t a3000_intr(int irq, void *data) { struct Scsi_Host *instance = data; struct a3000_hostdata *hdata = shost_priv(instance); unsigned int status = hdata->regs->ISTR; unsigned long flags; if (!(status & ISTR_INT_P)) return IRQ_NONE; if (status & ISTR_INTS) { spin_lock_irqsave(instance->host_lock, flags); wd33c93_intr(instance); spin_unlock_irqrestore(instance->host_lock, flags); return IRQ_HANDLED; } pr_warning("Non-serviced A3000 SCSI-interrupt? ISTR = %02x\n", status); return IRQ_NONE; }
static void a3000_intr (int irq, void *dummy, struct pt_regs *fp) { unsigned int status = DMA(a3000_host)->ISTR; if (!(status & ISTR_INT_P)) return; if (status & ISTR_INTS) { /* disable PORTS interrupt */ custom.intena = IF_PORTS; wd33c93_intr (a3000_host); /* enable PORTS interrupt */ custom.intena = IF_SETCLR | IF_PORTS; } else { printk("Non-serviced A3000 SCSI-interrupt? ISTR = %02x\n", status); } }