Lines Matching full:mc
377 /* It's safer to code in terms of the 'mc' object than the 'portal' object,
380 /* #define MC_API_START() register struct bm_mc *mc = &portal->mc */
385 register struct bm_mc *mc = &portal->mc; in bm_mc_init() local
386 mc->cr = ptr_ADD(portal->addr.addr_ce, CL_CR); in bm_mc_init()
387 mc->rr = ptr_ADD(portal->addr.addr_ce, CL_RR0); in bm_mc_init()
388 mc->rridx = (uint8_t)((mc->cr->__dont_write_directly__verb & BM_MCC_VERB_VBIT) ? in bm_mc_init()
390 mc->vbit = (uint8_t)(mc->rridx ? BM_MCC_VERB_VBIT : 0); in bm_mc_init()
392 mc->state = mc_idle; in bm_mc_init()
400 register struct bm_mc *mc = &portal->mc; in bm_mc_finish() local
401 ASSERT_COND(mc->state == mc_idle); in bm_mc_finish()
403 if (mc->state != mc_idle) in bm_mc_finish()
404 REPORT_ERROR(WARNING, E_INVALID_STATE, ("Losing incomplete MC command")); in bm_mc_finish()
406 UNUSED(mc); in bm_mc_finish()
413 register struct bm_mc *mc = &portal->mc; in bm_mc_start() local
414 ASSERT_COND(mc->state == mc_idle); in bm_mc_start()
416 mc->state = mc_user; in bm_mc_start()
418 dcbz_64(mc->cr); in bm_mc_start()
419 return mc->cr; in bm_mc_start()
425 register struct bm_mc *mc = &portal->mc; in bm_mc_abort() local
426 ASSERT_COND(mc->state == mc_user); in bm_mc_abort()
428 mc->state = mc_idle; in bm_mc_abort()
430 UNUSED(mc); in bm_mc_abort()
437 register struct bm_mc *mc = &portal->mc; in bm_mc_commit() local
438 ASSERT_COND(mc->state == mc_user); in bm_mc_commit()
440 mc->cr->__dont_write_directly__verb = (uint8_t)(myverb | mc->vbit); in bm_mc_commit()
441 dcbf_64(mc->cr); in bm_mc_commit()
442 dcbit_ro(mc->rr + mc->rridx); in bm_mc_commit()
444 mc->state = mc_hw; in bm_mc_commit()
451 register struct bm_mc *mc = &portal->mc; in bm_mc_result() local
452 struct bm_mc_result *rr = mc->rr + mc->rridx; in bm_mc_result()
453 ASSERT_COND(mc->state == mc_hw); in bm_mc_result()
461 mc->rridx ^= 1; in bm_mc_result()
462 mc->vbit ^= BM_MCC_VERB_VBIT; in bm_mc_result()
464 mc->state = mc_idle; in bm_mc_result()