1/* SPDX-License-Identifier: MIT */
2/*
3 * Copyright © 2021 Intel Corporation
4 */
5
6#ifndef __INTEL_FB_PIN_H__
7#define __INTEL_FB_PIN_H__
8
9#include <linux/types.h>
10
11struct drm_framebuffer;
12struct i915_vma;
13struct intel_plane_state;
14struct i915_gtt_view;
15struct iosys_map;
16
17struct i915_vma *
18intel_fb_pin_to_ggtt(const struct drm_framebuffer *fb,
19 const struct i915_gtt_view *view,
20 unsigned int alignment,
21 unsigned int phys_alignment,
22 unsigned int vtd_guard,
23 bool uses_fence,
24 unsigned long *out_flags);
25
26void intel_fb_unpin_vma(struct i915_vma *vma, unsigned long flags);
27
28int intel_plane_pin_fb(struct intel_plane_state *new_plane_state,
29 const struct intel_plane_state *old_plane_state);
30void intel_plane_unpin_fb(struct intel_plane_state *old_plane_state);
31void intel_fb_get_map(struct i915_vma *vma, struct iosys_map *map);
32
33#endif
34