static enum bp_result bios_parser_enable_lvtma_control(
        struct dc_bios *dcb,
-       uint8_t uc_pwr_on)
+       uint8_t uc_pwr_on,
+       uint8_t panel_instance)
 {
        struct bios_parser *bp = BP_FROM_DCB(dcb);
 
        if (!bp->cmd_tbl.enable_lvtma_control)
                return BP_RESULT_FAILURE;
 
-       return bp->cmd_tbl.enable_lvtma_control(bp, uc_pwr_on);
+       return bp->cmd_tbl.enable_lvtma_control(bp, uc_pwr_on, panel_instance);
 }
 
 static bool bios_parser_is_accelerated_mode(
 
 
 static enum bp_result enable_lvtma_control(
        struct bios_parser *bp,
-       uint8_t uc_pwr_on);
+       uint8_t uc_pwr_on,
+       uint8_t panel_instance);
 
 static void init_enable_lvtma_control(struct bios_parser *bp)
 {
 
 static void enable_lvtma_control_dmcub(
        struct dc_dmub_srv *dmcub,
-       uint8_t uc_pwr_on)
+       uint8_t uc_pwr_on,
+       uint8_t panel_instance)
 {
 
        union dmub_rb_cmd cmd;
 
        memset(&cmd, 0, sizeof(cmd));
 
-       cmd.cmd_common.header.type = DMUB_CMD__VBIOS;
-       cmd.cmd_common.header.sub_type =
+       cmd.lvtma_control.header.type = DMUB_CMD__VBIOS;
+       cmd.lvtma_control.header.sub_type =
                        DMUB_CMD__VBIOS_LVTMA_CONTROL;
-       cmd.cmd_common.cmd_buffer[0] =
+       cmd.lvtma_control.data.uc_pwr_action =
                        uc_pwr_on;
-
+       cmd.lvtma_control.data.panel_inst =
+                       panel_instance;
        dc_dmub_srv_cmd_queue(dmcub, &cmd);
        dc_dmub_srv_cmd_execute(dmcub);
        dc_dmub_srv_wait_idle(dmcub);
 
 static enum bp_result enable_lvtma_control(
        struct bios_parser *bp,
-       uint8_t uc_pwr_on)
+       uint8_t uc_pwr_on,
+       uint8_t panel_instance)
 {
        enum bp_result result = BP_RESULT_FAILURE;
 
        if (bp->base.ctx->dc->ctx->dmub_srv &&
            bp->base.ctx->dc->debug.dmub_command_table) {
                enable_lvtma_control_dmcub(bp->base.ctx->dmub_srv,
-                               uc_pwr_on);
+                               uc_pwr_on,
+                               panel_instance);
                return BP_RESULT_OK;
        }
        return result;
 
        unsigned int (*get_smu_clock_info)(
                        struct bios_parser *bp, uint8_t id);
        enum bp_result (*enable_lvtma_control)(struct bios_parser *bp,
-                       uint8_t uc_pwr_on);
+                       uint8_t uc_pwr_on,
+                       uint8_t panel_instance);
 };
 
 void dal_firmware_parser_init_cmd_tbl(struct bios_parser *bp);
 
                (link->link_id.id == CONNECTOR_ID_EDP ||
                        link->link_id.id == CONNECTOR_ID_LVDS)) {
                panel_cntl_init_data.ctx = dc_ctx;
-               panel_cntl_init_data.inst = 0;
+               panel_cntl_init_data.inst = link->link_index;
                link->panel_cntl =
                        link->dc->res_pool->funcs->panel_cntl_create(
                                                                &panel_cntl_init_data);
 
 
        enum bp_result (*enable_lvtma_control)(
                struct dc_bios *bios,
-               uint8_t uc_pwr_on);
+               uint8_t uc_pwr_on,
+               uint8_t panel_instance);
 
        enum bp_result (*get_soc_bb_info)(
                struct dc_bios *dcb,
 
        struct dc_context *ctx = link->ctx;
        struct bp_transmitter_control cntl = { 0 };
        enum bp_result bp_result;
+       uint8_t panel_instance;
 
 
        if (dal_graphics_object_id_get_connector_id(link->link_enc->connector)
 
        if (!link->panel_cntl)
                return;
-
        if (power_up !=
                link->panel_cntl->funcs->is_panel_powered_on(link->panel_cntl)) {
 
                cntl.coherent = false;
                cntl.lanes_number = LANE_COUNT_FOUR;
                cntl.hpd_sel = link->link_enc->hpd_source;
+               panel_instance = link->panel_cntl->inst;
 
                if (ctx->dc->ctx->dmub_srv &&
                                ctx->dc->debug.dmub_command_table) {
                        if (cntl.action == TRANSMITTER_CONTROL_POWER_ON)
                                bp_result = ctx->dc_bios->funcs->enable_lvtma_control(ctx->dc_bios,
-                                               LVTMA_CONTROL_POWER_ON);
+                                               LVTMA_CONTROL_POWER_ON,
+                                               panel_instance);
                        else
                                bp_result = ctx->dc_bios->funcs->enable_lvtma_control(ctx->dc_bios,
-                                               LVTMA_CONTROL_POWER_OFF);
+                                               LVTMA_CONTROL_POWER_OFF,
+                                               panel_instance);
                }
 
                bp_result = link_transmitter_control(ctx->dc_bios, &cntl);
 {
        struct dc_context *ctx = link->ctx;
        struct bp_transmitter_control cntl = { 0 };
+       uint8_t panel_instance;
 
        if (dal_graphics_object_id_get_connector_id(link->link_enc->connector)
                != CONNECTOR_ID_EDP) {
         */
        /* dc_service_sleep_in_milliseconds(50); */
                /*edp 1.2*/
+       panel_instance = link->panel_cntl->inst;
        if (cntl.action == TRANSMITTER_CONTROL_BACKLIGHT_ON)
                edp_receiver_ready_T7(link);
 
                        ctx->dc->debug.dmub_command_table) {
                if (cntl.action == TRANSMITTER_CONTROL_BACKLIGHT_ON)
                        ctx->dc_bios->funcs->enable_lvtma_control(ctx->dc_bios,
-                                       LVTMA_CONTROL_LCD_BLON);
+                                       LVTMA_CONTROL_LCD_BLON,
+                                       panel_instance);
                else
                        ctx->dc_bios->funcs->enable_lvtma_control(ctx->dc_bios,
-                                       LVTMA_CONTROL_LCD_BLOFF);
+                                       LVTMA_CONTROL_LCD_BLOFF,
+                                       panel_instance);
        }
 
        link_transmitter_control(ctx->dc_bios, &cntl);