123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- /*
- * Intel MIC Platform Software Stack (MPSS)
- *
- * Copyright(c) 2015 Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * Intel SCIF driver.
- *
- */
- #ifndef SCIF_RMA_LIST_H
- #define SCIF_RMA_LIST_H
- /*
- * struct scif_rma_req - Self Registration list RMA Request query
- *
- * @out_window - Returns the window if found
- * @offset: Starting offset
- * @nr_bytes: number of bytes
- * @prot: protection requested i.e. read or write or both
- * @type: Specify single, partial or multiple windows
- * @head: Head of list on which to search
- * @va_for_temp: VA for searching temporary cached windows
- */
- struct scif_rma_req {
- struct scif_window **out_window;
- union {
- s64 offset;
- unsigned long va_for_temp;
- };
- size_t nr_bytes;
- int prot;
- enum scif_window_type type;
- struct list_head *head;
- };
- /* Insert */
- void scif_insert_window(struct scif_window *window, struct list_head *head);
- void scif_insert_tcw(struct scif_window *window,
- struct list_head *head);
- /* Query */
- int scif_query_window(struct scif_rma_req *request);
- int scif_query_tcw(struct scif_endpt *ep, struct scif_rma_req *request);
- /* Called from close to unregister all self windows */
- int scif_unregister_all_windows(scif_epd_t epd);
- void scif_unmap_all_windows(scif_epd_t epd);
- /* Traverse list and unregister */
- int scif_rma_list_unregister(struct scif_window *window, s64 offset,
- int nr_pages);
- #endif /* SCIF_RMA_LIST_H */
|