hfi: bases for user_exp_rcv
This implements a skeleton setup function and call it on ioctl Many missing points: - missing pci mapping to make setup work - no clear (passed to linux, so will likely bug out) - missing locks/safe-guards Conflicts: kernel/Makefile.build.in
This commit is contained in:
committed by
Balazs Gerofi
parent
7366da4390
commit
e64d89cd48
@@ -46,9 +46,7 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#ifdef __HFI1_ORIG__
|
||||
#include "hfi.h"
|
||||
#endif /* __HFI1_ORIG__ */
|
||||
#include "hfi1/hfi.h"
|
||||
|
||||
#define EXP_TID_TIDLEN_MASK 0x7FFULL
|
||||
#define EXP_TID_TIDLEN_SHIFT 0
|
||||
@@ -71,7 +69,6 @@
|
||||
(tid) |= EXP_TID_SET(field, (value)); \
|
||||
} while (0)
|
||||
|
||||
#ifdef __HFI1_ORIG__
|
||||
struct tid_group {
|
||||
struct list_head list;
|
||||
unsigned base;
|
||||
@@ -147,15 +144,17 @@ static inline void tid_group_move(struct tid_group *group,
|
||||
tid_group_add_tail(group, s2);
|
||||
}
|
||||
|
||||
#ifdef __HFI1_ORIG__
|
||||
u32 find_phys_blocks(struct page **, unsigned, struct tid_pageset *);
|
||||
int alloc_ctxt_rcv_groups(struct hfi1_ctxtdata *rcd);
|
||||
void free_ctxt_rcv_groups(struct hfi1_ctxtdata *rcd);
|
||||
int hfi1_user_exp_rcv_init(struct file *);
|
||||
int hfi1_user_exp_rcv_free(struct hfi1_filedata *);
|
||||
int hfi1_user_exp_rcv_setup(struct file *, struct hfi1_tid_info *);
|
||||
int hfi1_user_exp_rcv_clear(struct file *, struct hfi1_tid_info *);
|
||||
int hfi1_user_exp_rcv_invalid(struct file *, struct hfi1_tid_info *);
|
||||
|
||||
#endif /* __HFI1_ORIG__ */
|
||||
|
||||
int hfi1_user_exp_rcv_setup(struct hfi1_filedata *, struct hfi1_tid_info *);
|
||||
int hfi1_user_exp_rcv_clear(struct hfi1_filedata *, struct hfi1_tid_info *);
|
||||
int hfi1_user_exp_rcv_invalid(struct hfi1_filedata *, struct hfi1_tid_info *);
|
||||
|
||||
#endif /* _HFI1_USER_EXP_RCV_H */
|
||||
|
||||
Reference in New Issue
Block a user