msm: mhi: Enabled event ring context updates
Enabled event ring context updates regardless of MHI power state. Change-Id: I910d056d53f7c940caea48546c206d4603e8a4b9 Signed-off-by: Andrei Danaila <adanaila@codeaurora.org>
This commit is contained in:
parent
43558e8dff
commit
1c092cebee
1 changed files with 13 additions and 0 deletions
|
@ -1035,6 +1035,19 @@ enum MHI_STATUS recycle_trb_and_ring(struct mhi_device_ctxt *mhi_dev_ctxt,
|
||||||
(union mhi_xfer_pkt *)added_element;
|
(union mhi_xfer_pkt *)added_element;
|
||||||
added_xfer_pkt->data_tx_pkt =
|
added_xfer_pkt->data_tx_pkt =
|
||||||
*(struct mhi_tx_pkt *)removed_xfer_pkt;
|
*(struct mhi_tx_pkt *)removed_xfer_pkt;
|
||||||
|
} else if (MHI_RING_TYPE_EVENT_RING == ring_type &&
|
||||||
|
mhi_dev_ctxt->counters.m0_m3 > 0 &&
|
||||||
|
IS_HARDWARE_CHANNEL(ring_index)) {
|
||||||
|
spinlock_t *lock = NULL;
|
||||||
|
unsigned long flags = 0;
|
||||||
|
lock = &mhi_dev_ctxt->mhi_ev_spinlock_list[ring_index];
|
||||||
|
spin_lock_irqsave(lock, flags);
|
||||||
|
mhi_update_ctxt(mhi_dev_ctxt,
|
||||||
|
mhi_dev_ctxt->event_db_addr,
|
||||||
|
ring_index, db_value);
|
||||||
|
mhi_dev_ctxt->mhi_ev_db_order[ring_index] = 1;
|
||||||
|
mhi_dev_ctxt->ev_counter[ring_index]++;
|
||||||
|
spin_unlock_irqrestore(lock, flags);
|
||||||
}
|
}
|
||||||
atomic_inc(&mhi_dev_ctxt->flags.data_pending);
|
atomic_inc(&mhi_dev_ctxt->flags.data_pending);
|
||||||
/* Asserting Device Wake here, will imediately wake mdm */
|
/* Asserting Device Wake here, will imediately wake mdm */
|
||||||
|
|
Loading…
Add table
Reference in a new issue