浏览代码

msm: camera: cpas: Fix bw voting units for interconnect

In bw voting for ahb and axi, interconnect API requires
bw values in KBps. Add conversion to icc compatible units
before voting to interconnect framework.

CRs-Fixed: 2664087
Change-Id: If64c2bcbd20a3e2ad9f738e18955d5a8256d715c
Signed-off-by: Mukund Madhusudan Atre <[email protected]>
Mukund Madhusudan Atre 5 年之前
父节点
当前提交
bac9cf4a20
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      drivers/cam_utils/cam_soc_icc.c

+ 5 - 3
drivers/cam_utils/cam_soc_icc.c

@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
  */
 
 #include <linux/interconnect.h>
@@ -37,7 +37,8 @@ int cam_soc_bus_client_update_request(void *client, unsigned int idx)
 	CAM_DBG(CAM_UTIL, "Bus client=[%s] index[%d]",
 		bus_client->common_data->name, idx);
 
-	rc = icc_set_bw(bus_client_data->icc_data, ab, ib);
+	rc = icc_set_bw(bus_client_data->icc_data, Bps_to_icc(ab),
+		Bps_to_icc(ib));
 	if (rc) {
 		CAM_ERR(CAM_UTIL,
 			"Update request failed, client[%s], idx: %d",
@@ -59,7 +60,8 @@ int cam_soc_bus_client_update_bw(void *client, uint64_t ab, uint64_t ib)
 
 	CAM_DBG(CAM_UTIL, "Bus client=[%s] :ab[%llu] ib[%llu]",
 		bus_client->common_data->name, ab, ib);
-	rc = icc_set_bw(bus_client_data->icc_data, ab, ib);
+	rc = icc_set_bw(bus_client_data->icc_data, Bps_to_icc(ab),
+		Bps_to_icc(ib));
 	if (rc) {
 		CAM_ERR(CAM_UTIL, "Update request failed, client[%s]",
 			bus_client->common_data->name);