From: Taimur Hassan <[email protected]> Summary for changes in firmware: * Update DCHVM restore sequence for dcn35 * Add 2 new debug polling methods for dchvm "busy" during IPS entry for DCN35
Signed-off-by: Taimur Hassan <[email protected]> Signed-off-by: Chenyu Chen <[email protected]> Acked-by: Wayne Lin <[email protected]> --- .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 70 +++++++++++++------ 1 file changed, 48 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h index 9c2d687eb7fd..87249b8005d6 100644 --- a/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h +++ b/drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h @@ -636,17 +636,29 @@ union pr_debug_flags { /** * 0x10 (bit 4) - * @skip_crtc_disabled: CRTC disable skipped + * @visual_confirm_rate_control: Enable Visual Confirm rate control detection */ - uint32_t skip_crtc_disabled : 1; + uint32_t visual_confirm_rate_control : 1; - /* + /** * 0x20 (bit 5) - * @visual_confirm_rate_control: Enable Visual Confirm rate control detection + * @force_full_frame_update: Force all selective updates to be full frame updates */ - uint32_t visual_confirm_rate_control : 1; + uint32_t force_full_frame_update : 1; - uint32_t reserved : 26; + /** + * 0x40 (bit 6) + * @force_dpg_on: Force DPG on + */ + uint32_t force_dpg_on : 1; + + /** + * 0x80 (bit 7) + * @force_hubp_on: Force Hubp on + */ + uint32_t force_hubp_on : 1; + + uint32_t reserved : 24; } bitfields; uint32_t u32All; @@ -669,19 +681,12 @@ union pr_hw_flags { * @fec_enable_status: receive fec enable/disable status from driver */ uint32_t fec_enable_status : 1; - /* * @smu_optimizations_en: SMU power optimization. * Only when active display is Replay capable and display enters Replay. * Trigger interrupt to SMU to powerup/down. */ uint32_t smu_optimizations_en : 1; - - /** - * @phy_power_state: Indicates current phy power state - */ - uint32_t phy_power_state : 1; - /** * @link_power_state: Indicates current link power state */ @@ -698,6 +703,7 @@ union pr_hw_flags { * @alpm_mode: Indicates ALPM mode selected */ uint32_t alpm_mode : 2; + uint32_t reserved : 23; } bitfields; uint32_t u32All; @@ -4279,7 +4285,7 @@ enum pr_state { // Active and Pending Power Up PR_STATE_2_PENDING_POWER_UP = 0x33, // Active and Powered Up, Pending DPG latch - PR_STATE_2_PENDING_LOCK_FOR_DPG_POWER_ON = 0x34, + PR_STATE_2_PENDING_LOCK = 0x34, // Active and Powered Up, Pending SDP and Unlock PR_STATE_2_PENDING_SDP_AND_UNLOCK = 0x35, // Pending transmission of AS SDP for timing sync, but no rfb update @@ -6617,10 +6623,6 @@ struct dmub_cmd_pr_copy_settings_data { * Currently the support is only for 0 or 1 */ uint8_t panel_inst; - /** - * Length of each horizontal line in ns. - */ - uint32_t line_time_in_ns; /** * PHY instance. */ @@ -6629,10 +6631,10 @@ struct dmub_cmd_pr_copy_settings_data { * Determines if SMU optimzations are enabled/disabled. */ uint8_t smu_optimizations_en; - /* - * Use FSM state for Replay power up/down + /** + * Length of each horizontal line in ns. */ - uint8_t use_phy_fsm; + uint32_t line_time_in_ns; /* * Use FSFT afftet pixel clk */ @@ -6645,6 +6647,14 @@ struct dmub_cmd_pr_copy_settings_data { * Use for AUX-less ALPM LFPS wake operation */ struct dmub_alpm_auxless_data auxless_alpm_data; + /** + * DSC Slice height. + */ + uint16_t dsc_slice_height; + /* + * Use FSM state for Replay power up/down + */ + uint8_t use_phy_fsm; /** * @hpo_stream_enc_inst: HPO stream encoder instance */ @@ -6653,10 +6663,26 @@ struct dmub_cmd_pr_copy_settings_data { * @hpo_link_enc_inst: HPO link encoder instance */ uint8_t hpo_link_enc_inst; + /* + * Selective Update granularity needed. + */ + uint8_t su_granularity_needed; + /* + * Horizontal granularity for Selective Update. + */ + uint16_t su_x_granularity; + /* + * Extended caps of vertical granularity for Selective Update. + */ + uint16_t su_y_granularity_extended_caps; + /* + * Vertical granularity for Selective Update. + */ + uint8_t su_y_granularity; /** * @pad: Align structure to 4 byte boundary. */ - uint8_t pad[2]; + uint8_t pad; }; /** -- 2.43.0
