Lines Matching defs:carry
128 * Handle carry bytes using shifts and masks.
130 * NOTE: the value the unused portion of carry is expected to always be zero.
140 * "merge" shift - bit shift used to merge with carry bytes. Input is
176 * of pbuf->carry. Other bytes are left as-is. Any previous
177 * value in pbuf->carry is lost.
186 pbuf->carry.val64 = 0;
187 jcopy(&pbuf->carry.val8[0], from, nbytes);
192 * Read nbytes bytes from "from" and put them at the end of pbuf->carry.
193 * It is expected that the extra read does not overfill carry.
202 jcopy(&pbuf->carry.val8[pbuf->carry_bytes], from, nbytes);
207 * Write a quad word using parts of pbuf->carry and the next 8 bytes of src.
209 * pbuf->carry with the upper bytes zeroed..
223 temp = pbuf->carry.val64 | (new << mshift(pbuf->carry_bytes));
225 pbuf->carry.val64 = new >> zshift(pbuf->carry_bytes);
229 * Write a quad word using all bytes of carry.
231 static inline void carry8_write8(union mix carry, void __iomem *dest)
233 writeq(carry.val64, dest);
237 * Write a quad word using all the valid bytes of carry. If carry
245 writeq(pbuf->carry.val64, dest);
344 * Mid copy helper, "mixed case" - source is 64-bit aligned but carry
432 /* handle carry and left-over bytes */
436 /* there is enough to fill another qw - fill carry */
458 /* flush out full carry */
459 carry8_write8(pbuf->carry, dest);
462 /* now adjust and read the rest of the bytes into carry */
467 /* not enough to fill another qw, append the rest to carry */
474 * with no carry bytes.
591 * if we are here, we already know that carry+nbytes will
600 /* bytes to fill carry */
606 /* fill carry... */
614 /* ...now write carry */
632 carry8_write8(pbuf->carry, dest);
636 /* this will overwrite anything in pbuf->carry */
663 * Write any remainder (in pbuf->carry) and finish writing the whole block.