Lines Matching refs:crc8

104 		struct cgw_csum_crc8 crc8;
109 void (*crc8)(struct canfd_frame *cf,
110 struct cgw_csum_crc8 *crc8);
303 struct cgw_csum_crc8 *crc8)
305 int from = calc_idx(crc8->from_idx, cf->len);
306 int to = calc_idx(crc8->to_idx, cf->len);
307 int res = calc_idx(crc8->result_idx, cf->len);
308 u8 crc = crc8->init_crc_val;
315 for (i = crc8->from_idx; i <= crc8->to_idx; i++)
316 crc = crc8->crctab[crc ^ cf->data[i]];
318 for (i = crc8->from_idx; i >= crc8->to_idx; i--)
319 crc = crc8->crctab[crc ^ cf->data[i]];
322 switch (crc8->profile) {
324 crc = crc8->crctab[crc ^ crc8->profile_data[0]];
328 crc = crc8->crctab[crc ^ crc8->profile_data[cf->data[1] & 0xF]];
332 crc = crc8->crctab[crc ^ (cf->can_id & 0xFF) ^
337 cf->data[crc8->result_idx] = crc ^ crc8->final_xor_val;
341 struct cgw_csum_crc8 *crc8)
343 u8 crc = crc8->init_crc_val;
346 for (i = crc8->from_idx; i <= crc8->to_idx; i++)
347 crc = crc8->crctab[crc ^ cf->data[i]];
349 switch (crc8->profile) {
351 crc = crc8->crctab[crc ^ crc8->profile_data[0]];
355 crc = crc8->crctab[crc ^ crc8->profile_data[cf->data[1] & 0xF]];
359 crc = crc8->crctab[crc ^ (cf->can_id & 0xFF) ^
364 cf->data[crc8->result_idx] = crc ^ crc8->final_xor_val;
368 struct cgw_csum_crc8 *crc8)
370 u8 crc = crc8->init_crc_val;
373 for (i = crc8->from_idx; i >= crc8->to_idx; i--)
374 crc = crc8->crctab[crc ^ cf->data[i]];
376 switch (crc8->profile) {
378 crc = crc8->crctab[crc ^ crc8->profile_data[0]];
382 crc = crc8->crctab[crc ^ crc8->profile_data[cf->data[1] & 0xF]];
386 crc = crc8->crctab[crc ^ (cf->can_id & 0xFF) ^
391 cf->data[crc8->result_idx] = crc ^ crc8->final_xor_val;
487 if (gwj->mod.csumfunc.crc8)
488 (*gwj->mod.csumfunc.crc8)(cf, &gwj->mod.csum.crc8);
652 if (gwj->mod.csumfunc.crc8) {
654 &gwj->mod.csum.crc8) < 0)
912 nla_memcpy(&mod->csum.crc8, tb[CGW_CS_CRC8],
920 mod->csumfunc.crc8 = cgw_csum_crc8_rel;
922 mod->csumfunc.crc8 = cgw_csum_crc8_pos;
924 mod->csumfunc.crc8 = cgw_csum_crc8_neg;