Pārlūkot izejas kodu

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 gadi atpakaļ
vecāks
revīzija
bac9cf4a20
1 mainītis faili ar 5 papildinājumiem un 3 dzēšanām
  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);