From 25a3b9b47dc9c74e938dedcbc5d210f58274060a Mon Sep 17 00:00:00 2001 From: Sujeev Dias Date: Tue, 11 Oct 2016 17:58:49 -0700 Subject: 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 --- drivers/net/ethernet/msm/msm_rmnet_mhi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ethernet/msm/msm_rmnet_mhi.c b/drivers/net/ethernet/msm/msm_rmnet_mhi.c index f7564d9eca3f..9117ea7d08c0 100644 --- a/drivers/net/ethernet/msm/msm_rmnet_mhi.c +++ b/drivers/net/ethernet/msm/msm_rmnet_mhi.c @@ -353,6 +353,7 @@ static int rmnet_mhi_poll(struct napi_struct *napi, int budget) if (atomic_read(&rmnet_mhi_ptr->irq_masked_cntr)) { atomic_dec(&rmnet_mhi_ptr->irq_masked_cntr); mhi_unmask_irq(rmnet_mhi_ptr->rx_client_handle); + mhi_set_lpm(rmnet_mhi_ptr->rx_client_handle, true); } } else { 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))) { mhi_mask_irq(rmnet_mhi_ptr->rx_client_handle); atomic_inc(&rmnet_mhi_ptr->irq_masked_cntr); + mhi_set_lpm(rmnet_mhi_ptr->rx_client_handle, false); __napi_schedule(&(rmnet_mhi_ptr->napi)); } else { 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))) { mhi_mask_irq(rmnet_mhi_ptr->rx_client_handle); atomic_inc(&rmnet_mhi_ptr->irq_masked_cntr); + mhi_set_lpm(rmnet_mhi_ptr->rx_client_handle, false); __napi_schedule(&(rmnet_mhi_ptr->napi)); } else { rmnet_mhi_ptr->debug.rx_interrupts_in_masked_irq++; -- cgit v1.2.3