From: Joan Lee <joan....@amd.com>

[WHY & HOW]
Driver side adding replay general cmd interface.
Replay general command will config at most two uint_32 parameters,
with a replay general command subtype to set relative configurations.

Reviewed-by: Nicholas Kazlauskas <nicholas.kazlaus...@amd.com>
Acked-by: Alex Hung <alex.h...@amd.com>
Signed-off-by: Joan Lee <joan....@amd.com>
---
 drivers/gpu/drm/amd/display/dc/dc_types.h      |  1 +
 .../gpu/drm/amd/display/dc/dce/dmub_replay.c   | 18 +++++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h 
b/drivers/gpu/drm/amd/display/dc/dc_types.h
index 21f4af9ab096..c550e8997033 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_types.h
@@ -1036,6 +1036,7 @@ enum replay_FW_Message_type {
        Replay_Set_Residency_Frameupdate_Timer,
        Replay_Set_Pseudo_VTotal,
        Replay_Disabled_Adaptive_Sync_SDP,
+       Replay_Set_General_Cmd,
 };
 
 union replay_error_status {
diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c 
b/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c
index 5437ebd8bc21..2a21bcf5224f 100644
--- a/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c
+++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c
@@ -346,13 +346,29 @@ static void dmub_replay_send_cmd(struct dmub_replay *dmub,
                cmd.replay_disabled_adaptive_sync_sdp.header.sub_type =
                        DMUB_CMD__REPLAY_DISABLED_ADAPTIVE_SYNC_SDP;
                cmd.replay_disabled_adaptive_sync_sdp.header.payload_bytes =
-                       sizeof(struct dmub_rb_cmd_replay_set_pseudo_vtotal);
+                       sizeof(struct 
dmub_rb_cmd_replay_disabled_adaptive_sync_sdp);
                //Cmd Body
                cmd.replay_disabled_adaptive_sync_sdp.data.panel_inst =
                        cmd_element->disabled_adaptive_sync_sdp_data.panel_inst;
                cmd.replay_disabled_adaptive_sync_sdp.data.force_disabled =
                        
cmd_element->disabled_adaptive_sync_sdp_data.force_disabled;
                break;
+       case Replay_Set_General_Cmd:
+               //Header
+               cmd.replay_set_general_cmd.header.sub_type =
+                       DMUB_CMD__REPLAY_SET_GENERAL_CMD;
+               cmd.replay_set_general_cmd.header.payload_bytes =
+                       sizeof(struct dmub_rb_cmd_replay_set_general_cmd);
+               //Cmd Body
+               cmd.replay_set_general_cmd.data.panel_inst =
+                       cmd_element->set_general_cmd_data.panel_inst;
+               cmd.replay_set_general_cmd.data.subtype =
+                       cmd_element->set_general_cmd_data.subtype;
+               cmd.replay_set_general_cmd.data.param1 =
+                       cmd_element->set_general_cmd_data.param1;
+               cmd.replay_set_general_cmd.data.param2 =
+                       cmd_element->set_general_cmd_data.param2;
+               break;
        case Replay_Msg_Not_Support:
        default:
                return;
-- 
2.34.1

Reply via email to