1*6bcfe8eaSDanilo Krummrich /* SPDX-License-Identifier: GPL-2.0 */
2*6bcfe8eaSDanilo Krummrich #ifndef __DRM_FB_DMA_HELPER_H__
3*6bcfe8eaSDanilo Krummrich #define __DRM_FB_DMA_HELPER_H__
4*6bcfe8eaSDanilo Krummrich 
5*6bcfe8eaSDanilo Krummrich #include <linux/types.h>
6*6bcfe8eaSDanilo Krummrich 
7*6bcfe8eaSDanilo Krummrich struct drm_device;
8*6bcfe8eaSDanilo Krummrich struct drm_framebuffer;
9*6bcfe8eaSDanilo Krummrich struct drm_plane_state;
10*6bcfe8eaSDanilo Krummrich 
11*6bcfe8eaSDanilo Krummrich struct drm_gem_cma_object *drm_fb_dma_get_gem_obj(struct drm_framebuffer *fb,
12*6bcfe8eaSDanilo Krummrich 	unsigned int plane);
13*6bcfe8eaSDanilo Krummrich 
14*6bcfe8eaSDanilo Krummrich dma_addr_t drm_fb_dma_get_gem_addr(struct drm_framebuffer *fb,
15*6bcfe8eaSDanilo Krummrich 				   struct drm_plane_state *state,
16*6bcfe8eaSDanilo Krummrich 				   unsigned int plane);
17*6bcfe8eaSDanilo Krummrich 
18*6bcfe8eaSDanilo Krummrich void drm_fb_dma_sync_non_coherent(struct drm_device *drm,
19*6bcfe8eaSDanilo Krummrich 				  struct drm_plane_state *old_state,
20*6bcfe8eaSDanilo Krummrich 				  struct drm_plane_state *state);
21*6bcfe8eaSDanilo Krummrich 
22*6bcfe8eaSDanilo Krummrich #endif
23*6bcfe8eaSDanilo Krummrich 
24