Lines Matching refs:rbuf

1952 		unsigned int (*actor)(struct ata_scsi_args *args, u8 *rbuf))  in ata_scsi_rbuf_fill()  argument
1954 u8 *rbuf; in ata_scsi_rbuf_fill() local
1959 rbuf = ata_scsi_rbuf_get(cmd, false, &flags); in ata_scsi_rbuf_fill()
1960 rc = actor(args, rbuf); in ata_scsi_rbuf_fill()
1979 static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_std() argument
2027 memcpy(rbuf, hdr, sizeof(hdr)); in ata_scsiop_inq_std()
2028 memcpy(&rbuf[8], "ATA ", 8); in ata_scsiop_inq_std()
2029 ata_id_string(args->id, &rbuf[16], ATA_ID_PROD, 16); in ata_scsiop_inq_std()
2032 ata_id_string(args->id, &rbuf[32], ATA_ID_FW_REV + 2, 4); in ata_scsiop_inq_std()
2033 if (strncmp(&rbuf[32], " ", 4) == 0) in ata_scsiop_inq_std()
2034 ata_id_string(args->id, &rbuf[32], ATA_ID_FW_REV, 4); in ata_scsiop_inq_std()
2036 if (rbuf[32] == 0 || rbuf[32] == ' ') in ata_scsiop_inq_std()
2037 memcpy(&rbuf[32], "n/a ", 4); in ata_scsiop_inq_std()
2040 memcpy(rbuf + 58, versions_zbc, sizeof(versions_zbc)); in ata_scsiop_inq_std()
2042 memcpy(rbuf + 58, versions, sizeof(versions)); in ata_scsiop_inq_std()
2057 static unsigned int ata_scsiop_inq_00(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_00() argument
2069 rbuf[3] = sizeof(pages); /* number of supported VPD pages */ in ata_scsiop_inq_00()
2070 memcpy(rbuf + 4, pages, sizeof(pages)); in ata_scsiop_inq_00()
2084 static unsigned int ata_scsiop_inq_80(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_80() argument
2093 memcpy(rbuf, hdr, sizeof(hdr)); in ata_scsiop_inq_80()
2094 ata_id_string(args->id, (unsigned char *) &rbuf[4], in ata_scsiop_inq_80()
2112 static unsigned int ata_scsiop_inq_83(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_83() argument
2117 rbuf[1] = 0x83; /* this page code */ in ata_scsiop_inq_83()
2121 rbuf[num + 0] = 2; in ata_scsiop_inq_83()
2122 rbuf[num + 3] = ATA_ID_SERNO_LEN; in ata_scsiop_inq_83()
2124 ata_id_string(args->id, (unsigned char *) rbuf + num, in ata_scsiop_inq_83()
2130 rbuf[num + 0] = 2; in ata_scsiop_inq_83()
2131 rbuf[num + 1] = 1; in ata_scsiop_inq_83()
2132 rbuf[num + 3] = sat_model_serial_desc_len; in ata_scsiop_inq_83()
2134 memcpy(rbuf + num, "ATA ", 8); in ata_scsiop_inq_83()
2136 ata_id_string(args->id, (unsigned char *) rbuf + num, ATA_ID_PROD, in ata_scsiop_inq_83()
2139 ata_id_string(args->id, (unsigned char *) rbuf + num, ATA_ID_SERNO, in ata_scsiop_inq_83()
2146 rbuf[num + 0] = 1; in ata_scsiop_inq_83()
2147 rbuf[num + 1] = 3; in ata_scsiop_inq_83()
2148 rbuf[num + 3] = ATA_ID_WWN_LEN; in ata_scsiop_inq_83()
2150 ata_id_string(args->id, (unsigned char *) rbuf + num, in ata_scsiop_inq_83()
2154 rbuf[3] = num - 4; /* page len (assume less than 256 bytes) */ in ata_scsiop_inq_83()
2168 static unsigned int ata_scsiop_inq_89(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_89() argument
2174 rbuf[1] = 0x89; /* our page code */ in ata_scsiop_inq_89()
2175 rbuf[2] = (0x238 >> 8); /* page size fixed at 238h */ in ata_scsiop_inq_89()
2176 rbuf[3] = (0x238 & 0xff); in ata_scsiop_inq_89()
2178 memcpy(&rbuf[8], "linux ", 8); in ata_scsiop_inq_89()
2179 memcpy(&rbuf[16], "libata ", 16); in ata_scsiop_inq_89()
2180 memcpy(&rbuf[32], DRV_VERSION, 4); in ata_scsiop_inq_89()
2188 ata_tf_to_fis(&tf, 0, 1, &rbuf[36]); /* TODO: PMP? */ in ata_scsiop_inq_89()
2189 rbuf[36] = 0x34; /* force D2H Reg FIS (34h) */ in ata_scsiop_inq_89()
2191 rbuf[56] = ATA_CMD_ID_ATA; in ata_scsiop_inq_89()
2193 memcpy(&rbuf[60], &args->id[0], 512); in ata_scsiop_inq_89()
2197 static unsigned int ata_scsiop_inq_b0(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_b0() argument
2201 rbuf[1] = 0xb0; in ata_scsiop_inq_b0()
2202 rbuf[3] = 0x3c; /* required VPD size with unmap support */ in ata_scsiop_inq_b0()
2212 put_unaligned_be16(min_io_sectors, &rbuf[6]); in ata_scsiop_inq_b0()
2224 put_unaligned_be64(65535 * 512 / 8, &rbuf[36]); in ata_scsiop_inq_b0()
2225 put_unaligned_be32(1, &rbuf[28]); in ata_scsiop_inq_b0()
2231 static unsigned int ata_scsiop_inq_b1(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_b1() argument
2236 rbuf[1] = 0xb1; in ata_scsiop_inq_b1()
2237 rbuf[3] = 0x3c; in ata_scsiop_inq_b1()
2238 rbuf[4] = media_rotation_rate >> 8; in ata_scsiop_inq_b1()
2239 rbuf[5] = media_rotation_rate; in ata_scsiop_inq_b1()
2240 rbuf[7] = form_factor; in ata_scsiop_inq_b1()
2245 static unsigned int ata_scsiop_inq_b2(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_inq_b2() argument
2248 rbuf[1] = 0xb2; in ata_scsiop_inq_b2()
2249 rbuf[3] = 0x4; in ata_scsiop_inq_b2()
2250 rbuf[5] = 1 << 6; /* TPWS */ in ata_scsiop_inq_b2()
2266 static unsigned int ata_scsiop_noop(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_noop() argument
2387 static unsigned int ata_scsiop_mode_sense(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_mode_sense() argument
2390 u8 *scsicmd = args->cmd->cmnd, *p = rbuf; in ata_scsiop_mode_sense()
2463 rbuf[0] = p - rbuf - 1; in ata_scsiop_mode_sense()
2464 rbuf[2] |= dpofua; in ata_scsiop_mode_sense()
2466 rbuf[3] = sizeof(sat_blk_desc); in ata_scsiop_mode_sense()
2467 memcpy(rbuf + 4, sat_blk_desc, sizeof(sat_blk_desc)); in ata_scsiop_mode_sense()
2470 unsigned int output_len = p - rbuf - 2; in ata_scsiop_mode_sense()
2472 rbuf[0] = output_len >> 8; in ata_scsiop_mode_sense()
2473 rbuf[1] = output_len; in ata_scsiop_mode_sense()
2474 rbuf[3] |= dpofua; in ata_scsiop_mode_sense()
2476 rbuf[7] = sizeof(sat_blk_desc); in ata_scsiop_mode_sense()
2477 memcpy(rbuf + 8, sat_blk_desc, sizeof(sat_blk_desc)); in ata_scsiop_mode_sense()
2503 static unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_read_cap() argument
2522 rbuf[0] = last_lba >> (8 * 3); in ata_scsiop_read_cap()
2523 rbuf[1] = last_lba >> (8 * 2); in ata_scsiop_read_cap()
2524 rbuf[2] = last_lba >> (8 * 1); in ata_scsiop_read_cap()
2525 rbuf[3] = last_lba; in ata_scsiop_read_cap()
2528 rbuf[4] = sector_size >> (8 * 3); in ata_scsiop_read_cap()
2529 rbuf[5] = sector_size >> (8 * 2); in ata_scsiop_read_cap()
2530 rbuf[6] = sector_size >> (8 * 1); in ata_scsiop_read_cap()
2531 rbuf[7] = sector_size; in ata_scsiop_read_cap()
2534 rbuf[0] = last_lba >> (8 * 7); in ata_scsiop_read_cap()
2535 rbuf[1] = last_lba >> (8 * 6); in ata_scsiop_read_cap()
2536 rbuf[2] = last_lba >> (8 * 5); in ata_scsiop_read_cap()
2537 rbuf[3] = last_lba >> (8 * 4); in ata_scsiop_read_cap()
2538 rbuf[4] = last_lba >> (8 * 3); in ata_scsiop_read_cap()
2539 rbuf[5] = last_lba >> (8 * 2); in ata_scsiop_read_cap()
2540 rbuf[6] = last_lba >> (8 * 1); in ata_scsiop_read_cap()
2541 rbuf[7] = last_lba; in ata_scsiop_read_cap()
2544 rbuf[ 8] = sector_size >> (8 * 3); in ata_scsiop_read_cap()
2545 rbuf[ 9] = sector_size >> (8 * 2); in ata_scsiop_read_cap()
2546 rbuf[10] = sector_size >> (8 * 1); in ata_scsiop_read_cap()
2547 rbuf[11] = sector_size; in ata_scsiop_read_cap()
2549 rbuf[12] = 0; in ata_scsiop_read_cap()
2550 rbuf[13] = log2_per_phys; in ata_scsiop_read_cap()
2551 rbuf[14] = (lowest_aligned >> 8) & 0x3f; in ata_scsiop_read_cap()
2552 rbuf[15] = lowest_aligned; in ata_scsiop_read_cap()
2556 rbuf[14] |= 0x80; /* LBPME */ in ata_scsiop_read_cap()
2561 rbuf[14] |= 0x40; /* LBPRZ */ in ata_scsiop_read_cap()
2578 static unsigned int ata_scsiop_report_luns(struct ata_scsi_args *args, u8 *rbuf) in ata_scsiop_report_luns() argument
2581 rbuf[3] = 8; /* just one lun, LUN 0, size 8 bytes */ in ata_scsiop_report_luns()