1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (c) 2015 MediaTek Inc. 4 */ 5 6 #ifndef MTK_DRM_DDP_H 7 #define MTK_DRM_DDP_H 8 9 #include "mtk_drm_ddp_comp.h" 10 11 struct regmap; 12 struct device; 13 struct mtk_disp_mutex; 14 15 void mtk_ddp_add_comp_to_path(void __iomem *config_regs, 16 enum mtk_ddp_comp_id cur, 17 enum mtk_ddp_comp_id next); 18 void mtk_ddp_remove_comp_from_path(void __iomem *config_regs, 19 enum mtk_ddp_comp_id cur, 20 enum mtk_ddp_comp_id next); 21 22 struct mtk_disp_mutex *mtk_disp_mutex_get(struct device *dev, unsigned int id); 23 int mtk_disp_mutex_prepare(struct mtk_disp_mutex *mutex); 24 void mtk_disp_mutex_add_comp(struct mtk_disp_mutex *mutex, 25 enum mtk_ddp_comp_id id); 26 void mtk_disp_mutex_enable(struct mtk_disp_mutex *mutex); 27 void mtk_disp_mutex_disable(struct mtk_disp_mutex *mutex); 28 void mtk_disp_mutex_remove_comp(struct mtk_disp_mutex *mutex, 29 enum mtk_ddp_comp_id id); 30 void mtk_disp_mutex_unprepare(struct mtk_disp_mutex *mutex); 31 void mtk_disp_mutex_put(struct mtk_disp_mutex *mutex); 32 void mtk_disp_mutex_acquire(struct mtk_disp_mutex *mutex); 33 void mtk_disp_mutex_release(struct mtk_disp_mutex *mutex); 34 35 #endif /* MTK_DRM_DDP_H */ 36