Lines Matching refs:operation

390 	struct mlxbf_i2c_smbus_operation operation[MLXBF_I2C_SMBUS_MAX_OP_CNT];
739 struct mlxbf_i2c_smbus_operation *operation;
776 operation = &request->operation[op_idx];
777 flags = operation->flags;
784 * submitted by the first operation only.
793 write_len += operation->length;
794 if (data_idx + operation->length >
800 operation->buffer, operation->length);
801 data_idx += operation->length;
812 read_len = operation->length - 1;
813 read_buf = operation->buffer;
849 * After a read operation the SMBus FSM ps (present state)
871 request->operation[0].length = 0;
872 request->operation[0].flags = MLXBF_I2C_F_WRITE;
873 request->operation[0].flags |= read ? MLXBF_I2C_F_READ : 0;
881 request->operation[0].length = 1;
882 request->operation[0].length += pec_check;
884 request->operation[0].flags = MLXBF_I2C_F_SMBUS_OPERATION;
885 request->operation[0].flags |= read ?
887 request->operation[0].flags |= pec_check ? MLXBF_I2C_F_SMBUS_PEC : 0;
889 request->operation[0].buffer = data;
898 request->operation[0].length = 1;
899 request->operation[0].flags =
901 request->operation[0].flags |= pec_check ? MLXBF_I2C_F_SMBUS_PEC : 0;
902 request->operation[0].buffer = command;
904 request->operation[1].length = 1;
905 request->operation[1].length += pec_check;
906 request->operation[1].flags = read ?
908 request->operation[1].buffer = data;
917 request->operation[0].length = 1;
918 request->operation[0].flags =
920 request->operation[0].flags |= pec_check ? MLXBF_I2C_F_SMBUS_PEC : 0;
921 request->operation[0].buffer = command;
923 request->operation[1].length = 2;
924 request->operation[1].length += pec_check;
925 request->operation[1].flags = read ?
927 request->operation[1].buffer = data;
937 request->operation[0].length = 1;
938 request->operation[0].flags =
940 request->operation[0].flags |= pec_check ? MLXBF_I2C_F_SMBUS_PEC : 0;
941 request->operation[0].buffer = command;
945 * per block operation is 32 bytes. In Golan code, the controller can
948 request->operation[1].length =
951 request->operation[1].flags = read ?
957 request->operation[1].buffer = data + 1;
959 *data_len = request->operation[1].length;
972 request->operation[0].length = 1;
973 request->operation[0].flags =
975 request->operation[0].flags |= MLXBF_I2C_F_SMBUS_BLOCK;
976 request->operation[0].flags |= pec_check ? MLXBF_I2C_F_SMBUS_PEC : 0;
977 request->operation[0].buffer = command;
979 request->operation[1].length =
982 request->operation[1].flags = read ?
984 request->operation[1].buffer = data + 1;
986 *data_len = request->operation[1].length;
999 request->operation[0].length = 1;
1000 request->operation[0].flags =
1002 request->operation[0].flags |= MLXBF_I2C_F_SMBUS_BLOCK;
1003 request->operation[0].flags |= pec_check ? MLXBF_I2C_F_SMBUS_PEC : 0;
1004 request->operation[0].buffer = command;
1006 request->operation[1].length = 2;
1007 request->operation[1].flags = MLXBF_I2C_F_WRITE;
1008 request->operation[1].buffer = data;
1010 request->operation[2].length = 3;
1011 request->operation[2].flags = MLXBF_I2C_F_READ;
1012 request->operation[2].buffer = data;
1024 request->operation[0].length = 1;
1025 request->operation[0].flags =
1027 request->operation[0].flags |= MLXBF_I2C_F_SMBUS_BLOCK;
1028 request->operation[0].flags |= (pec_check) ? MLXBF_I2C_F_SMBUS_PEC : 0;
1029 request->operation[0].buffer = command;
1034 request->operation[1].length = length - pec_check;
1035 request->operation[1].flags = MLXBF_I2C_F_WRITE;
1036 request->operation[1].buffer = data;
1038 request->operation[2].length = length;
1039 request->operation[2].flags = MLXBF_I2C_F_READ;
1040 request->operation[2].buffer = data;