diff options
Diffstat (limited to 'sdm/libs/core/drm/hw_peripheral_drm.h')
-rw-r--r-- | sdm/libs/core/drm/hw_peripheral_drm.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sdm/libs/core/drm/hw_peripheral_drm.h b/sdm/libs/core/drm/hw_peripheral_drm.h index b3b8306c..365da42c 100644 --- a/sdm/libs/core/drm/hw_peripheral_drm.h +++ b/sdm/libs/core/drm/hw_peripheral_drm.h @@ -52,6 +52,9 @@ class HWPeripheralDRM : public HWDeviceDRM { virtual DisplayError Validate(HWLayers *hw_layers); virtual DisplayError Commit(HWLayers *hw_layers); virtual DisplayError Flush(); + virtual DisplayError ControlIdlePowerCollapse(bool enable, bool synchronous); + virtual DisplayError PowerOn(int *release_fence); + private: void SetDestScalarData(HWLayersInfo hw_layer_info); void ResetDisplayParams(); @@ -59,10 +62,15 @@ class HWPeripheralDRM : public HWDeviceDRM { void SetupConcurrentWriteback(const HWLayersInfo &hw_layer_info, bool validate); void ConfigureConcurrentWriteback(LayerStack *stack); void PostCommitConcurrentWriteback(LayerBuffer *output_buffer); + void SetIdlePCState() { + drm_atomic_intf_->Perform(sde_drm::DRMOps::CRTC_SET_IDLE_PC_STATE, token_.crtc_id, + idle_pc_state_); + } sde_drm_dest_scaler_data sde_dest_scalar_data_ = {}; std::vector<SDEScaler> scalar_data_ = {}; CWBConfig cwb_config_ = {}; + sde_drm::DRMIdlePCState idle_pc_state_ = sde_drm::DRMIdlePCState::NONE; }; } // namespace sdm |