Tejas Prajapati 4574450a12 msm: camera: common: Merge camera-kernel.3.1 changes in camera-kernel.4.0
msm: camera: cdm: Fix dangling pointer issue
msm: camera: cdm: change work record to atomic variable
msm: camera: utils: Adding device type to track device handles
msm: camera: tfe: Reduce stack footprint during bw vote
msm: camera: req_mgr: Thread switch delay detection mechanisms
msm: camera: cdm: Avoid submitting BL if FIFO is full
msm: camera: tfe: check cdm hang in the tfe config timeout
msm: camera: req_mgr: Delay detection mechanism
msm: camera: cdm: Debug info in case of cdm page fault
msm: camera: isp: Max context reduction for TFE in isp driver
msm: camera: ope: Maintain current clock value during acquire
msm: camera: req_mgr: Limit CAM_ERR log in case of no empty task
msm: camera: cdm: Decrement write-count only after Bl commit
msm: camera: isp: Added CSID recovery mechanism.

CRs-Fixed: 2792394
Change-Id: I1c7a903ae15b572acf3f6318cda7394cb6549c8d
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
2020-10-13 12:08:01 +05:30

46 lines
1.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
*/
#ifndef _CAM_ISP_DEV_H_
#define _CAM_ISP_DEV_H_
#include "cam_subdev.h"
#include "cam_hw_mgr_intf.h"
#include "cam_context.h"
#include "cam_isp_context.h"
/**
* struct cam_isp_dev - Camera ISP V4l2 device node
*
* @sd: Commone camera subdevice node
* @ctx: Isp base context storage
* @ctx_isp: Isp private context storage
* @isp_mutex: ISP dev mutex
* @open_cnt: Open device count
* @isp_device_type ISP device type
* @max_context maximum contexts for TFE is 4 and for IFE is 8
*/
struct cam_isp_dev {
struct cam_subdev sd;
struct cam_context *ctx;
struct cam_isp_context *ctx_isp;
struct mutex isp_mutex;
int32_t open_cnt;
uint32_t isp_device_type;
int32_t max_context;
};
/**
* @brief : API to register ISP Dev to platform framework.
* @return struct platform_device pointer on on success, or ERR_PTR() on error.
*/
int cam_isp_dev_init_module(void);
/**
* @brief : API to remove ISP Dev from platform framework.
*/
void cam_isp_dev_exit_module(void);
#endif /* __CAM_ISP_DEV_H__ */