SF: Revamp frequencyScale backdoor
Update the frequencyScale backdoor (1029) to do a primary
display hot unplug-plug so that the updated frequency makes
it to the DisplayManager
Test: adb shell service call SurfaceFlinger 1029 i32 2 i32 3
Change-Id: Id93a5946ee19fbe9925789ba3294cbf213a52c30
diff --git a/services/surfaceflinger/Scheduler/DispSync.h b/services/surfaceflinger/Scheduler/DispSync.h
index 183966f..b3aef2d 100644
--- a/services/surfaceflinger/Scheduler/DispSync.h
+++ b/services/surfaceflinger/Scheduler/DispSync.h
@@ -24,6 +24,7 @@
#include <utils/Timers.h>
#include <ui/FenceTime.h>
+#include <DisplayHardware/HWC2.h>
#include <memory>
@@ -48,7 +49,7 @@
virtual bool addResyncSample(nsecs_t timestamp) = 0;
virtual void endResync() = 0;
virtual void setPeriod(nsecs_t period) = 0;
- virtual void scalePeriod(const uint32_t multiplier, uint32_t divisor) = 0;
+ virtual void scalePeriod(HWC2::Device::FrequencyScaler) = 0;
virtual nsecs_t getPeriod() = 0;
virtual void setRefreshSkipCount(int count) = 0;
virtual status_t addEventListener(const char* name, nsecs_t phase, Callback* callback) = 0;
@@ -122,7 +123,7 @@
// scale the vsync event model's period. The function is added
// for an experimental test mode and should not be used outside
// of that purpose.
- void scalePeriod(const uint32_t multiplier, uint32_t divisor);
+ void scalePeriod(HWC2::Device::FrequencyScaler frequencyScaler);
// The getPeriod method returns the current vsync period.
nsecs_t getPeriod() override;