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
11enum pipe;
12struct drm_i915_private;
13struct intel_crtc;
14struct intel_initial_plane_config;
15struct intel_plane;
16struct intel_plane_state;
17
18#ifdef I915
19unsigned int i965_plane_max_stride(struct intel_plane *plane,
20				   u32 pixel_format, u64 modifier,
21				   unsigned int rotation);
22int i9xx_check_plane_surface(struct intel_plane_state *plane_state);
23
24struct intel_plane *
25intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe);
26
27void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
28				   struct intel_initial_plane_config *plane_config);
29bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
30				     const struct intel_initial_plane_config *plane_config);
31#else
32static inline unsigned int i965_plane_max_stride(struct intel_plane *plane,
33						 u32 pixel_format, u64 modifier,
34						 unsigned int rotation)
35{
36	return 0;
37}
38static inline int i9xx_check_plane_surface(struct intel_plane_state *plane_state)
39{
40	return 0;
41}
42static inline struct intel_plane *
43intel_primary_plane_create(struct drm_i915_private *dev_priv, int pipe)
44{
45	return NULL;
46}
47static inline void i9xx_get_initial_plane_config(struct intel_crtc *crtc,
48						 struct intel_initial_plane_config *plane_config)
49{
50}
51static inline bool i9xx_fixup_initial_plane_config(struct intel_crtc *crtc,
52						   const struct intel_initial_plane_config *plane_config)
53{
54	return false;
55}
56#endif
57
58#endif
59