Lines Matching defs:bits
46 uint8_t bits;
124 msg->bits += num_bits;
134 uint64_t sda_mask = 0x1ULL << (cmd->bits - 1);
138 trace_fsi_master_gpio_out(master, cmd->bits, cmd->msg);
140 if (!cmd->bits) {
141 dev_warn(master->dev, "trying to output 0 bits\n");
151 for (bit = 0; bit < cmd->bits; bit++) {
152 next_bit = (msg & sda_mask) >> (cmd->bits - 1);
162 static void msg_push_bits(struct fsi_gpio_msg *msg, uint64_t data, int bits)
164 msg->msg <<= bits;
165 msg->msg |= data & ((1ull << bits) - 1);
166 msg->bits += bits;
174 top = msg->bits & 0x3;
176 /* start bit, and any non-aligned top bits */
177 crc = crc4(0, 1 << top | msg->msg >> (msg->bits - top), top + 1);
179 /* aligned bits */
180 crc = crc4(crc, msg->msg, msg->bits - top);
202 * top two address bits. So, if we're referencing a different ID,
208 /* remove the top two bits from any 23-bit addressing */
211 /* We know that the addresses are limited to 21 bits, so this won't
243 cmd->bits = 0;
246 /* we have 21 bits of address max */
249 /* cmd opcodes are variable length - SAME_AR is only two bits */
260 /* 8 bits plus sign */
273 * The read/write size is encoded in the lower bits of the address
300 cmd->bits = 0;
310 cmd->bits = 0;
320 cmd->bits = 0;
347 msg.bits = 0;
360 msg.bits = 0;
379 crc = crc4(crc, msg.msg, msg.bits);
382 if (((~msg.msg) & ((1ull << msg.bits) - 1)) == 0)
384 dev_dbg(master->dev, "ERR response CRC msg: 0x%016llx (%d bits)\n",
385 msg.msg, msg.bits);