Lines Matching defs:mhi_event
135 struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
137 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
138 if (mhi_event->offload_ev)
141 free_irq(mhi_cntrl->irq[mhi_event->irq], mhi_event);
149 struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
161 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
162 if (mhi_event->offload_ev)
165 if (mhi_event->irq >= mhi_cntrl->nr_irqs) {
167 mhi_event->irq);
172 ret = request_irq(mhi_cntrl->irq[mhi_event->irq],
175 "mhi", mhi_event);
178 mhi_cntrl->irq[mhi_event->irq], i);
186 for (--i, --mhi_event; i >= 0; i--, mhi_event--) {
187 if (mhi_event->offload_ev)
190 free_irq(mhi_cntrl->irq[mhi_event->irq], mhi_event);
202 struct mhi_event *mhi_event;
218 mhi_event = mhi_cntrl->mhi_event;
219 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
220 if (mhi_event->offload_ev)
223 ring = &mhi_event->ring;
249 struct mhi_event *mhi_event;
303 mhi_event = mhi_cntrl->mhi_event;
305 mhi_event++) {
306 struct mhi_ring *ring = &mhi_event->ring;
309 if (mhi_event->offload_ev)
315 tmp |= (mhi_event->intmod << EV_CTX_INTMODT_SHIFT);
319 er_ctxt->msivec = mhi_event->irq;
320 mhi_event->db_cfg.db_mode = true;
383 mhi_event = mhi_cntrl->mhi_event + i;
386 for (--i, --mhi_event; i >= 0; i--, mhi_event--) {
387 struct mhi_ring *ring = &mhi_event->ring;
389 if (mhi_event->offload_ev)
415 struct mhi_event *mhi_event;
533 mhi_event = mhi_cntrl->mhi_event;
534 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, val += 8, mhi_event++) {
535 if (mhi_event->offload_ev)
538 mhi_event->ring.db_addr = base + val;
636 struct mhi_event *mhi_event;
643 mhi_cntrl->mhi_event = kcalloc(num, sizeof(*mhi_cntrl->mhi_event),
645 if (!mhi_cntrl->mhi_event)
649 mhi_event = mhi_cntrl->mhi_event;
653 mhi_event->er_index = i;
654 mhi_event->ring.elements = event_cfg->num_elements;
655 mhi_event->intmod = event_cfg->irq_moderation_ms;
656 mhi_event->irq = event_cfg->irq;
660 mhi_event->chan = event_cfg->channel;
661 if (mhi_event->chan >= mhi_cntrl->max_chan) {
667 mhi_event->mhi_chan =
668 &mhi_cntrl->mhi_chan[mhi_event->chan];
672 mhi_event->priority = 1;
674 mhi_event->db_cfg.brstmode = event_cfg->mode;
675 if (MHI_INVALID_BRSTMODE(mhi_event->db_cfg.brstmode))
678 if (mhi_event->db_cfg.brstmode == MHI_DB_BRST_ENABLE)
679 mhi_event->db_cfg.process_db = mhi_db_brstmode;
681 mhi_event->db_cfg.process_db = mhi_db_brstmode_disable;
683 mhi_event->data_type = event_cfg->data_type;
685 switch (mhi_event->data_type) {
687 mhi_event->process_event = mhi_process_data_event_ring;
690 mhi_event->process_event = mhi_process_ctrl_ev_ring;
697 mhi_event->hw_ring = event_cfg->hardware_event;
698 if (mhi_event->hw_ring)
703 mhi_event->cl_manage = event_cfg->client_managed;
704 mhi_event->offload_ev = event_cfg->offload_channel;
705 mhi_event++;
712 kfree(mhi_cntrl->mhi_event);
874 struct mhi_event *mhi_event;
912 mhi_event = mhi_cntrl->mhi_event;
913 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
915 if (mhi_event->offload_ev)
918 mhi_event->mhi_cntrl = mhi_cntrl;
919 spin_lock_init(&mhi_event->lock);
920 if (mhi_event->data_type == MHI_ER_CTRL)
921 tasklet_init(&mhi_event->task, mhi_ctrl_ev_task,
922 (ulong)mhi_event);
924 tasklet_init(&mhi_event->task, mhi_ev_task,
925 (ulong)mhi_event);
935 mhi_event = &mhi_cntrl->mhi_event[mhi_chan->er_index];
936 mhi_chan->intmod = mhi_event->intmod;
996 kfree(mhi_cntrl->mhi_event);
1011 kfree(mhi_cntrl->mhi_event);
1163 struct mhi_event *mhi_event;
1208 mhi_event = &mhi_cntrl->mhi_event[dl_chan->er_index];
1215 if (mhi_event->cl_manage && !mhi_drv->status_cb)