Lines Matching refs:scsi_pointer
118 static struct scsi_pointer *fdomain_scsi_pointer(struct scsi_cmnd *cmd)
271 struct scsi_pointer *scsi_pointer = fdomain_scsi_pointer(cmd);
278 if (scsi_pointer->phase & in_arbitration) {
285 scsi_pointer->phase = in_selection;
294 } else if (scsi_pointer->phase & in_selection) {
306 scsi_pointer->phase = in_other;
318 outb(cmd->cmnd[scsi_pointer->sent_command++],
322 if (fd->chip != tmc1800 && !scsi_pointer->have_data_in) {
323 scsi_pointer->have_data_in = -1;
329 if (fd->chip != tmc1800 && !scsi_pointer->have_data_in) {
330 scsi_pointer->have_data_in = 1;
336 scsi_pointer->Status = inb(fd->base + REG_SCSI_DATA);
342 scsi_pointer->Message = inb(fd->base + REG_SCSI_DATA);
343 if (scsi_pointer->Message == COMMAND_COMPLETE)
349 if (fd->chip == tmc1800 && !scsi_pointer->have_data_in &&
350 scsi_pointer->sent_command >= cmd->cmd_len) {
352 scsi_pointer->have_data_in = -1;
356 scsi_pointer->have_data_in = 1;
362 if (scsi_pointer->have_data_in == -1) /* DATA OUT */
365 if (scsi_pointer->have_data_in == 1) /* DATA IN */
369 set_status_byte(cmd, scsi_pointer->Status);
371 scsi_msg_to_host_byte(cmd, scsi_pointer->Message);
374 if (scsi_pointer->phase & disconnect) {
407 struct scsi_pointer *scsi_pointer = fdomain_scsi_pointer(cmd);
411 scsi_pointer->Status = 0;
412 scsi_pointer->Message = 0;
413 scsi_pointer->have_data_in = 0;
414 scsi_pointer->sent_command = 0;
415 scsi_pointer->phase = in_arbitration;
511 .cmd_size = sizeof(struct scsi_pointer),