xref: /openbmc/linux/include/uapi/rdma/hns-abi.h (revision d50e14ab)
1d50e14abSJason Gunthorpe /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR Linux-OpenIB) */
24d409958SLeon Romanovsky /*
34d409958SLeon Romanovsky  * Copyright (c) 2016 Hisilicon Limited.
44d409958SLeon Romanovsky  *
54d409958SLeon Romanovsky  * This software is available to you under a choice of one of two
64d409958SLeon Romanovsky  * licenses.  You may choose to be licensed under the terms of the GNU
74d409958SLeon Romanovsky  * General Public License (GPL) Version 2, available from the file
84d409958SLeon Romanovsky  * COPYING in the main directory of this source tree, or the
94d409958SLeon Romanovsky  * OpenIB.org BSD license below:
104d409958SLeon Romanovsky  *
114d409958SLeon Romanovsky  *     Redistribution and use in source and binary forms, with or
124d409958SLeon Romanovsky  *     without modification, are permitted provided that the following
134d409958SLeon Romanovsky  *     conditions are met:
144d409958SLeon Romanovsky  *
154d409958SLeon Romanovsky  *      - Redistributions of source code must retain the above
164d409958SLeon Romanovsky  *        copyright notice, this list of conditions and the following
174d409958SLeon Romanovsky  *        disclaimer.
184d409958SLeon Romanovsky  *
194d409958SLeon Romanovsky  *      - Redistributions in binary form must reproduce the above
204d409958SLeon Romanovsky  *        copyright notice, this list of conditions and the following
214d409958SLeon Romanovsky  *        disclaimer in the documentation and/or other materials
224d409958SLeon Romanovsky  *        provided with the distribution.
234d409958SLeon Romanovsky  *
244d409958SLeon Romanovsky  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
254d409958SLeon Romanovsky  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
264d409958SLeon Romanovsky  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
274d409958SLeon Romanovsky  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
284d409958SLeon Romanovsky  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
294d409958SLeon Romanovsky  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
304d409958SLeon Romanovsky  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
314d409958SLeon Romanovsky  * SOFTWARE.
324d409958SLeon Romanovsky  */
334d409958SLeon Romanovsky 
344d409958SLeon Romanovsky #ifndef HNS_ABI_USER_H
354d409958SLeon Romanovsky #define HNS_ABI_USER_H
364d409958SLeon Romanovsky 
374d409958SLeon Romanovsky #include <linux/types.h>
384d409958SLeon Romanovsky 
394d409958SLeon Romanovsky struct hns_roce_ib_create_cq {
4026b99066SJason Gunthorpe 	__aligned_u64 buf_addr;
4126b99066SJason Gunthorpe 	__aligned_u64 db_addr;
429b44703dSYixian Liu };
439b44703dSYixian Liu 
449b44703dSYixian Liu struct hns_roce_ib_create_cq_resp {
4526b99066SJason Gunthorpe 	__aligned_u64 cqn; /* Only 32 bits used, 64 for compat */
4626b99066SJason Gunthorpe 	__aligned_u64 cap_flags;
474d409958SLeon Romanovsky };
484d409958SLeon Romanovsky 
494d409958SLeon Romanovsky struct hns_roce_ib_create_qp {
5026b99066SJason Gunthorpe 	__aligned_u64 buf_addr;
5126b99066SJason Gunthorpe 	__aligned_u64 db_addr;
524d409958SLeon Romanovsky 	__u8    log_sq_bb_count;
534d409958SLeon Romanovsky 	__u8    log_sq_stride;
544d409958SLeon Romanovsky 	__u8    sq_no_prefetch;
554d409958SLeon Romanovsky 	__u8    reserved[5];
564d409958SLeon Romanovsky };
574d409958SLeon Romanovsky 
58e088a685SYixian Liu struct hns_roce_ib_create_qp_resp {
5926b99066SJason Gunthorpe 	__aligned_u64 cap_flags;
60e088a685SYixian Liu };
61e088a685SYixian Liu 
624d409958SLeon Romanovsky struct hns_roce_ib_alloc_ucontext_resp {
634d409958SLeon Romanovsky 	__u32	qp_tab_size;
64e088a685SYixian Liu 	__u32	reserved;
654d409958SLeon Romanovsky };
66633fb4d9SJason Gunthorpe 
67633fb4d9SJason Gunthorpe struct hns_roce_ib_alloc_pd_resp {
68633fb4d9SJason Gunthorpe 	__u32 pdn;
69633fb4d9SJason Gunthorpe };
70633fb4d9SJason Gunthorpe 
714d409958SLeon Romanovsky #endif /* HNS_ABI_USER_H */
72