Lines Matching refs:ctrls
44 struct isc_ctrls *ctrls = &isc->ctrls; in isc_update_v4l2_ctrls() local
47 v4l2_ctrl_s_ctrl(isc->r_gain_ctrl, ctrls->gain[ISC_HIS_CFG_MODE_R]); in isc_update_v4l2_ctrls()
48 v4l2_ctrl_s_ctrl(isc->b_gain_ctrl, ctrls->gain[ISC_HIS_CFG_MODE_B]); in isc_update_v4l2_ctrls()
49 v4l2_ctrl_s_ctrl(isc->gr_gain_ctrl, ctrls->gain[ISC_HIS_CFG_MODE_GR]); in isc_update_v4l2_ctrls()
50 v4l2_ctrl_s_ctrl(isc->gb_gain_ctrl, ctrls->gain[ISC_HIS_CFG_MODE_GB]); in isc_update_v4l2_ctrls()
52 v4l2_ctrl_s_ctrl(isc->r_off_ctrl, ctrls->offset[ISC_HIS_CFG_MODE_R]); in isc_update_v4l2_ctrls()
53 v4l2_ctrl_s_ctrl(isc->b_off_ctrl, ctrls->offset[ISC_HIS_CFG_MODE_B]); in isc_update_v4l2_ctrls()
54 v4l2_ctrl_s_ctrl(isc->gr_off_ctrl, ctrls->offset[ISC_HIS_CFG_MODE_GR]); in isc_update_v4l2_ctrls()
55 v4l2_ctrl_s_ctrl(isc->gb_off_ctrl, ctrls->offset[ISC_HIS_CFG_MODE_GB]); in isc_update_v4l2_ctrls()
60 struct isc_ctrls *ctrls = &isc->ctrls; in isc_update_awb_ctrls() local
65 ((ctrls->offset[ISC_HIS_CFG_MODE_R])) | in isc_update_awb_ctrls()
66 ((ctrls->offset[ISC_HIS_CFG_MODE_GR]) << 16)); in isc_update_awb_ctrls()
68 ((ctrls->offset[ISC_HIS_CFG_MODE_B])) | in isc_update_awb_ctrls()
69 ((ctrls->offset[ISC_HIS_CFG_MODE_GB]) << 16)); in isc_update_awb_ctrls()
71 ctrls->gain[ISC_HIS_CFG_MODE_R] | in isc_update_awb_ctrls()
72 (ctrls->gain[ISC_HIS_CFG_MODE_GR] << 16)); in isc_update_awb_ctrls()
74 ctrls->gain[ISC_HIS_CFG_MODE_B] | in isc_update_awb_ctrls()
75 (ctrls->gain[ISC_HIS_CFG_MODE_GB] << 16)); in isc_update_awb_ctrls()
84 isc->ctrls.gain[c] = 1 << 9; in isc_reset_awb_ctrls()
86 isc->ctrls.offset[c] = 0; in isc_reset_awb_ctrls()
203 struct isc_ctrls *ctrls = &isc->ctrls; in isc_set_pipeline() local
225 gamma = &isc->gamma_table[ctrls->gamma_index][0]; in isc_set_pipeline()
262 struct isc_ctrls *ctrls = &isc->ctrls; in isc_set_histogram() local
273 ctrls->hist_id = ISC_HIS_CFG_MODE_GR; in isc_set_histogram()
277 ctrls->hist_stat = HIST_ENABLED; in isc_set_histogram()
283 ctrls->hist_stat = HIST_DISABLED; in isc_set_histogram()
317 if (isc->ctrls.awb && in isc_configure()
968 isc->ctrls.hist_stat = HIST_INIT; in isc_link_validate()
1225 struct isc_ctrls *ctrls = &isc->ctrls; in isc_hist_count() local
1226 u32 *hist_count = &ctrls->hist_count[ctrls->hist_id]; in isc_hist_count()
1227 u32 *hist_entry = &ctrls->hist_entry[0]; in isc_hist_count()
1253 ctrls->hist_id, *hist_count); in isc_hist_count()
1256 static void isc_wb_update(struct isc_ctrls *ctrls) in isc_wb_update() argument
1258 struct isc_device *isc = container_of(ctrls, struct isc_device, ctrls); in isc_wb_update()
1259 u32 *hist_count = &ctrls->hist_count[0]; in isc_wb_update()
1287 offset[c] = ctrls->hist_minmax[c][HIST_MIN_INDEX]; in isc_wb_update()
1297 ctrls->offset[c] = (offset[c] - 1) << 3; in isc_wb_update()
1304 ctrls->offset[c] = -ctrls->offset[c]; in isc_wb_update()
1315 (ctrls->hist_minmax[c][HIST_MAX_INDEX] - in isc_wb_update()
1316 ctrls->hist_minmax[c][HIST_MIN_INDEX] + 1); in isc_wb_update()
1333 ctrls->gain[c] = s_gain[c] * gw_gain[c]; in isc_wb_update()
1334 ctrls->gain[c] >>= 9; in isc_wb_update()
1337 ctrls->gain[c] = clamp_val(ctrls->gain[c], 0, GENMASK(12, 0)); in isc_wb_update()
1340 c, ctrls->gain[c]); in isc_wb_update()
1349 struct isc_ctrls *ctrls = &isc->ctrls; in isc_awb_work() local
1350 u32 hist_id = ctrls->hist_id; in isc_awb_work()
1356 if (ctrls->hist_stat != HIST_ENABLED) in isc_awb_work()
1364 ctrls->hist_minmax[hist_id][HIST_MIN_INDEX] = min; in isc_awb_work()
1365 ctrls->hist_minmax[hist_id][HIST_MAX_INDEX] = max; in isc_awb_work()
1370 isc_wb_update(ctrls); in isc_awb_work()
1374 ctrls->hist_id = hist_id; in isc_awb_work()
1385 if (hist_id == ISC_HIS_CFG_MODE_GR || ctrls->awb == ISC_WB_NONE) { in isc_awb_work()
1400 if (ctrls->awb == ISC_WB_ONETIME) { in isc_awb_work()
1405 ctrls->awb = ISC_WB_NONE; in isc_awb_work()
1429 if (ctrls->awb) in isc_awb_work()
1438 struct isc_device, ctrls.handler); in isc_s_ctrl()
1439 struct isc_ctrls *ctrls = &isc->ctrls; in isc_s_ctrl() local
1446 ctrls->brightness = ctrl->val & ISC_CBC_BRIGHT_MASK; in isc_s_ctrl()
1449 ctrls->contrast = ctrl->val & ISC_CBC_CONTRAST_MASK; in isc_s_ctrl()
1452 ctrls->gamma_index = ctrl->val; in isc_s_ctrl()
1468 struct isc_device, ctrls.handler); in isc_s_awb_ctrl()
1469 struct isc_ctrls *ctrls = &isc->ctrls; in isc_s_awb_ctrl() local
1477 ctrls->awb = ISC_WB_AUTO; in isc_s_awb_ctrl()
1479 ctrls->awb = ISC_WB_NONE; in isc_s_awb_ctrl()
1483 ctrls->gain[ISC_HIS_CFG_MODE_R] = isc->r_gain_ctrl->val; in isc_s_awb_ctrl()
1485 ctrls->gain[ISC_HIS_CFG_MODE_B] = isc->b_gain_ctrl->val; in isc_s_awb_ctrl()
1487 ctrls->gain[ISC_HIS_CFG_MODE_GR] = isc->gr_gain_ctrl->val; in isc_s_awb_ctrl()
1489 ctrls->gain[ISC_HIS_CFG_MODE_GB] = isc->gb_gain_ctrl->val; in isc_s_awb_ctrl()
1492 ctrls->offset[ISC_HIS_CFG_MODE_R] = isc->r_off_ctrl->val; in isc_s_awb_ctrl()
1494 ctrls->offset[ISC_HIS_CFG_MODE_B] = isc->b_off_ctrl->val; in isc_s_awb_ctrl()
1496 ctrls->offset[ISC_HIS_CFG_MODE_GR] = isc->gr_off_ctrl->val; in isc_s_awb_ctrl()
1498 ctrls->offset[ISC_HIS_CFG_MODE_GB] = isc->gb_off_ctrl->val; in isc_s_awb_ctrl()
1520 if (ctrls->awb == ISC_WB_AUTO && in isc_s_awb_ctrl()
1529 if (ctrls->awb == ISC_WB_NONE && in isc_s_awb_ctrl()
1533 ctrls->awb = ISC_WB_ONETIME; in isc_s_awb_ctrl()
1545 struct isc_device, ctrls.handler); in isc_g_volatile_awb_ctrl()
1546 struct isc_ctrls *ctrls = &isc->ctrls; in isc_g_volatile_awb_ctrl() local
1552 ctrls->gain[ISC_HIS_CFG_MODE_R]; in isc_g_volatile_awb_ctrl()
1554 ctrls->gain[ISC_HIS_CFG_MODE_B]; in isc_g_volatile_awb_ctrl()
1556 ctrls->gain[ISC_HIS_CFG_MODE_GR]; in isc_g_volatile_awb_ctrl()
1558 ctrls->gain[ISC_HIS_CFG_MODE_GB]; in isc_g_volatile_awb_ctrl()
1561 ctrls->offset[ISC_HIS_CFG_MODE_R]; in isc_g_volatile_awb_ctrl()
1563 ctrls->offset[ISC_HIS_CFG_MODE_B]; in isc_g_volatile_awb_ctrl()
1565 ctrls->offset[ISC_HIS_CFG_MODE_GR]; in isc_g_volatile_awb_ctrl()
1567 ctrls->offset[ISC_HIS_CFG_MODE_GB]; in isc_g_volatile_awb_ctrl()
1617 struct isc_ctrls *ctrls = &isc->ctrls; in isc_ctrl_init() local
1618 struct v4l2_ctrl_handler *hdl = &ctrls->handler; in isc_ctrl_init()
1621 ctrls->hist_stat = HIST_INIT; in isc_ctrl_init()
1631 ctrls->brightness = 0; in isc_ctrl_init()
1711 v4l2_ctrl_handler_free(&isc->ctrls.handler); in isc_async_unbind()
1821 vdev->ctrl_handler = &isc->ctrls.handler; in isc_async_complete()