diff options
-rw-r--r-- | libdrmutils/drm_interface.h | 6 | ||||
-rw-r--r-- | sdm/include/private/hw_info_types.h | 1 | ||||
-rw-r--r-- | sdm/libs/core/drm/hw_device_drm.cpp | 9 |
3 files changed, 13 insertions, 3 deletions
diff --git a/libdrmutils/drm_interface.h b/libdrmutils/drm_interface.h index 97660ea9..8d9de75f 100644 --- a/libdrmutils/drm_interface.h +++ b/libdrmutils/drm_interface.h @@ -211,6 +211,12 @@ enum struct DRMOps { */ CRTC_SET_DRAM_IB, /* + * Op: Sets Rotator BW for inline rotation + * Arg: uint32_t - CRTC ID + * uint32_t - rot_bw + */ + CRTC_SET_ROT_PREFILL_BW, + /* * Op: Sets rotator clock for inline rotation * Arg: uint32_t - CRTC ID * uint32_t - rot_clk diff --git a/sdm/include/private/hw_info_types.h b/sdm/include/private/hw_info_types.h index 52bc73e0..80e91caa 100644 --- a/sdm/include/private/hw_info_types.h +++ b/sdm/include/private/hw_info_types.h @@ -560,6 +560,7 @@ struct HWQosData { uint64_t llcc_ib_bps = 0; uint64_t dram_ab_bps = 0; uint64_t dram_ib_bps = 0; + uint64_t rot_prefill_bw_bps = 0; uint32_t clock_hz = 0; uint32_t rot_clock_hz = 0; }; diff --git a/sdm/libs/core/drm/hw_device_drm.cpp b/sdm/libs/core/drm/hw_device_drm.cpp index c734f4cd..6f4d29c5 100644 --- a/sdm/libs/core/drm/hw_device_drm.cpp +++ b/sdm/libs/core/drm/hw_device_drm.cpp @@ -918,14 +918,17 @@ void HWDeviceDRM::SetupAtomic(HWLayers *hw_layers, bool validate) { drm_atomic_intf_->Perform(DRMOps::CRTC_SET_LLCC_IB, token_.crtc_id, qos_data.llcc_ib_bps); drm_atomic_intf_->Perform(DRMOps::CRTC_SET_DRAM_AB, token_.crtc_id, qos_data.dram_ab_bps); drm_atomic_intf_->Perform(DRMOps::CRTC_SET_DRAM_IB, token_.crtc_id, qos_data.dram_ib_bps); + drm_atomic_intf_->Perform(DRMOps::CRTC_SET_ROT_PREFILL_BW, token_.crtc_id, + qos_data.rot_prefill_bw_bps); drm_atomic_intf_->Perform(DRMOps::CRTC_SET_ROT_CLK, token_.crtc_id, qos_data.rot_clock_hz); drm_atomic_intf_->Perform(DRMOps::CRTC_SET_SECURITY_LEVEL, token_.crtc_id, crtc_security_level); - DLOGI_IF(kTagDriverConfig, "System Clock=%d Hz, Core: AB=%llu Bps, IB=%llu Bps, " \ - "LLCC: AB=%llu Bps, IB=%llu Bps, DRAM AB=%llu Bps, IB=%llu Bps Rot Clock=%d", + DLOGI_IF(kTagDriverConfig, "%s::%s System Clock=%d Hz, Core: AB=%llu Bps, IB=%llu Bps, " \ + "LLCC: AB=%llu Bps, IB=%llu Bps, DRAM AB=%llu Bps, IB=%llu Bps, "\ + "Rot: Bw=%llu Bps, Clock=%d Hz", validate ? "Validate" : "Commit", device_name_, qos_data.clock_hz, qos_data.core_ab_bps, qos_data.core_ib_bps, qos_data.llcc_ab_bps, qos_data.llcc_ib_bps, qos_data.dram_ab_bps, qos_data.dram_ib_bps, - qos_data.rot_clock_hz); + qos_data.rot_prefill_bw_bps, qos_data.rot_clock_hz); // Set refresh rate if (vrefresh_) { |