Lines Matching defs:mhi_event
151 struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
153 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
154 if (mhi_event->offload_ev)
157 free_irq(mhi_cntrl->irq[mhi_event->irq], mhi_event);
165 struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
188 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
189 if (mhi_event->offload_ev)
192 if (mhi_event->irq >= mhi_cntrl->nr_irqs) {
194 mhi_event->irq);
199 ret = request_irq(mhi_cntrl->irq[mhi_event->irq],
202 "mhi", mhi_event);
205 mhi_cntrl->irq[mhi_event->irq], i);
209 disable_irq(mhi_cntrl->irq[mhi_event->irq]);
215 for (--i, --mhi_event; i >= 0; i--, mhi_event--) {
216 if (mhi_event->offload_ev)
219 free_irq(mhi_cntrl->irq[mhi_event->irq], mhi_event);
231 struct mhi_event *mhi_event;
247 mhi_event = mhi_cntrl->mhi_event;
248 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
249 if (mhi_event->offload_ev)
252 ring = &mhi_event->ring;
278 struct mhi_event *mhi_event;
332 mhi_event = mhi_cntrl->mhi_event;
334 mhi_event++) {
335 struct mhi_ring *ring = &mhi_event->ring;
338 if (mhi_event->offload_ev)
344 tmp |= FIELD_PREP(EV_CTX_INTMODT_MASK, mhi_event->intmod);
348 er_ctxt->msivec = cpu_to_le32(mhi_event->irq);
349 mhi_event->db_cfg.db_mode = true;
412 mhi_event = mhi_cntrl->mhi_event + i;
415 for (--i, --mhi_event; i >= 0; i--, mhi_event--) {
416 struct mhi_ring *ring = &mhi_event->ring;
418 if (mhi_event->offload_ev)
444 struct mhi_event *mhi_event;
548 mhi_event = mhi_cntrl->mhi_event;
549 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, val += 8, mhi_event++) {
550 if (mhi_event->offload_ev)
553 mhi_event->ring.db_addr = base + val;
667 struct mhi_event *mhi_event;
674 mhi_cntrl->mhi_event = kcalloc(num, sizeof(*mhi_cntrl->mhi_event),
676 if (!mhi_cntrl->mhi_event)
680 mhi_event = mhi_cntrl->mhi_event;
684 mhi_event->er_index = i;
685 mhi_event->ring.elements = event_cfg->num_elements;
686 mhi_event->intmod = event_cfg->irq_moderation_ms;
687 mhi_event->irq = event_cfg->irq;
691 mhi_event->chan = event_cfg->channel;
692 if (mhi_event->chan >= mhi_cntrl->max_chan) {
698 mhi_event->mhi_chan =
699 &mhi_cntrl->mhi_chan[mhi_event->chan];
703 mhi_event->priority = 1;
705 mhi_event->db_cfg.brstmode = event_cfg->mode;
706 if (MHI_INVALID_BRSTMODE(mhi_event->db_cfg.brstmode))
709 if (mhi_event->db_cfg.brstmode == MHI_DB_BRST_ENABLE)
710 mhi_event->db_cfg.process_db = mhi_db_brstmode;
712 mhi_event->db_cfg.process_db = mhi_db_brstmode_disable;
714 mhi_event->data_type = event_cfg->data_type;
716 switch (mhi_event->data_type) {
718 mhi_event->process_event = mhi_process_data_event_ring;
721 mhi_event->process_event = mhi_process_ctrl_ev_ring;
728 mhi_event->hw_ring = event_cfg->hardware_event;
729 if (mhi_event->hw_ring)
734 mhi_event->cl_manage = event_cfg->client_managed;
735 mhi_event->offload_ev = event_cfg->offload_channel;
736 mhi_event++;
743 kfree(mhi_cntrl->mhi_event);
905 struct mhi_event *mhi_event;
949 mhi_event = mhi_cntrl->mhi_event;
950 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
952 if (mhi_event->offload_ev)
955 mhi_event->mhi_cntrl = mhi_cntrl;
956 spin_lock_init(&mhi_event->lock);
957 if (mhi_event->data_type == MHI_ER_CTRL)
958 tasklet_init(&mhi_event->task, mhi_ctrl_ev_task,
959 (ulong)mhi_event);
961 tasklet_init(&mhi_event->task, mhi_ev_task,
962 (ulong)mhi_event);
972 mhi_event = &mhi_cntrl->mhi_event[mhi_chan->er_index];
973 mhi_chan->intmod = mhi_event->intmod;
1042 kfree(mhi_cntrl->mhi_event);
1060 kfree(mhi_cntrl->mhi_event);
1248 struct mhi_event *mhi_event;
1288 mhi_event = &mhi_cntrl->mhi_event[dl_chan->er_index];
1295 if (mhi_event->cl_manage && !mhi_drv->status_cb)