Revert "SF: Revamp frequencyScale backdoor"
This reverts commit 44b5de0fdfac3f38d356865a9b292f2993058d69.
Test: None
Change-Id: Ica27a149bebfb4aa41f08d63c2b800378e3a35ea
diff --git a/services/surfaceflinger/DisplayHardware/HWC2.cpp b/services/surfaceflinger/DisplayHardware/HWC2.cpp
index 3a40648..393041d 100644
--- a/services/surfaceflinger/DisplayHardware/HWC2.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWC2.cpp
@@ -184,7 +184,6 @@
auto newDisplay = std::make_unique<Display>(
*mComposer.get(), mPowerAdvisor, mCapabilities, displayId, displayType);
- newDisplay->setFrequencyScaleParameters(mFrequencyScaler);
newDisplay->setConnected(true);
mDisplays.emplace(displayId, std::move(newDisplay));
} else if (connection == Connection::Disconnected) {
@@ -224,14 +223,6 @@
return static_cast<Error>(mComposer->executeCommands());
}
-void Device::setDisplayFrequencyScaleParameters(Device::FrequencyScaler frequencyScaler) {
- mFrequencyScaler = frequencyScaler;
-}
-
-Device::FrequencyScaler Device::getDisplayFrequencyScaleParameters() {
- return mFrequencyScaler;
-}
-
// Display methods
Display::Display(android::Hwc2::Composer& composer, android::Hwc2::PowerAdvisor& advisor,
@@ -271,7 +262,6 @@
mWidth(-1),
mHeight(-1),
mVsyncPeriod(-1),
- mFrequencyScaler(display.mFrequencyScaler),
mDpiX(-1),
mDpiY(-1) {}
@@ -711,10 +701,6 @@
mIsConnected = connected;
}
-void Display::setFrequencyScaleParameters(Device::FrequencyScaler frequencyScaler) {
- mFrequencyScaler = frequencyScaler;
-}
-
int32_t Display::getAttribute(hwc2_config_t configId, Attribute attribute)
{
int32_t value = 0;
diff --git a/services/surfaceflinger/DisplayHardware/HWC2.h b/services/surfaceflinger/DisplayHardware/HWC2.h
index 363adb5..17186f9 100644
--- a/services/surfaceflinger/DisplayHardware/HWC2.h
+++ b/services/surfaceflinger/DisplayHardware/HWC2.h
@@ -85,11 +85,6 @@
public:
explicit Device(std::unique_ptr<android::Hwc2::Composer> composer);
- struct FrequencyScaler {
- int32_t multiplier = 1;
- int32_t divisor = 1;
- };
-
void registerCallback(ComposerCallback* callback, int32_t sequenceId);
// Required by HWC2
@@ -121,9 +116,6 @@
// This method provides an explicit way to flush state changes to HWC.
Error flushCommands();
- void setDisplayFrequencyScaleParameters(FrequencyScaler frequecyScaler);
- FrequencyScaler getDisplayFrequencyScaleParameters();
-
private:
// Initialization methods
@@ -134,7 +126,6 @@
std::unordered_set<Capability> mCapabilities;
std::unordered_map<hwc2_display_t, std::unique_ptr<Display>> mDisplays;
android::Hwc2::impl::PowerAdvisor mPowerAdvisor;
- FrequencyScaler mFrequencyScaler;
bool mRegisteredCallback = false;
};
@@ -170,6 +161,8 @@
}
Builder& setVsyncPeriod(int32_t vsyncPeriod) {
mConfig->mVsyncPeriod = vsyncPeriod;
+ mConfig->mPeriodMultiplier = 1;
+ mConfig->mPeriodDivisor = 1;
return *this;
}
Builder& setDpiX(int32_t dpiX) {
@@ -200,7 +193,11 @@
int32_t getWidth() const { return mWidth; }
int32_t getHeight() const { return mHeight; }
nsecs_t getVsyncPeriod() const {
- return mVsyncPeriod * mFrequencyScaler.multiplier / mFrequencyScaler.divisor; }
+ return mVsyncPeriod * mPeriodMultiplier / mPeriodDivisor; }
+ void scalePanelFrequency(int32_t multiplier, int32_t divisor) const {
+ mPeriodMultiplier = multiplier;
+ mPeriodDivisor = divisor;
+ }
float getDpiX() const { return mDpiX; }
float getDpiY() const { return mDpiY; }
@@ -213,7 +210,8 @@
int32_t mWidth;
int32_t mHeight;
nsecs_t mVsyncPeriod;
- Device::FrequencyScaler mFrequencyScaler;
+ mutable int32_t mPeriodMultiplier;
+ mutable int32_t mPeriodDivisor;
float mDpiX;
float mDpiY;
};
@@ -281,7 +279,6 @@
hwc2_display_t getId() const { return mId; }
bool isConnected() const { return mIsConnected; }
void setConnected(bool connected); // For use by Device only
- void setFrequencyScaleParameters(Device::FrequencyScaler frequencyScaler);
private:
int32_t getAttribute(hwc2_config_t configId, Attribute attribute);
@@ -306,7 +303,6 @@
hwc2_display_t mId;
bool mIsConnected;
DisplayType mType;
- Device::FrequencyScaler mFrequencyScaler;
std::unordered_map<hwc2_layer_t, std::unique_ptr<Layer>> mLayers;
std::unordered_map<hwc2_config_t, std::shared_ptr<const Config>> mConfigs;
};
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 6b56ca4..d827fd2 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -814,15 +814,4 @@
return mDisplayData[displayId].hwcDisplay->getId();
}
-void HWComposer::setDisplayFrequencyScaleParameters(
- HWC2::Device::FrequencyScaler frequencyScaler)
-{
- mHwcDevice->setDisplayFrequencyScaleParameters(frequencyScaler);
-}
-
-HWC2::Device::FrequencyScaler HWComposer::getDisplayFrequencyScaleParameters()
-{
- return mHwcDevice->getDisplayFrequencyScaleParameters();
-}
-
} // namespace android
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.h b/services/surfaceflinger/DisplayHardware/HWComposer.h
index cca1f3b..4777ca9 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.h
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.h
@@ -186,14 +186,6 @@
android::Hwc2::Composer* getComposer() const { return mHwcDevice->getComposer(); }
std::optional<hwc2_display_t> getHwcDisplayId(int32_t displayId) const;
-
- // ------------------------------------------------------------------------
- // These functions set and get the frequencyScaler. The frequencyScaler holds
- // a multiplier and divisor for virtually scaling the panel frequency in
- // software. This is used to simulate different panel frequencies when
- // panel hardware is not available.
- void setDisplayFrequencyScaleParameters(HWC2::Device::FrequencyScaler frequencyScaler);
- HWC2::Device::FrequencyScaler getDisplayFrequencyScaleParameters();
private:
// For unit tests
friend TestableSurfaceFlinger;