1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * Copyright (c) 2015 MediaTek Inc. 4 * Author: CK Hu <ck.hu@mediatek.com> 5 */ 6 7 #ifndef _MTK_DRM_PLANE_H_ 8 #define _MTK_DRM_PLANE_H_ 9 10 #include <drm/drm_crtc.h> 11 #include <linux/types.h> 12 13 struct mtk_plane_pending_state { 14 bool config; 15 bool enable; 16 dma_addr_t addr; 17 unsigned int pitch; 18 unsigned int format; 19 unsigned int x; 20 unsigned int y; 21 unsigned int width; 22 unsigned int height; 23 bool dirty; 24 }; 25 26 struct mtk_plane_state { 27 struct drm_plane_state base; 28 struct mtk_plane_pending_state pending; 29 }; 30 31 static inline struct mtk_plane_state * 32 to_mtk_plane_state(struct drm_plane_state *state) 33 { 34 return container_of(state, struct mtk_plane_state, base); 35 } 36 37 int mtk_plane_init(struct drm_device *dev, struct drm_plane *plane, 38 unsigned long possible_crtcs, enum drm_plane_type type); 39 40 #endif 41