summaryrefslogtreecommitdiffstats
path: root/sys/dev/proto/proto_dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/proto/proto_dev.h')
-rw-r--r--sys/dev/proto/proto_dev.h33
1 files changed, 32 insertions, 1 deletions
diff --git a/sys/dev/proto/proto_dev.h b/sys/dev/proto/proto_dev.h
index 0ea3749..0050f0b 100644
--- a/sys/dev/proto/proto_dev.h
+++ b/sys/dev/proto/proto_dev.h
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 2014 Marcel Moolenaar
+ * Copyright (c) 2014, 2015 Marcel Moolenaar
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -40,4 +40,35 @@ struct proto_ioc_region {
#define PROTO_IOC_REGION _IOWR(PROTO_IOC_CLASS, 1, struct proto_ioc_region)
+struct proto_ioc_busdma {
+ unsigned int request;
+#define PROTO_IOC_BUSDMA_TAG_CREATE 1
+#define PROTO_IOC_BUSDMA_TAG_DERIVE 2
+#define PROTO_IOC_BUSDMA_TAG_DESTROY 3
+#define PROTO_IOC_BUSDMA_MEM_ALLOC 10
+#define PROTO_IOC_BUSDMA_MEM_FREE 11
+ unsigned long key;
+ union {
+ struct {
+ unsigned long align;
+ unsigned long bndry;
+ unsigned long maxaddr;
+ unsigned long maxsz;
+ unsigned long maxsegsz;
+ unsigned int nsegs;
+ unsigned int datarate;
+ unsigned int flags;
+ } tag;
+ struct {
+ unsigned long tag;
+ unsigned int flags;
+ unsigned int nsegs;
+ unsigned long physaddr;
+ } mem;
+ } u;
+ unsigned long result;
+};
+
+#define PROTO_IOC_BUSDMA _IOWR(PROTO_IOC_CLASS, 2, struct proto_ioc_busdma)
+
#endif /* _DEV_PROTO_H_ */
OpenPOWER on IntegriCloud