summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h
diff options
context:
space:
mode:
authorArchit Taneja2017-03-23 11:27:55 +0100
committerRob Clark2017-04-08 12:59:33 +0200
commit384dbd8cda5f9e1090b3593fd63ca3c84b2fdd1b (patch)
tree722c8ae47bf8cd6055dd21db375aa0f03225038b /drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h
parentdrm/msm/mdp5: Bring back pipe_lock to mdp5_plane struct (diff)
downloadkernel-qcow2-linux-384dbd8cda5f9e1090b3593fd63ca3c84b2fdd1b.tar.gz
kernel-qcow2-linux-384dbd8cda5f9e1090b3593fd63ca3c84b2fdd1b.tar.xz
kernel-qcow2-linux-384dbd8cda5f9e1090b3593fd63ca3c84b2fdd1b.zip
drm/msm/mdp5: describe LM instances in mdp5_cfg
The number of Layer Mixers and the downstream blocks (DSPPs and PPs) connected to each LM can vary with different MDP5 revisions. These parameters are also static. Keep the per instance LM data in mdp5_cfg. This will avoid the need to have macros which identify PP id or DSPP id the LM is connected to. We don't configure DSPPs at the moment, but keeping the DSPP instance # here might come handy later. Also add a 'caps' field that identifies features supported by a LM instance. Introduce the caps MDP_LM_CAP_DISPLAY and MDP_LM_CAP_WB that identify whether a LM instance can be used for display or writeback. Signed-off-by: Archit Taneja <architt@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h')
-rw-r--r--drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h
index b1c7daaede86..75910d0f2f4c 100644
--- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h
+++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_cfg.h
@@ -39,8 +39,16 @@ struct mdp5_sub_block {
MDP5_SUB_BLOCK_DEFINITION;
};
+struct mdp5_lm_instance {
+ int id;
+ int pp;
+ int dspp;
+ uint32_t caps;
+};
+
struct mdp5_lm_block {
MDP5_SUB_BLOCK_DEFINITION;
+ struct mdp5_lm_instance instances[MAX_BASES];
uint32_t nb_stages; /* number of stages per blender */
uint32_t max_width; /* Maximum output resolution */
uint32_t max_height;