diff options
author | 2025-03-11 07:29:52 -0700 | |
---|---|---|
committer | 2025-03-21 12:05:56 -0700 | |
commit | 73416e163b7611c2880add437d139129bd0cf79d (patch) | |
tree | b0749e5b1609aabd07bcf49eccfae3c76cfc9c35 | |
parent | 9473d9d2df3f5244af0cac247d8f715ec05a290c (diff) |
Remove HDCP vsync hack
New HDCP hal api will be used.
Bug: 402406598
Flag: EXEMPT bugfix
Test: manual
Change-Id: I361c032d2b373a122e24194883c9fee9c6a262b2
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 25 | ||||
-rw-r--r-- | services/surfaceflinger/SurfaceFlinger.h | 2 |
2 files changed, 3 insertions, 24 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 2fb3500798..e89ef1874d 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -538,9 +538,6 @@ SurfaceFlinger::SurfaceFlinger(Factory& factory) : SurfaceFlinger(factory, SkipI } mIgnoreHdrCameraLayers = ignore_hdr_camera_layers(false); - - // These are set by the HWC implementation to indicate that they will use the workarounds. - mIsHdcpViaNegVsync = base::GetBoolProperty("debug.sf.hwc_hdcp_via_neg_vsync"s, false); } LatchUnsignaledConfig SurfaceFlinger::getLatchUnsignaledConfig() { @@ -2301,19 +2298,6 @@ void SurfaceFlinger::scheduleSample() { void SurfaceFlinger::onComposerHalVsync(hal::HWDisplayId hwcDisplayId, int64_t timestamp, std::optional<hal::VsyncPeriodNanos> vsyncPeriod) { - if (timestamp < 0 && vsyncPeriod.has_value()) { - if (mIsHdcpViaNegVsync && vsyncPeriod.value() == ~1) { - const int32_t value = static_cast<int32_t>(-timestamp); - // one byte is good enough to encode android.hardware.drm.HdcpLevel - const int32_t maxLevel = (value >> 8) & 0xFF; - const int32_t connectedLevel = value & 0xFF; - ALOGD("%s: HDCP levels changed (connected=%d, max=%d) for hwcDisplayId %" PRIu64, - __func__, connectedLevel, maxLevel, hwcDisplayId); - updateHdcpLevels(hwcDisplayId, connectedLevel, maxLevel); - return; - } - } - SFTRACE_NAME(vsyncPeriod ? ftl::Concat(__func__, ' ', hwcDisplayId, ' ', *vsyncPeriod, "ns").c_str() : ftl::Concat(__func__, ' ', hwcDisplayId).c_str()); @@ -3809,12 +3793,9 @@ std::optional<DisplayModeId> SurfaceFlinger::processHotplugConnect(PhysicalDispl .hwcDisplayId = hwcDisplayId, .port = info.port, .activeMode = std::move(activeMode)}; - if (mIsHdcpViaNegVsync) { - state.isSecure = connectionType == ui::DisplayConnectionType::Internal; - } else { - // TODO(b/349703362): Remove this when HDCP aidl API becomes ready - state.isSecure = true; // All physical displays are currently considered secure. - } + + // TODO: b/349703362 - Remove this when HDCP aidl APIs are enforced + state.isSecure = true; // All physical displays are currently considered secure. state.isProtected = true; state.displayName = std::move(info.name); state.maxLayerPictureProfiles = getHwComposer().getMaxLayerPictureProfiles(displayId); diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index 1a09269545..6af074a639 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -1345,8 +1345,6 @@ private: HWComposer::HotplugEvent event; }; - bool mIsHdcpViaNegVsync = false; - std::mutex mHotplugMutex; std::vector<HotplugEvent> mPendingHotplugEvents GUARDED_BY(mHotplugMutex); |