162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * omap_fb.h -- OMAP DRM Framebuffer
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2011 Texas Instruments
662306a36Sopenharmony_ci * Author: Rob Clark <rob@ti.com>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef __OMAPDRM_FB_H__
1062306a36Sopenharmony_ci#define __OMAPDRM_FB_H__
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cistruct drm_connector;
1362306a36Sopenharmony_cistruct drm_device;
1462306a36Sopenharmony_cistruct drm_file;
1562306a36Sopenharmony_cistruct drm_framebuffer;
1662306a36Sopenharmony_cistruct drm_gem_object;
1762306a36Sopenharmony_cistruct drm_mode_fb_cmd2;
1862306a36Sopenharmony_cistruct drm_plane_state;
1962306a36Sopenharmony_cistruct omap_overlay_info;
2062306a36Sopenharmony_cistruct seq_file;
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_cistruct drm_framebuffer *omap_framebuffer_create(struct drm_device *dev,
2362306a36Sopenharmony_ci		struct drm_file *file, const struct drm_mode_fb_cmd2 *mode_cmd);
2462306a36Sopenharmony_cistruct drm_framebuffer *omap_framebuffer_init(struct drm_device *dev,
2562306a36Sopenharmony_ci		const struct drm_mode_fb_cmd2 *mode_cmd, struct drm_gem_object **bos);
2662306a36Sopenharmony_ciint omap_framebuffer_pin(struct drm_framebuffer *fb);
2762306a36Sopenharmony_civoid omap_framebuffer_unpin(struct drm_framebuffer *fb);
2862306a36Sopenharmony_civoid omap_framebuffer_update_scanout(struct drm_framebuffer *fb,
2962306a36Sopenharmony_ci		struct drm_plane_state *state,
3062306a36Sopenharmony_ci		struct omap_overlay_info *info,
3162306a36Sopenharmony_ci		struct omap_overlay_info *r_info);
3262306a36Sopenharmony_cibool omap_framebuffer_supports_rotation(struct drm_framebuffer *fb);
3362306a36Sopenharmony_civoid omap_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m);
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#endif /* __OMAPDRM_FB_H__ */
36