D_FREG_MASK
while (((df->f1 & D_FREG_MASK) != (df->f2 & D_FREG_MASK)) && count--) {
zp = &df->za[df->f2 & D_FREG_MASK];
df->za[df->f2 & D_FREG_MASK].z2 =
df->za[df->f2 & D_FREG_MASK].z2 = cpu_to_le16((
le16_to_cpu(df->za[df->f1 & D_FREG_MASK].z1));
maxlen = le16_to_cpu(df->za[df->f2 & D_FREG_MASK].z2) -
le16_to_cpu(df->za[df->f1 & D_FREG_MASK].z1) - 1;
new_z1 = (le16_to_cpu(df->za[df->f1 & D_FREG_MASK].z1) + count) &
new_f1 = ((df->f1 + 1) & D_FREG_MASK) | (D_FREG_MASK + 1);
dst = df->data + le16_to_cpu(df->za[df->f1 & D_FREG_MASK].z1);
maxlen = D_FIFO_SIZE - le16_to_cpu(df->za[df->f1 & D_FREG_MASK].z1);
df->za[new_f1 & D_FREG_MASK].z1 = cpu_to_le16(new_z1);
df->za[df->f1 & D_FREG_MASK].z1 = cpu_to_le16(new_z1);