Lines Matching full:portal
54 /* Portal register assists */
101 #define bm_in(reg) __bm_in(&portal->addr, REG_##reg)
102 #define bm_out(reg, val) __bm_out(&portal->addr, REG_##reg, val)
131 #define bm_cl_touch_ro(reg) __bm_cl_touch_ro(&portal->addr, CL_##reg##_CENA)
132 #define bm_cl_touch_rw(reg) __bm_cl_touch_rw(&portal->addr, CL_##reg##_CENA)
133 #define bm_cl_in(reg) __bm_cl_in(&portal->addr, CL_##reg##_CENA)
134 #define bm_cl_out(reg, val) __bm_cl_out(&portal->addr, CL_##reg##_CENA, val)
135 #define bm_cl_invalidate(reg) __bm_cl_invalidate(&portal->addr, CL_##reg##_CENA)
151 /* It's safer to code in terms of the 'rcr' object than the 'portal' object,
153 * we could manipulate some other structure within 'portal'. */
154 /* #define RCR_API_START() register struct bm_rcr *rcr = &portal->rcr */
178 t_Error bm_rcr_init(struct bm_portal *portal, in bm_rcr_init() argument
182 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_init()
186 rcr->ring = ptr_ADD(portal->addr.addr_ce, CL_RCR); in bm_rcr_init()
205 void bm_rcr_finish(struct bm_portal *portal) in bm_rcr_finish() argument
207 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_finish()
219 struct bm_rcr_entry *bm_rcr_start(struct bm_portal *portal) in bm_rcr_start() argument
221 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_start()
232 void bm_rcr_abort(struct bm_portal *portal) in bm_rcr_abort() argument
234 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_abort()
243 struct bm_rcr_entry *bm_rcr_pend_and_next(struct bm_portal *portal, uint8_t myverb) in bm_rcr_pend_and_next() argument
245 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_pend_and_next()
258 void bm_rcr_pci_commit(struct bm_portal *portal, uint8_t myverb) in bm_rcr_pci_commit() argument
260 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_pci_commit()
273 void bm_rcr_pce_prefetch(struct bm_portal *portal) in bm_rcr_pce_prefetch() argument
275 ASSERT_COND(((struct bm_rcr *)&portal->rcr)->pmode == e_BmPortalPCE); in bm_rcr_pce_prefetch()
280 void bm_rcr_pce_commit(struct bm_portal *portal, uint8_t myverb) in bm_rcr_pce_commit() argument
282 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_pce_commit()
295 void bm_rcr_pvb_commit(struct bm_portal *portal, uint8_t myverb) in bm_rcr_pvb_commit() argument
297 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_pvb_commit()
313 uint8_t bm_rcr_cci_update(struct bm_portal *portal) in bm_rcr_cci_update() argument
315 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_cci_update()
325 void bm_rcr_cce_prefetch(struct bm_portal *portal) in bm_rcr_cce_prefetch() argument
327 ASSERT_COND(((struct bm_rcr *)&portal->rcr)->cmode == e_BmPortalRcrCCE); in bm_rcr_cce_prefetch()
332 uint8_t bm_rcr_cce_update(struct bm_portal *portal) in bm_rcr_cce_update() argument
334 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_cce_update()
345 uint8_t bm_rcr_get_ithresh(struct bm_portal *portal) in bm_rcr_get_ithresh() argument
347 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_get_ithresh()
352 void bm_rcr_set_ithresh(struct bm_portal *portal, uint8_t ithresh) in bm_rcr_set_ithresh() argument
354 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_set_ithresh()
360 uint8_t bm_rcr_get_avail(struct bm_portal *portal) in bm_rcr_get_avail() argument
362 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_get_avail()
367 uint8_t bm_rcr_get_fill(struct bm_portal *portal) in bm_rcr_get_fill() argument
369 register struct bm_rcr *rcr = &portal->rcr; in bm_rcr_get_fill()
377 /* It's safer to code in terms of the 'mc' object than the 'portal' object,
379 * we could manipulate some other structure within 'portal'. */
380 /* #define MC_API_START() register struct bm_mc *mc = &portal->mc */
383 t_Error bm_mc_init(struct bm_portal *portal) in bm_mc_init() argument
385 register struct bm_mc *mc = &portal->mc; in bm_mc_init()
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()
398 void bm_mc_finish(struct bm_portal *portal) in bm_mc_finish() argument
400 register struct bm_mc *mc = &portal->mc; in bm_mc_finish()
411 struct bm_mc_command *bm_mc_start(struct bm_portal *portal) in bm_mc_start() argument
413 register struct bm_mc *mc = &portal->mc; in bm_mc_start()
423 void bm_mc_abort(struct bm_portal *portal) in bm_mc_abort() argument
425 register struct bm_mc *mc = &portal->mc; in bm_mc_abort()
435 void bm_mc_commit(struct bm_portal *portal, uint8_t myverb) in bm_mc_commit() argument
437 register struct bm_mc *mc = &portal->mc; in bm_mc_commit()
449 struct bm_mc_result *bm_mc_result(struct bm_portal *portal) in bm_mc_result() argument
451 register struct bm_mc *mc = &portal->mc; in bm_mc_result()
470 /* --- Portal interrupt register API --- */
474 void bm_isr_bscn_mask(struct bm_portal *portal, uint8_t bpid, int enable) in bm_isr_bscn_mask() argument
479 val = __bm_in(&portal->addr, SCN_REG(bpid)); in bm_isr_bscn_mask()
484 __bm_out(&portal->addr, SCN_REG(bpid), val); in bm_isr_bscn_mask()
488 uint32_t __bm_isr_read(struct bm_portal *portal, enum bm_isr_reg n) in __bm_isr_read() argument
490 return __bm_in(&portal->addr, REG_ISR + (n << 2)); in __bm_isr_read()
494 void __bm_isr_write(struct bm_portal *portal, enum bm_isr_reg n, uint32_t val) in __bm_isr_write() argument
496 __bm_out(&portal->addr, REG_ISR + (n << 2), val); in __bm_isr_write()