Loading drivers/scsi/qla1280.c +20 −37 Original line number Diff line number Diff line Loading @@ -1266,6 +1266,22 @@ qla1280_biosparam_old(Disk * disk, kdev_t dev, int geom[]) } #endif /* disable risc and host interrupts */ static inline void qla1280_disable_intrs(struct scsi_qla_host *ha) { WRT_REG_WORD(&ha->iobase->ictrl, 0); RD_REG_WORD(&ha->iobase->ictrl); /* PCI Posted Write flush */ } /* enable risc and host interrupts */ static inline void qla1280_enable_intrs(struct scsi_qla_host *ha) { WRT_REG_WORD(&ha->iobase->ictrl, (ISP_EN_INT | ISP_EN_RISC)); RD_REG_WORD(&ha->iobase->ictrl); /* PCI Posted Write flush */ } /************************************************************************** * qla1280_intr_handler * Handles the H/W interrupt Loading @@ -1286,7 +1302,7 @@ qla1280_intr_handler(int irq, void *dev_id, struct pt_regs *regs) ha->isr_count++; reg = ha->iobase; WRT_REG_WORD(®->ictrl, 0); /* disable our interrupt. */ qla1280_disable_intrs(ha); data = qla1280_debounce_register(®->istatus); /* Check for pending interrupts. */ Loading @@ -1299,8 +1315,7 @@ qla1280_intr_handler(int irq, void *dev_id, struct pt_regs *regs) spin_unlock(HOST_LOCK); /* enable our interrupt. */ WRT_REG_WORD(®->ictrl, (ISP_EN_INT | ISP_EN_RISC)); qla1280_enable_intrs(ha); LEAVE_INTR("qla1280_intr_handler"); return IRQ_RETVAL(handled); Loading Loading @@ -1613,38 +1628,6 @@ qla1280_return_status(struct response * sts, struct scsi_cmnd *cp) /* QLogic ISP1280 Hardware Support Functions. */ /****************************************************************************/ /* * qla2100_enable_intrs * qla2100_disable_intrs * * Input: * ha = adapter block pointer. * * Returns: * None */ static inline void qla1280_enable_intrs(struct scsi_qla_host *ha) { struct device_reg __iomem *reg; reg = ha->iobase; /* enable risc and host interrupts */ WRT_REG_WORD(®->ictrl, (ISP_EN_INT | ISP_EN_RISC)); RD_REG_WORD(®->ictrl); /* PCI Posted Write flush */ } static inline void qla1280_disable_intrs(struct scsi_qla_host *ha) { struct device_reg __iomem *reg; reg = ha->iobase; /* disable risc and host interrupts */ WRT_REG_WORD(®->ictrl, 0); RD_REG_WORD(®->ictrl); /* PCI Posted Write flush */ } /* * qla1280_initialize_adapter * Initialize board. Loading Loading @@ -4751,7 +4734,7 @@ qla1280_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) #if LINUX_VERSION_CODE >= 0x020600 error_disable_adapter: WRT_REG_WORD(&ha->iobase->ictrl, 0); qla1280_disable_intrs(ha); #endif error_free_irq: free_irq(pdev->irq, ha); Loading Loading @@ -4788,7 +4771,7 @@ qla1280_remove_one(struct pci_dev *pdev) scsi_remove_host(host); #endif WRT_REG_WORD(&ha->iobase->ictrl, 0); qla1280_disable_intrs(ha); free_irq(pdev->irq, ha); Loading Loading
drivers/scsi/qla1280.c +20 −37 Original line number Diff line number Diff line Loading @@ -1266,6 +1266,22 @@ qla1280_biosparam_old(Disk * disk, kdev_t dev, int geom[]) } #endif /* disable risc and host interrupts */ static inline void qla1280_disable_intrs(struct scsi_qla_host *ha) { WRT_REG_WORD(&ha->iobase->ictrl, 0); RD_REG_WORD(&ha->iobase->ictrl); /* PCI Posted Write flush */ } /* enable risc and host interrupts */ static inline void qla1280_enable_intrs(struct scsi_qla_host *ha) { WRT_REG_WORD(&ha->iobase->ictrl, (ISP_EN_INT | ISP_EN_RISC)); RD_REG_WORD(&ha->iobase->ictrl); /* PCI Posted Write flush */ } /************************************************************************** * qla1280_intr_handler * Handles the H/W interrupt Loading @@ -1286,7 +1302,7 @@ qla1280_intr_handler(int irq, void *dev_id, struct pt_regs *regs) ha->isr_count++; reg = ha->iobase; WRT_REG_WORD(®->ictrl, 0); /* disable our interrupt. */ qla1280_disable_intrs(ha); data = qla1280_debounce_register(®->istatus); /* Check for pending interrupts. */ Loading @@ -1299,8 +1315,7 @@ qla1280_intr_handler(int irq, void *dev_id, struct pt_regs *regs) spin_unlock(HOST_LOCK); /* enable our interrupt. */ WRT_REG_WORD(®->ictrl, (ISP_EN_INT | ISP_EN_RISC)); qla1280_enable_intrs(ha); LEAVE_INTR("qla1280_intr_handler"); return IRQ_RETVAL(handled); Loading Loading @@ -1613,38 +1628,6 @@ qla1280_return_status(struct response * sts, struct scsi_cmnd *cp) /* QLogic ISP1280 Hardware Support Functions. */ /****************************************************************************/ /* * qla2100_enable_intrs * qla2100_disable_intrs * * Input: * ha = adapter block pointer. * * Returns: * None */ static inline void qla1280_enable_intrs(struct scsi_qla_host *ha) { struct device_reg __iomem *reg; reg = ha->iobase; /* enable risc and host interrupts */ WRT_REG_WORD(®->ictrl, (ISP_EN_INT | ISP_EN_RISC)); RD_REG_WORD(®->ictrl); /* PCI Posted Write flush */ } static inline void qla1280_disable_intrs(struct scsi_qla_host *ha) { struct device_reg __iomem *reg; reg = ha->iobase; /* disable risc and host interrupts */ WRT_REG_WORD(®->ictrl, 0); RD_REG_WORD(®->ictrl); /* PCI Posted Write flush */ } /* * qla1280_initialize_adapter * Initialize board. Loading Loading @@ -4751,7 +4734,7 @@ qla1280_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) #if LINUX_VERSION_CODE >= 0x020600 error_disable_adapter: WRT_REG_WORD(&ha->iobase->ictrl, 0); qla1280_disable_intrs(ha); #endif error_free_irq: free_irq(pdev->irq, ha); Loading Loading @@ -4788,7 +4771,7 @@ qla1280_remove_one(struct pci_dev *pdev) scsi_remove_host(host); #endif WRT_REG_WORD(&ha->iobase->ictrl, 0); qla1280_disable_intrs(ha); free_irq(pdev->irq, ha); Loading