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 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 } 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 * 47 intel_primary_plane_create(struct intel_display *display, int pipe) 48 { 49 return NULL; 50 } 51 static inline void i9xx_get_initial_plane_config(struct intel_crtc *crtc, 52 struct intel_initial_plane_config *plane_config) 53 { 54 } 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