Lines Matching full:pi
7 #include <linux/t10-pi.h>
44 struct t10_pi_tuple *pi = iter->prot_buf + offset; in t10_pi_generate() local
46 pi->guard_tag = t10_pi_csum(0, iter->data_buf, iter->interval, in t10_pi_generate()
49 pi->guard_tag = t10_pi_csum(pi->guard_tag, in t10_pi_generate()
51 pi->app_tag = 0; in t10_pi_generate()
54 pi->ref_tag = cpu_to_be32(lower_32_bits(iter->seed)); in t10_pi_generate()
56 pi->ref_tag = 0; in t10_pi_generate()
71 struct t10_pi_tuple *pi = iter->prot_buf + offset; in t10_pi_verify() local
75 if (pi->app_tag == T10_PI_APP_ESCAPE) in t10_pi_verify()
78 if (be32_to_cpu(pi->ref_tag) != in t10_pi_verify()
83 iter->seed, be32_to_cpu(pi->ref_tag)); in t10_pi_verify()
87 if (pi->app_tag == T10_PI_APP_ESCAPE && in t10_pi_verify()
88 pi->ref_tag == T10_PI_REF_ESCAPE) in t10_pi_verify()
98 if (pi->guard_tag != csum) { in t10_pi_verify()
102 be16_to_cpu(pi->guard_tag), be16_to_cpu(csum)); in t10_pi_verify()
116 * t10_pi_type1_prepare - prepare PI prior submitting request to device
117 * @rq: request with PI that should be prepared
149 struct t10_pi_tuple *pi = p + offset; in t10_pi_type1_prepare() local
151 if (be32_to_cpu(pi->ref_tag) == virt) in t10_pi_type1_prepare()
152 pi->ref_tag = cpu_to_be32(ref_tag); in t10_pi_type1_prepare()
165 * t10_pi_type1_complete - prepare PI prior returning request to the blk layer
166 * @rq: request with PI that should be prepared
197 struct t10_pi_tuple *pi = p + offset; in t10_pi_type1_complete() local
199 if (be32_to_cpu(pi->ref_tag) == ref_tag) in t10_pi_type1_complete()
200 pi->ref_tag = cpu_to_be32(virt); in t10_pi_type1_complete()
223 struct crc64_pi_tuple *pi = iter->prot_buf + offset; in ext_pi_crc64_generate() local
225 pi->guard_tag = ext_pi_crc64(0, iter->data_buf, iter->interval); in ext_pi_crc64_generate()
227 pi->guard_tag = ext_pi_crc64(be64_to_cpu(pi->guard_tag), in ext_pi_crc64_generate()
229 pi->app_tag = 0; in ext_pi_crc64_generate()
232 put_unaligned_be48(iter->seed, pi->ref_tag); in ext_pi_crc64_generate()
234 put_unaligned_be48(0ULL, pi->ref_tag); in ext_pi_crc64_generate()
256 struct crc64_pi_tuple *pi = iter->prot_buf + offset; in ext_pi_crc64_verify() local
261 if (pi->app_tag == T10_PI_APP_ESCAPE) in ext_pi_crc64_verify()
264 ref = get_unaligned_be48(pi->ref_tag); in ext_pi_crc64_verify()
272 if (pi->app_tag == T10_PI_APP_ESCAPE && in ext_pi_crc64_verify()
273 ext_pi_ref_escape(pi->ref_tag)) in ext_pi_crc64_verify()
282 if (pi->guard_tag != csum) { in ext_pi_crc64_verify()
286 be64_to_cpu(pi->guard_tag), be64_to_cpu(csum)); in ext_pi_crc64_verify()
323 struct crc64_pi_tuple *pi = p + offset; in ext_pi_type1_prepare() local
324 u64 ref = get_unaligned_be48(pi->ref_tag); in ext_pi_type1_prepare()
327 put_unaligned_be48(ref_tag, pi->ref_tag); in ext_pi_type1_prepare()
360 struct crc64_pi_tuple *pi = p + offset; in ext_pi_type1_complete() local
361 u64 ref = get_unaligned_be48(pi->ref_tag); in ext_pi_type1_complete()
364 put_unaligned_be48(virt, pi->ref_tag); in ext_pi_type1_complete()