Lines Matching refs:hostdata

39 	ioread8(hostdata->io + hostdata->offset + (reg))
41 iowrite8(value, hostdata->io + hostdata->offset + (reg))
117 struct NCR5380_hostdata *hostdata = shost_priv(instance);
129 NCR5380_write(SELECT_ENABLE_REG, hostdata->id_mask);
130 NCR5380_write(OUTPUT_DATA_REG, hostdata->id_mask);
151 struct NCR5380_hostdata *hostdata = shost_priv(instance);
234 struct NCR5380_hostdata *hostdata;
319 hostdata = shost_priv(instance);
321 hostdata->board = board;
322 hostdata->io = iomem;
323 hostdata->region_size = region_size;
326 hostdata->io_port = base;
327 hostdata->io_width = 1; /* 8-bit PDMA by default */
328 hostdata->offset = 0;
336 hostdata->io_port += 8;
337 hostdata->c400_ctl_status = 0;
338 hostdata->c400_blk_cnt = 1;
339 hostdata->c400_host_buf = 4;
342 hostdata->io_width = 2; /* 16-bit PDMA */
346 hostdata->c400_ctl_status = 9;
347 hostdata->c400_blk_cnt = 10;
348 hostdata->c400_host_buf = 8;
352 hostdata->base = base;
353 hostdata->offset = NCR53C400_mem_base;
356 hostdata->c400_ctl_status = 0x100;
357 hostdata->c400_blk_cnt = 0x101;
358 hostdata->c400_host_buf = 0x104;
385 NCR5380_write(hostdata->c400_ctl_status, CSR_BASE);
468 struct NCR5380_hostdata *hostdata = shost_priv(instance);
469 void __iomem *iomem = hostdata->io;
470 unsigned long io_port = hostdata->io_port;
471 unsigned long base = hostdata->base;
472 unsigned long region_size = hostdata->region_size;
487 * @hostdata: scsi host private data
493 static void wait_for_53c80_access(struct NCR5380_hostdata *hostdata)
498 if (hostdata->board == BOARD_DTC3181E)
500 if (NCR5380_read(hostdata->c400_ctl_status) & CSR_53C80_REG)
504 scmd_printk(KERN_ERR, hostdata->connected,
506 NCR5380_write(hostdata->c400_ctl_status, CSR_RESET);
507 NCR5380_write(hostdata->c400_ctl_status, CSR_BASE);
512 * @hostdata: scsi host private data
519 static inline int generic_NCR5380_precv(struct NCR5380_hostdata *hostdata,
525 NCR5380_write(hostdata->c400_ctl_status, CSR_BASE | CSR_TRANS_DIR);
526 NCR5380_write(hostdata->c400_blk_cnt, len / 128);
531 if (NCR5380_poll_politely(hostdata, hostdata->c400_ctl_status,
535 if (NCR5380_poll_politely2(hostdata, hostdata->c400_ctl_status,
537 hostdata->c400_ctl_status,
540 NCR5380_read(hostdata->c400_ctl_status) & CSR_HOST_BUF_NOT_RDY)
544 if (hostdata->io_port && hostdata->io_width == 2)
545 insw(hostdata->io_port + hostdata->c400_host_buf,
547 else if (hostdata->io_port)
548 insb(hostdata->io_port + hostdata->c400_host_buf,
552 hostdata->io + NCR53C400_host_buffer, 128);
560 NCR5380_write(hostdata->c400_ctl_status, CSR_RESET);
561 NCR5380_write(hostdata->c400_ctl_status, CSR_BASE);
563 wait_for_53c80_access(hostdata);
565 if (residual == 0 && NCR5380_poll_politely(hostdata, BUS_AND_STATUS_REG,
569 scmd_printk(KERN_ERR, hostdata->connected, "%s: End of DMA timeout\n",
572 hostdata->pdma_residual = residual;
579 * @hostdata: scsi host private data
586 static inline int generic_NCR5380_psend(struct NCR5380_hostdata *hostdata,
592 NCR5380_write(hostdata->c400_ctl_status, CSR_BASE);
593 NCR5380_write(hostdata->c400_blk_cnt, len / 128);
596 if (NCR5380_poll_politely2(hostdata, hostdata->c400_ctl_status,
598 hostdata->c400_ctl_status,
601 NCR5380_read(hostdata->c400_ctl_status) & CSR_HOST_BUF_NOT_RDY) {
610 if (start >= len && NCR5380_read(hostdata->c400_blk_cnt) == 0)
613 if (NCR5380_read(hostdata->c400_ctl_status) & CSR_GATED_53C80_IRQ) {
623 if (hostdata->io_port && hostdata->io_width == 2)
624 outsw(hostdata->io_port + hostdata->c400_host_buf,
626 else if (hostdata->io_port)
627 outsb(hostdata->io_port + hostdata->c400_host_buf,
630 memcpy_toio(hostdata->io + NCR53C400_host_buffer,
639 NCR5380_write(hostdata->c400_ctl_status, CSR_RESET);
640 NCR5380_write(hostdata->c400_ctl_status, CSR_BASE);
642 wait_for_53c80_access(hostdata);
645 if (NCR5380_poll_politely(hostdata, TARGET_COMMAND_REG,
648 scmd_printk(KERN_ERR, hostdata->connected,
651 if (NCR5380_poll_politely(hostdata, BUS_AND_STATUS_REG,
654 scmd_printk(KERN_ERR, hostdata->connected, "%s: End of DMA timeout\n",
658 hostdata->pdma_residual = residual;
663 static int generic_NCR5380_dma_xfer_len(struct NCR5380_hostdata *hostdata,
668 if (hostdata->flags & FLAG_NO_PSEUDO_DMA)
676 if (hostdata->board == BOARD_DTC3181E &&
683 static int generic_NCR5380_dma_residual(struct NCR5380_hostdata *hostdata)
685 return hostdata->pdma_residual;