Lines Matching refs:is

26 #include "fimc-is.h"
27 #include "fimc-is-command.h"
28 #include "fimc-is-errno.h"
29 #include "fimc-is-param.h"
30 #include "fimc-is-regs.h"
31 #include "fimc-is-sensor.h"
38 static void __fimc_is_hw_update_param_global_shotmode(struct fimc_is *is)
42 dst = &is->is_p_region->parameter.global.shotmode;
43 src = &is->config[is->config_index].global.shotmode;
47 static void __fimc_is_hw_update_param_sensor_framerate(struct fimc_is *is)
51 dst = &is->is_p_region->parameter.sensor.frame_rate;
52 src = &is->config[is->config_index].sensor.frame_rate;
56 int __fimc_is_hw_update_param(struct fimc_is *is, u32 offset)
58 struct is_param_region *par = &is->is_p_region->parameter;
59 struct chain_config *cfg = &is->config[is->config_index];
161 unsigned int __get_pending_param_count(struct fimc_is *is)
163 struct chain_config *config = &is->config[is->config_index];
167 spin_lock_irqsave(&is->slock, flags);
170 spin_unlock_irqrestore(&is->slock, flags);
175 int __is_hw_update_params(struct fimc_is *is)
180 id = is->config_index;
181 p_index = &is->config[id].p_region_index[0];
184 __fimc_is_hw_update_param_global_shotmode(is);
187 __fimc_is_hw_update_param_sensor_framerate(is);
191 ret = __fimc_is_hw_update_param(is, i);
196 ret = __fimc_is_hw_update_param(is, i);
201 ret = __fimc_is_hw_update_param(is, i);
207 void __is_get_frame_size(struct fimc_is *is, struct v4l2_mbus_framefmt *mf)
211 isp = &is->config[is->config_index].isp;
216 void __is_set_frame_size(struct fimc_is *is, struct v4l2_mbus_framefmt *mf)
218 unsigned int index = is->config_index;
223 isp = &is->config[index].isp;
224 drc = &is->config[index].drc;
225 fd = &is->config[index].fd;
242 &is->config[index].p_region_index[0]))
246 fimc_is_set_param_bit(is, PARAM_ISP_OTF_INPUT);
247 fimc_is_set_param_bit(is, PARAM_ISP_OTF_OUTPUT);
248 fimc_is_set_param_bit(is, PARAM_DRC_OTF_INPUT);
249 fimc_is_set_param_bit(is, PARAM_DRC_OTF_OUTPUT);
250 fimc_is_set_param_bit(is, PARAM_FD_OTF_INPUT);
253 int fimc_is_hw_get_sensor_max_framerate(struct fimc_is *is)
255 switch (is->sensor->drvdata->id) {
263 void __is_set_sensor(struct fimc_is *is, int fps)
265 unsigned int index = is->config_index;
269 sensor = &is->config[index].sensor;
270 isp = &is->config[index].isp;
274 fimc_is_hw_get_sensor_max_framerate(is);
283 fimc_is_set_param_bit(is, PARAM_SENSOR_FRAME_RATE);
284 fimc_is_set_param_bit(is, PARAM_ISP_OTF_INPUT);
287 static void __maybe_unused __is_set_init_isp_aa(struct fimc_is *is)
291 isp = &is->config[is->config_index].isp;
305 fimc_is_set_param_bit(is, PARAM_ISP_AA);
308 void __is_set_isp_flash(struct fimc_is *is, u32 cmd, u32 redeye)
310 unsigned int index = is->config_index;
311 struct isp_param *isp = &is->config[index].isp;
317 fimc_is_set_param_bit(is, PARAM_ISP_FLASH);
320 void __is_set_isp_awb(struct fimc_is *is, u32 cmd, u32 val)
322 unsigned int index = is->config_index;
325 isp = &is->config[index].isp;
331 fimc_is_set_param_bit(is, PARAM_ISP_AWB);
334 void __is_set_isp_effect(struct fimc_is *is, u32 cmd)
336 unsigned int index = is->config_index;
339 isp = &is->config[index].isp;
344 fimc_is_set_param_bit(is, PARAM_ISP_IMAGE_EFFECT);
347 void __is_set_isp_iso(struct fimc_is *is, u32 cmd, u32 val)
349 unsigned int index = is->config_index;
352 isp = &is->config[index].isp;
358 fimc_is_set_param_bit(is, PARAM_ISP_ISO);
361 void __is_set_isp_adjust(struct fimc_is *is, u32 cmd, u32 val)
363 unsigned int index = is->config_index;
367 p_index = &is->config[index].p_region_index[0];
368 isp = &is->config[index].isp;
402 fimc_is_set_param_bit(is, PARAM_ISP_ADJUST);
408 void __is_set_isp_metering(struct fimc_is *is, u32 id, u32 val)
410 unsigned int index = is->config_index;
414 p_index = &is->config[index].p_region_index[0];
415 isp = &is->config[index].isp;
439 fimc_is_set_param_bit(is, PARAM_ISP_METERING);
443 void __is_set_isp_afc(struct fimc_is *is, u32 cmd, u32 val)
445 unsigned int index = is->config_index;
448 isp = &is->config[index].isp;
454 fimc_is_set_param_bit(is, PARAM_ISP_AFC);
457 void __is_set_drc_control(struct fimc_is *is, u32 val)
459 unsigned int index = is->config_index;
462 drc = &is->config[index].drc;
466 fimc_is_set_param_bit(is, PARAM_DRC_CONTROL);
469 void __is_set_fd_control(struct fimc_is *is, u32 val)
471 unsigned int index = is->config_index;
475 p_index = &is->config[index].p_region_index[1];
476 fd = &is->config[index].fd;
481 fimc_is_set_param_bit(is, PARAM_FD_CONTROL);
484 void __is_set_fd_config_maxface(struct fimc_is *is, u32 val)
486 unsigned int index = is->config_index;
490 p_index = &is->config[index].p_region_index[1];
491 fd = &is->config[index].fd;
498 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
504 void __is_set_fd_config_rollangle(struct fimc_is *is, u32 val)
506 unsigned int index = is->config_index;
510 p_index = &is->config[index].p_region_index[1];
511 fd = &is->config[index].fd;
518 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
524 void __is_set_fd_config_yawangle(struct fimc_is *is, u32 val)
526 unsigned int index = is->config_index;
530 p_index = &is->config[index].p_region_index[1];
531 fd = &is->config[index].fd;
538 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
544 void __is_set_fd_config_smilemode(struct fimc_is *is, u32 val)
546 unsigned int index = is->config_index;
550 p_index = &is->config[index].p_region_index[1];
551 fd = &is->config[index].fd;
558 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
564 void __is_set_fd_config_blinkmode(struct fimc_is *is, u32 val)
566 unsigned int index = is->config_index;
570 p_index = &is->config[index].p_region_index[1];
571 fd = &is->config[index].fd;
578 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
584 void __is_set_fd_config_eyedetect(struct fimc_is *is, u32 val)
586 unsigned int index = is->config_index;
590 p_index = &is->config[index].p_region_index[1];
591 fd = &is->config[index].fd;
598 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
604 void __is_set_fd_config_mouthdetect(struct fimc_is *is, u32 val)
606 unsigned int index = is->config_index;
610 p_index = &is->config[index].p_region_index[1];
611 fd = &is->config[index].fd;
618 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
624 void __is_set_fd_config_orientation(struct fimc_is *is, u32 val)
626 unsigned int index = is->config_index;
630 p_index = &is->config[index].p_region_index[1];
631 fd = &is->config[index].fd;
638 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
644 void __is_set_fd_config_orientation_val(struct fimc_is *is, u32 val)
646 unsigned int index = is->config_index;
650 p_index = &is->config[index].p_region_index[1];
651 fd = &is->config[index].fd;
658 fimc_is_set_param_bit(is, PARAM_FD_CONFIG);
664 void fimc_is_set_initial_params(struct fimc_is *is)
673 index = is->config_index;
674 global = &is->config[index].global;
675 isp = &is->config[index].isp;
676 drc = &is->config[index].drc;
677 fd = &is->config[index].fd;
678 p_index = &is->config[index].p_region_index[0];
682 fimc_is_set_param_bit(is, PARAM_GLOBAL_SHOTMODE);
688 fimc_is_set_param_bit(is, PARAM_ISP_CONTROL);
694 fimc_is_set_param_bit(is, PARAM_ISP_OTF_INPUT);
696 if (is->sensor->test_pattern)
716 fimc_is_set_param_bit(is, PARAM_ISP_DMA1_INPUT);
728 fimc_is_set_param_bit(is, PARAM_ISP_DMA2_INPUT);
732 fimc_is_set_param_bit(is, PARAM_ISP_AA);
735 __is_set_isp_flash(is, ISP_FLASH_COMMAND_DISABLE,
739 __is_set_isp_awb(is, ISP_AWB_COMMAND_AUTO, 0);
742 __is_set_isp_effect(is, ISP_IMAGE_EFFECT_DISABLE);
745 __is_set_isp_iso(is, ISP_ISO_COMMAND_AUTO, 0);
748 __is_set_isp_adjust(is, ISP_ADJUST_COMMAND_MANUAL_CONTRAST, 0);
749 __is_set_isp_adjust(is,
751 __is_set_isp_adjust(is, ISP_ADJUST_COMMAND_MANUAL_SHARPNESS, 0);
752 __is_set_isp_adjust(is, ISP_ADJUST_COMMAND_MANUAL_EXPOSURE, 0);
753 __is_set_isp_adjust(is,
755 __is_set_isp_adjust(is, ISP_ADJUST_COMMAND_MANUAL_HUE, 0);
759 __is_set_isp_metering(is, 0, ISP_METERING_COMMAND_CENTER);
760 __is_set_isp_metering(is, 1, 0);
761 __is_set_isp_metering(is, 2, 0);
762 __is_set_isp_metering(is, 3, 0);
763 __is_set_isp_metering(is, 4, 0);
767 __is_set_isp_afc(is, ISP_AFC_COMMAND_AUTO, 0);
773 fimc_is_set_param_bit(is, PARAM_ISP_OTF_OUTPUT);
793 fimc_is_set_param_bit(is, PARAM_ISP_DMA1_OUTPUT);
809 fimc_is_set_param_bit(is, PARAM_ISP_DMA2_OUTPUT);
814 if (is->config_index == 0)
815 __is_set_sensor(is, 0);
820 __is_set_drc_control(is, CONTROL_BYPASS_ENABLE);
826 fimc_is_set_param_bit(is, PARAM_DRC_OTF_INPUT);
843 fimc_is_set_param_bit(is, PARAM_DRC_DMA_INPUT);
849 fimc_is_set_param_bit(is, PARAM_DRC_OTF_OUTPUT);
857 __is_set_fd_control(is, CONTROL_COMMAND_STOP);
864 fimc_is_set_param_bit(is, PARAM_FD_OTF_INPUT);
882 fimc_is_set_param_bit(is, PARAM_FD_DMA_INPUT);
884 __is_set_fd_config_maxface(is, 5);
885 __is_set_fd_config_rollangle(is, FD_CONFIG_ROLL_ANGLE_FULL);
886 __is_set_fd_config_yawangle(is, FD_CONFIG_YAW_ANGLE_45_90);
887 __is_set_fd_config_smilemode(is, FD_CONFIG_SMILE_MODE_DISABLE);
888 __is_set_fd_config_blinkmode(is, FD_CONFIG_BLINK_MODE_DISABLE);
889 __is_set_fd_config_eyedetect(is, FD_CONFIG_EYES_DETECT_ENABLE);
890 __is_set_fd_config_mouthdetect(is, FD_CONFIG_MOUTH_DETECT_DISABLE);
891 __is_set_fd_config_orientation(is, FD_CONFIG_ORIENTATION_DISABLE);
892 __is_set_fd_config_orientation_val(is, 0);