Răsfoiți Sursa

video: driver: Update power down sequence

Copy fixes in power down sequence from Iris2 to Iris3.

Change-Id: I0ec94dbe064e10b6c4172b206561d8951c00a26b
Signed-off-by: Chinmay Sawarkar <[email protected]>
Chinmay Sawarkar 3 ani în urmă
părinte
comite
f7c4e2fe65
1 a modificat fișierele cu 8 adăugiri și 15 ștergeri
  1. 8 15
      driver/variant/iris3/src/msm_vidc_iris3.c

+ 8 - 15
driver/variant/iris3/src/msm_vidc_iris3.c

@@ -575,10 +575,10 @@ static int __power_off_iris3_controller(struct msm_vidc_core *core)
 	if (rc)
 		d_vpr_h("%s: debug bridge release failed\n", __func__);
 
-	/* power down process */
-	rc = __disable_regulator_iris3(core, "iris-ctl");
+	/* Turn off MVP MVS0C core clock */
+	rc = __disable_unprepare_clock_iris3(core, "core_clk");
 	if (rc) {
-		d_vpr_e("%s: disable regulator iris-ctl failed\n", __func__);
+		d_vpr_e("%s: disable unprepare core_clk failed\n", __func__);
 		rc = 0;
 	}
 
@@ -589,17 +589,16 @@ static int __power_off_iris3_controller(struct msm_vidc_core *core)
 		rc = 0;
 	}
 
-	/* Turn off MVP MVS0C core clock */
-	rc = __disable_unprepare_clock_iris3(core, "core_clk");
+	rc = call_venus_op(core, reset_ahb2axi_bridge, core);
 	if (rc) {
-		d_vpr_e("%s: disable unprepare core_clk failed\n", __func__);
+		d_vpr_e("%s: reset ahb2axi bridge failed\n", __func__);
 		rc = 0;
 	}
 
-	/* Turn off MVP MVS0 SRC clock */
-	rc = __disable_unprepare_clock_iris3(core, "video_cc_mvs0_clk_src");
+	/* power down process */
+	rc = __disable_regulator_iris3(core, "iris-ctl");
 	if (rc) {
-		d_vpr_e("%s: disable unprepare video_cc_mvs0_clk_src failed\n", __func__);
+		d_vpr_e("%s: disable regulator iris-ctl failed\n", __func__);
 		rc = 0;
 	}
 
@@ -664,14 +663,8 @@ static int __power_on_iris3_controller(struct msm_vidc_core *core)
 	if (rc)
 		goto fail_clk_controller;
 
-	rc = __prepare_enable_clock_iris3(core, "video_cc_mvs0_clk_src");
-	if (rc)
-		goto fail_clk_src;
-
 	return 0;
 
-fail_clk_src:
-	__disable_unprepare_clock_iris3(core, "core_clk");
 fail_clk_controller:
 	__disable_unprepare_clock_iris3(core, "gcc_video_axi0");
 fail_clk_axi: