• Home
  • Raw
  • Download

Lines Matching full:mesh

3  * SCSI low-level driver for the MESH (Macintosh Enhanced SCSI Hardware)
5 * We assume the MESH is connected to a DBDMA (descriptor-based DMA)
50 #include "mesh.h"
58 MODULE_DESCRIPTION("PowerMac MESH SCSI driver");
145 volatile struct mesh_regs __iomem *mesh; member
223 tlp->bs0 = ms->mesh->bus_status0; in dlog()
224 tlp->bs1 = ms->mesh->bus_status1; in dlog()
252 printk(KERN_DEBUG "mesh log %d: bs=%.2x%.2x ph=%.2x ", in dumplog()
277 printk(KERN_DEBUG "mesh log: bs=%.2x%.2x ph=%.2x t%d ", in dumpslog()
305 volatile struct mesh_regs __iomem *mr = ms->mesh; in mesh_dump_regs()
310 printk(KERN_DEBUG "mesh: state at %p, regs at %p, dma at %p\n", in mesh_dump_regs()
337 * Flush write buffers on the bus path to the mesh
360 volatile struct mesh_regs __iomem *mr = ms->mesh; in mesh_init()
379 printk(KERN_INFO "mesh: performing initial bus reset...\n"); in mesh_init()
407 volatile struct mesh_regs __iomem *mr = ms->mesh; in mesh_start_cmd()
426 panic("mesh: double DMA start !\n"); in mesh_start_cmd()
483 * Apparently the mesh has a bug where it will assert both its in mesh_start_cmd()
497 * is trying to reselect us, reset the mesh and then enable in mesh_start_cmd()
524 /* looks like a reselection - try resetting the mesh */ in mesh_start_cmd()
541 printk(KERN_ERR "mesh: controller not responding" in mesh_start_cmd()
545 * mesh isn't responding, the higher levels of in mesh_start_cmd()
555 * Start the next command for a MESH.
618 out_8(&ms->mesh->sequence, SEQ_ENBRESEL); in mesh_done()
619 mesh_flush_io(ms->mesh); in mesh_done()
641 volatile struct mesh_regs __iomem *mr = ms->mesh; in set_sdtr()
648 printk(KERN_INFO "mesh: target %d now asynchronous\n", in set_sdtr()
675 printk(KERN_INFO "mesh: target %d synchronous at %d.%d MB/s\n", in set_sdtr()
682 volatile struct mesh_regs __iomem *mr = ms->mesh; in start_phase()
709 printk(KERN_ERR "mesh: msg_out but n_msgout=%d\n", in start_phase()
716 printk(KERN_DEBUG "mesh: sending %d msg bytes:", in start_phase()
730 * issue a SEQ_MSGOUT to get the mesh to drop ACK. in start_phase()
759 printk(KERN_ERR "mesh bug: start_phase msgphase=%d\n", in start_phase()
817 printk(KERN_ERR "mesh: start_phase called with phase=%d\n", in start_phase()
826 volatile struct mesh_regs __iomem *mr = ms->mesh; in get_msgin()
858 volatile struct mesh_regs __iomem *mr = ms->mesh; in reselected()
884 printk(KERN_ERR "mesh: reselected in phase %d/%d tgt %d\n", in reselected()
891 printk(KERN_ERR "mesh: reselected with DMA started !\n"); in reselected()
928 printk(KERN_ERR "mesh: reselection but nothing in fifo?\n"); in reselected()
941 printk(KERN_ERR "mesh: bad reselection data %x\n", b); in reselected()
954 printk(KERN_DEBUG "mesh: reselected by target %d\n", t); in reselected()
955 printk(KERN_DEBUG "mesh: saved_ptr=%x goes_out=%d cmd=%p\n", in reselected()
960 printk(KERN_ERR "mesh: reselected by tgt %d but no cmd!\n", t); in reselected()
991 volatile struct mesh_regs __iomem *mr = ms->mesh; in handle_reset()
1034 volatile struct mesh_regs __iomem *mr = ms->mesh; in handle_error()
1043 printk(KERN_INFO "mesh: SCSI bus reset detected: " in handle_error()
1061 printk(KERN_WARNING "mesh: target %d aborted\n", in handle_error()
1073 printk(KERN_ERR "mesh: msg parity error, target %d\n", in handle_error()
1082 printk(KERN_ERR "mesh: parity error, target %d\n", in handle_error()
1110 printk(KERN_ERR "mesh: sequence error (err=%x exc=%x)\n", in handle_error()
1113 printk(KERN_ERR "mesh: unknown error %x (exc=%x)\n", err, exc); in handle_error()
1130 volatile struct mesh_regs __iomem *mr = ms->mesh; in handle_exception()
1139 printk(KERN_DEBUG "mesh: lost arbitration\n"); in handle_exception()
1151 printk(KERN_ERR "mesh: can't cope with exception %x\n", exc); in handle_exception()
1235 printk(KERN_WARNING "mesh: lun mismatch " in handle_msgin()
1247 printk(KERN_WARNING "mesh: rejecting message from target %d:", in handle_msgin()
1292 panic("mesh: scatterlist element >= 64k"); in set_dma_cmds()
1324 volatile struct mesh_regs __iomem *mr = ms->mesh; in halt_dma()
1348 printk(KERN_ERR "mesh: halt_dma: data_ptr=%d (nb=%d, ms=%p)\n", in halt_dma()
1357 printk(KERN_DEBUG "mesh: target %d overrun, " in halt_dma()
1369 volatile struct mesh_regs __iomem *mr = ms->mesh; in phase_mismatch()
1428 "mesh: no msg to repeat\n"); in phase_mismatch()
1437 printk(KERN_DEBUG "mesh: unknown scsi phase %x\n", phase); in phase_mismatch()
1448 volatile struct mesh_regs __iomem *mr = ms->mesh; in cmd_complete()
1487 * to get the MESH to drop ACK, wait until REQ gets in cmd_complete()
1509 printk(KERN_ERR "mesh: error %x in msg_out\n", in cmd_complete()
1515 printk(KERN_ERR "mesh: exc %x in msg_out\n", in cmd_complete()
1518 printk(KERN_DEBUG "mesh: bs0=%x in msg_out\n", in cmd_complete()
1545 printk(KERN_ERR "mesh: interrupt in idle phase?\n"); in cmd_complete()
1592 * occasionally the mesh actually executes the in cmd_complete()
1605 printk(KERN_DEBUG "mesh: status is %x\n", in cmd_complete()
1662 volatile struct mesh_regs __iomem *mr = ms->mesh; in DEF_SCSI_QCMD()
1710 volatile struct mesh_regs __iomem *mr = ms->mesh; in mesh_host_reset()
1824 printk(KERN_INFO "resetting MESH scsi bus(es)\n"); in mesh_shutdown()
1826 mr = ms->mesh; in mesh_shutdown()
1839 .proc_name = "mesh",
1840 .name = "MESH",
1853 struct device_node *mesh = macio_get_of_node(mdev); in mesh_probe() local
1873 printk(KERN_ERR "mesh: expected 2 addrs and 2 intrs" in mesh_probe()
1879 if (macio_request_resources(mdev, "mesh") != 0) { in mesh_probe()
1880 printk(KERN_ERR "mesh: unable to request memory resources"); in mesh_probe()
1885 printk(KERN_ERR "mesh: couldn't register host"); in mesh_probe()
1891 note_scsi_host(mesh, mesh_host); in mesh_probe()
1902 ms->mesh = ioremap(macio_resource_start(mdev, 0), 0x1000); in mesh_probe()
1903 if (ms->mesh == NULL) { in mesh_probe()
1904 printk(KERN_ERR "mesh: can't map registers\n"); in mesh_probe()
1909 printk(KERN_ERR "mesh: can't map registers\n"); in mesh_probe()
1910 iounmap(ms->mesh); in mesh_probe()
1929 printk(KERN_ERR "mesh: can't allocate DMA table\n"); in mesh_probe()
1944 if ((cfp = of_get_property(mesh, "clock-frequency", NULL))) in mesh_probe()
1947 printk(KERN_INFO "mesh: assuming 50MHz clock frequency\n"); in mesh_probe()
1965 if (request_irq(ms->meshintr, do_mesh_interrupt, 0, "MESH", ms)) { in mesh_probe()
1966 printk(KERN_ERR "MESH: can't get irq %d\n", ms->meshintr); in mesh_probe()
1989 iounmap(ms->mesh); in mesh_probe()
2014 iounmap(ms->mesh); in mesh_remove()
2033 .name = "mesh",
2046 .name = "mesh",
2067 printk(KERN_INFO "mesh: configured for synchronous %d MB/s\n", sync_rate); in init_mesh()
2071 printk(KERN_INFO "mesh: configured for asynchronous\n"); in init_mesh()