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