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>
Цей коміт міститься в:
@@ -848,6 +848,7 @@ int32_t cam_actuator_driver_cmd(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
bridge_params.v4l2_sub_dev_flag = 0;
|
||||
bridge_params.media_entity_flag = 0;
|
||||
bridge_params.priv = a_ctrl;
|
||||
bridge_params.dev_id = CAM_ACTUATOR;
|
||||
|
||||
actuator_acq_dev.device_handle =
|
||||
cam_create_device_hdl(&bridge_params);
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include <linux/module.h>
|
||||
#include "cam_cci_core.h"
|
||||
#include "cam_cci_dev.h"
|
||||
#include "cam_req_mgr_workq.h"
|
||||
|
||||
static int32_t cam_cci_convert_type_to_num_bytes(
|
||||
enum camera_sensor_i2c_type type)
|
||||
@@ -1533,6 +1534,8 @@ static void cam_cci_write_async_helper(struct work_struct *work)
|
||||
enum cci_i2c_master_t master;
|
||||
struct cam_cci_master_info *cci_master_info;
|
||||
|
||||
cam_req_mgr_thread_switch_delay_detect(
|
||||
write_async->workq_scheduled_ts);
|
||||
cci_dev = write_async->cci_dev;
|
||||
i2c_msg = &write_async->c_ctrl.cfg.cci_i2c_write_cfg;
|
||||
master = write_async->c_ctrl.cci_info->cci_i2c_master;
|
||||
@@ -1601,6 +1604,7 @@ static int32_t cam_cci_i2c_write_async(struct v4l2_subdev *sd,
|
||||
cci_i2c_write_cfg_w->size = cci_i2c_write_cfg->size;
|
||||
cci_i2c_write_cfg_w->delay = cci_i2c_write_cfg->delay;
|
||||
|
||||
write_async->workq_scheduled_ts = ktime_get();
|
||||
queue_work(cci_dev->write_wq[write_async->queue], &write_async->work);
|
||||
|
||||
return rc;
|
||||
|
@@ -31,6 +31,7 @@
|
||||
#include "cam_cci_hwreg.h"
|
||||
#include "cam_soc_util.h"
|
||||
#include "cam_debug_util.h"
|
||||
#include "cam_req_mgr_workq.h"
|
||||
|
||||
#define CCI_I2C_QUEUE_0_SIZE 128
|
||||
#define CCI_I2C_QUEUE_1_SIZE 32
|
||||
@@ -292,6 +293,7 @@ struct cci_write_async {
|
||||
struct cam_cci_ctrl c_ctrl;
|
||||
enum cci_i2c_queue_t queue;
|
||||
struct work_struct work;
|
||||
ktime_t workq_scheduled_ts;
|
||||
enum cci_i2c_sync sync_en;
|
||||
};
|
||||
|
||||
|
@@ -1110,6 +1110,7 @@ int32_t cam_csiphy_core_cfg(void *phy_dev,
|
||||
bridge_params.v4l2_sub_dev_flag = 0;
|
||||
bridge_params.media_entity_flag = 0;
|
||||
bridge_params.priv = csiphy_dev;
|
||||
bridge_params.dev_id = CAM_CSIPHY;
|
||||
index = csiphy_dev->acquire_count;
|
||||
csiphy_acq_dev.device_handle =
|
||||
cam_create_device_hdl(&bridge_params);
|
||||
|
@@ -351,6 +351,7 @@ static int32_t cam_eeprom_get_dev_handle(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
bridge_params.v4l2_sub_dev_flag = 0;
|
||||
bridge_params.media_entity_flag = 0;
|
||||
bridge_params.priv = e_ctrl;
|
||||
bridge_params.dev_id = CAM_EEPROM;
|
||||
|
||||
eeprom_acq_dev.device_handle =
|
||||
cam_create_device_hdl(&bridge_params);
|
||||
|
@@ -64,6 +64,7 @@ static int32_t cam_flash_driver_cmd(struct cam_flash_ctrl *fctrl,
|
||||
bridge_params.v4l2_sub_dev_flag = 0;
|
||||
bridge_params.media_entity_flag = 0;
|
||||
bridge_params.priv = fctrl;
|
||||
bridge_params.dev_id = CAM_FLASH;
|
||||
|
||||
flash_acq_dev.device_handle =
|
||||
cam_create_device_hdl(&bridge_params);
|
||||
|
@@ -82,6 +82,7 @@ static int cam_ois_get_dev_handle(struct cam_ois_ctrl_t *o_ctrl,
|
||||
bridge_params.v4l2_sub_dev_flag = 0;
|
||||
bridge_params.media_entity_flag = 0;
|
||||
bridge_params.priv = o_ctrl;
|
||||
bridge_params.dev_id = CAM_OIS;
|
||||
|
||||
ois_acq_dev.device_handle =
|
||||
cam_create_device_hdl(&bridge_params);
|
||||
|
@@ -835,6 +835,7 @@ int32_t cam_sensor_driver_cmd(struct cam_sensor_ctrl_t *s_ctrl,
|
||||
bridge_params.v4l2_sub_dev_flag = 0;
|
||||
bridge_params.media_entity_flag = 0;
|
||||
bridge_params.priv = s_ctrl;
|
||||
bridge_params.dev_id = CAM_SENSOR;
|
||||
|
||||
sensor_acq_dev.device_handle =
|
||||
cam_create_device_hdl(&bridge_params);
|
||||
|
Посилання в новій задачі
Заблокувати користувача