drm/amd/display: DMCUB FW Changes to support PSR
authorWyatt Wood <wyatt.wood@amd.com>
Wed, 11 Dec 2019 19:16:57 +0000 (14:16 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 16 Jan 2020 19:13:46 +0000 (14:13 -0500)
[Why]
Moving PSR from DMCU to DMCUB.

[How]
Cleanup psr spec files and add PSR hw programming files.
No functionality is included in this change.

Signed-off-by: Wyatt Wood <wyatt.wood@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd_dal.h

index 9193232..3b79079 100644 (file)
@@ -262,23 +262,13 @@ struct dmub_rb_cmd_psr_enable {
        struct dmub_cmd_header header;
 };
 
-struct dmub_cmd_psr_notify_vblank_data {
-       uint32_t vblank_int; // Which vblank interrupt was triggered
+struct dmub_cmd_psr_setup_data {
+       enum psr_version version; // PSR version 1 or 2
 };
 
-struct dmub_rb_cmd_notify_vblank {
+struct dmub_rb_cmd_psr_setup {
        struct dmub_cmd_header header;
-       struct dmub_cmd_psr_notify_vblank_data psr_notify_vblank_data;
-};
-
-struct dmub_cmd_psr_notify_static_state_data {
-       uint32_t ss_int;        // Which static screen interrupt was triggered
-       uint32_t ss_enter;      // Enter (1) or exit (0) static screen
-};
-
-struct dmub_rb_cmd_psr_notify_static_state {
-       struct dmub_cmd_header header;
-       struct dmub_cmd_psr_notify_static_state_data psr_notify_static_state_data;
+       struct dmub_cmd_psr_setup_data psr_setup_data;
 };
 
 union dmub_rb_cmd {
@@ -296,6 +286,7 @@ union dmub_rb_cmd {
        struct dmub_rb_cmd_psr_copy_settings psr_copy_settings;
        struct dmub_rb_cmd_psr_set_level psr_set_level;
        struct dmub_rb_cmd_flip surface_flip;
+       struct dmub_rb_cmd_psr_setup psr_setup;
 };
 
 #pragma pack(pop)
index 14f13e8..20b4764 100644 (file)
@@ -36,6 +36,12 @@ enum dmub_cmd_psr_type {
        DMUB_CMD__PSR_DISABLE = 1,
        DMUB_CMD__PSR_COPY_SETTINGS = 2,
        DMUB_CMD__PSR_SET_LEVEL = 3,
+       DMUB_CMD__PSR_SETUP = 4,
+};
+
+enum psr_version {
+       PSR_VERSION_1 = 0x0,
+       PSR_VERSION_2 = 0x10,
 };
 
 #endif /* _DMUB_CMD_DAL_H_ */