From 85ac759b1eb24150e810391c6ec2a86a8c691fc3 Mon Sep 17 00:00:00 2001 From: Karthik Anantha Ram Date: Wed, 22 Apr 2020 16:16:36 -0700 Subject: [PATCH] msm: camera: cpas: Set AHB clock rate only if a client is streamed on Currently the ahb clock rate is set as part of cpas_start for a given client. In order to set this rate, any camera gdsc needs to be enabled. This change adds a check to allow setting the clk rate only if the gdsc regulator has been enabled to avoid NoC timeouts. CRs-Fixed: 2671048 Change-Id: I6551c8c648ae298dca97f0e35ba7c9ca83b5a2cd Signed-off-by: Karthik Anantha Ram --- drivers/cam_cpas/cam_cpas_hw.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/cam_cpas/cam_cpas_hw.c b/drivers/cam_cpas/cam_cpas_hw.c index 8fd153169d89..b042dc0e8ab6 100644 --- a/drivers/cam_cpas/cam_cpas_hw.c +++ b/drivers/cam_cpas/cam_cpas_hw.c @@ -1030,12 +1030,15 @@ static int cam_cpas_util_apply_client_ahb_vote(struct cam_hw_info *cpas_hw, } } - rc = cam_soc_util_set_clk_rate_level(&cpas_hw->soc_info, highest_level); - if (rc) { - CAM_ERR(CAM_CPAS, - "Failed in scaling clock rate level %d for AHB", + if (cpas_core->streamon_clients) { + rc = cam_soc_util_set_clk_rate_level(&cpas_hw->soc_info, highest_level); - goto unlock_bus_client; + if (rc) { + CAM_ERR(CAM_CPAS, + "Failed in scaling clock rate level %d for AHB", + highest_level); + goto unlock_bus_client; + } } if (applied_level)