Lines Matching defs:part

90 	/* Flag to identify a Multi-part Read Transaction */
95 /* Block Number of a Multi-part Read Transaction */
101 /* Buffer for SSIF Transaction part*/
336 static void calculate_response_part_pec(struct ssif_part_buffer *part)
338 u8 addr = part->address;
341 part->pec = i2c_smbus_pec(0, &addr, 1);
343 part->pec = i2c_smbus_pec(part->pec, &part->smbus_cmd, 1);
346 part->pec = i2c_smbus_pec(part->pec, &addr, 1);
347 part->pec = i2c_smbus_pec(part->pec, &part->length, 1);
348 if (part->length)
349 part->pec = i2c_smbus_pec(part->pec, part->payload, part->length);
354 struct ssif_part_buffer *part = &ssif_bmc->part_buf;
356 part->address = GET_8BIT_ADDR(ssif_bmc->client->addr);
357 part->length = (u8)ssif_bmc->response.len;
360 memset(part->payload + part->length, 0, MAX_PAYLOAD_PER_TRANSACTION - part->length);
361 memcpy(&part->payload[0], &ssif_bmc->response.payload[0], part->length);
366 struct ssif_part_buffer *part = &ssif_bmc->part_buf;
369 part->address = GET_8BIT_ADDR(ssif_bmc->client->addr);
370 switch (part->smbus_cmd) {
379 part->length = MAX_PAYLOAD_PER_TRANSACTION;
383 part->payload[0] = 0x00; /* Start Flag */
384 part->payload[1] = 0x01; /* Start Flag */
386 memcpy(&part->payload[2], &ssif_bmc->response.payload[0], part_len);
403 memset(&part->payload[0], 0, MAX_PAYLOAD_PER_TRANSACTION);
404 part->length = ssif_bmc->remain_len + 1;
407 part->payload[0] = ssif_bmc->block_num;
415 part->length = MAX_PAYLOAD_PER_TRANSACTION;
417 part->payload[0] = ssif_bmc->block_num;
422 memcpy(&part->payload[1], ssif_bmc->response.payload + ssif_bmc->nbytes_processed,
429 __func__, part->smbus_cmd);
460 struct ssif_part_buffer *part = &ssif_bmc->part_buf;
463 if (part->index < part->length)
464 *val = part->payload[part->index];
465 else if (part->index == part->length && ssif_bmc->pec_support)
466 *val = part->pec;
470 part->index++;
495 struct ssif_part_buffer *part = &ssif_bmc->part_buf;
500 if (part->index == part->length) {
507 if (part->index != part->length + 1) {
514 part->pec = part->payload[part->length];
517 cpec = i2c_smbus_pec(cpec, &part->smbus_cmd, 1);
518 cpec = i2c_smbus_pec(cpec, &part->length, 1);
528 if (part->length)
529 cpec = i2c_smbus_pec(cpec, part->payload, part->length);
531 if (cpec != part->pec)
540 struct ssif_part_buffer *part = &ssif_bmc->part_buf;
543 switch (part->smbus_cmd) {
545 /* save the whole part to request*/
546 ssif_bmc->request.len = part->length;
547 memcpy(ssif_bmc->request.payload, part->payload, part->length);
556 len = ssif_bmc->request.len + part->length;
565 part->payload, part->length);
566 ssif_bmc->request.len += part->length;
572 __func__, part->smbus_cmd);
579 /* SMBUS command can vary (single or multi-part) */