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>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

父節點
947fa56080
當前提交
b9e3d4aebb
@@ -225,7 +225,6 @@ struct sde_crtc_misr_info {
|
||||
* @property_defaults : Array of default values for generic property support
|
||||
* @output_fence : output release fence context
|
||||
* @stage_cfg : H/w mixer stage configuration
|
||||
* @active_cfg : H/w pipes active that shouldn't be staged
|
||||
* @debugfs_root : Parent of debugfs node
|
||||
* @priv_handle : Pointer to external private handle, if present
|
||||
* @vblank_cb_count : count of vblank callback since last reset
|
||||
@@ -298,7 +297,6 @@ struct sde_crtc {
|
||||
struct sde_fence_context *output_fence;
|
||||
|
||||
struct sde_hw_stage_cfg stage_cfg;
|
||||
struct sde_hw_stage_cfg active_cfg;
|
||||
struct dentry *debugfs_root;
|
||||
void *priv_handle;
|
||||
|
||||
|
Reference in New Issue
Block a user