xref: /linux/drivers/gpu/drm/i915/display/i9xx_plane.h (revision 68a052239fc4b351e961f698b824f7654a346091)
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 u32 i965_plane_surf_offset(const struct intel_plane_state *plane_state);
28 
29 struct intel_plane *
30 intel_primary_plane_create(struct intel_display *display, enum pipe pipe);
31 
32 void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
33 				   struct intel_initial_plane_config *plane_config);
34 bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
35 				     const struct intel_initial_plane_config *plane_config);
36 #else
37 static inline unsigned int i965_plane_max_stride(struct intel_plane *plane,
38 						 u32 pixel_format, u64 modifier,
39 						 unsigned int rotation)
40 {
41 	return 0;
42 }
43 static inline int i9xx_check_plane_surface(struct intel_plane_state *plane_state)
44 {
45 	return 0;
46 }
47 static inline struct intel_plane *
48 intel_primary_plane_create(struct intel_display *display, int pipe)
49 {
50 	return NULL;
51 }
52 static inline void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
53 						 struct intel_initial_plane_config *plane_config)
54 {
55 }
56 static inline bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
57 						   const struct intel_initial_plane_config *plane_config)
58 {
59 	return false;
60 }
61 #endif
62 
63 #endif
64