]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amd/display: [FW Promotion] Release 0.1.22.0
authorTaimur Hassan <Syed.Hassan@amd.com>
Sun, 3 Aug 2025 20:12:50 +0000 (16:12 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 11 Aug 2025 15:13:35 +0000 (11:13 -0400)
Add a new command for Panel Replay.

Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Taimur Hassan <Syed.Hassan@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h

index 79b5b1bb9b93c0677a0e9a3ce0a2c684b4c38a5a..52295efdba6363cae5fe86d9cdd8c68696b45a9a 100644 (file)
@@ -4019,6 +4019,10 @@ enum dmub_cmd_replay_type {
         * Set adaptive sync sdp enabled
         */
        DMUB_CMD__REPLAY_DISABLED_ADAPTIVE_SYNC_SDP = 8,
+       /**
+        * Set version
+        */
+       DMUB_CMD__REPLAY_SET_VERSION = 9,
        /**
         * Set Replay General command.
         */
@@ -4143,6 +4147,63 @@ struct dmub_cmd_replay_copy_settings_data {
        uint8_t pad[2];
 };
 
+
+/**
+ * Replay versions.
+ */
+enum replay_version {
+       /**
+        * FreeSync Replay
+        */
+       REPLAY_VERSION_FREESYNC_REPLAY  = 0,
+       /**
+        * Panel Replay
+        */
+       REPLAY_VERSION_PANEL_REPLAY             = 1,
+       /**
+        * Replay not supported.
+        */
+       REPLAY_VERSION_UNSUPPORTED              = 0xFF,
+};
+
+/**
+ * Data passed from driver to FW in a DMUB_CMD___SET_REPLAY_VERSION command.
+ */
+struct dmub_cmd_replay_set_version_data {
+       /**
+        * PSR version that FW should implement.
+        */
+       enum replay_version version;
+       /**
+        * PSR control version.
+        */
+       uint8_t cmd_version;
+       /**
+        * Panel Instance.
+        * Panel instance to identify which psr_state to use
+        * Currently the support is only for 0 or 1
+        */
+       uint8_t panel_inst;
+       /**
+        * Explicit padding to 4 byte boundary.
+        */
+       uint8_t pad[2];
+};
+
+/**
+ * Definition of a DMUB_CMD__REPLAY_SET_VERSION command.
+ */
+struct dmub_rb_cmd_replay_set_version {
+       /**
+        * Command header.
+        */
+       struct dmub_cmd_header header;
+       /**
+        * Data passed from driver to FW in a DMUB_CMD__REPLAY_SET_VERSION command.
+        */
+       struct dmub_cmd_replay_set_version_data replay_set_version_data;
+};
+
 /**
  * Definition of a DMUB_CMD__REPLAY_COPY_SETTINGS command.
  */
@@ -4506,6 +4567,10 @@ union dmub_replay_cmd_set {
         * Definition of DMUB_CMD__REPLAY_DISABLED_ADAPTIVE_SYNC_SDP command data.
         */
        struct dmub_cmd_replay_disabled_adaptive_sync_sdp_data disabled_adaptive_sync_sdp_data;
+       /**
+        * Definition of DMUB_CMD__REPLAY_SET_VERSION command data.
+        */
+       struct dmub_cmd_replay_set_version_data version_data;
        /**
         * Definition of DMUB_CMD__REPLAY_SET_GENERAL_CMD command data.
         */
@@ -6265,6 +6330,10 @@ union dmub_rb_cmd {
         * Definition of a DMUB_CMD__IDLE_OPT_SET_DC_POWER_STATE command.
         */
        struct dmub_rb_cmd_idle_opt_set_dc_power_state idle_opt_set_dc_power_state;
+       /**
+        * Definition of a DMUB_CMD__REPLAY_SET_VERSION command.
+        */
+       struct dmub_rb_cmd_replay_set_version replay_set_version;
        /*
         * Definition of a DMUB_CMD__REPLAY_COPY_SETTINGS command.
         */