• Home
  • Raw
  • Download

Lines Matching +full:module +full:- +full:instance

1 // SPDX-License-Identifier: GPL-2.0-only
19 #include <linux/module.h>
38 #define NCR5380_read(reg) in_8(hostdata->io + ((reg) << 4))
39 #define NCR5380_write(reg, value) out_8(hostdata->io + ((reg) << 4), value)
54 static int setup_can_queue = -1;
56 static int setup_cmd_per_lun = -1;
58 static int setup_sg_tablesize = -1;
62 static int setup_hostid = -1;
64 static int setup_toshiba_delay = -1;
67 #ifndef MODULE
95 #endif /* !MODULE */
109 * offending instruction. Post-increment addressing can't be used.
233 return start - addr; /* Negated to indicate uncertain length */ in mac_pdma_recv()
237 return addr - start; in mac_pdma_recv()
260 return start - addr; /* Negated to indicate uncertain length */ in mac_pdma_send()
264 return addr - start; in mac_pdma_send()
274 out_be32(hostdata->io + (CTRL_REG << 4), value); in write_ctrl_reg()
280 u8 __iomem *s = hostdata->pdma_io + (INPUT_DATA_REG << 4); in macscsi_pread()
284 hostdata->pdma_residual = len; in macscsi_pread()
291 if (macintosh_config->ident == MAC_MODEL_IIFX) in macscsi_pread()
295 bytes = mac_pdma_recv(s, d, min(hostdata->pdma_residual, 512)); in macscsi_pread()
299 hostdata->pdma_residual -= bytes; in macscsi_pread()
302 if (hostdata->pdma_residual == 0) in macscsi_pread()
308 scmd_printk(KERN_DEBUG, hostdata->connected, in macscsi_pread()
319 dsprintk(NDEBUG_PSEUDO_DMA, hostdata->host, in macscsi_pread()
320 "%s: bus error (%d/%d)\n", __func__, d - dst, len); in macscsi_pread()
321 NCR5380_dprint(NDEBUG_PSEUDO_DMA, hostdata->host); in macscsi_pread()
322 result = -1; in macscsi_pread()
326 scmd_printk(KERN_ERR, hostdata->connected, in macscsi_pread()
328 NCR5380_dprint(NDEBUG_PSEUDO_DMA, hostdata->host); in macscsi_pread()
329 result = -1; in macscsi_pread()
331 if (macintosh_config->ident == MAC_MODEL_IIFX) in macscsi_pread()
340 u8 __iomem *d = hostdata->pdma_io + (OUTPUT_DATA_REG << 4); in macscsi_pwrite()
343 hostdata->pdma_residual = len; in macscsi_pwrite()
350 if (macintosh_config->ident == MAC_MODEL_IIFX) in macscsi_pwrite()
354 bytes = mac_pdma_send(s, d, min(hostdata->pdma_residual, 512)); in macscsi_pwrite()
358 hostdata->pdma_residual -= bytes; in macscsi_pwrite()
361 if (hostdata->pdma_residual == 0) { in macscsi_pwrite()
366 scmd_printk(KERN_ERR, hostdata->connected, in macscsi_pwrite()
368 result = -1; in macscsi_pwrite()
376 scmd_printk(KERN_DEBUG, hostdata->connected, in macscsi_pwrite()
387 dsprintk(NDEBUG_PSEUDO_DMA, hostdata->host, in macscsi_pwrite()
388 "%s: bus error (%d/%d)\n", __func__, s - src, len); in macscsi_pwrite()
389 NCR5380_dprint(NDEBUG_PSEUDO_DMA, hostdata->host); in macscsi_pwrite()
390 result = -1; in macscsi_pwrite()
394 scmd_printk(KERN_ERR, hostdata->connected, in macscsi_pwrite()
396 NCR5380_dprint(NDEBUG_PSEUDO_DMA, hostdata->host); in macscsi_pwrite()
397 result = -1; in macscsi_pwrite()
399 if (macintosh_config->ident == MAC_MODEL_IIFX) in macscsi_pwrite()
407 if (hostdata->flags & FLAG_NO_PSEUDO_DMA || in macscsi_dma_xfer_len()
408 cmd->SCp.this_residual < setup_use_pdma) in macscsi_dma_xfer_len()
411 return cmd->SCp.this_residual; in macscsi_dma_xfer_len()
416 return hostdata->pdma_residual; in macscsi_dma_residual()
425 .module = THIS_MODULE,
436 .dma_boundary = PAGE_SIZE - 1,
443 struct Scsi_Host *instance; in mac_scsi_probe() local
451 return -ENODEV; in mac_scsi_probe()
457 if (!hwreg_present((unsigned char *)pio_mem->start + in mac_scsi_probe()
459 pr_info(PFX "no device detected at %pap\n", &pio_mem->start); in mac_scsi_probe()
460 return -ENODEV; in mac_scsi_probe()
472 instance = scsi_host_alloc(&mac_scsi_template, in mac_scsi_probe()
474 if (!instance) in mac_scsi_probe()
475 return -ENOMEM; in mac_scsi_probe()
478 instance->irq = irq->start; in mac_scsi_probe()
480 instance->irq = NO_IRQ; in mac_scsi_probe()
482 hostdata = shost_priv(instance); in mac_scsi_probe()
483 hostdata->base = pio_mem->start; in mac_scsi_probe()
484 hostdata->io = (u8 __iomem *)pio_mem->start; in mac_scsi_probe()
487 hostdata->pdma_io = (u8 __iomem *)pdma_mem->start; in mac_scsi_probe()
493 error = NCR5380_init(instance, host_flags | FLAG_LATE_DMA_SETUP); in mac_scsi_probe()
497 if (instance->irq != NO_IRQ) { in mac_scsi_probe()
498 error = request_irq(instance->irq, macscsi_intr, IRQF_SHARED, in mac_scsi_probe()
499 "NCR5380", instance); in mac_scsi_probe()
504 NCR5380_maybe_reset_bus(instance); in mac_scsi_probe()
506 error = scsi_add_host(instance, NULL); in mac_scsi_probe()
510 platform_set_drvdata(pdev, instance); in mac_scsi_probe()
512 scsi_scan_host(instance); in mac_scsi_probe()
516 if (instance->irq != NO_IRQ) in mac_scsi_probe()
517 free_irq(instance->irq, instance); in mac_scsi_probe()
519 NCR5380_exit(instance); in mac_scsi_probe()
521 scsi_host_put(instance); in mac_scsi_probe()
527 struct Scsi_Host *instance = platform_get_drvdata(pdev); in mac_scsi_remove() local
529 scsi_remove_host(instance); in mac_scsi_remove()
530 if (instance->irq != NO_IRQ) in mac_scsi_remove()
531 free_irq(instance->irq, instance); in mac_scsi_remove()
532 NCR5380_exit(instance); in mac_scsi_remove()
533 scsi_host_put(instance); in mac_scsi_remove()