rio2 221 drivers/scsi/aacraid/aachba.c struct aac_raw_io2 *rio2, int sg_max); rio2 225 drivers/scsi/aacraid/aachba.c static int aac_convert_sgraw2(struct aac_raw_io2 *rio2, rio2 4040 drivers/scsi/aacraid/aachba.c struct aac_raw_io2 *rio2, int sg_max) rio2 4057 drivers/scsi/aacraid/aachba.c rio2->sge[i].addrHigh = cpu_to_le32((u32)(addr>>32)); rio2 4058 drivers/scsi/aacraid/aachba.c rio2->sge[i].addrLow = cpu_to_le32((u32)(addr & 0xffffffff)); rio2 4060 drivers/scsi/aacraid/aachba.c rio2->sge[i].length = cur_size; rio2 4061 drivers/scsi/aacraid/aachba.c rio2->sge[i].flags = 0; rio2 4064 drivers/scsi/aacraid/aachba.c rio2->sgeFirstSize = cur_size; rio2 4066 drivers/scsi/aacraid/aachba.c rio2->sgeNominalSize = cur_size; rio2 4068 drivers/scsi/aacraid/aachba.c } else if ((i+1) < nseg && cur_size != rio2->sgeNominalSize) { rio2 4078 drivers/scsi/aacraid/aachba.c u32 temp = le32_to_cpu(rio2->sge[i-1].length) - rio2 4080 drivers/scsi/aacraid/aachba.c rio2->sge[i-1].length = cpu_to_le32(temp); rio2 4084 drivers/scsi/aacraid/aachba.c rio2->sgeCnt = cpu_to_le32(nseg); rio2 4085 drivers/scsi/aacraid/aachba.c rio2->flags |= cpu_to_le16(RIO2_SG_FORMAT_IEEE1212); rio2 4093 drivers/scsi/aacraid/aachba.c if (rio2->sge[j].length % (i*PAGE_SIZE)) { rio2 4097 drivers/scsi/aacraid/aachba.c nseg_new += (rio2->sge[j].length / (i*PAGE_SIZE)); rio2 4103 drivers/scsi/aacraid/aachba.c int ret = aac_convert_sgraw2(rio2, i, nseg, nseg_new); rio2 4109 drivers/scsi/aacraid/aachba.c rio2->flags |= cpu_to_le16(RIO2_SGL_CONFORMANT); rio2 4120 drivers/scsi/aacraid/aachba.c static int aac_convert_sgraw2(struct aac_raw_io2 *rio2, int pages, int nseg, int nseg_new) rio2 4134 drivers/scsi/aacraid/aachba.c for (j = 0; j < rio2->sge[i].length / (pages * PAGE_SIZE); ++j) { rio2 4135 drivers/scsi/aacraid/aachba.c addr_low = rio2->sge[i].addrLow + j * pages * PAGE_SIZE; rio2 4137 drivers/scsi/aacraid/aachba.c sge[pos].addrHigh = rio2->sge[i].addrHigh; rio2 4138 drivers/scsi/aacraid/aachba.c if (addr_low < rio2->sge[i].addrLow) rio2 4145 drivers/scsi/aacraid/aachba.c sge[pos] = rio2->sge[nseg-1]; rio2 4146 drivers/scsi/aacraid/aachba.c memcpy(&rio2->sge[1], &sge[1], (nseg_new-1)*sizeof(struct sge_ieee1212)); rio2 4149 drivers/scsi/aacraid/aachba.c rio2->sgeCnt = cpu_to_le32(nseg_new); rio2 4150 drivers/scsi/aacraid/aachba.c rio2->flags |= cpu_to_le16(RIO2_SGL_CONFORMANT); rio2 4151 drivers/scsi/aacraid/aachba.c rio2->sgeNominalSize = pages * PAGE_SIZE;