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 
112a2c51d3STomasz Figa void *ipu3_dmamap_alloc(struct imgu_device *imgu, struct ipu3_css_map *map,
122a2c51d3STomasz Figa 			size_t len);
132a2c51d3STomasz Figa void ipu3_dmamap_free(struct imgu_device *imgu, struct ipu3_css_map *map);
142a2c51d3STomasz Figa 
152a2c51d3STomasz Figa int ipu3_dmamap_map_sg(struct imgu_device *imgu, struct scatterlist *sglist,
162a2c51d3STomasz Figa 		       int nents, struct ipu3_css_map *map);
172a2c51d3STomasz Figa void ipu3_dmamap_unmap(struct imgu_device *imgu, struct ipu3_css_map *map);
182a2c51d3STomasz Figa 
192a2c51d3STomasz Figa int ipu3_dmamap_init(struct imgu_device *imgu);
202a2c51d3STomasz Figa void ipu3_dmamap_exit(struct imgu_device *imgu);
212a2c51d3STomasz Figa 
222a2c51d3STomasz Figa #endif
23