Linux-libre 4.9.30-gnu
[librecmc/linux-libre.git] / drivers / dma / qcom / hidma_mgmt.h
1 /*
2  * Qualcomm Technologies HIDMA Management common header
3  *
4  * Copyright (c) 2015, The Linux Foundation. All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 and
8  * only version 2 as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15
16 struct hidma_mgmt_dev {
17         u8 hw_version_major;
18         u8 hw_version_minor;
19
20         u32 max_wr_xactions;
21         u32 max_rd_xactions;
22         u32 max_write_request;
23         u32 max_read_request;
24         u32 dma_channels;
25         u32 chreset_timeout_cycles;
26         u32 hw_version;
27         u32 *priority;
28         u32 *weight;
29
30         /* Hardware device constants */
31         void __iomem *virtaddr;
32         resource_size_t addrsize;
33
34         struct kobject **chroots;
35         struct platform_device *pdev;
36 };
37
38 int hidma_mgmt_init_sys(struct hidma_mgmt_dev *dev);
39 int hidma_mgmt_setup(struct hidma_mgmt_dev *mgmtdev);