Lines Matching refs:map

37 	sdei_ev_map_t *map;  member
92 sdei_ev_map_t *map; in sdei_pe_unmask() local
104 for_each_private_map(i, map) { in sdei_pe_unmask()
105 se = get_event_entry(map); in sdei_pe_unmask()
106 if (is_map_bound(map) && GET_EV_STATE(se, ENABLED)) in sdei_pe_unmask()
107 plat_ic_enable_interrupt(map->intr); in sdei_pe_unmask()
110 for_each_shared_map(i, map) { in sdei_pe_unmask()
111 se = get_event_entry(map); in sdei_pe_unmask()
113 sdei_map_lock(map); in sdei_pe_unmask()
114 if (is_map_bound(map) && GET_EV_STATE(se, ENABLED) && in sdei_pe_unmask()
117 plat_ic_enable_interrupt(map->intr); in sdei_pe_unmask()
119 sdei_map_unlock(map); in sdei_pe_unmask()
170 static sdei_dispatch_context_t *save_event_ctx(sdei_ev_map_t *map, in save_event_ctx() argument
183 disp_ctx->map = map; in save_event_ctx()
272 static void setup_ns_dispatch(sdei_ev_map_t *map, sdei_entry_t *se, in setup_ns_dispatch() argument
278 disp_ctx = save_event_ctx(map, ctx); in setup_ns_dispatch()
288 SMC_SET_GP(ctx, CTX_GPREG_X0, (uint64_t) map->ev_num); in setup_ns_dispatch()
312 static void handle_masked_trigger(sdei_ev_map_t *map, sdei_entry_t *se, in handle_masked_trigger() argument
319 if (map->ev_num == SDEI_EVENT_0) in handle_masked_trigger()
327 if (is_event_private(map) || (se->reg_flags == SDEI_REGF_RM_PE)) in handle_masked_trigger()
334 plat_ic_disable_interrupt(map->intr); in handle_masked_trigger()
335 plat_ic_set_interrupt_pending(map->intr); in handle_masked_trigger()
350 assert(plat_ic_is_spi(map->intr) != 0); in handle_masked_trigger()
351 plat_ic_set_interrupt_pending(map->intr); in handle_masked_trigger()
360 plat_sdei_handle_masked_trigger(my_mpidr, map->intr); in handle_masked_trigger()
372 sdei_ev_map_t *map; in sdei_intr_handler() local
404 map = find_event_map_by_intr(intr, (plat_ic_is_spi(intr) != 0)); in sdei_intr_handler()
405 if (map == NULL) { in sdei_intr_handler()
414 assert((map->ev_num == SDEI_EVENT_0) || is_map_bound(map)); in sdei_intr_handler()
416 se = get_event_entry(map); in sdei_intr_handler()
425 map->intr, mpidr); in sdei_intr_handler()
426 if (is_event_shared(map)) in sdei_intr_handler()
427 sdei_map_lock(map); in sdei_intr_handler()
429 handle_masked_trigger(map, se, state, intr_raw); in sdei_intr_handler()
431 if (is_event_shared(map)) in sdei_intr_handler()
432 sdei_map_unlock(map); in sdei_intr_handler()
438 if (map->ev_num == SDEI_EVENT_0) in sdei_intr_handler()
441 if (is_event_shared(map)) in sdei_intr_handler()
442 sdei_map_lock(map); in sdei_intr_handler()
445 if (is_event_shared(map) && (se->reg_flags == SDEI_REGF_RM_PE)) { in sdei_intr_handler()
451 map->ev_num, se->state); in sdei_intr_handler()
458 plat_ic_set_interrupt_pending(map->intr); in sdei_intr_handler()
467 if (is_event_shared(map)) in sdei_intr_handler()
468 sdei_map_unlock(map); in sdei_intr_handler()
474 if (is_event_critical(map)) { in sdei_intr_handler()
481 assert(is_event_normal(disp_ctx->map)); in sdei_intr_handler()
493 if (is_event_shared(map)) in sdei_intr_handler()
494 sdei_map_unlock(map); in sdei_intr_handler()
497 mpidr, map->ev_num, sec_state, read_spsr_el3(), read_elr_el3()); in sdei_intr_handler()
511 setup_ns_dispatch(map, se, ctx, &dispatch_jmp); in sdei_intr_handler()
532 if ((map->ev_num != SDEI_EVENT_0) && !is_map_bound(map)) { in sdei_intr_handler()
533 ERROR("Invalid SDEI mapping: ev=0x%x\n", map->ev_num); in sdei_intr_handler()
555 sdei_ev_map_t *map; in sdei_dispatch_event() local
571 map = find_event_map(ev_num); in sdei_dispatch_event()
572 if (map == NULL) in sdei_dispatch_event()
576 if (!is_map_explicit(map)) in sdei_dispatch_event()
586 if (is_event_critical(disp_ctx->map)) in sdei_dispatch_event()
593 if (is_event_normal(map)) in sdei_dispatch_event()
597 se = get_event_entry(map); in sdei_dispatch_event()
608 ehf_activate_priority(sdei_event_priority(map)); in sdei_dispatch_event()
611 setup_ns_dispatch(map, se, ns_ctx, &dispatch_jmp); in sdei_dispatch_event()
620 ehf_deactivate_priority(sdei_event_priority(map)); in sdei_dispatch_event()
634 sdei_ev_map_t *map; in sdei_event_complete() local
648 map = disp_ctx->map; in sdei_event_complete()
649 assert(map != NULL); in sdei_event_complete()
650 se = get_event_entry(map); in sdei_event_complete()
652 if (is_event_shared(map)) in sdei_event_complete()
653 sdei_map_lock(map); in sdei_event_complete()
657 if (is_event_shared(map)) in sdei_event_complete()
658 sdei_map_unlock(map); in sdei_event_complete()
662 if (is_event_shared(map)) in sdei_event_complete()
663 sdei_map_unlock(map); in sdei_event_complete()
669 map->ev_num, read_spsr_el3(), read_elr_el3()); in sdei_event_complete()
723 assert(disp_ctx->map != NULL); in sdei_event_context()
725 if (!can_sdei_state_trans(get_event_entry(disp_ctx->map), DO_CONTEXT)) in sdei_event_context()