Lines Matching refs:mhi_event

158 	struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
160 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
161 if (mhi_event->offload_ev)
164 free_irq(mhi_cntrl->irq[mhi_event->irq], mhi_event);
172 struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
195 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
196 if (mhi_event->offload_ev)
199 if (mhi_event->irq >= mhi_cntrl->nr_irqs) {
201 mhi_event->irq);
206 ret = request_irq(mhi_cntrl->irq[mhi_event->irq],
209 "mhi", mhi_event);
212 mhi_cntrl->irq[mhi_event->irq], i);
216 disable_irq(mhi_cntrl->irq[mhi_event->irq]);
222 for (--i, --mhi_event; i >= 0; i--, mhi_event--) {
223 if (mhi_event->offload_ev)
226 free_irq(mhi_cntrl->irq[mhi_event->irq], mhi_event);
238 struct mhi_event *mhi_event;
254 mhi_event = mhi_cntrl->mhi_event;
255 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
256 if (mhi_event->offload_ev)
259 ring = &mhi_event->ring;
285 struct mhi_event *mhi_event;
339 mhi_event = mhi_cntrl->mhi_event;
341 mhi_event++) {
342 struct mhi_ring *ring = &mhi_event->ring;
345 if (mhi_event->offload_ev)
351 tmp |= FIELD_PREP(EV_CTX_INTMODT_MASK, mhi_event->intmod);
355 er_ctxt->msivec = cpu_to_le32(mhi_event->irq);
356 mhi_event->db_cfg.db_mode = true;
419 mhi_event = mhi_cntrl->mhi_event + i;
422 for (--i, --mhi_event; i >= 0; i--, mhi_event--) {
423 struct mhi_ring *ring = &mhi_event->ring;
425 if (mhi_event->offload_ev)
451 struct mhi_event *mhi_event;
555 mhi_event = mhi_cntrl->mhi_event;
556 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, val += 8, mhi_event++) {
557 if (mhi_event->offload_ev)
560 mhi_event->ring.db_addr = base + val;
674 struct mhi_event *mhi_event;
681 mhi_cntrl->mhi_event = kcalloc(num, sizeof(*mhi_cntrl->mhi_event),
683 if (!mhi_cntrl->mhi_event)
687 mhi_event = mhi_cntrl->mhi_event;
691 mhi_event->er_index = i;
692 mhi_event->ring.elements = event_cfg->num_elements;
693 mhi_event->intmod = event_cfg->irq_moderation_ms;
694 mhi_event->irq = event_cfg->irq;
698 mhi_event->chan = event_cfg->channel;
699 if (mhi_event->chan >= mhi_cntrl->max_chan) {
705 mhi_event->mhi_chan =
706 &mhi_cntrl->mhi_chan[mhi_event->chan];
710 mhi_event->priority = 1;
712 mhi_event->db_cfg.brstmode = event_cfg->mode;
713 if (MHI_INVALID_BRSTMODE(mhi_event->db_cfg.brstmode))
716 if (mhi_event->db_cfg.brstmode == MHI_DB_BRST_ENABLE)
717 mhi_event->db_cfg.process_db = mhi_db_brstmode;
719 mhi_event->db_cfg.process_db = mhi_db_brstmode_disable;
721 mhi_event->data_type = event_cfg->data_type;
723 switch (mhi_event->data_type) {
725 mhi_event->process_event = mhi_process_data_event_ring;
728 mhi_event->process_event = mhi_process_ctrl_ev_ring;
735 mhi_event->hw_ring = event_cfg->hardware_event;
736 if (mhi_event->hw_ring)
741 mhi_event->cl_manage = event_cfg->client_managed;
742 mhi_event->offload_ev = event_cfg->offload_channel;
743 mhi_event++;
750 kfree(mhi_cntrl->mhi_event);
913 struct mhi_event *mhi_event;
956 mhi_event = mhi_cntrl->mhi_event;
957 for (i = 0; i < mhi_cntrl->total_ev_rings; i++, mhi_event++) {
959 if (mhi_event->offload_ev)
962 mhi_event->mhi_cntrl = mhi_cntrl;
963 spin_lock_init(&mhi_event->lock);
964 if (mhi_event->data_type == MHI_ER_CTRL)
965 tasklet_init(&mhi_event->task, mhi_ctrl_ev_task,
966 (ulong)mhi_event);
968 tasklet_init(&mhi_event->task, mhi_ev_task,
969 (ulong)mhi_event);
979 mhi_event = &mhi_cntrl->mhi_event[mhi_chan->er_index];
980 mhi_chan->intmod = mhi_event->intmod;
1038 kfree(mhi_cntrl->mhi_event);
1056 kfree(mhi_cntrl->mhi_event);
1244 struct mhi_event *mhi_event;
1284 mhi_event = &mhi_cntrl->mhi_event[dl_chan->er_index];
1291 if (mhi_event->cl_manage && !mhi_drv->status_cb)