Lines Matching refs:num
946 int num, port_a; in inquiry_evpd_83() local
957 num = 8 + 16 + dev_id_str_len; in inquiry_evpd_83()
958 arr[3] = num; in inquiry_evpd_83()
959 num += 4; in inquiry_evpd_83()
962 arr[num++] = 0x1; /* binary (not necessarily sas) */ in inquiry_evpd_83()
963 arr[num++] = 0x3; /* PIV=0, lu, naa */ in inquiry_evpd_83()
964 arr[num++] = 0x0; in inquiry_evpd_83()
965 arr[num++] = 0x8; in inquiry_evpd_83()
966 arr[num++] = 0x53; /* naa-5 ieee company id=0x333333 (fake) */ in inquiry_evpd_83()
967 arr[num++] = 0x33; in inquiry_evpd_83()
968 arr[num++] = 0x33; in inquiry_evpd_83()
969 arr[num++] = 0x30; in inquiry_evpd_83()
970 arr[num++] = (dev_id_num >> 24); in inquiry_evpd_83()
971 arr[num++] = (dev_id_num >> 16) & 0xff; in inquiry_evpd_83()
972 arr[num++] = (dev_id_num >> 8) & 0xff; in inquiry_evpd_83()
973 arr[num++] = dev_id_num & 0xff; in inquiry_evpd_83()
975 arr[num++] = 0x61; /* proto=sas, binary */ in inquiry_evpd_83()
976 arr[num++] = 0x94; /* PIV=1, target port, rel port */ in inquiry_evpd_83()
977 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_83()
978 arr[num++] = 0x4; /* length */ in inquiry_evpd_83()
979 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_83()
980 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_83()
981 arr[num++] = 0x0; in inquiry_evpd_83()
982 arr[num++] = 0x1; /* relative port A */ in inquiry_evpd_83()
985 arr[num++] = 0x61; /* proto=sas, binary */ in inquiry_evpd_83()
986 arr[num++] = 0x93; /* piv=1, target port, naa */ in inquiry_evpd_83()
987 arr[num++] = 0x0; in inquiry_evpd_83()
988 arr[num++] = 0x8; in inquiry_evpd_83()
989 arr[num++] = 0x52; /* naa-5, company id=0x222222 (fake) */ in inquiry_evpd_83()
990 arr[num++] = 0x22; in inquiry_evpd_83()
991 arr[num++] = 0x22; in inquiry_evpd_83()
992 arr[num++] = 0x20; in inquiry_evpd_83()
993 arr[num++] = (port_a >> 24); in inquiry_evpd_83()
994 arr[num++] = (port_a >> 16) & 0xff; in inquiry_evpd_83()
995 arr[num++] = (port_a >> 8) & 0xff; in inquiry_evpd_83()
996 arr[num++] = port_a & 0xff; in inquiry_evpd_83()
998 arr[num++] = 0x61; /* proto=sas, binary */ in inquiry_evpd_83()
999 arr[num++] = 0x95; /* piv=1, target port group id */ in inquiry_evpd_83()
1000 arr[num++] = 0x0; in inquiry_evpd_83()
1001 arr[num++] = 0x4; in inquiry_evpd_83()
1002 arr[num++] = 0; in inquiry_evpd_83()
1003 arr[num++] = 0; in inquiry_evpd_83()
1004 arr[num++] = (port_group_id >> 8) & 0xff; in inquiry_evpd_83()
1005 arr[num++] = port_group_id & 0xff; in inquiry_evpd_83()
1007 arr[num++] = 0x61; /* proto=sas, binary */ in inquiry_evpd_83()
1008 arr[num++] = 0xa3; /* piv=1, target device, naa */ in inquiry_evpd_83()
1009 arr[num++] = 0x0; in inquiry_evpd_83()
1010 arr[num++] = 0x8; in inquiry_evpd_83()
1011 arr[num++] = 0x52; /* naa-5, company id=0x222222 (fake) */ in inquiry_evpd_83()
1012 arr[num++] = 0x22; in inquiry_evpd_83()
1013 arr[num++] = 0x22; in inquiry_evpd_83()
1014 arr[num++] = 0x20; in inquiry_evpd_83()
1015 arr[num++] = (target_dev_id >> 24); in inquiry_evpd_83()
1016 arr[num++] = (target_dev_id >> 16) & 0xff; in inquiry_evpd_83()
1017 arr[num++] = (target_dev_id >> 8) & 0xff; in inquiry_evpd_83()
1018 arr[num++] = target_dev_id & 0xff; in inquiry_evpd_83()
1020 arr[num++] = 0x63; /* proto=sas, UTF-8 */ in inquiry_evpd_83()
1021 arr[num++] = 0xa8; /* piv=1, target device, SCSI name string */ in inquiry_evpd_83()
1022 arr[num++] = 0x0; in inquiry_evpd_83()
1023 arr[num++] = 24; in inquiry_evpd_83()
1024 memcpy(arr + num, "naa.52222220", 12); in inquiry_evpd_83()
1025 num += 12; in inquiry_evpd_83()
1027 memcpy(arr + num, b, 8); in inquiry_evpd_83()
1028 num += 8; in inquiry_evpd_83()
1029 memset(arr + num, 0, 4); in inquiry_evpd_83()
1030 num += 4; in inquiry_evpd_83()
1031 return num; in inquiry_evpd_83()
1051 int num = 0; in inquiry_evpd_85() local
1056 arr[num++] = 0x1; /* lu, storage config */ in inquiry_evpd_85()
1057 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_85()
1058 arr[num++] = 0x0; in inquiry_evpd_85()
1063 arr[num++] = plen; /* length, null termianted, padded */ in inquiry_evpd_85()
1064 memcpy(arr + num, na1, olen); in inquiry_evpd_85()
1065 memset(arr + num + olen, 0, plen - olen); in inquiry_evpd_85()
1066 num += plen; in inquiry_evpd_85()
1068 arr[num++] = 0x4; /* lu, logging */ in inquiry_evpd_85()
1069 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_85()
1070 arr[num++] = 0x0; in inquiry_evpd_85()
1075 arr[num++] = plen; /* length, null terminated, padded */ in inquiry_evpd_85()
1076 memcpy(arr + num, na2, olen); in inquiry_evpd_85()
1077 memset(arr + num + olen, 0, plen - olen); in inquiry_evpd_85()
1078 num += plen; in inquiry_evpd_85()
1080 return num; in inquiry_evpd_85()
1086 int num = 0; in inquiry_evpd_88() local
1091 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_88()
1092 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_88()
1093 arr[num++] = 0x0; in inquiry_evpd_88()
1094 arr[num++] = 0x1; /* relative port 1 (primary) */ in inquiry_evpd_88()
1095 memset(arr + num, 0, 6); in inquiry_evpd_88()
1096 num += 6; in inquiry_evpd_88()
1097 arr[num++] = 0x0; in inquiry_evpd_88()
1098 arr[num++] = 12; /* length tp descriptor */ in inquiry_evpd_88()
1100 arr[num++] = 0x61; /* proto=sas, binary */ in inquiry_evpd_88()
1101 arr[num++] = 0x93; /* PIV=1, target port, NAA */ in inquiry_evpd_88()
1102 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_88()
1103 arr[num++] = 0x8; /* length */ in inquiry_evpd_88()
1104 arr[num++] = 0x52; /* NAA-5, company_id=0x222222 (fake) */ in inquiry_evpd_88()
1105 arr[num++] = 0x22; in inquiry_evpd_88()
1106 arr[num++] = 0x22; in inquiry_evpd_88()
1107 arr[num++] = 0x20; in inquiry_evpd_88()
1108 arr[num++] = (port_a >> 24); in inquiry_evpd_88()
1109 arr[num++] = (port_a >> 16) & 0xff; in inquiry_evpd_88()
1110 arr[num++] = (port_a >> 8) & 0xff; in inquiry_evpd_88()
1111 arr[num++] = port_a & 0xff; in inquiry_evpd_88()
1113 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_88()
1114 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_88()
1115 arr[num++] = 0x0; in inquiry_evpd_88()
1116 arr[num++] = 0x2; /* relative port 2 (secondary) */ in inquiry_evpd_88()
1117 memset(arr + num, 0, 6); in inquiry_evpd_88()
1118 num += 6; in inquiry_evpd_88()
1119 arr[num++] = 0x0; in inquiry_evpd_88()
1120 arr[num++] = 12; /* length tp descriptor */ in inquiry_evpd_88()
1122 arr[num++] = 0x61; /* proto=sas, binary */ in inquiry_evpd_88()
1123 arr[num++] = 0x93; /* PIV=1, target port, NAA */ in inquiry_evpd_88()
1124 arr[num++] = 0x0; /* reserved */ in inquiry_evpd_88()
1125 arr[num++] = 0x8; /* length */ in inquiry_evpd_88()
1126 arr[num++] = 0x52; /* NAA-5, company_id=0x222222 (fake) */ in inquiry_evpd_88()
1127 arr[num++] = 0x22; in inquiry_evpd_88()
1128 arr[num++] = 0x22; in inquiry_evpd_88()
1129 arr[num++] = 0x20; in inquiry_evpd_88()
1130 arr[num++] = (port_b >> 24); in inquiry_evpd_88()
1131 arr[num++] = (port_b >> 16) & 0xff; in inquiry_evpd_88()
1132 arr[num++] = (port_b >> 8) & 0xff; in inquiry_evpd_88()
1133 arr[num++] = port_b & 0xff; in inquiry_evpd_88()
1135 return num; in inquiry_evpd_88()
2345 unsigned long long lba, unsigned int num) in check_device_access_params() argument
2347 if (lba + num > sdebug_capacity) { in check_device_access_params()
2352 if (num > sdebug_store_sectors) { in check_device_access_params()
2362 do_device_access(struct scsi_cmnd *scmd, u64 lba, u32 num, bool do_write) in do_device_access() argument
2383 if (block + num > sdebug_store_sectors) in do_device_access()
2384 rest = block + num - sdebug_store_sectors; in do_device_access()
2388 (num - rest) * scsi_debug_sector_size, 0, do_write); in do_device_access()
2389 if (ret != (num - rest) * scsi_debug_sector_size) in do_device_access()
2395 (num - rest) * scsi_debug_sector_size, do_write); in do_device_access()
2405 comp_write_worker(u64 lba, u32 num, const u8 *arr) in comp_write_worker() argument
2413 if (block + num > store_blks) in comp_write_worker()
2414 rest = block + num - store_blks; in comp_write_worker()
2417 (num - rest) * lb_size); in comp_write_worker()
2421 res = memcmp(fake_storep, arr + ((num - rest) * lb_size), in comp_write_worker()
2425 arr += num * lb_size; in comp_write_worker()
2426 memcpy(fake_storep + (block * lb_size), arr, (num - rest) * lb_size); in comp_write_worker()
2428 memcpy(fake_storep, arr + ((num - rest) * lb_size), in comp_write_worker()
2549 u32 num; in resp_read_dt0() local
2559 num = get_unaligned_be32(cmd + 10); in resp_read_dt0()
2565 num = get_unaligned_be16(cmd + 7); in resp_read_dt0()
2572 num = (0 == cmd[4]) ? 256 : cmd[4]; in resp_read_dt0()
2578 num = get_unaligned_be32(cmd + 6); in resp_read_dt0()
2584 num = get_unaligned_be16(cmd + 7); in resp_read_dt0()
2590 num = get_unaligned_be32(cmd + 28); in resp_read_dt0()
2610 num /= 2; in resp_read_dt0()
2614 if (lba + num > sdebug_capacity) { in resp_read_dt0()
2619 if (num > sdebug_store_sectors) { in resp_read_dt0()
2627 ((lba + num) > OPT_MEDIUM_ERR_ADDR)) { in resp_read_dt0()
2645 int prot_ret = prot_verify_read(scp, lba, num, ei_lba); in resp_read_dt0()
2654 ret = do_device_access(scp, lba, num, false); in resp_read_dt0()
2801 static unsigned int map_state(sector_t lba, unsigned int *num) in map_state() argument
2817 *num = end - lba; in map_state()
2868 u32 num; in resp_write_dt0() local
2878 num = get_unaligned_be32(cmd + 10); in resp_write_dt0()
2884 num = get_unaligned_be16(cmd + 7); in resp_write_dt0()
2891 num = (0 == cmd[4]) ? 256 : cmd[4]; in resp_write_dt0()
2897 num = get_unaligned_be32(cmd + 6); in resp_write_dt0()
2903 num = get_unaligned_be16(cmd + 7); in resp_write_dt0()
2909 num = get_unaligned_be32(cmd + 28); in resp_write_dt0()
2927 if (lba + num > sdebug_capacity) { in resp_write_dt0()
2932 if (num > sdebug_store_sectors) { in resp_write_dt0()
2942 int prot_ret = prot_verify_write(scp, lba, num, ei_lba); in resp_write_dt0()
2951 ret = do_device_access(scp, lba, num, true); in resp_write_dt0()
2953 map_region(lba, num); in resp_write_dt0()
2957 else if ((ret < (num * scsi_debug_sector_size)) && in resp_write_dt0()
2961 my_name, num * scsi_debug_sector_size, ret); in resp_write_dt0()
2983 resp_write_same(struct scsi_cmnd *scp, u64 lba, u32 num, u32 ei_lba, in resp_write_same() argument
2990 ret = check_device_access_params(scp, lba, num); in resp_write_same()
2997 unmap_region(lba, num); in resp_write_same()
3014 } else if ((ret < (num * scsi_debug_sector_size)) && in resp_write_same()
3019 num * scsi_debug_sector_size, ret); in resp_write_same()
3022 for (i = 1 ; i < num ; i++) in resp_write_same()
3028 map_region(lba, num); in resp_write_same()
3040 u16 num; in resp_write_same_10() local
3052 num = get_unaligned_be16(cmd + 7); in resp_write_same_10()
3053 if (num > scsi_debug_write_same_length) { in resp_write_same_10()
3057 return resp_write_same(scp, lba, num, ei_lba, unmap, false); in resp_write_same_10()
3065 u32 num; in resp_write_same_16() local
3080 num = get_unaligned_be32(cmd + 10); in resp_write_same_16()
3081 if (num > scsi_debug_write_same_length) { in resp_write_same_16()
3085 return resp_write_same(scp, lba, num, ei_lba, unmap, ndob); in resp_write_same_16()
3146 u8 num; in resp_comp_write() local
3152 num = cmd[13]; /* 1 to a maximum of 255 logical blocks */ in resp_comp_write()
3153 if (0 == num) in resp_comp_write()
3167 if (lba + num > sdebug_capacity) { in resp_comp_write()
3172 if (num > sdebug_store_sectors) { in resp_comp_write()
3177 dnum = 2 * num; in resp_comp_write()
3201 if (!comp_write_worker(lba, num, arr)) { in resp_comp_write()
3207 map_region(lba, num); in resp_comp_write()
3259 unsigned int num = get_unaligned_be32(&desc[i].blocks); in resp_unmap() local
3261 ret = check_device_access_params(scp, lba, num); in resp_unmap()
3265 unmap_region(lba, num); in resp_unmap()
3284 u32 alloc_len, mapped, num; in resp_get_lba_status() local
3299 mapped = map_state(lba, &num); in resp_get_lba_status()
3305 num = sdebug_capacity - lba; in resp_get_lba_status()
3307 num = 0xffffffff; in resp_get_lba_status()
3313 put_unaligned_be32(num, arr + 16); /* Number of blocks */ in resp_get_lba_status()
3325 int lun_cnt, i, upper, num, n, want_wlun, shortish; in resp_report_luns() local
3348 num = lun_cnt + want_wlun; in resp_report_luns()
3349 arr[2] = ((sizeof(struct scsi_lun) * num) >> 8) & 0xff; in resp_report_luns()
3350 arr[3] = (sizeof(struct scsi_lun) * num) & 0xff; in resp_report_luns()
3352 sizeof(struct scsi_lun)), num); in resp_report_luns()
3353 if (n < num) { in resp_report_luns()
3379 unsigned int num, struct sdebug_dev_info *devip) in resp_xdwriteread() argument
3419 u32 num; in resp_xdwriteread_10() local
3436 num = get_unaligned_be16(cmd + 7); in resp_xdwriteread_10()
3437 return resp_xdwriteread(scp, lba, num, devip); in resp_xdwriteread_10()