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