Lines Matching refs:mscp
178 struct mscp { struct
259 struct mscp mscp[ULTRASTOR_MAX_CMDS]; member
293 static inline void build_sg_list(struct mscp *, struct scsi_cmnd *SCpnt);
343 fmt[21 + i*2] = '0' + config->mscp[i].target_id; in log_ultrastor_abort()
349 printk(fmt, command, &config->mscp[command], config->mscp_free); in log_ultrastor_abort()
515 …if (request_irq(config.interrupt, do_ultrastor_interrupt, 0, "Ultrastor", &config.mscp[0].SCint->d… in ultrastor_14f_detect()
684 static inline void build_sg_list(struct mscp *mscp, struct scsi_cmnd *SCpnt) in build_sg_list() argument
692 mscp->sglist[i].address = isa_page_to_bus(sg_page(sg)) + sg->offset; in build_sg_list()
693 mscp->sglist[i].num_bytes = sg->length; in build_sg_list()
696 mscp->number_of_sg_list = max; in build_sg_list()
697 mscp->transfer_data = isa_virt_to_bus(mscp->sglist); in build_sg_list()
701 mscp->transfer_data_length = transfer_length; in build_sg_list()
707 struct mscp *my_mscp; in ultrastor_queuecommand_lck()
725 my_mscp = &config.mscp[mscp_index]; in ultrastor_queuecommand_lck()
866 mscp_index = ((struct mscp *)SCpnt->host_scribble) - config.mscp; in DEF_SCSI_QCMD()
925 outl(isa_virt_to_bus(&config.mscp[mscp_index]), config.ogm_address); in DEF_SCSI_QCMD()
953 if (config.mscp[mscp_index].SCint != SCpnt) in DEF_SCSI_QCMD()
955 config.mscp[mscp_index].SCint, SCpnt); in DEF_SCSI_QCMD()
957 if (config.mscp[mscp_index].SCint == NULL) in DEF_SCSI_QCMD()
960 if (config.mscp[mscp_index].SCint != SCpnt) panic("Bad abort"); in DEF_SCSI_QCMD()
961 config.mscp[mscp_index].SCint = NULL; in DEF_SCSI_QCMD()
962 done = config.mscp[mscp_index].done; in DEF_SCSI_QCMD()
963 config.mscp[mscp_index].done = NULL; in DEF_SCSI_QCMD()
997 if (config.mscp_busy && config.mscp->done && config.mscp->SCint) in ultrastor_host_reset()
999 config.mscp->SCint->result = DID_RESET << 16; in ultrastor_host_reset()
1000 config.mscp->done(config.mscp->SCint); in ultrastor_host_reset()
1002 config.mscp->SCint = 0; in ultrastor_host_reset()
1007 config.mscp[i].done && config.mscp[i].SCint) in ultrastor_host_reset()
1009 config.mscp[i].SCint->result = DID_RESET << 16; in ultrastor_host_reset()
1010 config.mscp[i].done(config.mscp[i].SCint); in ultrastor_host_reset()
1011 config.mscp[i].done = NULL; in ultrastor_host_reset()
1013 config.mscp[i].SCint = NULL; in ultrastor_host_reset()
1057 struct mscp *mscp; in ultrastor_interrupt() local
1062 mscp = &config.mscp[0]; in ultrastor_interrupt()
1064 mscp = (struct mscp *)isa_bus_to_virt(inl(config.icm_address)); in ultrastor_interrupt()
1065 mscp_index = mscp - config.mscp; in ultrastor_interrupt()
1067 printk("Ux4F interrupt: bad MSCP address %x\n", (unsigned int) mscp); in ultrastor_interrupt()
1081 mscp_index, (unsigned int) mscp); in ultrastor_interrupt()
1092 void (*done)(struct scsi_cmnd *) = mscp->done; in ultrastor_interrupt()
1094 mscp->done = NULL; in ultrastor_interrupt()
1095 mscp->SCint->result = DID_ABORT << 16; in ultrastor_interrupt()
1096 done(mscp->SCint); in ultrastor_interrupt()
1104 SCtmp = mscp->SCint; in ultrastor_interrupt()
1105 mscp->SCint = NULL; in ultrastor_interrupt()
1110 printk("MSCP %d (%x): no command\n", mscp_index, (unsigned int) mscp); in ultrastor_interrupt()
1124 done = mscp->done; in ultrastor_interrupt()
1125 mscp->done = NULL; in ultrastor_interrupt()
1128 switch (mscp->adapter_status) in ultrastor_interrupt()
1147 SCtmp->result = status | mscp->target_status; in ultrastor_interrupt()
1161 mscp_index, (unsigned int) mscp, config.aborted[mscp_index]); in ultrastor_interrupt()