/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved. */ #ifndef _DPU_HW_LM_H #define _DPU_HW_LM_H #include "dpu_hw_mdss.h" #include "dpu_hw_util.h" struct dpu_hw_mixer; struct dpu_hw_mixer_cfg { … }; struct dpu_hw_color3_cfg { … }; /** * * struct dpu_hw_lm_ops : Interface to the mixer Hw driver functions * Assumption is these functions will be called after clocks are enabled */ struct dpu_hw_lm_ops { … }; struct dpu_hw_mixer { … }; /** * to_dpu_hw_mixer - convert base object dpu_hw_base to container * @hw: Pointer to base hardware block * return: Pointer to hardware block container */ static inline struct dpu_hw_mixer *to_dpu_hw_mixer(struct dpu_hw_blk *hw) { … } /** * dpu_hw_lm_init() - Initializes the mixer hw driver object. * should be called once before accessing every mixer. * @dev: Corresponding device for devres management * @cfg: mixer catalog entry for which driver object is required * @addr: mapped register io address of MDP */ struct dpu_hw_mixer *dpu_hw_lm_init(struct drm_device *dev, const struct dpu_lm_cfg *cfg, void __iomem *addr); #endif /*_DPU_HW_LM_H */