blob: c950732c6d366140aad6387e139cc3d563de9ada [file] [log] [blame]
Danilo Krummrich6bcfe8e2022-08-02 02:04:02 +02001/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __DRM_FB_DMA_HELPER_H__
3#define __DRM_FB_DMA_HELPER_H__
4
5#include <linux/types.h>
6
7struct drm_device;
8struct drm_framebuffer;
Maíra Canald894ea52024-04-15 12:09:53 -03009struct drm_plane;
Danilo Krummrich6bcfe8e2022-08-02 02:04:02 +020010struct drm_plane_state;
Jocelyn Falempe879b3b62024-04-09 18:30:44 +020011struct drm_scanout_buffer;
Danilo Krummrich6bcfe8e2022-08-02 02:04:02 +020012
Danilo Krummrich4a83c262022-08-02 02:04:03 +020013struct drm_gem_dma_object *drm_fb_dma_get_gem_obj(struct drm_framebuffer *fb,
Danilo Krummrich6bcfe8e2022-08-02 02:04:02 +020014 unsigned int plane);
15
16dma_addr_t drm_fb_dma_get_gem_addr(struct drm_framebuffer *fb,
17 struct drm_plane_state *state,
18 unsigned int plane);
19
20void drm_fb_dma_sync_non_coherent(struct drm_device *drm,
21 struct drm_plane_state *old_state,
22 struct drm_plane_state *state);
23
Maíra Canald894ea52024-04-15 12:09:53 -030024int drm_fb_dma_get_scanout_buffer(struct drm_plane *plane,
25 struct drm_scanout_buffer *sb);
Jocelyn Falempe879b3b62024-04-09 18:30:44 +020026
Danilo Krummrich6bcfe8e2022-08-02 02:04:02 +020027#endif
28