18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Qualcomm Technologies HIDMA Management common header
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (c) 2015, The Linux Foundation. All rights reserved.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cistruct hidma_mgmt_dev {
98c2ecf20Sopenharmony_ci	u8 hw_version_major;
108c2ecf20Sopenharmony_ci	u8 hw_version_minor;
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	u32 max_wr_xactions;
138c2ecf20Sopenharmony_ci	u32 max_rd_xactions;
148c2ecf20Sopenharmony_ci	u32 max_write_request;
158c2ecf20Sopenharmony_ci	u32 max_read_request;
168c2ecf20Sopenharmony_ci	u32 dma_channels;
178c2ecf20Sopenharmony_ci	u32 chreset_timeout_cycles;
188c2ecf20Sopenharmony_ci	u32 hw_version;
198c2ecf20Sopenharmony_ci	u32 *priority;
208c2ecf20Sopenharmony_ci	u32 *weight;
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	/* Hardware device constants */
238c2ecf20Sopenharmony_ci	void __iomem *virtaddr;
248c2ecf20Sopenharmony_ci	resource_size_t addrsize;
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	struct kobject **chroots;
278c2ecf20Sopenharmony_ci	struct platform_device *pdev;
288c2ecf20Sopenharmony_ci};
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciint hidma_mgmt_init_sys(struct hidma_mgmt_dev *dev);
318c2ecf20Sopenharmony_ciint hidma_mgmt_setup(struct hidma_mgmt_dev *mgmtdev);
32