drm_fixp_mul
tmp = drm_fixp_mul(t_slope, vddc) + t_intercept;
kt = drm_fixp_exp(drm_fixp_mul(tmp, temperature));
kt = drm_fixp_div(kt, drm_fixp_exp(drm_fixp_mul(tmp, t_ref)));
kv = drm_fixp_mul(av, drm_fixp_exp(drm_fixp_mul(bv, vddc)));
leakage_w = drm_fixp_mul(drm_fixp_mul(drm_fixp_mul(i_leakage, kt), kv), vddc);
kv = drm_fixp_mul(div64_s64(drm_int2fixp(coeff->av), 100000000),
drm_fixp_exp(drm_fixp_mul(div64_s64(drm_int2fixp(coeff->bv), 100000000), vddc)));
leakage_w = drm_fixp_mul(drm_fixp_mul(drm_fixp_mul(i_leakage, kt), kv), vddc);
temp2_fp = drm_fixp_mul(tu->ratio_fp, temp1_fp);
temp2_fp = drm_fixp_mul(temp2_fp, temp1_fp);
temp2_fp = drm_fixp_mul(tu->original_ratio_fp, temp1_fp);
temp2_fp = drm_fixp_mul(temp1_fp, temp2_fp);
temp1_fp = drm_fixp_mul(temp1_fp, temp2_fp);
temp1_fp = drm_fixp_mul(temp2_fp, temp1_fp);
tu->ratio_by_tu_fp = drm_fixp_mul(tu->ratio_fp, temp1_fp);
tu->diff_abs_fp = drm_fixp_mul(tu->diff_abs_fp, -1);
temp1_fp = drm_fixp_mul(temp2_fp, temp1_fp);
temp1_fp = drm_fixp_mul(tu->lwidth_fp, temp1_fp);
drm_fixp_mul(tu->original_ratio_fp, temp1_fp);
temp1_fp = drm_fixp_mul(tu->lwidth_fp, temp1_fp);
temp2_fp = drm_fixp_mul(LCLK_FAST_SKEW_fp, tu->lwidth_fp);
temp2_fp = drm_fixp_mul(tu->original_ratio_fp, temp1_fp);
temp2_fp = drm_fixp_mul(temp1_fp, temp2_fp);
a_temp = drm_fixp_mul(a, minus_1);
b_temp = drm_fixp_mul(b, minus_1);
temp2_fp = drm_fixp_mul(tu->lwidth_fp, temp3_fp);
temp2_fp = drm_fixp_mul(tu->pclk_fp, dwidth_dsc_fp);
temp2_fp = drm_fixp_mul(tu->hbp_relative_to_pclk_fp, temp1_fp);
tu->lclk_fp = drm_fixp_mul(tu->lclk_fp, temp1_fp);
temp2_fp = drm_fixp_mul(tu->ratio_fp, temp1_fp);
temp1_fp = drm_fixp_mul(temp2_fp, temp1_fp);
temp2_fp = drm_fixp_mul(temp1_fp, tu->average_valid2_fp);
temp2_fp = drm_fixp_mul(tu->ratio_fp, temp1_fp);
temp2_fp = drm_fixp_mul(tu->ratio_fp, temp1_fp);
temp1_fp = drm_fixp_mul(temp2_fp, temp1_fp);
temp2_fp = drm_fixp_mul(tu->original_ratio_fp, temp1_fp);
temp1_fp = drm_fixp_mul(temp2_fp, temp1_fp);
temp2_fp = drm_fixp_mul(tu->original_ratio_fp, temp1_fp);
temp2_fp = drm_fixp_mul(temp1_fp, temp2_fp);
temp1_fp = drm_fixp_mul(temp2_fp, temp1_fp);
temp1_fp = drm_fixp_mul(temp1_fp, temp2_fp);
temp2_fp = drm_fixp_mul(temp1_fp, tu->lclk_fp);
temp2_fp = drm_fixp_mul(tu->pclk_fp, temp1_fp);
tu->ratio_fp = drm_fixp_mul(tu->ratio_fp, RATIO_SCALE_fp);
temp2_fp = drm_fixp_mul(tu->ratio_fp, temp1_fp);
kt = drm_fixp_mul(div64_s64(drm_int2fixp(coeff->at), 1000),
drm_fixp_exp(drm_fixp_mul(div64_s64(drm_int2fixp(coeff->bt), 1000), temperature)));
kv = drm_fixp_mul(div64_s64(drm_int2fixp(coeff->av), 1000),
drm_fixp_exp(drm_fixp_mul(div64_s64(drm_int2fixp(coeff->bv), 1000), vddc)));
leakage_w = drm_fixp_mul(drm_fixp_mul(drm_fixp_mul(i_leakage, kt), kv), vddc);
tmp = drm_fixp_mul(t_slope, vddc) + t_intercept;
kt = drm_fixp_exp(drm_fixp_mul(tmp, temperature));
kt = drm_fixp_div(kt, drm_fixp_exp(drm_fixp_mul(tmp, t_ref)));
kv = drm_fixp_mul(av, drm_fixp_exp(drm_fixp_mul(bv, vddc)));
leakage_w = drm_fixp_mul(drm_fixp_mul(drm_fixp_mul(i_leakage, kt), kv), vddc);
kv = drm_fixp_mul(div64_s64(drm_int2fixp(coeff->av), 100000000),
drm_fixp_exp(drm_fixp_mul(div64_s64(drm_int2fixp(coeff->bv), 100000000), vddc)));
leakage_w = drm_fixp_mul(drm_fixp_mul(drm_fixp_mul(i_leakage, kt), kv), vddc);
rf = drm_fixp_mul(drm_sm2fixp(matrix->matrix[0]), r) +
drm_fixp_mul(drm_sm2fixp(matrix->matrix[1]), g) +
drm_fixp_mul(drm_sm2fixp(matrix->matrix[2]), b) +
gf = drm_fixp_mul(drm_sm2fixp(matrix->matrix[4]), r) +
drm_fixp_mul(drm_sm2fixp(matrix->matrix[5]), g) +
drm_fixp_mul(drm_sm2fixp(matrix->matrix[6]), b) +
bf = drm_fixp_mul(drm_sm2fixp(matrix->matrix[8]), r) +
drm_fixp_mul(drm_sm2fixp(matrix->matrix[9]), g) +
drm_fixp_mul(drm_sm2fixp(matrix->matrix[10]), b) +
s64 delta = drm_fixp_mul(b_fp - a_fp, t);
return drm_fixp_mul(color_channel_fp, lut->channel_value2index_ratio);
out_pixel.r = drm_fixp2int_round(drm_fixp_mul(fp_r, fp_rb_ratio));
out_pixel.g = drm_fixp2int_round(drm_fixp_mul(fp_g, fp_g_ratio));
out_pixel.b = drm_fixp2int_round(drm_fixp_mul(fp_b, fp_rb_ratio));
fp_r = drm_fixp_mul(matrix->matrix[0][0], fp_y) +
drm_fixp_mul(matrix->matrix[0][1], fp_channel_1) +
drm_fixp_mul(matrix->matrix[0][2], fp_channel_2);
fp_g = drm_fixp_mul(matrix->matrix[1][0], fp_y) +
drm_fixp_mul(matrix->matrix[1][1], fp_channel_1) +
drm_fixp_mul(matrix->matrix[1][2], fp_channel_2);
fp_b = drm_fixp_mul(matrix->matrix[2][0], fp_y) +
drm_fixp_mul(matrix->matrix[2][1], fp_channel_1) +
drm_fixp_mul(matrix->matrix[2][2], fp_channel_2);
term = drm_fixp_mul(term, div64_s64(y, count));