12a2c51d3STomasz Figa /* SPDX-License-Identifier: GPL-2.0 */
22a2c51d3STomasz Figa /* Copyright (C) 2018 Intel Corporation */
32a2c51d3STomasz Figa /* Copyright 2018 Google LLC. */
42a2c51d3STomasz Figa 
52a2c51d3STomasz Figa #ifndef __IPU3_DMAMAP_H
62a2c51d3STomasz Figa #define __IPU3_DMAMAP_H
72a2c51d3STomasz Figa 
82a2c51d3STomasz Figa struct imgu_device;
92a2c51d3STomasz Figa struct scatterlist;
102a2c51d3STomasz Figa 
1127b795adSYong Zhi void *imgu_dmamap_alloc(struct imgu_device *imgu, struct imgu_css_map *map,
122a2c51d3STomasz Figa 			size_t len);
1327b795adSYong Zhi void imgu_dmamap_free(struct imgu_device *imgu, struct imgu_css_map *map);
142a2c51d3STomasz Figa 
1527b795adSYong Zhi int imgu_dmamap_map_sg(struct imgu_device *imgu, struct scatterlist *sglist,
1627b795adSYong Zhi 		       int nents, struct imgu_css_map *map);
1727b795adSYong Zhi void imgu_dmamap_unmap(struct imgu_device *imgu, struct imgu_css_map *map);
182a2c51d3STomasz Figa 
1927b795adSYong Zhi int imgu_dmamap_init(struct imgu_device *imgu);
2027b795adSYong Zhi void imgu_dmamap_exit(struct imgu_device *imgu);
212a2c51d3STomasz Figa 
222a2c51d3STomasz Figa #endif
23