Lines Matching refs:gain

43  * The input gain is shifted by IMX274_GAIN_SHIFT to get
44 * decimal number. The real gain is
52 * min gain is 1X
53 * max gain is calculated based on IMX274_GAIN_REG_MAX
61 #define IMX274_GAIN_CONST (2048) /* for gain formula */
479 * @gain: Pointer to gain ctrl structure
486 struct v4l2_ctrl *gain;
1282 priv->ctrls.gain->val = IMX274_DEF_GAIN;
1297 /* update gain */
1298 ret = v4l2_ctrl_s_ctrl(priv->ctrls.gain, priv->ctrls.gain->val);
1345 * gain is not affected.
1433 * imx274_set_digital gain - Function called when setting digital gain
1435 * @dgain: Value of digital gain.
1437 * Digital gain has only 4 steps: 1x, 2x, 4x, and 8x
1457 * imx274_set_gain - Function called when setting gain
1459 * @val: Value of gain. the real value = val << IMX274_GAIN_SHIFT;
1462 * Set the gain based on input value.
1470 u32 gain, analog_gain, digital_gain, gain_reg;
1472 gain = (u32)(ctrl->val);
1475 "%s : input gain = %d.%d\n", __func__,
1476 gain >> IMX274_GAIN_SHIFT,
1477 ((gain & IMX274_GAIN_SHIFT_MASK) * 100) >> IMX274_GAIN_SHIFT);
1479 if (gain > IMX274_MAX_DIGITAL_GAIN * IMX274_MAX_ANALOG_GAIN)
1480 gain = IMX274_MAX_DIGITAL_GAIN * IMX274_MAX_ANALOG_GAIN;
1481 else if (gain < IMX274_MIN_GAIN)
1482 gain = IMX274_MIN_GAIN;
1484 if (gain <= IMX274_MAX_ANALOG_GAIN)
1486 else if (gain <= IMX274_MAX_ANALOG_GAIN * 2)
1488 else if (gain <= IMX274_MAX_ANALOG_GAIN * 4)
1493 analog_gain = gain / digital_gain;
1496 "%s : digital gain = %d, analog gain = %d.%d\n",
1521 /* convert register value back to gain value */
1526 "%s : GAIN control success, gain_reg = %d, new gain = %d\n",
1905 imx274->ctrls.gain = v4l2_ctrl_new_std(