diff options
author | Sudeep Dutt <sudeep.dutt@intel.com> | 2015-04-29 15:32:37 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-05-24 22:13:37 +0300 |
commit | fdd9fd5c38afe732258a0af4c6be14f3fbd1585c (patch) | |
tree | acc8c5505bae20a7dcd204e7a477c4df54be8cee /drivers/misc/mic/scif/scif_epd.h | |
parent | 76371c7c0d8642ef30a865df57bf6d186855802d (diff) | |
download | linux-fdd9fd5c38afe732258a0af4c6be14f3fbd1585c.tar.xz |
misc: mic: SCIF messaging and node enumeration APIs
SCIF messaging APIs which allow sending messages between the SCIF
endpoints via a byte stream based ring buffer which has been
optimized to avoid reads across PCIe. The SCIF messaging APIs
are typically used for short < 1024 byte messages for best
performance while the RDMA APIs which will be submitted in a future
patch series is recommended for larger transfers. The node
enumeration API enables a user to query for the number of nodes
online in the SCIF network and their node ids.
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Signed-off-by: Sudeep Dutt <sudeep.dutt@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mic/scif/scif_epd.h')
-rw-r--r-- | drivers/misc/mic/scif/scif_epd.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/misc/mic/scif/scif_epd.h b/drivers/misc/mic/scif/scif_epd.h index 65c628e45c03..331322a25213 100644 --- a/drivers/misc/mic/scif/scif_epd.h +++ b/drivers/misc/mic/scif/scif_epd.h @@ -144,6 +144,8 @@ int scif_rsrv_port(u16 port); void scif_get_port(u16 port); int scif_get_new_port(void); void scif_put_port(u16 port); +int scif_user_send(scif_epd_t epd, void __user *msg, int len, int flags); +int scif_user_recv(scif_epd_t epd, void __user *msg, int len, int flags); void scif_cnctreq(struct scif_dev *scifdev, struct scifmsg *msg); void scif_cnctgnt(struct scif_dev *scifdev, struct scifmsg *msg); void scif_cnctgnt_ack(struct scif_dev *scifdev, struct scifmsg *msg); @@ -151,6 +153,8 @@ void scif_cnctgnt_nack(struct scif_dev *scifdev, struct scifmsg *msg); void scif_cnctrej(struct scif_dev *scifdev, struct scifmsg *msg); void scif_discnct(struct scif_dev *scifdev, struct scifmsg *msg); void scif_discnt_ack(struct scif_dev *scifdev, struct scifmsg *msg); +void scif_clientsend(struct scif_dev *scifdev, struct scifmsg *msg); +void scif_clientrcvd(struct scif_dev *scifdev, struct scifmsg *msg); int __scif_connect(scif_epd_t epd, struct scif_port_id *dst, bool non_block); int __scif_flush(scif_epd_t epd); #endif /* SCIF_EPD_H */ |