Эх сурвалжийг харах

msm: camera: utils: Enable using mmrm API in camera

Enable using mmrm APIs for camera clk set rates.

CRs-Fixed: 2901925
Change-Id: Id80f2d46b62aef9ebcbb238a342925c74aac053a
Signed-off-by: Pavan Kumar Chilamkurthi <[email protected]>
Pavan Kumar Chilamkurthi 4 жил өмнө
parent
commit
ba7a561d66

+ 9 - 0
Android.mk

@@ -13,6 +13,10 @@ KBUILD_OPTIONS += KERNEL_ROOT=$(shell pwd)/kernel/msm-$(TARGET_KERNEL_VERSION)/
 KBUILD_OPTIONS += MODNAME=camera
 KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
 
+ifeq ($(TARGET_BOARD_PLATFORM), taro)
+	KBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(shell pwd)/$(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
+endif
+
 # Clear shell environment variables from previous android module during build
 include $(CLEAR_VARS)
 # For incremental compilation support.
@@ -31,6 +35,11 @@ LOCAL_MODULE_TAGS           := optional
 #LOCAL_MODULE_KBUILD_NAME   := camera.ko
 #LOCAL_MODULE_DEBUG_ENABLE  := true
 
+ifeq ($(TARGET_BOARD_PLATFORM), taro)
+	LOCAL_REQUIRED_MODULES        := mmrm-module-symvers
+	LOCAL_ADDITIONAL_DEPENDENCIES := $(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
+endif
+
 ifeq ($(TARGET_BOARD_PLATFORM), lahaina)
 # Include Kernel DLKM Android.mk target to place generated .ko file in image
 include $(DLKM_DIR)/AndroidKernelModule.mk

+ 3 - 0
config/waipio.mk

@@ -13,3 +13,6 @@ ccflags-y += -DCONFIG_SPECTRA_ICP=1
 ccflags-y += -DCONFIG_SPECTRA_JPEG=1
 ccflags-y += -DCONFIG_SPECTRA_CUSTOM=1
 ccflags-y += -DCONFIG_SPECTRA_SENSOR=1
+
+# External Dependencies
+KBUILD_CPPFLAGS += -DCONFIG_MSM_MMRM=1

+ 5 - 2
drivers/cam_utils/cam_soc_util.c

@@ -81,7 +81,11 @@ static LIST_HEAD(wrapper_clk_list);
 #if IS_REACHABLE(CONFIG_MSM_MMRM)
 bool cam_is_mmrm_supported_on_current_chip(void)
 {
-	return false;
+	/*
+	 * Enable on chipsets where mmrm does the resource management.
+	 * Either based on query API from mmrm or based on camera dt flag.
+	 */
+	return true;
 }
 
 int cam_mmrm_notifier_callback(
@@ -183,7 +187,6 @@ static int cam_soc_util_set_rate_through_mmrm(
 	client_data.num_hw_blocks = num_hw_blocks;
 	client_data.flags = 0;
 
-
 	CAM_DBG(CAM_UTIL,
 		"mmrm=%pK, nrt=%d, min_rate=%ld req_rate %ld, num_blocks=%d",
 		mmrm_handle, is_nrt_dev, min_rate, req_rate, num_hw_blocks);