Просмотр исходного кода

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 лет назад
Родитель
Сommit
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);