0001
0002
0003
0004
0005
0006 #ifndef __MDP5_LM_H__
0007 #define __MDP5_LM_H__
0008
0009
0010 struct mdp5_hw_mixer {
0011 int idx;
0012
0013 const char *name;
0014
0015 int lm;
0016 uint32_t caps;
0017 int pp;
0018 int dspp;
0019
0020 uint32_t flush_mask;
0021 };
0022
0023
0024 struct mdp5_hw_mixer_state {
0025 struct drm_crtc *hwmixer_to_crtc[8];
0026 };
0027
0028 struct mdp5_hw_mixer *mdp5_mixer_init(const struct mdp5_lm_instance *lm);
0029 void mdp5_mixer_destroy(struct mdp5_hw_mixer *lm);
0030 int mdp5_mixer_assign(struct drm_atomic_state *s, struct drm_crtc *crtc,
0031 uint32_t caps, struct mdp5_hw_mixer **mixer,
0032 struct mdp5_hw_mixer **r_mixer);
0033 int mdp5_mixer_release(struct drm_atomic_state *s,
0034 struct mdp5_hw_mixer *mixer);
0035
0036 #endif