}
 
 bool dce110_set_backlight_level(struct pipe_ctx *pipe_ctx,
-               uint32_t backlight_pwm_u16_16,
-               uint32_t frame_ramp)
+       struct set_backlight_level_params *params)
 {
+       uint32_t backlight_pwm_u16_16 = params->backlight_pwm_u16_16;
+       uint32_t frame_ramp = params->frame_ramp;
        struct dc_link *link = pipe_ctx->stream->link;
        struct dc  *dc = link->ctx->dc;
        struct abm *abm = pipe_ctx->stream_res.abm;
 
                bool power_up);
 
 bool dce110_set_backlight_level(struct pipe_ctx *pipe_ctx,
-               uint32_t backlight_pwm_u16_16,
-               uint32_t frame_ramp);
+       struct set_backlight_level_params *params);
 void dce110_set_abm_immediate_disable(struct pipe_ctx *pipe_ctx);
 void dce110_set_pipe(struct pipe_ctx *pipe_ctx);
 void dce110_disable_link_output(struct dc_link *link,
 
 }
 
 bool dcn21_set_backlight_level(struct pipe_ctx *pipe_ctx,
-               uint32_t backlight_pwm_u16_16,
-               uint32_t frame_ramp)
+       struct set_backlight_level_params *params)
 {
        struct dc_context *dc = pipe_ctx->stream->ctx;
        struct abm *abm = pipe_ctx->stream_res.abm;
        struct timing_generator *tg = pipe_ctx->stream_res.tg;
        struct panel_cntl *panel_cntl = pipe_ctx->stream->link->panel_cntl;
        uint32_t otg_inst;
+       uint32_t backlight_pwm_u16_16 = params->backlight_pwm_u16_16;
+       uint32_t frame_ramp = params->frame_ramp;
 
        if (!abm || !tg || !panel_cntl)
                return false;
        otg_inst = tg->inst;
 
        if (dc->dc->res_pool->dmcu) {
-               dce110_set_backlight_level(pipe_ctx, backlight_pwm_u16_16, frame_ramp);
+               dce110_set_backlight_level(pipe_ctx, params);
                return true;
        }
 
 
 void dcn21_set_pipe(struct pipe_ctx *pipe_ctx);
 void dcn21_set_abm_immediate_disable(struct pipe_ctx *pipe_ctx);
 bool dcn21_set_backlight_level(struct pipe_ctx *pipe_ctx,
-               uint32_t backlight_pwm_u16_16,
-               uint32_t frame_ramp);
+       struct set_backlight_level_params *params);
 bool dcn21_is_abm_supported(struct dc *dc,
                struct dc_state *context, struct dc_stream_state *stream);
 
 
        struct fams2_global_control_lock_fast_params fams2_global_control_lock_fast_params;
 };
 
+struct set_backlight_level_params {
+       uint32_t backlight_pwm_u16_16;
+       uint32_t frame_ramp;
+};
+
 enum block_sequence_func {
        DMUB_SUBVP_PIPE_CONTROL_LOCK_FAST = 0,
        OPTC_PIPE_CONTROL_LOCK,
        void (*clear_status_bits)(struct dc *dc, unsigned int mask);
 
        bool (*set_backlight_level)(struct pipe_ctx *pipe_ctx,
-                       uint32_t backlight_pwm_u16_16,
-                       uint32_t frame_ramp);
+               struct set_backlight_level_params *params);
 
        void (*set_abm_immediate_disable)(struct pipe_ctx *pipe_ctx);
 
 
                uint32_t frame_ramp)
 {
        struct dc  *dc = link->ctx->dc;
-
        DC_LOGGER_INIT(link->ctx->logger);
        DC_LOG_BACKLIGHT("New Backlight level: %d (0x%X)\n",
                        backlight_pwm_u16_16, backlight_pwm_u16_16);
 
        if (dc_is_embedded_signal(link->connector_signal)) {
                struct pipe_ctx *pipe_ctx = get_pipe_from_link(link);
+               struct set_backlight_level_params backlight_level_param = { 0 };
 
                if (link->panel_cntl)
                        link->panel_cntl->stored_backlight_registers.USER_LEVEL = backlight_pwm_u16_16;
                        return false;
                }
 
+               backlight_level_param.backlight_pwm_u16_16 = backlight_pwm_u16_16;
+               backlight_level_param.frame_ramp = frame_ramp;
+
                dc->hwss.set_backlight_level(
                                pipe_ctx,
-                               backlight_pwm_u16_16,
-                               frame_ramp);
+                               &backlight_level_param);
        }
        return true;
 }