37 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Copyright (C) 2017 The Linux Foundation. All rights reserved.4 */5 6#ifndef __MDP5_LM_H__7#define __MDP5_LM_H__8 9/* represents a hw Layer Mixer, one (or more) is dynamically assigned to a crtc */10struct mdp5_hw_mixer {11 int idx;12 13 const char *name;14 15 int lm; /* the LM instance # */16 uint32_t caps;17 int pp;18 int dspp;19 20 uint32_t flush_mask; /* used to commit LM registers */21};22 23/* global atomic state of assignment between CRTCs and Layer Mixers: */24struct mdp5_hw_mixer_state {25 struct drm_crtc *hwmixer_to_crtc[8];26};27 28struct mdp5_hw_mixer *mdp5_mixer_init(struct drm_device *dev,29 const struct mdp5_lm_instance *lm);30int mdp5_mixer_assign(struct drm_atomic_state *s, struct drm_crtc *crtc,31 uint32_t caps, struct mdp5_hw_mixer **mixer,32 struct mdp5_hw_mixer **r_mixer);33int mdp5_mixer_release(struct drm_atomic_state *s,34 struct mdp5_hw_mixer *mixer);35 36#endif /* __MDP5_LM_H__ */37