|  | /* SPDX-License-Identifier: GPL-2.0-only */ | 
|  | /* | 
|  | * Copyright (c) 2015 MediaTek Inc. | 
|  | * Author: CK Hu <[email protected]> | 
|  | */ | 
|  |  | 
|  | #ifndef _MTK_DRM_PLANE_H_ | 
|  | #define _MTK_DRM_PLANE_H_ | 
|  |  | 
|  | #include <drm/drm_crtc.h> | 
|  | #include <linux/types.h> | 
|  |  | 
|  | struct mtk_plane_pending_state { | 
|  | bool				config; | 
|  | bool				enable; | 
|  | dma_addr_t			addr; | 
|  | unsigned int			pitch; | 
|  | unsigned int			format; | 
|  | unsigned int			x; | 
|  | unsigned int			y; | 
|  | unsigned int			width; | 
|  | unsigned int			height; | 
|  | unsigned int			rotation; | 
|  | bool				dirty; | 
|  | bool				async_dirty; | 
|  | bool				async_config; | 
|  | }; | 
|  |  | 
|  | struct mtk_plane_state { | 
|  | struct drm_plane_state		base; | 
|  | struct mtk_plane_pending_state	pending; | 
|  | }; | 
|  |  | 
|  | static inline struct mtk_plane_state * | 
|  | to_mtk_plane_state(struct drm_plane_state *state) | 
|  | { | 
|  | return container_of(state, struct mtk_plane_state, base); | 
|  | } | 
|  |  | 
|  | int mtk_plane_init(struct drm_device *dev, struct drm_plane *plane, | 
|  | unsigned long possible_crtcs, enum drm_plane_type type, | 
|  | unsigned int supported_rotations); | 
|  |  | 
|  | #endif |