Lines Matching refs:p_cm
88 widmask(p_cm) in widmask() argument
91 p_cm_t p_cm; in widmask()
93 return ((((1L<<(p_cm->cm_width-1))-1L)<<1)|1L);
97 cm_ini(p_cm) in cm_ini() argument
98 p_cm_t p_cm; in cm_ini()
100 p_cm->cm_reg = p_cm->cm_init;
104 cm_nxt(p_cm, ch) in cm_nxt() argument
105 p_cm_t p_cm; in cm_nxt()
110 uint32_t topbit = BITMASK(p_cm->cm_width-1);
112 if (p_cm->cm_refin)
115 p_cm->cm_reg ^= (uch << (p_cm->cm_width-8));
117 if (p_cm->cm_reg & topbit)
118 p_cm->cm_reg = (p_cm->cm_reg << 1) ^ p_cm->cm_poly;
120 p_cm->cm_reg <<= 1;
122 p_cm->cm_reg &= widmask(p_cm);
127 cm_blk(p_cm, blk_adr, blk_len) in cm_blk() argument
128 p_cm_t p_cm; in cm_blk()
133 cm_nxt(p_cm, *blk_adr++);
137 cm_crc(p_cm) in cm_crc() argument
138 p_cm_t p_cm; in cm_crc()
140 if (p_cm->cm_refot)
141 return (p_cm->cm_xorot ^ reflect(p_cm->cm_reg, p_cm->cm_width));
143 return (p_cm->cm_xorot ^ p_cm->cm_reg);
147 cm_tab(p_cm, index) in cm_tab() argument
148 p_cm_t p_cm; in cm_tab()
153 uint32_t topbit = BITMASK(p_cm->cm_width-1);
156 if (p_cm->cm_refin)
159 r = inbyte << (p_cm->cm_width-8);
162 r = (r << 1) ^ p_cm->cm_poly;
166 if (p_cm->cm_refin)
167 r = reflect(r, p_cm->cm_width);
169 return (r & widmask(p_cm));