disp: msm: sde: decouple FETCH_PIPE_ACTIVE logic from setup_blendstages
Setup blendstages is done per LM but FETCH_PIPE_ACTIVE is per CTL. Overloading mixer blendstage setup with fetch pipe logic can lead to HW programming errors. Refactor the logic for setting FETCH_PIPE_ACTIVE by adding a new op that allows caller to provide a bitmask of all pipes required to be active on this CTL. This new logic includes support for: - 4LM use-cases, staging pipes for all LMs within a CRTC - Demura fetch-pipe without need for tracking via active_cfg (removed) Also, lower the cyclomatic complexity in setup_blendstages by moving the logic for obtaining the mixer config settings in to a helper function. Change-Id: I2907b359ffad5734be5b06f44919b5ddb1ef3f7c Signed-off-by: Steve Cohen <cohens@codeaurora.org>
此提交包含在:

提交者
Gerrit - the friendly Code Review server

父節點
947fa56080
當前提交
b9e3d4aebb
@@ -4232,7 +4232,7 @@ int sde_encoder_helper_reset_mixers(struct sde_encoder_phys *phys_enc,
|
||||
/* only enable border color on LM */
|
||||
if (phys_enc->hw_ctl->ops.setup_blendstage)
|
||||
phys_enc->hw_ctl->ops.setup_blendstage(
|
||||
phys_enc->hw_ctl, hw_lm->idx, NULL, NULL);
|
||||
phys_enc->hw_ctl, hw_lm->idx, NULL);
|
||||
}
|
||||
|
||||
if (!lm_valid) {
|
||||
|
新增問題並參考
封鎖使用者