Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dfb104ff authored by Boaz Harrosh's avatar Boaz Harrosh Committed by James Bottomley
Browse files

[SCSI] qlogicpti: convert to accessors and !use_sg cleanup



 - convert to accessors and !use_sg cleanup

Signed-off-by: default avatarBoaz Harrosh <bharrosh@panasas.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent ee0ae927
Loading
Loading
Loading
Loading
+7 −22
Original line number Diff line number Diff line
@@ -871,11 +871,12 @@ static inline int load_cmd(struct scsi_cmnd *Cmnd, struct Command_Entry *cmd,
	struct scatterlist *sg, *s;
	int i, n;

	if (Cmnd->use_sg) {
	if (scsi_bufflen(Cmnd)) {
		int sg_count;

		sg = (struct scatterlist *) Cmnd->request_buffer;
		sg_count = sbus_map_sg(qpti->sdev, sg, Cmnd->use_sg, Cmnd->sc_data_direction);
		sg = scsi_sglist(Cmnd);
		sg_count = sbus_map_sg(qpti->sdev, sg, scsi_sg_count(Cmnd),
		                                      Cmnd->sc_data_direction);

		ds = cmd->dataseg;
		cmd->segment_cnt = sg_count;
@@ -914,16 +915,6 @@ static inline int load_cmd(struct scsi_cmnd *Cmnd, struct Command_Entry *cmd,
			}
			sg_count -= n;
		}
	} else if (Cmnd->request_bufflen) {
		Cmnd->SCp.ptr = (char *)(unsigned long)
			sbus_map_single(qpti->sdev,
					Cmnd->request_buffer,
					Cmnd->request_bufflen,
					Cmnd->sc_data_direction);

		cmd->dataseg[0].d_base = (u32) ((unsigned long)Cmnd->SCp.ptr);
		cmd->dataseg[0].d_count = Cmnd->request_bufflen;
		cmd->segment_cnt = 1;
	} else {
		cmd->dataseg[0].d_base = 0;
		cmd->dataseg[0].d_count = 0;
@@ -1159,17 +1150,11 @@ static struct scsi_cmnd *qlogicpti_intr_handler(struct qlogicpti *qpti)
		else
			Cmnd->result = DID_ERROR << 16;

		if (Cmnd->use_sg) {
		if (scsi_bufflen(Cmnd))
			sbus_unmap_sg(qpti->sdev,
				      (struct scatterlist *)Cmnd->request_buffer,
				      Cmnd->use_sg,
				      scsi_sglist(Cmnd), scsi_sg_count(Cmnd),
				      Cmnd->sc_data_direction);
		} else if (Cmnd->request_bufflen) {
			sbus_unmap_single(qpti->sdev,
					  (__u32)((unsigned long)Cmnd->SCp.ptr),
					  Cmnd->request_bufflen,
					  Cmnd->sc_data_direction);
		}

		qpti->cmd_count[Cmnd->device->id]--;
		sbus_writew(out_ptr, qpti->qregs + MBOX5);
		Cmnd->host_scribble = (unsigned char *) done_queue;