فهرست منبع

msm: eva: mmrm set clk to 0 when disable unprepare

set clk value to 0 with mmrm api when disable and
unprepare clk

Change-Id: Ia14042abf5dc0b6798869ad95e22b4c12a973881
Signed-off-by: Yu SI <[email protected]>
Yu SI 3 سال پیش
والد
کامیت
73df69a866
1فایلهای تغییر یافته به همراه13 افزوده شده و 0 حذف شده
  1. 13 0
      msm/eva/msm_cvp_clocks.c

+ 13 - 0
msm/eva/msm_cvp_clocks.c

@@ -313,6 +313,7 @@ int msm_cvp_disable_unprepare_clk(struct iris_hfi_device *device,
 		const char *name)
 {
 	struct clock_info *cl;
+	int rc = 0;
 
 	if (!device) {
 		dprintk(CVP_ERR, "Invalid params: %pK\n", device);
@@ -325,6 +326,18 @@ int msm_cvp_disable_unprepare_clk(struct iris_hfi_device *device,
 		clk_disable_unprepare(cl->clk);
 		dprintk(CVP_PWR, "Clock: %s disable and unprepare\n",
 			cl->name);
+
+		if (cl->has_scaling) {
+			if (device->mmrm_cvp != NULL) {
+				// set min freq and cur freq to 0;
+				rc = msm_cvp_mmrm_set_value_in_range(device,
+					0, 0);
+				if (rc)
+					dprintk(CVP_ERR,
+						"%s Failed set clock %s: %d\n",
+						__func__, cl->name, rc);
+			}
+		}
 		return 0;
 	}