Files
android_kernel_samsung_sm86…/Android.mk
Li Sha Lim f2360705b1 msm: camera: csiphy: Integrate mink call for secure camera
Adds support for new mink call to configure secure
camera sessions. This new mink call takes in additional
parameters to support the new domain-id based
security scheme. The additional parameters are in the
form of csid_hw_idx_mask, cdm_hw_idx_mask and
vc_mask. These are in addition to the existing PHY idx
and CPHY/DPHY lanes info.

The introduction of this new mink call deprecates the
existing SCM call used to service secure camera sessions.
What this means is that on all subsequent versions of this
driver, all secure camera sessions will be serviced by this
mink call, which is able to accommodate older and newer targets,
and their programming of different register sets.

This design enables the cam_csiphy_notify_secure_mode
wrapper to remain the same, with the underlying mink call
made in the cam_compat layer, depending on camera driver
version.

CRs-Fixed: 3317248
Change-Id: I575f4b85097c81f047f398216d0190b249e6b200
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
2022-12-16 18:07:20 -08:00

90 rindas
3.4 KiB
Makefile

CAMERA_DLKM_ENABLED := true
ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
ifeq ($(TARGET_KERNEL_DLKM_CAMERA_OVERRIDE), false)
CAMERA_DLKM_ENABLED := false;
endif
endif
ifeq ($(CAMERA_DLKM_ENABLED),true)
ifeq ($(call is-board-platform-in-list, $(TARGET_BOARD_PLATFORM)),true)
# Make target to specify building the camera.ko from within Android build system.
LOCAL_PATH := $(call my-dir)
# Path to DLKM make scripts
DLKM_DIR := $(TOP)/device/qcom/common/dlkm
# List of board platforms for which MMRM driver API should be enabled
MMRM_BOARDS := taro parrot kalama pineapple
# List of board platforms for which Synx V2 vendor driver API should be enabled
SYNX_VENDOR_BOARDS := pineapple
# List of board platforms for which SMCINVOKE_DLKM driver API should be enabled
SMCINVOKE_DLKM_BOARDS := pineapple
CAMERA_SRC_FILES := \
$(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.h,drivers dt-bindings include))\
$(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.mk,config))\
$(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.c,drivers))\
$(LOCAL_PATH)/dependency.mk \
$(LOCAL_PATH)/board.mk \
$(LOCAL_PATH)/product.mk \
$(LOCAL_PATH)/Kbuild
# Target for pre-sil symbols
ifeq ($(CONFIG_CAM_PRESIL), y)
$(warning camera-kernel: Enabling Pre-Sil Kbuild Options!)
KBUILD_OPTIONS := CONFIG_CAM_PRESIL=y
include $(CLEAR_VARS)
$(warning camera-kernel: Enabling Pre-Sil build, exporting symbols!)
LOCAL_SRC_FILES := $(CAMERA_SRC_FILES)
LOCAL_MODULE := camera-kernel-symvers
LOCAL_MODULE_STEM := Module.symvers
LOCAL_MODULE_KBUILD_NAME := Module.symvers
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
# Check build for optional dependencies
include $(LOCAL_PATH)/dependency.mk
include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif
# Kbuild options
KBUILD_OPTIONS := CAMERA_KERNEL_ROOT=$(TOP)/$(LOCAL_PATH)
KBUILD_OPTIONS += KERNEL_ROOT=$(TOP)/kernel_platform/common
KBUILD_OPTIONS += MODNAME=camera
KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
# Clear shell environment variables from previous android module during build
include $(CLEAR_VARS)
# For incremental compilation support.
LOCAL_SRC_FILES := $(CAMERA_SRC_FILES)
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
LOCAL_MODULE := camera.ko
LOCAL_MODULE_TAGS := optional
#LOCAL_MODULE_KBUILD_NAME := camera.ko
#LOCAL_MODULE_DEBUG_ENABLE := true
# Check build for optional dependencies
include $(LOCAL_PATH)/dependency.mk
# $(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
# $(info intermediates mmrm symvers path = $(call intermediates-dir-for,DLKM,mmrm-module-symvers))
# $(info CAMERA_EXTRA_SYMBOLS = $(CAMERA_EXTRA_SYMBOLS))
# $(info CAMERA_EXTRA_CONFIGS = $(CAMERA_EXTRA_CONFIGS))
# $(info LOCAL_ADDITIONAL_DEPENDENCIES = $(LOCAL_ADDITIONAL_DEPENDENCIES))
# $(info LOCAL_REQUIRED_MODULES = $(LOCAL_REQUIRED_MODULES))
# $(info DLKM_DIR = $(DLKM_DIR))
$(info KBUILD_OPTIONS = $(KBUILD_OPTIONS))
ifeq ($(TARGET_BOARD_PLATFORM), lahaina)
# Include Kernel DLKM Android.mk target to place generated .ko file in image
include $(DLKM_DIR)/AndroidKernelModule.mk
# Include Camera UAPI Android.mk target to copy headers
include $(LOCAL_PATH)/include/uapi/Android.mk
else
include $(DLKM_DIR)/Build_external_kernelmodule.mk
endif
endif # End of check for board platform
endif # ifeq ($(CAMERA_DLKM_ENABLED),true)