Lines Matching refs:mn

106 static u32 md_to_m(struct mn *mn, u32 md)
108 md >>= mn->m_val_shift;
109 md &= BIT(mn->width) - 1;
132 static u32 mn_to_md(struct mn *mn, u32 m, u32 n, u32 md)
136 mask_w = BIT(mn->width) - 1;
137 mask = (mask_w << mn->m_val_shift) | mask_w;
141 m <<= mn->m_val_shift;
149 static u32 ns_m_to_n(struct mn *mn, u32 ns, u32 m)
151 ns = ~ns >> mn->n_val_shift;
152 ns &= BIT(mn->width) - 1;
156 static u32 reg_to_mnctr_mode(struct mn *mn, u32 val)
158 val >>= mn->mnctr_mode_shift;
163 static u32 mn_to_ns(struct mn *mn, u32 m, u32 n, u32 ns)
167 mask = BIT(mn->width) - 1;
168 mask <<= mn->n_val_shift;
174 n &= BIT(mn->width) - 1;
175 n <<= mn->n_val_shift;
182 static u32 mn_to_reg(struct mn *mn, u32 m, u32 n, u32 val)
186 mask = MNCTR_MODE_MASK << mn->mnctr_mode_shift;
187 mask |= BIT(mn->mnctr_en_bit);
191 val |= BIT(mn->mnctr_en_bit);
192 val |= MNCTR_MODE_DUAL << mn->mnctr_mode_shift;
202 struct mn *mn;
207 bool banked_mn = !!rcg->mn[1].width;
225 mn = &rcg->mn[new_bank];
228 ns |= BIT(mn->mnctr_reset_bit);
236 md = mn_to_md(mn, f->m, f->n, md);
240 ns = mn_to_ns(mn, f->m, f->n, ns);
247 ns = mn_to_reg(mn, f->m, f->n, ns);
252 reg = mn_to_reg(mn, f->m, f->n, reg);
259 ns &= ~BIT(mn->mnctr_reset_bit);
297 bool banked_mn = !!rcg->mn[1].width;
307 f.m = md_to_m(&rcg->mn[bank], md);
308 f.n = ns_m_to_n(&rcg->mn[bank], ns, f.m);
346 struct mn *mn = &rcg->mn;
351 if (rcg->mn.width) {
353 m = md_to_m(mn, md);
354 n = ns_m_to_n(mn, ns, m);
360 mode = reg_to_mnctr_mode(mn, mode);
372 struct mn *mn;
374 bool banked_mn = !!rcg->mn[1].width;
383 mn = &rcg->mn[bank];
385 m = md_to_m(mn, md);
386 n = ns_m_to_n(mn, ns, m);
390 mode = reg_to_mnctr_mode(mn, reg);
477 struct mn *mn = &rcg->mn;
481 if (rcg->mn.reset_in_cc)
486 if (rcg->mn.width) {
487 mask = BIT(mn->mnctr_reset_bit);
491 md = mn_to_md(mn, f->m, f->n, md);
498 ctl = mn_to_reg(mn, f->m, f->n, ctl);
501 ns = mn_to_reg(mn, f->m, f->n, ns);
503 ns = mn_to_ns(mn, f->m, f->n, ns);