Lines Matching refs:otp_p
635 struct gc5025_otp_info *otp_p; in gc5025_otp_read() local
649 otp_p = devm_kzalloc(dev, sizeof(*otp_p), GFP_KERNEL); in gc5025_otp_read()
650 if (!otp_p) in gc5025_otp_read()
667 otp_p->module_id = gc5025_otp_read_reg(client, in gc5025_otp_read()
669 checksum += otp_p->module_id; in gc5025_otp_read()
670 otp_p->lens_id = gc5025_otp_read_reg(client, in gc5025_otp_read()
672 checksum += otp_p->lens_id; in gc5025_otp_read()
673 otp_p->vcm_driver_id = gc5025_otp_read_reg(client, in gc5025_otp_read()
675 checksum += otp_p->vcm_driver_id; in gc5025_otp_read()
676 otp_p->vcm_id = gc5025_otp_read_reg(client, 1, in gc5025_otp_read()
678 checksum += otp_p->vcm_id; in gc5025_otp_read()
679 otp_p->year = gc5025_otp_read_reg(client, 1, in gc5025_otp_read()
681 checksum += otp_p->year; in gc5025_otp_read()
682 otp_p->month = gc5025_otp_read_reg(client, in gc5025_otp_read()
684 checksum += otp_p->month; in gc5025_otp_read()
685 otp_p->day = gc5025_otp_read_reg(client, in gc5025_otp_read()
687 checksum += otp_p->day; in gc5025_otp_read()
692 otp_p->flag = 0x80; in gc5025_otp_read()
694 otp_p->module_id, in gc5025_otp_read()
695 otp_p->lens_id, in gc5025_otp_read()
696 otp_p->year, in gc5025_otp_read()
697 otp_p->month, in gc5025_otp_read()
698 otp_p->day); in gc5025_otp_read()
728 otp_p->rg_ratio = (tmpH << 8) | tmpL; in gc5025_otp_read()
735 otp_p->bg_ratio = (tmpH << 8) | tmpL; in gc5025_otp_read()
740 otp_p->flag = 0x40; in gc5025_otp_read()
742 otp_p->rg_ratio, otp_p->bg_ratio); in gc5025_otp_read()
774 otp_p->golden_rg = (tmpH << 8) | tmpL; in gc5025_otp_read()
781 otp_p->golden_bg = (tmpH << 8) | tmpL; in gc5025_otp_read()
788 otp_p->golden_rg, otp_p->golden_bg); in gc5025_otp_read()
858 otp_p->dd_param_x[cnt] = x; in gc5025_otp_read()
859 otp_p->dd_param_y[cnt] = y + j; in gc5025_otp_read()
860 otp_p->dd_param_type[cnt++] = 2; in gc5025_otp_read()
864 otp_p->dd_param_x[cnt] = x; in gc5025_otp_read()
865 otp_p->dd_param_y[cnt] = y + j; in gc5025_otp_read()
866 otp_p->dd_param_type[cnt++] = 2; in gc5025_otp_read()
869 otp_p->dd_param_x[cnt] = x; in gc5025_otp_read()
870 otp_p->dd_param_y[cnt] = y; in gc5025_otp_read()
871 otp_p->dd_param_type[cnt++] = type; in gc5025_otp_read()
878 otp_p->dd_cnt = cnt; in gc5025_otp_read()
879 otp_p->flag |= 0x08; in gc5025_otp_read()
891 if (otp_p->flag) { in gc5025_otp_read()
892 gc5025->otp = otp_p; in gc5025_otp_read()
895 devm_kfree(dev, otp_p); in gc5025_otp_read()
1062 struct gc5025_otp_info *otp_p = gc5025->otp; in gc5025_apply_otp() local
1083 if ((otp_p->flag & 0x40) && golden_bg_ratio && golden_rg_ratio) { in gc5025_apply_otp()
1085 R_gain = golden_rg_ratio * 1000 / otp_p->rg_ratio; in gc5025_apply_otp()
1086 B_gain = golden_bg_ratio * 1000 / otp_p->bg_ratio; in gc5025_apply_otp()
1114 if (otp_p->flag & 0x08) { in gc5025_apply_otp()
1117 for (i = 0; i < otp_p->dd_cnt; i++) { in gc5025_apply_otp()
1118 if (otp_p->dd_param_type[i] == 0) { in gc5025_apply_otp()
1119 otp_p->dd_param_x[i] = in gc5025_apply_otp()
1120 WINDOW_WIDTH - otp_p->dd_param_x[i] + 1; in gc5025_apply_otp()
1121 } else if (otp_p->dd_param_type[i] == 1) { in gc5025_apply_otp()
1122 otp_p->dd_param_x[i] = in gc5025_apply_otp()
1123 WINDOW_WIDTH - otp_p->dd_param_x[i] - 1; in gc5025_apply_otp()
1125 otp_p->dd_param_x[i] = in gc5025_apply_otp()
1126 WINDOW_WIDTH - otp_p->dd_param_x[i]; in gc5025_apply_otp()
1130 for (i = 0; i < otp_p->dd_cnt; i++) { in gc5025_apply_otp()
1131 otp_p->dd_param_y[i] = in gc5025_apply_otp()
1132 WINDOW_HEIGHT - otp_p->dd_param_y[i] + 1; in gc5025_apply_otp()
1135 for (i = 0; i < otp_p->dd_cnt; i++) { in gc5025_apply_otp()
1136 if (otp_p->dd_param_type[i] == 0) { in gc5025_apply_otp()
1137 otp_p->dd_param_x[i] = in gc5025_apply_otp()
1138 WINDOW_WIDTH - otp_p->dd_param_x[i] + 1; in gc5025_apply_otp()
1139 otp_p->dd_param_y[i] = in gc5025_apply_otp()
1140 WINDOW_HEIGHT - otp_p->dd_param_y[i] + 1; in gc5025_apply_otp()
1141 } else if (otp_p->dd_param_type[i] == 1) { in gc5025_apply_otp()
1142 otp_p->dd_param_x[i] = in gc5025_apply_otp()
1143 WINDOW_WIDTH - otp_p->dd_param_x[i] - 1; in gc5025_apply_otp()
1144 otp_p->dd_param_y[i] = in gc5025_apply_otp()
1145 WINDOW_HEIGHT - otp_p->dd_param_y[i] + 1; in gc5025_apply_otp()
1147 otp_p->dd_param_x[i] = in gc5025_apply_otp()
1148 WINDOW_WIDTH - otp_p->dd_param_x[i]; in gc5025_apply_otp()
1149 otp_p->dd_param_y[i] = in gc5025_apply_otp()
1150 WINDOW_HEIGHT - otp_p->dd_param_y[i] + 1; in gc5025_apply_otp()
1155 for (i = 0; i < otp_p->dd_cnt - 1; i++) { in gc5025_apply_otp()
1156 for (j = 0; j < otp_p->dd_cnt - 1 - i; j++) { in gc5025_apply_otp()
1157 if (otp_p->dd_param_y[j] > in gc5025_apply_otp()
1158 otp_p->dd_param_y[j + 1]) { in gc5025_apply_otp()
1159 temp_x = otp_p->dd_param_x[j]; in gc5025_apply_otp()
1160 otp_p->dd_param_x[j] = in gc5025_apply_otp()
1161 otp_p->dd_param_x[j + 1]; in gc5025_apply_otp()
1162 otp_p->dd_param_x[j + 1] = in gc5025_apply_otp()
1165 otp_p->dd_param_y[j]; in gc5025_apply_otp()
1166 otp_p->dd_param_y[j] = in gc5025_apply_otp()
1167 otp_p->dd_param_y[j + 1]; in gc5025_apply_otp()
1168 otp_p->dd_param_y[j + 1] = in gc5025_apply_otp()
1171 otp_p->dd_param_type[j]; in gc5025_apply_otp()
1172 otp_p->dd_param_type[j] = in gc5025_apply_otp()
1173 otp_p->dd_param_type[j + 1]; in gc5025_apply_otp()
1174 otp_p->dd_param_type[j + 1] = in gc5025_apply_otp()
1181 for (i = 0 ; i < otp_p->dd_cnt - 1; ++i) { in gc5025_apply_otp()
1182 if (otp_p->dd_param_y[i] == otp_p->dd_param_y[i + 1]) { in gc5025_apply_otp()
1184 if (otp_p->dd_cnt - 2 != i) in gc5025_apply_otp()
1187 if (otp_p->dd_cnt - 2 == i && in gc5025_apply_otp()
1188 otp_p->dd_param_y[i] == otp_p->dd_param_y[i + 1]) { in gc5025_apply_otp()
1189 i = otp_p->dd_cnt - 1; in gc5025_apply_otp()
1195 if (otp_p->dd_param_x[jj] > in gc5025_apply_otp()
1196 otp_p->dd_param_x[jj + 1]) { in gc5025_apply_otp()
1197 temp_x = otp_p->dd_param_x[jj]; in gc5025_apply_otp()
1198 otp_p->dd_param_x[jj] = in gc5025_apply_otp()
1199 otp_p->dd_param_x[jj + 1]; in gc5025_apply_otp()
1200 otp_p->dd_param_x[jj + 1] = in gc5025_apply_otp()
1203 otp_p->dd_param_y[jj]; in gc5025_apply_otp()
1204 otp_p->dd_param_y[jj] = in gc5025_apply_otp()
1205 otp_p->dd_param_y[jj + 1]; in gc5025_apply_otp()
1206 otp_p->dd_param_y[jj + 1] = in gc5025_apply_otp()
1209 otp_p->dd_param_type[jj]; in gc5025_apply_otp()
1210 otp_p->dd_param_type[jj] = in gc5025_apply_otp()
1211 otp_p->dd_param_type[jj + 1]; in gc5025_apply_otp()
1212 otp_p->dd_param_type[jj + 1] = in gc5025_apply_otp()
1229 for (i = 0; i < otp_p->dd_cnt; i++) { in gc5025_apply_otp()
1230 temp_val0 = otp_p->dd_param_x[i] & 0x00ff; in gc5025_apply_otp()
1231 temp_val1 = ((otp_p->dd_param_y[i] << 4) & 0x00f0) + in gc5025_apply_otp()
1232 ((otp_p->dd_param_x[i] >> 8) & 0x000f); in gc5025_apply_otp()
1233 temp_val2 = (otp_p->dd_param_y[i] >> 4) & 0xff; in gc5025_apply_otp()
1239 otp_p->dd_param_type[i]); in gc5025_apply_otp()