Lines Matching refs:mc
373 /* It's safer to code in terms of the 'mc' object than the 'portal' object,
376 /* #define MC_API_START() register struct bm_mc *mc = &portal->mc */
381 register struct bm_mc *mc = &portal->mc;
382 mc->cr = ptr_ADD(portal->addr.addr_ce, CL_CR);
383 mc->rr = ptr_ADD(portal->addr.addr_ce, CL_RR0);
384 mc->rridx = (uint8_t)((mc->cr->__dont_write_directly__verb & BM_MCC_VERB_VBIT) ?
386 mc->vbit = (uint8_t)(mc->rridx ? BM_MCC_VERB_VBIT : 0);
388 mc->state = mc_idle;
396 register struct bm_mc *mc = &portal->mc;
397 ASSERT_COND(mc->state == mc_idle);
399 if (mc->state != mc_idle)
402 UNUSED(mc);
409 register struct bm_mc *mc = &portal->mc;
410 ASSERT_COND(mc->state == mc_idle);
412 mc->state = mc_user;
414 dcbz_64(mc->cr);
415 return mc->cr;
421 register struct bm_mc *mc = &portal->mc;
422 ASSERT_COND(mc->state == mc_user);
424 mc->state = mc_idle;
426 UNUSED(mc);
433 register struct bm_mc *mc = &portal->mc;
434 ASSERT_COND(mc->state == mc_user);
436 mc->cr->__dont_write_directly__verb = (uint8_t)(myverb | mc->vbit);
437 dcbf_64(mc->cr);
438 dcbit_ro(mc->rr + mc->rridx);
440 mc->state = mc_hw;
447 register struct bm_mc *mc = &portal->mc;
448 struct bm_mc_result *rr = mc->rr + mc->rridx;
449 ASSERT_COND(mc->state == mc_hw);
457 mc->rridx ^= 1;
458 mc->vbit ^= BM_MCC_VERB_VBIT;
460 mc->state = mc_idle;