Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: [FW Promotion] Release 0.1.10.0

Refactoring some IPS and panel replay structs

Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Taimur Hassan <Syed.Hassan@amd.com>
Signed-off-by: Ray Wu <ray.wu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Taimur Hassan and committed by
Alex Deucher
e91c91e5 c8d7e0be

+46 -4
+46 -4
drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
··· 550 550 * @is_alpm_initialized: Indicates whether ALPM is initialized 551 551 */ 552 552 uint32_t is_alpm_initialized : 1; 553 + 554 + /** 555 + * @alpm_mode: Indicates ALPM mode selected 556 + */ 557 + uint32_t alpm_mode : 2; 553 558 } bitfields; 554 559 555 560 uint32_t u32All; ··· 747 742 DMUB_IPS_DISABLE_IPS2_Z10 = 4, 748 743 DMUB_IPS_DISABLE_DYNAMIC = 5, 749 744 DMUB_IPS_RCG_IN_ACTIVE_IPS2_IN_OFF = 6, 745 + DMUB_IPS_DISABLE_Z8_RETENTION = 7, 746 + }; 747 + 748 + enum dmub_ips_rcg_disable_type { 749 + DMUB_IPS_RCG_ENABLE = 0, 750 + DMUB_IPS0_RCG_DISABLE = 1, 751 + DMUB_IPS1_RCG_DISABLE = 2, 752 + DMUB_IPS_RCG_DISABLE = 3 750 753 }; 751 754 752 755 #define DMUB_IPS1_ALLOW_MASK 0x00000001 ··· 833 820 */ 834 821 union dmub_shared_state_ips_fw_signals { 835 822 struct { 836 - uint32_t ips1_commit : 1; /**< 1 if in IPS1 */ 823 + uint32_t ips1_commit : 1; /**< 1 if in IPS1 or IPS0 RCG */ 837 824 uint32_t ips2_commit : 1; /**< 1 if in IPS2 */ 838 825 uint32_t in_idle : 1; /**< 1 if DMCUB is in idle */ 839 826 uint32_t detection_required : 1; /**< 1 if detection is required */ 840 - uint32_t reserved_bits : 28; /**< Reversed */ 827 + uint32_t ips1z8_commit: 1; /**< 1 if in IPS1 Z8 Retention */ 828 + uint32_t reserved_bits : 27; /**< Reversed */ 841 829 } bits; 842 830 uint32_t all; 843 831 }; ··· 853 839 uint32_t allow_ips2 : 1; /**< 1 is IPS1 is allowed */ 854 840 uint32_t allow_z10 : 1; /**< 1 if Z10 is allowed */ 855 841 uint32_t allow_idle: 1; /**< 1 if driver is allowing idle */ 856 - uint32_t reserved_bits : 27; /**< Reversed bits */ 842 + uint32_t allow_ips0_rcg : 1; /**< 1 is IPS0 RCG is allowed */ 843 + uint32_t allow_ips1_rcg : 1; /**< 1 is IPS1 RCG is allowed */ 844 + uint32_t allow_ips1z8 : 1; /**< 1 is IPS1 Z8 Retention is allowed */ 845 + uint32_t reserved_bits : 24; /**< Reversed bits */ 857 846 } bits; 858 847 uint32_t all; 859 848 }; ··· 885 868 uint32_t ips1_exit_count; /**< Exit counter for IPS1 */ 886 869 uint32_t ips2_entry_count; /**< Entry counter for IPS2 */ 887 870 uint32_t ips2_exit_count; /**< Exit counter for IPS2 */ 888 - uint32_t reserved[55]; /**< Reversed, to be updated when adding new fields. */ 871 + uint32_t ips1_z8ret_entry_count; /**< Entry counter for IPS1 Z8 Retention */ 872 + uint32_t ips1_z8ret_exit_count; /**< Exit counter for IPS1 Z8 Retention */ 873 + uint32_t reserved[53]; /**< Reversed, to be updated when adding new fields. */ 889 874 }; /* 248-bytes, fixed */ 890 875 891 876 /** ··· 1275 1256 * DESC: Setup debug configs. 1276 1257 */ 1277 1258 DMUB_GPINT__SETUP_DEBUG_MODE = 136, 1259 + /** 1260 + * DESC: Initiates IPS wake sequence. 1261 + */ 1262 + DMUB_GPINT__IPS_DEBUG_WAKE = 137, 1278 1263 }; 1279 1264 1280 1265 /** ··· 3639 3616 struct dmub_cmd_psr_set_power_opt_data psr_set_power_opt_data; 3640 3617 }; 3641 3618 3619 + enum dmub_alpm_mode { 3620 + ALPM_AUXWAKE = 0, 3621 + ALPM_AUXLESS = 1, 3622 + ALPM_UNSUPPORTED = 2, 3623 + }; 3624 + 3642 3625 /** 3643 3626 * Definition of Replay Residency GPINT command. 3644 3627 * Bit[0] - Residency mode for Revision 0 ··· 3778 3749 REPLAY_GENERAL_CMD_SET_LOW_RR_ACTIVATE, 3779 3750 }; 3780 3751 3752 + struct dmub_alpm_auxless_data { 3753 + uint16_t lfps_setup_ns; 3754 + uint16_t lfps_period_ns; 3755 + uint16_t lfps_silence_ns; 3756 + uint16_t lfps_t1_t2_override_us; 3757 + short lfps_t1_t2_offset_us; 3758 + uint8_t lttpr_count; 3759 + }; 3760 + 3781 3761 /** 3782 3762 * Data passed from driver to FW in a DMUB_CMD__REPLAY_COPY_SETTINGS command. 3783 3763 */ ··· 3857 3819 * Use FSM state for Replay power up/down 3858 3820 */ 3859 3821 uint8_t use_phy_fsm; 3822 + /** 3823 + * Use for AUX-less ALPM LFPS wake operation 3824 + */ 3825 + struct dmub_alpm_auxless_data auxless_alpm_data; 3860 3826 }; 3861 3827 3862 3828 /**