1/*
2 * Copyright (c) 2014, ETH Zurich. All rights reserved.
3 *
4 * This file is distributed under the terms in the attached LICENSE file.
5 * If you do not find this file, copies can be found by writing to:
6 * ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich. Attn: Systems Group.
7 */
8
9#ifndef DMA_MGR_H_
10#define DMA_MGR_H_
11
12struct dma_mgr_driver_info;
13
14errval_t driver_store_init(void);
15
16errval_t driver_store_insert(lpaddr_t mem_low,
17                             lpaddr_t mem_high,
18                             uint8_t numa_node,
19                             uint8_t type,
20                             iref_t iref);
21
22
23errval_t driver_store_lookup(lpaddr_t mem_low,
24                             size_t size,
25                             uint8_t numa_node,
26                             struct dma_mgr_driver_info **info);
27
28errval_t driver_store_lookup_by_iref(iref_t iref,
29                                     struct dma_mgr_driver_info **info);
30
31/**
32 * \brief initializes the DMA manager service service
33 *
34 * \param svc_name  The name of the service for nameservice registration
35 * \param cb        Callback function pointers
36 *
37 * \returns SYS_ERR_OK on success
38 *          errval on error
39 */
40errval_t dma_mgr_svc_start(void);
41
42#endif  /* DMA_MGR_H_ */
43