Lines Matching refs:evt_ring_id

218 static void gsi_irq_ev_ctrl_enable(struct gsi *gsi, u32 evt_ring_id)  in gsi_irq_ev_ctrl_enable()  argument
220 u32 val = BIT(evt_ring_id); in gsi_irq_ev_ctrl_enable()
280 static void gsi_irq_ieob_enable_one(struct gsi *gsi, u32 evt_ring_id) in gsi_irq_ieob_enable_one() argument
286 gsi->ieob_enabled_bitmap |= BIT(evt_ring_id); in gsi_irq_ieob_enable_one()
313 static void gsi_irq_ieob_disable_one(struct gsi *gsi, u32 evt_ring_id) in gsi_irq_ieob_disable_one() argument
315 gsi_irq_ieob_disable(gsi, BIT(evt_ring_id)); in gsi_irq_ieob_disable_one()
398 gsi_evt_ring_state(struct gsi *gsi, u32 evt_ring_id) in gsi_evt_ring_state() argument
403 val = ioread32(gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_state()
409 static void gsi_evt_ring_command(struct gsi *gsi, u32 evt_ring_id, in gsi_evt_ring_command() argument
418 gsi_irq_ev_ctrl_enable(gsi, evt_ring_id); in gsi_evt_ring_command()
421 val = reg_encode(reg, EV_CHID, evt_ring_id); in gsi_evt_ring_command()
432 opcode, evt_ring_id, gsi_evt_ring_state(gsi, evt_ring_id)); in gsi_evt_ring_command()
436 static int gsi_evt_ring_alloc_command(struct gsi *gsi, u32 evt_ring_id) in gsi_evt_ring_alloc_command() argument
441 state = gsi_evt_ring_state(gsi, evt_ring_id); in gsi_evt_ring_alloc_command()
444 evt_ring_id, state); in gsi_evt_ring_alloc_command()
448 gsi_evt_ring_command(gsi, evt_ring_id, GSI_EVT_ALLOCATE); in gsi_evt_ring_alloc_command()
451 state = gsi_evt_ring_state(gsi, evt_ring_id); in gsi_evt_ring_alloc_command()
456 evt_ring_id, state); in gsi_evt_ring_alloc_command()
462 static void gsi_evt_ring_reset_command(struct gsi *gsi, u32 evt_ring_id) in gsi_evt_ring_reset_command() argument
466 state = gsi_evt_ring_state(gsi, evt_ring_id); in gsi_evt_ring_reset_command()
470 evt_ring_id, state); in gsi_evt_ring_reset_command()
474 gsi_evt_ring_command(gsi, evt_ring_id, GSI_EVT_RESET); in gsi_evt_ring_reset_command()
477 state = gsi_evt_ring_state(gsi, evt_ring_id); in gsi_evt_ring_reset_command()
482 evt_ring_id, state); in gsi_evt_ring_reset_command()
486 static void gsi_evt_ring_de_alloc_command(struct gsi *gsi, u32 evt_ring_id) in gsi_evt_ring_de_alloc_command() argument
490 state = gsi_evt_ring_state(gsi, evt_ring_id); in gsi_evt_ring_de_alloc_command()
493 evt_ring_id, state); in gsi_evt_ring_de_alloc_command()
497 gsi_evt_ring_command(gsi, evt_ring_id, GSI_EVT_DE_ALLOC); in gsi_evt_ring_de_alloc_command()
500 state = gsi_evt_ring_state(gsi, evt_ring_id); in gsi_evt_ring_de_alloc_command()
505 evt_ring_id, state); in gsi_evt_ring_de_alloc_command()
702 static void gsi_evt_ring_doorbell(struct gsi *gsi, u32 evt_ring_id, u32 index) in gsi_evt_ring_doorbell() argument
705 struct gsi_ring *ring = &gsi->evt_ring[evt_ring_id].ring; in gsi_evt_ring_doorbell()
712 iowrite32(val, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_doorbell()
716 static void gsi_evt_ring_program(struct gsi *gsi, u32 evt_ring_id) in gsi_evt_ring_program() argument
718 struct gsi_evt_ring *evt_ring = &gsi->evt_ring[evt_ring_id]; in gsi_evt_ring_program()
729 iowrite32(val, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
733 iowrite32(val, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
741 iowrite32(val, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
745 iowrite32(val, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
752 iowrite32(val, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
756 iowrite32(0, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
759 iowrite32(0, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
762 iowrite32(0, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
766 iowrite32(0, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
769 iowrite32(0, gsi->virt + reg_n_offset(reg, evt_ring_id)); in gsi_evt_ring_program()
772 gsi_evt_ring_doorbell(gsi, evt_ring_id, ring->index); in gsi_evt_ring_program()
842 val |= reg_encode(reg, ERINDEX, channel->evt_ring_id); in gsi_channel_program()
849 val |= reg_encode(reg, CH_ERINDEX, channel->evt_ring_id); in gsi_channel_program()
950 gsi_irq_ieob_enable_one(gsi, channel->evt_ring_id); in gsi_channel_start()
954 gsi_irq_ieob_disable_one(gsi, channel->evt_ring_id); in gsi_channel_start()
1008 gsi_irq_ieob_disable_one(gsi, channel->evt_ring_id); in gsi_channel_stop()
1166 u32 evt_ring_id = __ffs(event_mask); in gsi_isr_evt_ctrl() local
1168 event_mask ^= BIT(evt_ring_id); in gsi_isr_evt_ctrl()
1191 gsi_isr_glob_evt_err(struct gsi *gsi, u32 err_ee, u32 evt_ring_id, u32 code) in gsi_isr_glob_evt_err() argument
1194 struct gsi_evt_ring *evt_ring = &gsi->evt_ring[evt_ring_id]; in gsi_isr_glob_evt_err()
1205 evt_ring_id, err_ee, code); in gsi_isr_glob_evt_err()
1333 u32 evt_ring_id = __ffs(event_mask); in gsi_isr_ieob() local
1335 event_mask ^= BIT(evt_ring_id); in gsi_isr_ieob()
1337 napi_schedule(&gsi->evt_ring[evt_ring_id].channel->napi); in gsi_isr_ieob()
1484 static void gsi_evt_ring_update(struct gsi *gsi, u32 evt_ring_id, u32 index) in gsi_evt_ring_update() argument
1486 struct gsi_evt_ring *evt_ring = &gsi->evt_ring[evt_ring_id]; in gsi_evt_ring_update()
1530 gsi_evt_ring_doorbell(gsi, evt_ring_id, index); in gsi_evt_ring_update()
1566 u32 evt_ring_id; in gsi_evt_ring_id_alloc() local
1573 evt_ring_id = ffz(gsi->event_bitmap); in gsi_evt_ring_id_alloc()
1574 gsi->event_bitmap |= BIT(evt_ring_id); in gsi_evt_ring_id_alloc()
1576 return (int)evt_ring_id; in gsi_evt_ring_id_alloc()
1580 static void gsi_evt_ring_id_free(struct gsi *gsi, u32 evt_ring_id) in gsi_evt_ring_id_free() argument
1582 gsi->event_bitmap &= ~BIT(evt_ring_id); in gsi_evt_ring_id_free()
1603 u32 evt_ring_id = channel->evt_ring_id; in gsi_channel_update() local
1612 evt_ring = &gsi->evt_ring[evt_ring_id]; in gsi_channel_update()
1619 offset = reg_n_offset(reg, evt_ring_id); in gsi_channel_update()
1634 gsi_evt_ring_update(gsi, evt_ring_id, index); in gsi_channel_update()
1689 gsi_irq_ieob_enable_one(channel->gsi, channel->evt_ring_id); in gsi_channel_poll()
1712 u32 evt_ring_id = channel->evt_ring_id; in gsi_channel_setup_one() local
1718 ret = gsi_evt_ring_alloc_command(gsi, evt_ring_id); in gsi_channel_setup_one()
1722 gsi_evt_ring_program(gsi, evt_ring_id); in gsi_channel_setup_one()
1741 gsi_evt_ring_de_alloc_command(gsi, evt_ring_id); in gsi_channel_setup_one()
1750 u32 evt_ring_id = channel->evt_ring_id; in gsi_channel_teardown_one() local
1758 gsi_evt_ring_reset_command(gsi, evt_ring_id); in gsi_channel_teardown_one()
1759 gsi_evt_ring_de_alloc_command(gsi, evt_ring_id); in gsi_channel_teardown_one()
2120 channel->evt_ring_id = ret; in gsi_channel_evt_ring_init()
2122 evt_ring = &gsi->evt_ring[channel->evt_ring_id]; in gsi_channel_evt_ring_init()
2132 gsi_evt_ring_id_free(gsi, channel->evt_ring_id); in gsi_channel_evt_ring_init()
2140 u32 evt_ring_id = channel->evt_ring_id; in gsi_channel_evt_ring_exit() local
2144 evt_ring = &gsi->evt_ring[evt_ring_id]; in gsi_channel_evt_ring_exit()
2146 gsi_evt_ring_id_free(gsi, evt_ring_id); in gsi_channel_evt_ring_exit()