Lines Matching refs:map

35 	sdei_ev_map_t *map;  member
80 sdei_ev_map_t *map; in sdei_pe_unmask() local
92 for_each_private_map(i, map) { in sdei_pe_unmask()
93 se = get_event_entry(map); in sdei_pe_unmask()
94 if (is_map_bound(map) && GET_EV_STATE(se, ENABLED)) in sdei_pe_unmask()
95 plat_ic_enable_interrupt(map->intr); in sdei_pe_unmask()
98 for_each_shared_map(i, map) { in sdei_pe_unmask()
99 se = get_event_entry(map); in sdei_pe_unmask()
101 sdei_map_lock(map); in sdei_pe_unmask()
102 if (is_map_bound(map) && GET_EV_STATE(se, ENABLED) && in sdei_pe_unmask()
105 plat_ic_enable_interrupt(map->intr); in sdei_pe_unmask()
107 sdei_map_unlock(map); in sdei_pe_unmask()
158 static sdei_dispatch_context_t *save_event_ctx(sdei_ev_map_t *map, in save_event_ctx() argument
171 disp_ctx->map = map; in save_event_ctx()
312 static void setup_ns_dispatch(sdei_ev_map_t *map, sdei_entry_t *se, in setup_ns_dispatch() argument
318 disp_ctx = save_event_ctx(map, ctx); in setup_ns_dispatch()
328 SMC_SET_GP(ctx, CTX_GPREG_X0, (uint64_t) map->ev_num); in setup_ns_dispatch()
352 static void handle_masked_trigger(sdei_ev_map_t *map, sdei_entry_t *se, in handle_masked_trigger() argument
359 if (map->ev_num == SDEI_EVENT_0) in handle_masked_trigger()
367 if (is_event_private(map) || (se->reg_flags == SDEI_REGF_RM_PE)) in handle_masked_trigger()
374 plat_ic_disable_interrupt(map->intr); in handle_masked_trigger()
375 plat_ic_set_interrupt_pending(map->intr); in handle_masked_trigger()
390 assert(plat_ic_is_spi(map->intr) != 0); in handle_masked_trigger()
391 plat_ic_set_interrupt_pending(map->intr); in handle_masked_trigger()
400 plat_sdei_handle_masked_trigger(my_mpidr, map->intr); in handle_masked_trigger()
412 sdei_ev_map_t *map; in sdei_intr_handler() local
444 map = find_event_map_by_intr(intr, (plat_ic_is_spi(intr) != 0)); in sdei_intr_handler()
445 if (map == NULL) { in sdei_intr_handler()
454 assert((map->ev_num == SDEI_EVENT_0) || is_map_bound(map)); in sdei_intr_handler()
456 se = get_event_entry(map); in sdei_intr_handler()
465 map->intr, mpidr); in sdei_intr_handler()
466 if (is_event_shared(map)) in sdei_intr_handler()
467 sdei_map_lock(map); in sdei_intr_handler()
469 handle_masked_trigger(map, se, state, intr_raw); in sdei_intr_handler()
471 if (is_event_shared(map)) in sdei_intr_handler()
472 sdei_map_unlock(map); in sdei_intr_handler()
478 if (map->ev_num == SDEI_EVENT_0) in sdei_intr_handler()
481 if (is_event_shared(map)) in sdei_intr_handler()
482 sdei_map_lock(map); in sdei_intr_handler()
485 if (is_event_shared(map) && (se->reg_flags == SDEI_REGF_RM_PE)) { in sdei_intr_handler()
491 map->ev_num, se->state); in sdei_intr_handler()
498 plat_ic_set_interrupt_pending(map->intr); in sdei_intr_handler()
507 if (is_event_shared(map)) in sdei_intr_handler()
508 sdei_map_unlock(map); in sdei_intr_handler()
514 if (is_event_critical(map)) { in sdei_intr_handler()
521 assert(is_event_normal(disp_ctx->map)); in sdei_intr_handler()
533 if (is_event_shared(map)) in sdei_intr_handler()
534 sdei_map_unlock(map); in sdei_intr_handler()
537 mpidr, map->ev_num, sec_state, read_spsr_el3(), read_elr_el3()); in sdei_intr_handler()
551 setup_ns_dispatch(map, se, ctx, &dispatch_jmp); in sdei_intr_handler()
572 if ((map->ev_num != SDEI_EVENT_0) && !is_map_bound(map)) { in sdei_intr_handler()
573 ERROR("Invalid SDEI mapping: ev=0x%x\n", map->ev_num); in sdei_intr_handler()
595 sdei_ev_map_t *map; in sdei_dispatch_event() local
611 map = find_event_map(ev_num); in sdei_dispatch_event()
612 if (map == NULL) in sdei_dispatch_event()
616 if (!is_map_explicit(map)) in sdei_dispatch_event()
626 if (is_event_critical(disp_ctx->map)) in sdei_dispatch_event()
633 if (is_event_normal(map)) in sdei_dispatch_event()
637 se = get_event_entry(map); in sdei_dispatch_event()
648 ehf_activate_priority(sdei_event_priority(map)); in sdei_dispatch_event()
651 setup_ns_dispatch(map, se, ns_ctx, &dispatch_jmp); in sdei_dispatch_event()
660 ehf_deactivate_priority(sdei_event_priority(map)); in sdei_dispatch_event()
674 sdei_ev_map_t *map; in sdei_event_complete() local
688 map = disp_ctx->map; in sdei_event_complete()
689 assert(map != NULL); in sdei_event_complete()
690 se = get_event_entry(map); in sdei_event_complete()
692 if (is_event_shared(map)) in sdei_event_complete()
693 sdei_map_lock(map); in sdei_event_complete()
697 if (is_event_shared(map)) in sdei_event_complete()
698 sdei_map_unlock(map); in sdei_event_complete()
702 if (is_event_shared(map)) in sdei_event_complete()
703 sdei_map_unlock(map); in sdei_event_complete()
709 map->ev_num, read_spsr_el3(), read_elr_el3()); in sdei_event_complete()
763 assert(disp_ctx->map != NULL); in sdei_event_context()
765 if (!can_sdei_state_trans(get_event_entry(disp_ctx->map), DO_CONTEXT)) in sdei_event_context()