]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amd/display: Add Replay general cmd
authorJoan Lee <joan.lee@amd.com>
Wed, 12 Jun 2024 02:12:52 +0000 (10:12 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 27 Jun 2024 21:10:36 +0000 (17:10 -0400)
[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.kazlauskas@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Joan Lee <joan.lee@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_types.h
drivers/gpu/drm/amd/display/dc/dce/dmub_replay.c

index 21f4af9ab096f2e96da44ab028370e5fb38f636e..c550e89970336a3a830e2d048639283167b52d1a 100644 (file)
@@ -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 {
index 5437ebd8bc217f5a0cfe80254279cc6b98af8ac6..2a21bcf5224f452b6bc8584a614844524df06f48 100644 (file)
@@ -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;