xref: /linux/drivers/dma/qcom/hidma_mgmt.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*97fb5e8dSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
27f8f209fSSinan Kaya /*
37f8f209fSSinan Kaya  * Qualcomm Technologies HIDMA Management common header
47f8f209fSSinan Kaya  *
57f8f209fSSinan Kaya  * Copyright (c) 2015, The Linux Foundation. All rights reserved.
67f8f209fSSinan Kaya  */
77f8f209fSSinan Kaya 
87f8f209fSSinan Kaya struct hidma_mgmt_dev {
97f8f209fSSinan Kaya 	u8 hw_version_major;
107f8f209fSSinan Kaya 	u8 hw_version_minor;
117f8f209fSSinan Kaya 
127f8f209fSSinan Kaya 	u32 max_wr_xactions;
137f8f209fSSinan Kaya 	u32 max_rd_xactions;
147f8f209fSSinan Kaya 	u32 max_write_request;
157f8f209fSSinan Kaya 	u32 max_read_request;
167f8f209fSSinan Kaya 	u32 dma_channels;
177f8f209fSSinan Kaya 	u32 chreset_timeout_cycles;
187f8f209fSSinan Kaya 	u32 hw_version;
197f8f209fSSinan Kaya 	u32 *priority;
207f8f209fSSinan Kaya 	u32 *weight;
217f8f209fSSinan Kaya 
227f8f209fSSinan Kaya 	/* Hardware device constants */
237f8f209fSSinan Kaya 	void __iomem *virtaddr;
247f8f209fSSinan Kaya 	resource_size_t addrsize;
257f8f209fSSinan Kaya 
267f8f209fSSinan Kaya 	struct kobject **chroots;
277f8f209fSSinan Kaya 	struct platform_device *pdev;
287f8f209fSSinan Kaya };
297f8f209fSSinan Kaya 
307f8f209fSSinan Kaya int hidma_mgmt_init_sys(struct hidma_mgmt_dev *dev);
317f8f209fSSinan Kaya int hidma_mgmt_setup(struct hidma_mgmt_dev *mgmtdev);
32