disp: msm: sde: clear wb mode and cached cwb encoder mask
The issue scenario is as follows 1. A CWB commit has run and it has disabled. Composer kill is done. 2. If Composer starts again or another client has open DRM the previous cwb state is intact. 3. When userspace is trying to query wb modes, primary modes which are attached to wb as part of cwb commit is exposed. This leads to commit failures if userspace is trying to trigger wb on the same CRTC of what primary has run cwb before. This change properly clears wb mode and the cached encoder mask to avoid commit failures. Change-Id: I4ca8bd2b52a980630b7fb1319bf67b718ebb2ac2 Signed-off-by: Mahadevan <quic_mahap@quicinc.com>
このコミットが含まれているのは:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (C) 2013 Red Hat
|
||||
* Author: Rob Clark <robdclark@gmail.com>
|
||||
@@ -5373,6 +5373,7 @@ static void sde_crtc_disable(struct drm_crtc *crtc)
|
||||
crtc->state->enable, sde_crtc->cached_encoder_mask);
|
||||
sde_crtc->enabled = false;
|
||||
sde_crtc->cached_encoder_mask = 0;
|
||||
cstate->cached_cwb_enc_mask = 0;
|
||||
|
||||
/* Try to disable uidle */
|
||||
sde_core_perf_crtc_update_uidle(crtc, false);
|
||||
|
新しいイシューから参照
ユーザーをブロックする