1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2020 Intel Corporation
4  */
5 
6 #ifndef _I9XX_PLANE_H_
7 #define _I9XX_PLANE_H_
8 
9 #include <linux/types.h>
10 
11 enum pipe;
12 struct drm_framebuffer;
13 struct intel_crtc;
14 struct intel_display;
15 struct intel_initial_plane_config;
16 struct intel_plane;
17 struct intel_plane_state;
18 
19 #ifdef I915
20 unsigned int i965_plane_max_stride(struct intel_plane *plane,
21 				   u32 pixel_format, u64 modifier,
22 				   unsigned int rotation);
23 unsigned int vlv_plane_min_alignment(struct intel_plane *plane,
24 				     const struct drm_framebuffer *fb,
25 				     int colot_plane);
26 int i9xx_check_plane_surface(struct intel_plane_state *plane_state);
27 
28 struct intel_plane *
29 intel_primary_plane_create(struct intel_display *display, enum pipe pipe);
30 
31 void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
32 				   struct intel_initial_plane_config *plane_config);
33 bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
34 				     const struct intel_initial_plane_config *plane_config);
35 #else
i965_plane_max_stride(struct intel_plane * plane,u32 pixel_format,u64 modifier,unsigned int rotation)36 static inline unsigned int i965_plane_max_stride(struct intel_plane *plane,
37 						 u32 pixel_format, u64 modifier,
38 						 unsigned int rotation)
39 {
40 	return 0;
41 }
i9xx_check_plane_surface(struct intel_plane_state * plane_state)42 static inline int i9xx_check_plane_surface(struct intel_plane_state *plane_state)
43 {
44 	return 0;
45 }
46 static inline struct intel_plane *
intel_primary_plane_create(struct intel_display * display,int pipe)47 intel_primary_plane_create(struct intel_display *display, int pipe)
48 {
49 	return NULL;
50 }
i9xx_get_initial_plane_config(struct intel_crtc * crtc,struct intel_initial_plane_config * plane_config)51 static inline void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
52 						 struct intel_initial_plane_config *plane_config)
53 {
54 }
i9xx_fixup_initial_plane_config(struct intel_crtc * crtc,const struct intel_initial_plane_config * plane_config)55 static inline bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
56 						   const struct intel_initial_plane_config *plane_config)
57 {
58 	return false;
59 }
60 #endif
61 
62 #endif
63