diff options
Diffstat (limited to 'drivers/staging/comedi/drivers/gsc_hpdi.c')
-rw-r--r-- | drivers/staging/comedi/drivers/gsc_hpdi.c | 236 |
1 files changed, 123 insertions, 113 deletions
diff --git a/drivers/staging/comedi/drivers/gsc_hpdi.c b/drivers/staging/comedi/drivers/gsc_hpdi.c index b156ae717ae4..0bb30162e92c 100644 --- a/drivers/staging/comedi/drivers/gsc_hpdi.c +++ b/drivers/staging/comedi/drivers/gsc_hpdi.c @@ -58,7 +58,7 @@ static int hpdi_detach(struct comedi_device *dev); void abort_dma(struct comedi_device *dev, unsigned int channel); static int hpdi_cmd(struct comedi_device *dev, struct comedi_subdevice *s); static int hpdi_cmd_test(struct comedi_device *dev, struct comedi_subdevice *s, - struct comedi_cmd *cmd); + struct comedi_cmd *cmd); static int hpdi_cancel(struct comedi_device *dev, struct comedi_subdevice *s); static irqreturn_t handle_interrupt(int irq, void *d); static int dio_config_block_size(struct comedi_device *dev, unsigned int *data); @@ -149,7 +149,7 @@ enum board_control_bits { TEST_MODE_ENABLE_BIT = 0x80000000, }; uint32_t command_discrete_output_bits(unsigned int channel, int output, - int output_value) + int output_value) { uint32_t bits = 0; @@ -193,11 +193,13 @@ uint32_t almost_empty_bits(unsigned int num_words) { return num_words & 0xffff; } + unsigned int almost_full_num_words(uint32_t bits) { /* XXX need to add or subtract one? */ return (bits >> 16) & 0xffff; } + unsigned int almost_empty_num_words(uint32_t bits) { return bits & 0xffff; @@ -268,33 +270,33 @@ struct hpdi_board { int subdevice_id; /* pci subdevice id */ }; - static const struct hpdi_board hpdi_boards[] = { { - .name = "pci-hpdi32", - .device_id = PCI_DEVICE_ID_PLX_9080, - .subdevice_id = 0x2400, - }, + .name = "pci-hpdi32", + .device_id = PCI_DEVICE_ID_PLX_9080, + .subdevice_id = 0x2400, + }, #if 0 { - .name = "pxi-hpdi32", - .device_id = 0x9656, - .subdevice_id = 0x2705, - }, + .name = "pxi-hpdi32", + .device_id = 0x9656, + .subdevice_id = 0x2705, + }, #endif }; static DEFINE_PCI_DEVICE_TABLE(hpdi_pci_table) = { - {PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9080, PCI_VENDOR_ID_PLX, 0x2400, - 0, 0, 0}, - {0} + { + PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9080, PCI_VENDOR_ID_PLX, + 0x2400, 0, 0, 0}, { + 0} }; MODULE_DEVICE_TABLE(pci, hpdi_pci_table); -static inline struct hpdi_board *board(const struct comedi_device * dev) +static inline struct hpdi_board *board(const struct comedi_device *dev) { - return (struct hpdi_board *) dev->board_ptr; + return (struct hpdi_board *)dev->board_ptr; } struct hpdi_private { @@ -321,8 +323,7 @@ struct hpdi_private { unsigned dio_config_output:1; }; - -static inline struct hpdi_private *priv(struct comedi_device * dev) +static inline struct hpdi_private *priv(struct comedi_device *dev) { return dev->private; } @@ -336,8 +337,9 @@ static struct comedi_driver driver_hpdi = { COMEDI_PCI_INITCLEANUP(driver_hpdi, hpdi_pci_table); -static int dio_config_insn(struct comedi_device *dev, struct comedi_subdevice *s, - struct comedi_insn *insn, unsigned int *data) +static int dio_config_insn(struct comedi_device *dev, + struct comedi_subdevice *s, struct comedi_insn *insn, + unsigned int *data) { switch (data[0]) { case INSN_CONFIG_DIO_OUTPUT: @@ -350,8 +352,7 @@ static int dio_config_insn(struct comedi_device *dev, struct comedi_subdevice *s break; case INSN_CONFIG_DIO_QUERY: data[1] = - priv(dev)-> - dio_config_output ? COMEDI_OUTPUT : COMEDI_INPUT; + priv(dev)->dio_config_output ? COMEDI_OUTPUT : COMEDI_INPUT; return insn->n; break; case INSN_CONFIG_BLOCK_SIZE: @@ -377,29 +378,29 @@ static void init_plx9080(struct comedi_device *dev) /* plx9080 dump */ DEBUG_PRINT(" plx interrupt status 0x%x\n", - readl(plx_iobase + PLX_INTRCS_REG)); + readl(plx_iobase + PLX_INTRCS_REG)); DEBUG_PRINT(" plx id bits 0x%x\n", readl(plx_iobase + PLX_ID_REG)); DEBUG_PRINT(" plx control reg 0x%x\n", - readl(priv(dev)->plx9080_iobase + PLX_CONTROL_REG)); + readl(priv(dev)->plx9080_iobase + PLX_CONTROL_REG)); DEBUG_PRINT(" plx revision 0x%x\n", - readl(plx_iobase + PLX_REVISION_REG)); + readl(plx_iobase + PLX_REVISION_REG)); DEBUG_PRINT(" plx dma channel 0 mode 0x%x\n", - readl(plx_iobase + PLX_DMA0_MODE_REG)); + readl(plx_iobase + PLX_DMA0_MODE_REG)); DEBUG_PRINT(" plx dma channel 1 mode 0x%x\n", - readl(plx_iobase + PLX_DMA1_MODE_REG)); + readl(plx_iobase + PLX_DMA1_MODE_REG)); DEBUG_PRINT(" plx dma channel 0 pci address 0x%x\n", - readl(plx_iobase + PLX_DMA0_PCI_ADDRESS_REG)); + readl(plx_iobase + PLX_DMA0_PCI_ADDRESS_REG)); DEBUG_PRINT(" plx dma channel 0 local address 0x%x\n", - readl(plx_iobase + PLX_DMA0_LOCAL_ADDRESS_REG)); + readl(plx_iobase + PLX_DMA0_LOCAL_ADDRESS_REG)); DEBUG_PRINT(" plx dma channel 0 transfer size 0x%x\n", - readl(plx_iobase + PLX_DMA0_TRANSFER_SIZE_REG)); + readl(plx_iobase + PLX_DMA0_TRANSFER_SIZE_REG)); DEBUG_PRINT(" plx dma channel 0 descriptor 0x%x\n", - readl(plx_iobase + PLX_DMA0_DESCRIPTOR_REG)); + readl(plx_iobase + PLX_DMA0_DESCRIPTOR_REG)); DEBUG_PRINT(" plx dma channel 0 command status 0x%x\n", - readb(plx_iobase + PLX_DMA0_CS_REG)); + readb(plx_iobase + PLX_DMA0_CS_REG)); DEBUG_PRINT(" plx dma channel 0 threshold 0x%x\n", - readl(plx_iobase + PLX_DMA0_THRESHOLD_REG)); + readl(plx_iobase + PLX_DMA0_THRESHOLD_REG)); DEBUG_PRINT(" plx bigend 0x%x\n", readl(plx_iobase + PLX_BIGEND_REG)); #ifdef __BIG_ENDIAN bits = BIGEND_DMA0 | BIGEND_DMA1; @@ -448,7 +449,7 @@ static int setup_subdevices(struct comedi_device *dev) /* dev->write_subdev = s; */ s->type = COMEDI_SUBD_DIO; s->subdev_flags = - SDF_READABLE | SDF_WRITEABLE | SDF_LSAMPL | SDF_CMD_READ; + SDF_READABLE | SDF_WRITEABLE | SDF_LSAMPL | SDF_CMD_READ; s->n_chan = 32; s->len_chanlist = 32; s->maxdata = 1; @@ -469,21 +470,21 @@ static int init_hpdi(struct comedi_device *dev) udelay(10); writel(almost_empty_bits(32) | almost_full_bits(32), - priv(dev)->hpdi_iobase + RX_PROG_ALMOST_REG); + priv(dev)->hpdi_iobase + RX_PROG_ALMOST_REG); writel(almost_empty_bits(32) | almost_full_bits(32), - priv(dev)->hpdi_iobase + TX_PROG_ALMOST_REG); + priv(dev)->hpdi_iobase + TX_PROG_ALMOST_REG); priv(dev)->tx_fifo_size = fifo_size(readl(priv(dev)->hpdi_iobase + - TX_FIFO_SIZE_REG)); + TX_FIFO_SIZE_REG)); priv(dev)->rx_fifo_size = fifo_size(readl(priv(dev)->hpdi_iobase + - RX_FIFO_SIZE_REG)); + RX_FIFO_SIZE_REG)); writel(0, priv(dev)->hpdi_iobase + INTERRUPT_CONTROL_REG); /* enable interrupts */ plx_intcsr_bits = - ICS_AERR | ICS_PERR | ICS_PIE | ICS_PLIE | ICS_PAIE | ICS_LIE | - ICS_DMA0_E; + ICS_AERR | ICS_PERR | ICS_PIE | ICS_PLIE | ICS_PAIE | ICS_LIE | + ICS_DMA0_E; writel(plx_intcsr_bits, priv(dev)->plx9080_iobase + PLX_INTRCS_REG); return 0; @@ -491,11 +492,11 @@ static int init_hpdi(struct comedi_device *dev) /* setup dma descriptors so a link completes every 'transfer_size' bytes */ static int setup_dma_descriptors(struct comedi_device *dev, - unsigned int transfer_size) + unsigned int transfer_size) { unsigned int buffer_index, buffer_offset; uint32_t next_bits = PLX_DESC_IN_PCI_BIT | PLX_INTR_TERM_COUNT | - PLX_XFER_LOCAL_TO_PCI; + PLX_XFER_LOCAL_TO_PCI; unsigned int i; if (transfer_size > DMA_BUFFER_SIZE) @@ -506,26 +507,26 @@ static int setup_dma_descriptors(struct comedi_device *dev, DEBUG_PRINT(" transfer_size %i\n", transfer_size); DEBUG_PRINT(" descriptors at 0x%lx\n", - (unsigned long)priv(dev)->dma_desc_phys_addr); + (unsigned long)priv(dev)->dma_desc_phys_addr); buffer_offset = 0; buffer_index = 0; for (i = 0; i < NUM_DMA_DESCRIPTORS && - buffer_index < NUM_DMA_BUFFERS; i++) { + buffer_index < NUM_DMA_BUFFERS; i++) { priv(dev)->dma_desc[i].pci_start_addr = - cpu_to_le32(priv(dev)-> - dio_buffer_phys_addr[buffer_index] + buffer_offset); + cpu_to_le32(priv(dev)->dio_buffer_phys_addr[buffer_index] + + buffer_offset); priv(dev)->dma_desc[i].local_start_addr = cpu_to_le32(FIFO_REG); priv(dev)->dma_desc[i].transfer_size = - cpu_to_le32(transfer_size); + cpu_to_le32(transfer_size); priv(dev)->dma_desc[i].next = - cpu_to_le32((priv(dev)->dma_desc_phys_addr + (i + - 1) * - sizeof(priv(dev)->dma_desc[0])) | next_bits); + cpu_to_le32((priv(dev)->dma_desc_phys_addr + (i + + 1) * + sizeof(priv(dev)->dma_desc[0])) | next_bits); priv(dev)->desc_dio_buffer[i] = - priv(dev)->dio_buffer[buffer_index] + - (buffer_offset / sizeof(uint32_t)); + priv(dev)->dio_buffer[buffer_index] + + (buffer_offset / sizeof(uint32_t)); buffer_offset += transfer_size; if (transfer_size + buffer_offset > DMA_BUFFER_SIZE) { @@ -535,17 +536,18 @@ static int setup_dma_descriptors(struct comedi_device *dev, DEBUG_PRINT(" desc %i\n", i); DEBUG_PRINT(" start addr virt 0x%p, phys 0x%lx\n", - priv(dev)->desc_dio_buffer[i], - (unsigned long)priv(dev)->dma_desc[i].pci_start_addr); + priv(dev)->desc_dio_buffer[i], + (unsigned long)priv(dev)->dma_desc[i]. + pci_start_addr); DEBUG_PRINT(" next 0x%lx\n", - (unsigned long)priv(dev)->dma_desc[i].next); + (unsigned long)priv(dev)->dma_desc[i].next); } priv(dev)->num_dma_descriptors = i; /* fix last descriptor to point back to first */ priv(dev)->dma_desc[i - 1].next = - cpu_to_le32(priv(dev)->dma_desc_phys_addr | next_bits); + cpu_to_le32(priv(dev)->dma_desc_phys_addr | next_bits); DEBUG_PRINT(" desc %i next fixup 0x%lx\n", i - 1, - (unsigned long)priv(dev)->dma_desc[i - 1].next); + (unsigned long)priv(dev)->dma_desc[i - 1].next); priv(dev)->block_size = transfer_size; @@ -567,14 +569,15 @@ static int hpdi_attach(struct comedi_device *dev, struct comedi_devconfig *it) for (i = 0; i < ARRAY_SIZE(hpdi_boards) && dev->board_ptr == NULL; i++) { do { pcidev = pci_get_subsys(PCI_VENDOR_ID_PLX, - hpdi_boards[i].device_id, PCI_VENDOR_ID_PLX, - hpdi_boards[i].subdevice_id, pcidev); + hpdi_boards[i].device_id, + PCI_VENDOR_ID_PLX, + hpdi_boards[i].subdevice_id, + pcidev); /* was a particular bus/slot requested? */ if (it->options[0] || it->options[1]) { /* are we on the wrong bus/slot? */ if (pcidev->bus->number != it->options[0] || - PCI_SLOT(pcidev->devfn) != - it->options[1]) + PCI_SLOT(pcidev->devfn) != it->options[1]) continue; } if (pcidev) { @@ -590,11 +593,11 @@ static int hpdi_attach(struct comedi_device *dev, struct comedi_devconfig *it) } printk("gsc_hpdi: found %s on bus %i, slot %i\n", board(dev)->name, - pcidev->bus->number, PCI_SLOT(pcidev->devfn)); + pcidev->bus->number, PCI_SLOT(pcidev->devfn)); if (comedi_pci_enable(pcidev, driver_hpdi.driver_name)) { printk(KERN_WARNING - " failed enable PCI device and request regions\n"); + " failed enable PCI device and request regions\n"); return -EIO; } pci_set_master(pcidev); @@ -603,15 +606,17 @@ static int hpdi_attach(struct comedi_device *dev, struct comedi_devconfig *it) dev->board_name = board(dev)->name; priv(dev)->plx9080_phys_iobase = - pci_resource_start(pcidev, PLX9080_BADDRINDEX); + pci_resource_start(pcidev, PLX9080_BADDRINDEX); priv(dev)->hpdi_phys_iobase = - pci_resource_start(pcidev, HPDI_BADDRINDEX); + pci_resource_start(pcidev, HPDI_BADDRINDEX); /* remap, won't work with 2.0 kernels but who cares */ priv(dev)->plx9080_iobase = ioremap(priv(dev)->plx9080_phys_iobase, - pci_resource_len(pcidev, PLX9080_BADDRINDEX)); - priv(dev)->hpdi_iobase = ioremap(priv(dev)->hpdi_phys_iobase, - pci_resource_len(pcidev, HPDI_BADDRINDEX)); + pci_resource_len(pcidev, + PLX9080_BADDRINDEX)); + priv(dev)->hpdi_iobase = + ioremap(priv(dev)->hpdi_phys_iobase, + pci_resource_len(pcidev, HPDI_BADDRINDEX)); if (!priv(dev)->plx9080_iobase || !priv(dev)->hpdi_iobase) { printk(" failed to remap io memory\n"); return -ENOMEM; @@ -635,16 +640,18 @@ static int hpdi_attach(struct comedi_device *dev, struct comedi_devconfig *it) /* alocate pci dma buffers */ for (i = 0; i < NUM_DMA_BUFFERS; i++) { priv(dev)->dio_buffer[i] = - pci_alloc_consistent(priv(dev)->hw_dev, DMA_BUFFER_SIZE, - &priv(dev)->dio_buffer_phys_addr[i]); + pci_alloc_consistent(priv(dev)->hw_dev, DMA_BUFFER_SIZE, + &priv(dev)->dio_buffer_phys_addr[i]); DEBUG_PRINT("dio_buffer at virt 0x%p, phys 0x%lx\n", - priv(dev)->dio_buffer[i], - (unsigned long)priv(dev)->dio_buffer_phys_addr[i]); + priv(dev)->dio_buffer[i], + (unsigned long)priv(dev)->dio_buffer_phys_addr[i]); } /* allocate dma descriptors */ priv(dev)->dma_desc = pci_alloc_consistent(priv(dev)->hw_dev, - sizeof(struct plx_dma_desc) * NUM_DMA_DESCRIPTORS, - &priv(dev)->dma_desc_phys_addr); + sizeof(struct plx_dma_desc) * + NUM_DMA_DESCRIPTORS, + &priv(dev)-> + dma_desc_phys_addr); if (priv(dev)->dma_desc_phys_addr & 0xf) { printk(" dma descriptors not quad-word aligned (bug)\n"); return -EIO; @@ -681,18 +688,21 @@ static int hpdi_detach(struct comedi_device *dev) for (i = 0; i < NUM_DMA_BUFFERS; i++) { if (priv(dev)->dio_buffer[i]) pci_free_consistent(priv(dev)->hw_dev, - DMA_BUFFER_SIZE, - priv(dev)->dio_buffer[i], - priv(dev)-> - dio_buffer_phys_addr[i]); + DMA_BUFFER_SIZE, + priv(dev)-> + dio_buffer[i], + priv + (dev)->dio_buffer_phys_addr + [i]); } /* free dma descriptors */ if (priv(dev)->dma_desc) pci_free_consistent(priv(dev)->hw_dev, - sizeof(struct plx_dma_desc) * - NUM_DMA_DESCRIPTORS, - priv(dev)->dma_desc, - priv(dev)->dma_desc_phys_addr); + sizeof(struct plx_dma_desc) + * NUM_DMA_DESCRIPTORS, + priv(dev)->dma_desc, + priv(dev)-> + dma_desc_phys_addr); if (priv(dev)->hpdi_phys_iobase) { comedi_pci_disable(priv(dev)->hw_dev); } @@ -719,7 +729,7 @@ static int dio_config_block_size(struct comedi_device *dev, unsigned int *data) } static int di_cmd_test(struct comedi_device *dev, struct comedi_subdevice *s, - struct comedi_cmd *cmd) + struct comedi_cmd *cmd) { int err = 0; int tmp; @@ -805,7 +815,7 @@ static int di_cmd_test(struct comedi_device *dev, struct comedi_subdevice *s, if (CR_CHAN(cmd->chanlist[i]) != i) { /* XXX could support 8 channels or 16 channels */ comedi_error(dev, - "chanlist must be channels 0 to 31 in order"); + "chanlist must be channels 0 to 31 in order"); err++; break; } @@ -819,7 +829,7 @@ static int di_cmd_test(struct comedi_device *dev, struct comedi_subdevice *s, } static int hpdi_cmd_test(struct comedi_device *dev, struct comedi_subdevice *s, - struct comedi_cmd *cmd) + struct comedi_cmd *cmd) { if (priv(dev)->dio_config_output) { return -EINVAL; @@ -828,10 +838,10 @@ static int hpdi_cmd_test(struct comedi_device *dev, struct comedi_subdevice *s, } static inline void hpdi_writel(struct comedi_device *dev, uint32_t bits, - unsigned int offset) + unsigned int offset) { writel(bits | priv(dev)->bits[offset / sizeof(uint32_t)], - priv(dev)->hpdi_iobase + offset); + priv(dev)->hpdi_iobase + offset); } static int di_cmd(struct comedi_device *dev, struct comedi_subdevice *s) @@ -857,16 +867,16 @@ static int di_cmd(struct comedi_device *dev, struct comedi_subdevice *s) writel(0, priv(dev)->plx9080_iobase + PLX_DMA0_PCI_ADDRESS_REG); writel(0, priv(dev)->plx9080_iobase + PLX_DMA0_LOCAL_ADDRESS_REG); /* give location of first dma descriptor */ - bits = priv(dev)-> - dma_desc_phys_addr | PLX_DESC_IN_PCI_BIT | PLX_INTR_TERM_COUNT | - PLX_XFER_LOCAL_TO_PCI; + bits = + priv(dev)->dma_desc_phys_addr | PLX_DESC_IN_PCI_BIT | + PLX_INTR_TERM_COUNT | PLX_XFER_LOCAL_TO_PCI; writel(bits, priv(dev)->plx9080_iobase + PLX_DMA0_DESCRIPTOR_REG); /* spinlock for plx dma control/status reg */ spin_lock_irqsave(&dev->spinlock, flags); /* enable dma transfer */ writeb(PLX_DMA_EN_BIT | PLX_DMA_START_BIT | PLX_CLEAR_DMA_INTR_BIT, - priv(dev)->plx9080_iobase + PLX_DMA0_CS_REG); + priv(dev)->plx9080_iobase + PLX_DMA0_CS_REG); spin_unlock_irqrestore(&dev->spinlock, flags); if (cmd->stop_src == TRIG_COUNT) @@ -876,10 +886,10 @@ static int di_cmd(struct comedi_device *dev, struct comedi_subdevice *s) /* clear over/under run status flags */ writel(RX_UNDERRUN_BIT | RX_OVERRUN_BIT, - priv(dev)->hpdi_iobase + BOARD_STATUS_REG); + priv(dev)->hpdi_iobase + BOARD_STATUS_REG); /* enable interrupts */ writel(intr_bit(RX_FULL_INTR), - priv(dev)->hpdi_iobase + INTERRUPT_CONTROL_REG); + priv(dev)->hpdi_iobase + INTERRUPT_CONTROL_REG); DEBUG_PRINT("hpdi: starting rx\n"); hpdi_writel(dev, RX_ENABLE_BIT, BOARD_CONTROL_REG); @@ -905,22 +915,21 @@ static void drain_dma_buffers(struct comedi_device *dev, unsigned int channel) if (channel) pci_addr_reg = - priv(dev)->plx9080_iobase + PLX_DMA1_PCI_ADDRESS_REG; + priv(dev)->plx9080_iobase + PLX_DMA1_PCI_ADDRESS_REG; else pci_addr_reg = - priv(dev)->plx9080_iobase + PLX_DMA0_PCI_ADDRESS_REG; + priv(dev)->plx9080_iobase + PLX_DMA0_PCI_ADDRESS_REG; /* loop until we have read all the full buffers */ j = 0; for (next_transfer_addr = readl(pci_addr_reg); - (next_transfer_addr < - le32_to_cpu(priv(dev)->dma_desc[priv(dev)-> - dma_desc_index].pci_start_addr) - || next_transfer_addr >= - le32_to_cpu(priv(dev)->dma_desc[priv(dev)-> - dma_desc_index].pci_start_addr) + - priv(dev)->block_size) - && j < priv(dev)->num_dma_descriptors; j++) { + (next_transfer_addr < + le32_to_cpu(priv(dev)->dma_desc[priv(dev)->dma_desc_index]. + pci_start_addr) + || next_transfer_addr >= + le32_to_cpu(priv(dev)->dma_desc[priv(dev)->dma_desc_index]. + pci_start_addr) + priv(dev)->block_size) + && j < priv(dev)->num_dma_descriptors; j++) { /* transfer data from dma buffer to comedi buffer */ num_samples = priv(dev)->block_size / sizeof(uint32_t); if (async->cmd.stop_src == TRIG_COUNT) { @@ -929,13 +938,15 @@ static void drain_dma_buffers(struct comedi_device *dev, unsigned int channel) priv(dev)->dio_count -= num_samples; } cfc_write_array_to_buffer(dev->read_subdev, - priv(dev)->desc_dio_buffer[priv(dev)->dma_desc_index], - num_samples * sizeof(uint32_t)); + priv(dev)->desc_dio_buffer[priv(dev)-> + dma_desc_index], + num_samples * sizeof(uint32_t)); priv(dev)->dma_desc_index++; priv(dev)->dma_desc_index %= priv(dev)->num_dma_descriptors; DEBUG_PRINT("next desc addr 0x%lx\n", (unsigned long) - priv(dev)->dma_desc[priv(dev)->dma_desc_index].next); + priv(dev)->dma_desc[priv(dev)->dma_desc_index]. + next); DEBUG_PRINT("pci addr reg 0x%x\n", next_transfer_addr); } /* XXX check for buffer overrun somehow */ @@ -969,14 +980,14 @@ static irqreturn_t handle_interrupt(int irq, void *d) if (hpdi_intr_status) { DEBUG_PRINT("hpdi: intr status 0x%x, ", hpdi_intr_status); writel(hpdi_intr_status, - priv(dev)->hpdi_iobase + INTERRUPT_STATUS_REG); + priv(dev)->hpdi_iobase + INTERRUPT_STATUS_REG); } /* spin lock makes sure noone else changes plx dma control reg */ spin_lock_irqsave(&dev->spinlock, flags); dma0_status = readb(priv(dev)->plx9080_iobase + PLX_DMA0_CS_REG); if (plx_status & ICS_DMA0_A) { /* dma chan 0 interrupt */ writeb((dma0_status & PLX_DMA_EN_BIT) | PLX_CLEAR_DMA_INTR_BIT, - priv(dev)->plx9080_iobase + PLX_DMA0_CS_REG); + priv(dev)->plx9080_iobase + PLX_DMA0_CS_REG); DEBUG_PRINT("dma0 status 0x%x\n", dma0_status); if (dma0_status & PLX_DMA_EN_BIT) { @@ -989,10 +1000,9 @@ static irqreturn_t handle_interrupt(int irq, void *d) /* spin lock makes sure noone else changes plx dma control reg */ spin_lock_irqsave(&dev->spinlock, flags); dma1_status = readb(priv(dev)->plx9080_iobase + PLX_DMA1_CS_REG); - if (plx_status & ICS_DMA1_A) /* XXX */ - { /* dma chan 1 interrupt */ + if (plx_status & ICS_DMA1_A) { /* XXX *//* dma chan 1 interrupt */ writeb((dma1_status & PLX_DMA_EN_BIT) | PLX_CLEAR_DMA_INTR_BIT, - priv(dev)->plx9080_iobase + PLX_DMA1_CS_REG); + priv(dev)->plx9080_iobase + PLX_DMA1_CS_REG); DEBUG_PRINT("dma1 status 0x%x\n", dma1_status); DEBUG_PRINT(" cleared dma ch1 interrupt\n"); @@ -1010,8 +1020,8 @@ static irqreturn_t handle_interrupt(int irq, void *d) comedi_error(dev, "rx fifo overrun"); async->events |= COMEDI_CB_EOA | COMEDI_CB_ERROR; DEBUG_PRINT("dma0_status 0x%x\n", - (int)readb(priv(dev)->plx9080_iobase + - PLX_DMA0_CS_REG)); + (int)readb(priv(dev)->plx9080_iobase + + PLX_DMA0_CS_REG)); } if (hpdi_board_status & RX_UNDERRUN_BIT) { |