msm: camera: flash: Get the flash on wait time from userspace
This change gets the flash on wait time from userspace to control the precise flash. CRs-Fixed: 2929276 Change-Id: Ieac18f6e049b446c5a7b20dcfdff013aa9838575 Signed-off-by: Depeng Shao <depengs@codeaurora.org>
This commit is contained in:
@@ -11,9 +11,6 @@
|
||||
#include "cam_common_util.h"
|
||||
#include "cam_packet_util.h"
|
||||
|
||||
static uint default_on_timer = 2;
|
||||
module_param(default_on_timer, uint, 0644);
|
||||
|
||||
int cam_flash_led_prepare(struct led_trigger *trigger, int options,
|
||||
int *max_current, bool is_wled)
|
||||
{
|
||||
@@ -428,8 +425,7 @@ static int cam_flash_ops(struct cam_flash_ctrl *flash_ctrl,
|
||||
|
||||
param.off_time_ms =
|
||||
flash_data->flash_active_time_ms;
|
||||
/* This is to dynamically change the turn on time */
|
||||
param.on_time_ms = default_on_timer;
|
||||
param.on_time_ms = flash_data->flash_on_wait_time_ms;
|
||||
CAM_DBG(CAM_FLASH,
|
||||
"Precise flash_on time: %u, Precise flash_off time: %u",
|
||||
param.on_time_ms, param.off_time_ms);
|
||||
@@ -1559,8 +1555,12 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
flash_data->flash_active_time_ms =
|
||||
(flash_operation_info->time_on_duration_ns)
|
||||
/ 1000000;
|
||||
flash_data->flash_on_wait_time_ms =
|
||||
(flash_operation_info->led_on_wait_time_ns)
|
||||
/ 1000000;
|
||||
CAM_DBG(CAM_FLASH,
|
||||
"PRECISE FLASH: active_time: %llu",
|
||||
"PRECISE FLASH: active wait tme:%llu duration: %llu",
|
||||
flash_data->flash_on_wait_time_ms,
|
||||
flash_data->flash_active_time_ms);
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _CAM_FLASH_DEV_H_
|
||||
@@ -115,6 +115,7 @@ struct cam_flash_init_packet {
|
||||
* @opcode : Command buffer opcode
|
||||
* @led_current_ma[] : LED current array in miliamps
|
||||
* @flash_active_time_ms : Flash_On time with precise flash
|
||||
* @flash_on_wait_time_ms : Flash on wait time with precise flash
|
||||
*/
|
||||
struct cam_flash_frame_setting {
|
||||
struct cam_flash_common_attr cmn_attr;
|
||||
@@ -124,6 +125,7 @@ struct cam_flash_frame_setting {
|
||||
int8_t opcode;
|
||||
uint32_t led_current_ma[CAM_FLASH_MAX_LED_TRIGGERS];
|
||||
uint64_t flash_active_time_ms;
|
||||
uint64_t flash_on_wait_time_ms;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -547,7 +547,8 @@ struct cam_flash_set_rer {
|
||||
* CAM_FLASH_OFF
|
||||
* @cmd_type : Command buffer operation type
|
||||
* @led_current_ma : Flash led current in ma
|
||||
* @time_on_duration_ms : Flash time on duration in ns
|
||||
* @time_on_duration_ns : Flash time on duration in ns
|
||||
* @led_on_wait_time_ns : Flash led turn on wait time in ns
|
||||
*
|
||||
*/
|
||||
struct cam_flash_set_on_off {
|
||||
@@ -557,6 +558,7 @@ struct cam_flash_set_on_off {
|
||||
__u16 reserved;
|
||||
__u32 led_current_ma[CAM_FLASH_MAX_LED_TRIGGERS];
|
||||
__u64 time_on_duration_ns;
|
||||
__u64 led_on_wait_time_ns;
|
||||
} __attribute__((packed));
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user