drm/amd/display: Set minimum requirement for using PSR-SU on Phoenix
authorjsg <jsg@openbsd.org>
Fri, 4 Aug 2023 08:54:09 +0000 (08:54 +0000)
committerjsg <jsg@openbsd.org>
Fri, 4 Aug 2023 08:54:09 +0000 (08:54 +0000)
From Mario Limonciello
76fcfc6ae3a64033626647bae7b6d1f2d8bea72a in linux-6.1.y/6.1.43
cd2e31a9ab93d13c412a36c6e26811e0f830985b in mainline linux

sys/dev/pci/drm/amd/display/dmub/src/dmub_dcn314.c
sys/dev/pci/drm/amd/display/dmub/src/dmub_dcn314.h
sys/dev/pci/drm/amd/display/dmub/src/dmub_srv.c

index 48a06db..f161aeb 100644 (file)
@@ -60,3 +60,8 @@ const struct dmub_srv_dcn31_regs dmub_srv_dcn314_regs = {
        { DMUB_DCN31_FIELDS() },
 #undef DMUB_SF
 };
+
+bool dmub_dcn314_is_psrsu_supported(struct dmub_srv *dmub)
+{
+       return dmub->fw_version >= DMUB_FW_VERSION(8, 0, 16);
+}
index 674267a..f213bd8 100644 (file)
@@ -30,4 +30,6 @@
 
 extern const struct dmub_srv_dcn31_regs dmub_srv_dcn314_regs;
 
+bool dmub_dcn314_is_psrsu_supported(struct dmub_srv *dmub);
+
 #endif /* _DMUB_DCN314_H_ */
index 0f43a05..0dab22d 100644 (file)
@@ -229,6 +229,7 @@ static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic)
        case DMUB_ASIC_DCN316:
                if (asic == DMUB_ASIC_DCN314) {
                        dmub->regs_dcn31 = &dmub_srv_dcn314_regs;
+                       funcs->is_psrsu_supported = dmub_dcn314_is_psrsu_supported;
                } else if (asic == DMUB_ASIC_DCN315) {
                        dmub->regs_dcn31 = &dmub_srv_dcn315_regs;
                } else if (asic == DMUB_ASIC_DCN316) {