Commit b310b081 authored by Harry Wentland's avatar Harry Wentland Committed by Alex Deucher

drm/amd/display: Bunch more color indentation cleanups

Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Reviewed-by: default avatarAnthony Koo <Anthony.Koo@amd.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 97110c98
...@@ -1183,81 +1183,75 @@ static void program_pwl( ...@@ -1183,81 +1183,75 @@ static void program_pwl(
{ {
uint32_t value; uint32_t value;
int retval; int retval;
uint8_t max_tries = 10;
uint8_t counter = 0;
uint32_t i = 0;
const struct pwl_result_data *rgb = params->rgb_resulted;
{ /* Power on LUT memory */
uint8_t max_tries = 10; if (REG(DCFE_MEM_PWR_CTRL))
uint8_t counter = 0; REG_UPDATE(DCFE_MEM_PWR_CTRL,
DCP_REGAMMA_MEM_PWR_DIS, 1);
else
REG_UPDATE(DCFE_MEM_LIGHT_SLEEP_CNTL,
REGAMMA_LUT_LIGHT_SLEEP_DIS, 1);
/* Power on LUT memory */ while (counter < max_tries) {
if (REG(DCFE_MEM_PWR_CTRL)) if (REG(DCFE_MEM_PWR_STATUS)) {
REG_UPDATE(DCFE_MEM_PWR_CTRL, value = REG_READ(DCFE_MEM_PWR_STATUS);
DCP_REGAMMA_MEM_PWR_DIS, 1); REG_GET(DCFE_MEM_PWR_STATUS,
else DCP_REGAMMA_MEM_PWR_STATE,
REG_UPDATE(DCFE_MEM_LIGHT_SLEEP_CNTL, &retval);
REGAMMA_LUT_LIGHT_SLEEP_DIS, 1);
if (retval == 0)
while (counter < max_tries) { break;
if (REG(DCFE_MEM_PWR_STATUS)) { ++counter;
value = REG_READ(DCFE_MEM_PWR_STATUS); } else {
REG_GET(DCFE_MEM_PWR_STATUS, value = REG_READ(DCFE_MEM_LIGHT_SLEEP_CNTL);
DCP_REGAMMA_MEM_PWR_STATE, REG_GET(DCFE_MEM_LIGHT_SLEEP_CNTL,
&retval); REGAMMA_LUT_MEM_PWR_STATE,
&retval);
if (retval == 0)
break; if (retval == 0)
++counter; break;
} else { ++counter;
value = REG_READ(DCFE_MEM_LIGHT_SLEEP_CNTL);
REG_GET(DCFE_MEM_LIGHT_SLEEP_CNTL,
REGAMMA_LUT_MEM_PWR_STATE,
&retval);
if (retval == 0)
break;
++counter;
}
} }
}
if (counter == max_tries) { if (counter == max_tries) {
dm_logger_write(xfm_dce->base.ctx->logger, LOG_WARNING, dm_logger_write(xfm_dce->base.ctx->logger, LOG_WARNING,
"%s: regamma lut was not powered on " "%s: regamma lut was not powered on "
"in a timely manner," "in a timely manner,"
" programming still proceeds\n", " programming still proceeds\n",
__func__); __func__);
}
} }
REG_UPDATE(REGAMMA_LUT_WRITE_EN_MASK, REG_UPDATE(REGAMMA_LUT_WRITE_EN_MASK,
REGAMMA_LUT_WRITE_EN_MASK, 7); REGAMMA_LUT_WRITE_EN_MASK, 7);
REG_WRITE(REGAMMA_LUT_INDEX, 0); REG_WRITE(REGAMMA_LUT_INDEX, 0);
/* Program REGAMMA_LUT_DATA */ /* Program REGAMMA_LUT_DATA */
{ while (i != params->hw_points_num) {
uint32_t i = 0;
const struct pwl_result_data *rgb = params->rgb_resulted;
while (i != params->hw_points_num) { REG_WRITE(REGAMMA_LUT_DATA, rgb->red_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->green_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->blue_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->delta_red_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->delta_green_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->delta_blue_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->red_reg); ++rgb;
REG_WRITE(REGAMMA_LUT_DATA, rgb->green_reg); ++i;
REG_WRITE(REGAMMA_LUT_DATA, rgb->blue_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->delta_red_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->delta_green_reg);
REG_WRITE(REGAMMA_LUT_DATA, rgb->delta_blue_reg);
++rgb;
++i;
}
} }
/* we are done with DCP LUT memory; re-enable low power mode */ /* we are done with DCP LUT memory; re-enable low power mode */
if (REG(DCFE_MEM_PWR_CTRL)) if (REG(DCFE_MEM_PWR_CTRL))
REG_UPDATE(DCFE_MEM_PWR_CTRL, REG_UPDATE(DCFE_MEM_PWR_CTRL,
DCP_REGAMMA_MEM_PWR_DIS, 0); DCP_REGAMMA_MEM_PWR_DIS, 0);
else else
REG_UPDATE(DCFE_MEM_LIGHT_SLEEP_CNTL, REG_UPDATE(DCFE_MEM_LIGHT_SLEEP_CNTL,
REGAMMA_LUT_LIGHT_SLEEP_DIS, 0); REGAMMA_LUT_LIGHT_SLEEP_DIS, 0);
} }
static void regamma_config_regions_and_segments(struct dce_transform *xfm_dce, static void regamma_config_regions_and_segments(struct dce_transform *xfm_dce,
...@@ -1358,12 +1352,12 @@ void dce110_opp_power_on_regamma_lut(struct transform *xfm, ...@@ -1358,12 +1352,12 @@ void dce110_opp_power_on_regamma_lut(struct transform *xfm,
if (REG(DCFE_MEM_PWR_CTRL)) if (REG(DCFE_MEM_PWR_CTRL))
REG_UPDATE_2(DCFE_MEM_PWR_CTRL, REG_UPDATE_2(DCFE_MEM_PWR_CTRL,
DCP_REGAMMA_MEM_PWR_DIS, power_on, DCP_REGAMMA_MEM_PWR_DIS, power_on,
DCP_LUT_MEM_PWR_DIS, power_on); DCP_LUT_MEM_PWR_DIS, power_on);
else else
REG_UPDATE_2(DCFE_MEM_LIGHT_SLEEP_CNTL, REG_UPDATE_2(DCFE_MEM_LIGHT_SLEEP_CNTL,
REGAMMA_LUT_LIGHT_SLEEP_DIS, power_on, REGAMMA_LUT_LIGHT_SLEEP_DIS, power_on,
DCP_LUT_LIGHT_SLEEP_DIS, power_on); DCP_LUT_LIGHT_SLEEP_DIS, power_on);
} }
......
...@@ -432,8 +432,9 @@ static bool convert_to_custom_float( ...@@ -432,8 +432,9 @@ static bool convert_to_custom_float(
return true; return true;
} }
static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func static bool
*output_tf, struct pwl_params *regamma_params) dce110_translate_regamma_to_hw_format(const struct dc_transfer_func *output_tf,
struct pwl_params *regamma_params)
{ {
struct curve_points *arr_points; struct curve_points *arr_points;
struct pwl_result_data *rgb_resulted; struct pwl_result_data *rgb_resulted;
...@@ -448,8 +449,7 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func ...@@ -448,8 +449,7 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func
int32_t segment_start, segment_end; int32_t segment_start, segment_end;
uint32_t i, j, k, seg_distr[16], increment, start_index, hw_points; uint32_t i, j, k, seg_distr[16], increment, start_index, hw_points;
if (output_tf == NULL || regamma_params == NULL || if (output_tf == NULL || regamma_params == NULL || output_tf->type == TF_TYPE_BYPASS)
output_tf->type == TF_TYPE_BYPASS)
return false; return false;
arr_points = regamma_params->arr_points; arr_points = regamma_params->arr_points;
...@@ -528,17 +528,14 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func ...@@ -528,17 +528,14 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func
/* last point */ /* last point */
start_index = (segment_end + 25) * 32; start_index = (segment_end + 25) * 32;
rgb_resulted[hw_points - 1].red = rgb_resulted[hw_points - 1].red = output_tf->tf_pts.red[start_index];
output_tf->tf_pts.red[start_index]; rgb_resulted[hw_points - 1].green = output_tf->tf_pts.green[start_index];
rgb_resulted[hw_points - 1].green = rgb_resulted[hw_points - 1].blue = output_tf->tf_pts.blue[start_index];
output_tf->tf_pts.green[start_index];
rgb_resulted[hw_points - 1].blue =
output_tf->tf_pts.blue[start_index];
arr_points[0].x = dal_fixed31_32_pow(dal_fixed31_32_from_int(2), arr_points[0].x = dal_fixed31_32_pow(dal_fixed31_32_from_int(2),
dal_fixed31_32_from_int(segment_start)); dal_fixed31_32_from_int(segment_start));
arr_points[1].x = dal_fixed31_32_pow(dal_fixed31_32_from_int(2), arr_points[1].x = dal_fixed31_32_pow(dal_fixed31_32_from_int(2),
dal_fixed31_32_from_int(segment_end)); dal_fixed31_32_from_int(segment_end));
y_r = rgb_resulted[0].red; y_r = rgb_resulted[0].red;
y_g = rgb_resulted[0].green; y_g = rgb_resulted[0].green;
...@@ -547,9 +544,8 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func ...@@ -547,9 +544,8 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func
y1_min = dal_fixed31_32_min(y_r, dal_fixed31_32_min(y_g, y_b)); y1_min = dal_fixed31_32_min(y_r, dal_fixed31_32_min(y_g, y_b));
arr_points[0].y = y1_min; arr_points[0].y = y1_min;
arr_points[0].slope = dal_fixed31_32_div( arr_points[0].slope = dal_fixed31_32_div(arr_points[0].y,
arr_points[0].y, arr_points[0].x);
arr_points[0].x);
y_r = rgb_resulted[hw_points - 1].red; y_r = rgb_resulted[hw_points - 1].red;
y_g = rgb_resulted[hw_points - 1].green; y_g = rgb_resulted[hw_points - 1].green;
...@@ -568,12 +564,11 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func ...@@ -568,12 +564,11 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func
/* for PQ, we want to have a straight line from last HW X point, /* for PQ, we want to have a straight line from last HW X point,
* and the slope to be such that we hit 1.0 at 10000 nits. * and the slope to be such that we hit 1.0 at 10000 nits.
*/ */
const struct fixed31_32 end_value = const struct fixed31_32 end_value = dal_fixed31_32_from_int(125);
dal_fixed31_32_from_int(125);
arr_points[1].slope = dal_fixed31_32_div( arr_points[1].slope = dal_fixed31_32_div(
dal_fixed31_32_sub(dal_fixed31_32_one, arr_points[1].y), dal_fixed31_32_sub(dal_fixed31_32_one, arr_points[1].y),
dal_fixed31_32_sub(end_value, arr_points[1].x)); dal_fixed31_32_sub(end_value, arr_points[1].x));
} }
regamma_params->hw_points_num = hw_points; regamma_params->hw_points_num = hw_points;
...@@ -581,18 +576,15 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func ...@@ -581,18 +576,15 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func
i = 1; i = 1;
for (k = 0; k < 16 && i < 16; k++) { for (k = 0; k < 16 && i < 16; k++) {
if (seg_distr[k] != -1) { if (seg_distr[k] != -1) {
regamma_params->arr_curve_points[k].segments_num = regamma_params->arr_curve_points[k].segments_num = seg_distr[k];
seg_distr[k];
regamma_params->arr_curve_points[i].offset = regamma_params->arr_curve_points[i].offset =
regamma_params->arr_curve_points[k]. regamma_params->arr_curve_points[k].offset + (1 << seg_distr[k]);
offset + (1 << seg_distr[k]);
} }
i++; i++;
} }
if (seg_distr[k] != -1) if (seg_distr[k] != -1)
regamma_params->arr_curve_points[k].segments_num = regamma_params->arr_curve_points[k].segments_num = seg_distr[k];
seg_distr[k];
rgb = rgb_resulted; rgb = rgb_resulted;
rgb_plus_1 = rgb_resulted + 1; rgb_plus_1 = rgb_resulted + 1;
...@@ -607,15 +599,9 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func ...@@ -607,15 +599,9 @@ static bool dce110_translate_regamma_to_hw_format(const struct dc_transfer_func
if (dal_fixed31_32_lt(rgb_plus_1->blue, rgb->blue)) if (dal_fixed31_32_lt(rgb_plus_1->blue, rgb->blue))
rgb_plus_1->blue = rgb->blue; rgb_plus_1->blue = rgb->blue;
rgb->delta_red = dal_fixed31_32_sub( rgb->delta_red = dal_fixed31_32_sub(rgb_plus_1->red, rgb->red);
rgb_plus_1->red, rgb->delta_green = dal_fixed31_32_sub(rgb_plus_1->green, rgb->green);
rgb->red); rgb->delta_blue = dal_fixed31_32_sub(rgb_plus_1->blue, rgb->blue);
rgb->delta_green = dal_fixed31_32_sub(
rgb_plus_1->green,
rgb->green);
rgb->delta_blue = dal_fixed31_32_sub(
rgb_plus_1->blue,
rgb->blue);
++rgb_plus_1; ++rgb_plus_1;
++rgb; ++rgb;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment