msm: mhi_rmnet: Keep wake when processing transfer

Disable MHI from going into low power mode when
processing inbound transfers.

CRs-Fixed: 1081654
Change-Id: If8af0805501901a15981bbc6db0c92d2e040eb78
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
This commit is contained in:
Sujeev Dias 2016-10-11 17:58:49 -07:00
parent 63b9fc1f66
commit 25a3b9b47d

View file

@ -353,6 +353,7 @@ static int rmnet_mhi_poll(struct napi_struct *napi, int budget)
if (atomic_read(&rmnet_mhi_ptr->irq_masked_cntr)) { if (atomic_read(&rmnet_mhi_ptr->irq_masked_cntr)) {
atomic_dec(&rmnet_mhi_ptr->irq_masked_cntr); atomic_dec(&rmnet_mhi_ptr->irq_masked_cntr);
mhi_unmask_irq(rmnet_mhi_ptr->rx_client_handle); mhi_unmask_irq(rmnet_mhi_ptr->rx_client_handle);
mhi_set_lpm(rmnet_mhi_ptr->rx_client_handle, true);
} }
} else { } else {
if (received_packets == budget) if (received_packets == budget)
@ -493,6 +494,7 @@ static void rmnet_mhi_rx_cb(struct mhi_result *result)
if (napi_schedule_prep(&(rmnet_mhi_ptr->napi))) { if (napi_schedule_prep(&(rmnet_mhi_ptr->napi))) {
mhi_mask_irq(rmnet_mhi_ptr->rx_client_handle); mhi_mask_irq(rmnet_mhi_ptr->rx_client_handle);
atomic_inc(&rmnet_mhi_ptr->irq_masked_cntr); atomic_inc(&rmnet_mhi_ptr->irq_masked_cntr);
mhi_set_lpm(rmnet_mhi_ptr->rx_client_handle, false);
__napi_schedule(&(rmnet_mhi_ptr->napi)); __napi_schedule(&(rmnet_mhi_ptr->napi));
} else { } else {
rmnet_mhi_ptr->debug.rx_interrupts_in_masked_irq++; rmnet_mhi_ptr->debug.rx_interrupts_in_masked_irq++;
@ -525,6 +527,7 @@ static int rmnet_mhi_open(struct net_device *dev)
if (napi_schedule_prep(&(rmnet_mhi_ptr->napi))) { if (napi_schedule_prep(&(rmnet_mhi_ptr->napi))) {
mhi_mask_irq(rmnet_mhi_ptr->rx_client_handle); mhi_mask_irq(rmnet_mhi_ptr->rx_client_handle);
atomic_inc(&rmnet_mhi_ptr->irq_masked_cntr); atomic_inc(&rmnet_mhi_ptr->irq_masked_cntr);
mhi_set_lpm(rmnet_mhi_ptr->rx_client_handle, false);
__napi_schedule(&(rmnet_mhi_ptr->napi)); __napi_schedule(&(rmnet_mhi_ptr->napi));
} else { } else {
rmnet_mhi_ptr->debug.rx_interrupts_in_masked_irq++; rmnet_mhi_ptr->debug.rx_interrupts_in_masked_irq++;