phm_stop_thermal_controller(hwmgr);
        psm_set_boot_states(hwmgr);
-       phm_display_configuration_changed(hwmgr);
        psm_adjust_power_state_dynamic(hwmgr, false, NULL);
        phm_disable_dynamic_state_management(hwmgr);
        phm_disable_clock_power_gatings(hwmgr);
 
        if (skip)
                return 0;
 
+       phm_display_configuration_changed(hwmgr);
+
        if (new_ps != NULL)
                requested = new_ps;
        else
        pcurrent = hwmgr->current_ps;
 
        phm_apply_state_adjust_rules(hwmgr, requested, pcurrent);
-
        if (pcurrent == NULL || (0 != phm_check_states_equal(hwmgr,
                        &pcurrent->hardware, &requested->hardware, &equal)))
                equal = false;
                phm_set_power_state(hwmgr, &pcurrent->hardware, &requested->hardware);
                memcpy(hwmgr->current_ps, hwmgr->request_ps, hwmgr->ps_size);
        }
+
+       phm_notify_smc_display_config_after_ps_adjustment(hwmgr);
+
        return 0;
 }