162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright(c) 2023 Cornelis Networks, Inc. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci#ifndef _HFI1_PINNING_H 662306a36Sopenharmony_ci#define _HFI1_PINNING_H 762306a36Sopenharmony_ci 862306a36Sopenharmony_cistruct hfi1_user_sdma_pkt_q; 962306a36Sopenharmony_cistruct user_sdma_request; 1062306a36Sopenharmony_cistruct user_sdma_txreq; 1162306a36Sopenharmony_cistruct user_sdma_iovec; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciint hfi1_init_system_pinning(struct hfi1_user_sdma_pkt_q *pq); 1462306a36Sopenharmony_civoid hfi1_free_system_pinning(struct hfi1_user_sdma_pkt_q *pq); 1562306a36Sopenharmony_ciint hfi1_add_pages_to_sdma_packet(struct user_sdma_request *req, 1662306a36Sopenharmony_ci struct user_sdma_txreq *tx, 1762306a36Sopenharmony_ci struct user_sdma_iovec *iovec, 1862306a36Sopenharmony_ci u32 *pkt_data_remaining); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci#endif /* _HFI1_PINNING_H */ 21