Prechádzať zdrojové kódy

Revert "soc:soundwire: disable pm_qos in soundwire master driver"

This reverts commit 068e2722da7b61ee5dabd425cbff7647d81a970e.

Change-Id: I2725889bc3feb83642a6da57e2b2e02b51cf28f5
Signed-off-by: Meng Wang <[email protected]>
Meng Wang 3 rokov pred
rodič
commit
c0c4216d1d
1 zmenil súbory, kde vykonal 9 pridanie a 0 odobranie
  1. 9 0
      soc/swr-mstr-ctrl.c

+ 9 - 0
soc/swr-mstr-ctrl.c

@@ -2854,6 +2854,9 @@ static int swrm_probe(struct platform_device *pdev)
 	swrm->wlock_holders = 0;
 	swrm->pm_state = SWRM_PM_SLEEPABLE;
 	init_waitqueue_head(&swrm->pm_wq);
+	cpu_latency_qos_add_request(&swrm->pm_qos_req,
+			   PM_QOS_DEFAULT_VALUE);
+
 	for (i = 0 ; i < SWR_MSTR_PORT_LEN; i++) {
 		INIT_LIST_HEAD(&swrm->mport_cfg[i].port_req_list);
 
@@ -3062,6 +3065,7 @@ err_irq_fail:
 	mutex_destroy(&swrm->clklock);
 	mutex_destroy(&swrm->pm_lock);
 	mutex_destroy(&swrm->runtime_lock);
+	cpu_latency_qos_remove_request(&swrm->pm_qos_req);
 
 err_pdata_fail:
 err_memory_fail:
@@ -3100,6 +3104,7 @@ static int swrm_remove(struct platform_device *pdev)
 	mutex_destroy(&swrm->force_down_lock);
 	mutex_destroy(&swrm->pm_lock);
 	mutex_destroy(&swrm->runtime_lock);
+	cpu_latency_qos_remove_request(&swrm->pm_qos_req);
 	devm_kfree(&pdev->dev, swrm);
 	return 0;
 }
@@ -3799,6 +3804,8 @@ static bool swrm_lock_sleep(struct swr_mstr_ctrl *swrm)
 	mutex_lock(&swrm->pm_lock);
 	if (swrm->wlock_holders++ == 0) {
 		dev_dbg(swrm->dev, "%s: holding wake lock\n", __func__);
+		cpu_latency_qos_update_request(&swrm->pm_qos_req,
+					 CPU_IDLE_LATENCY);
 		pm_stay_awake(swrm->dev);
 	}
 	mutex_unlock(&swrm->pm_lock);
@@ -3833,6 +3840,8 @@ static void swrm_unlock_sleep(struct swr_mstr_ctrl *swrm)
 		 */
 		if (likely(swrm->pm_state == SWRM_PM_AWAKE))
 			swrm->pm_state = SWRM_PM_SLEEPABLE;
+		cpu_latency_qos_update_request(&swrm->pm_qos_req,
+				PM_QOS_DEFAULT_VALUE);
 		pm_relax(swrm->dev);
 	}
 	mutex_unlock(&swrm->pm_lock);