1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright �� 2019 Intel Corporation
4 */
5
6#ifndef __INTEL_OVERLAY_H__
7#define __INTEL_OVERLAY_H__
8
9struct drm_device;
10struct drm_file;
11struct drm_i915_error_state_buf;
12struct drm_i915_private;
13struct intel_overlay;
14struct intel_overlay_error_state;
15
16#ifdef I915
17void intel_overlay_setup(struct drm_i915_private *dev_priv);
18void intel_overlay_cleanup(struct drm_i915_private *dev_priv);
19int intel_overlay_switch_off(struct intel_overlay *overlay);
20int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
21				  struct drm_file *file_priv);
22int intel_overlay_attrs_ioctl(struct drm_device *dev, void *data,
23			      struct drm_file *file_priv);
24void intel_overlay_reset(struct drm_i915_private *dev_priv);
25struct intel_overlay_error_state *
26intel_overlay_capture_error_state(struct drm_i915_private *dev_priv);
27void intel_overlay_print_error_state(struct drm_i915_error_state_buf *e,
28				     struct intel_overlay_error_state *error);
29#else
30static inline void intel_overlay_setup(struct drm_i915_private *dev_priv)
31{
32}
33static inline void intel_overlay_cleanup(struct drm_i915_private *dev_priv)
34{
35}
36static inline int intel_overlay_switch_off(struct intel_overlay *overlay)
37{
38	return 0;
39}
40static inline int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
41				  struct drm_file *file_priv)
42{
43	return 0;
44}
45static inline int intel_overlay_attrs_ioctl(struct drm_device *dev, void *data,
46					    struct drm_file *file_priv)
47{
48	return 0;
49}
50static inline void intel_overlay_reset(struct drm_i915_private *dev_priv)
51{
52}
53static inline struct intel_overlay_error_state *
54intel_overlay_capture_error_state(struct drm_i915_private *dev_priv)
55{
56	return NULL;
57}
58static inline void intel_overlay_print_error_state(struct drm_i915_error_state_buf *e,
59						   struct intel_overlay_error_state *error)
60{
61}
62#endif
63
64#endif /* __INTEL_OVERLAY_H__ */
65