drm/amd/display: SPL cleanup
authorSamson Tam <Samson.Tam@amd.com>
Fri, 25 Oct 2024 15:28:33 +0000 (11:28 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 4 Nov 2024 16:36:40 +0000 (11:36 -0500)
[Why & How]
Move from pointer to callback to reference callback directly
Missed renaming fixpt functions with spl prefix

Reviewed-by: Navid Assadian <Navid.Assadian@amd.com>
Signed-off-by: Samson Tam <Samson.Tam@amd.com>
Signed-off-by: Zaeem Mohamed <zaeem.mohamed@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dc_spl_translate.c
drivers/gpu/drm/amd/display/dc/spl/dc_spl.c
drivers/gpu/drm/amd/display/dc/spl/dc_spl_types.h
drivers/gpu/drm/amd/display/dc/spl/spl_fixpt31_32.c

index 24aa9df..c8d8e33 100644 (file)
@@ -8,13 +8,13 @@
 #include "dcn32/dcn32_dpp.h"
 #include "dcn401/dcn401_dpp.h"
 
-static struct spl_funcs dcn2_spl_funcs = {
+static struct spl_callbacks dcn2_spl_callbacks = {
        .spl_calc_lb_num_partitions = dscl2_spl_calc_lb_num_partitions,
 };
-static struct spl_funcs dcn32_spl_funcs = {
+static struct spl_callbacks dcn32_spl_callbacks = {
        .spl_calc_lb_num_partitions = dscl32_spl_calc_lb_num_partitions,
 };
-static struct spl_funcs dcn401_spl_funcs = {
+static struct spl_callbacks dcn401_spl_callbacks = {
        .spl_calc_lb_num_partitions = dscl401_spl_calc_lb_num_partitions,
 };
 static void populate_splrect_from_rect(struct spl_rect *spl_rect, const struct rect *rect)
@@ -77,16 +77,16 @@ void translate_SPL_in_params_from_pipe_ctx(struct pipe_ctx *pipe_ctx, struct spl
        // This is used to determine the vtap support
        switch (plane_state->ctx->dce_version)  {
        case DCN_VERSION_2_0:
-               spl_in->funcs = &dcn2_spl_funcs;
+               spl_in->callbacks = dcn2_spl_callbacks;
                break;
        case DCN_VERSION_3_2:
-               spl_in->funcs = &dcn32_spl_funcs;
+               spl_in->callbacks = dcn32_spl_callbacks;
                break;
        case DCN_VERSION_4_01:
-               spl_in->funcs = &dcn401_spl_funcs;
+               spl_in->callbacks = dcn401_spl_callbacks;
                break;
        default:
-               spl_in->funcs = &dcn2_spl_funcs;
+               spl_in->callbacks = dcn2_spl_callbacks;
        }
        // Make format field from spl_in point to plane_res scl_data format
        spl_in->basic_in.format = (enum spl_pixel_format)pipe_ctx->plane_res.scl_data.format;
index 9095da7..a29a9f1 100644 (file)
@@ -981,7 +981,7 @@ static bool spl_get_optimal_number_of_taps(
        else
                lb_config = LB_MEMORY_CONFIG_0;
        // Determine max vtap support by calculating how much line buffer can fit
-       spl_in->funcs->spl_calc_lb_num_partitions(spl_in->basic_out.alpha_en, &spl_scratch->scl_data,
+       spl_in->callbacks.spl_calc_lb_num_partitions(spl_in->basic_out.alpha_en, &spl_scratch->scl_data,
                        lb_config, &num_part_y, &num_part_c);
        /* MAX_V_TAPS = MIN (NUM_LINES - MAX(CEILING(V_RATIO,1)-2, 0), 8) */
        if (spl_fixpt_ceil(spl_scratch->scl_data.ratios.vert) > 2)
index 8b00ccb..55d557d 100644 (file)
@@ -497,7 +497,7 @@ enum scale_to_sharpness_policy {
        SCALE_TO_SHARPNESS_ADJ_YUV = 1,
        SCALE_TO_SHARPNESS_ADJ_ALL = 2
 };
-struct spl_funcs       {
+struct spl_callbacks {
        void (*spl_calc_lb_num_partitions)
                (bool alpha_en,
                const struct spl_scaler_data *scl_data,
@@ -518,7 +518,7 @@ struct spl_in       {
        // Basic slice information
        int odm_slice_index;    // ODM Slice Index using get_odm_split_index
        struct spl_taps scaling_quality; // Explicit Scaling Quality
-       struct spl_funcs *funcs;
+       struct spl_callbacks callbacks;
        // Inputs for isharp and EASF
        struct adaptive_sharpness adaptive_sharpness;   //      Adaptive Sharpness
        enum linear_light_scaling lls_pref;     //      Linear Light Scaling
index 5fd79d9..131f1e3 100644 (file)
@@ -22,7 +22,7 @@ static inline unsigned long long abs_i64(
  * result = dividend / divisor
  * *remainder = dividend % divisor
  */
-static inline unsigned long long complete_integer_division_u64(
+static inline unsigned long long spl_complete_integer_division_u64(
        unsigned long long dividend,
        unsigned long long divisor,
        unsigned long long *remainder)
@@ -60,7 +60,7 @@ struct spl_fixed31_32 spl_fixpt_from_fraction(long long numerator, long long den
 
        /* determine integer part */
 
-       unsigned long long res_value = complete_integer_division_u64(
+       unsigned long long res_value = spl_complete_integer_division_u64(
                arg1_value, arg2_value, &remainder);
 
        SPL_ASSERT(res_value <= (unsigned long long)LONG_MAX);
@@ -286,7 +286,7 @@ struct spl_fixed31_32 spl_fixpt_cos(struct spl_fixed31_32 arg)
  *
  * Calculated as Taylor series.
  */
-static struct spl_fixed31_32 fixed31_32_exp_from_taylor_series(struct spl_fixed31_32 arg)
+static struct spl_fixed31_32 spl_fixed31_32_exp_from_taylor_series(struct spl_fixed31_32 arg)
 {
        unsigned int n = 9;
 
@@ -345,14 +345,14 @@ struct spl_fixed31_32 spl_fixpt_exp(struct spl_fixed31_32 arg)
 
                if (m > 0)
                        return spl_fixpt_shl(
-                               fixed31_32_exp_from_taylor_series(r),
+                               spl_fixed31_32_exp_from_taylor_series(r),
                                (unsigned char)m);
                else
                        return spl_fixpt_div_int(
-                               fixed31_32_exp_from_taylor_series(r),
+                               spl_fixed31_32_exp_from_taylor_series(r),
                                1LL << -m);
        } else if (arg.value != 0)
-               return fixed31_32_exp_from_taylor_series(arg);
+               return spl_fixed31_32_exp_from_taylor_series(arg);
        else
                return spl_fixpt_one;
 }
@@ -396,7 +396,7 @@ struct spl_fixed31_32 spl_fixpt_log(struct spl_fixed31_32 arg)
  * part in 32 bits. It is used in hw programming (scaler)
  */
 
-static inline unsigned int ux_dy(
+static inline unsigned int spl_ux_dy(
        long long value,
        unsigned int integer_bits,
        unsigned int fractional_bits)
@@ -415,13 +415,13 @@ static inline unsigned int ux_dy(
        return result | fractional_part;
 }
 
-static inline unsigned int clamp_ux_dy(
+static inline unsigned int spl_clamp_ux_dy(
        long long value,
        unsigned int integer_bits,
        unsigned int fractional_bits,
        unsigned int min_clamp)
 {
-       unsigned int truncated_val = ux_dy(value, integer_bits, fractional_bits);
+       unsigned int truncated_val = spl_ux_dy(value, integer_bits, fractional_bits);
 
        if (value >= (1LL << (integer_bits + FIXED31_32_BITS_PER_FRACTIONAL_PART)))
                return (1 << (integer_bits + fractional_bits)) - 1;
@@ -433,40 +433,40 @@ static inline unsigned int clamp_ux_dy(
 
 unsigned int spl_fixpt_u4d19(struct spl_fixed31_32 arg)
 {
-       return ux_dy(arg.value, 4, 19);
+       return spl_ux_dy(arg.value, 4, 19);
 }
 
 unsigned int spl_fixpt_u3d19(struct spl_fixed31_32 arg)
 {
-       return ux_dy(arg.value, 3, 19);
+       return spl_ux_dy(arg.value, 3, 19);
 }
 
 unsigned int spl_fixpt_u2d19(struct spl_fixed31_32 arg)
 {
-       return ux_dy(arg.value, 2, 19);
+       return spl_ux_dy(arg.value, 2, 19);
 }
 
 unsigned int spl_fixpt_u0d19(struct spl_fixed31_32 arg)
 {
-       return ux_dy(arg.value, 0, 19);
+       return spl_ux_dy(arg.value, 0, 19);
 }
 
 unsigned int spl_fixpt_clamp_u0d14(struct spl_fixed31_32 arg)
 {
-       return clamp_ux_dy(arg.value, 0, 14, 1);
+       return spl_clamp_ux_dy(arg.value, 0, 14, 1);
 }
 
 unsigned int spl_fixpt_clamp_u0d10(struct spl_fixed31_32 arg)
 {
-       return clamp_ux_dy(arg.value, 0, 10, 1);
+       return spl_clamp_ux_dy(arg.value, 0, 10, 1);
 }
 
 int spl_fixpt_s4d19(struct spl_fixed31_32 arg)
 {
        if (arg.value < 0)
-               return -(int)ux_dy(spl_fixpt_abs(arg).value, 4, 19);
+               return -(int)spl_ux_dy(spl_fixpt_abs(arg).value, 4, 19);
        else
-               return ux_dy(arg.value, 4, 19);
+               return spl_ux_dy(arg.value, 4, 19);
 }
 
 struct spl_fixed31_32 spl_fixpt_from_ux_dy(unsigned int value,