diff options
author | Alexander Motin <mav@FreeBSD.org> | 2016-07-29 17:15:41 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2016-07-29 17:15:41 +0000 |
commit | 6bd57d14ed207b6b5aa94f81b8bef29bc52b8518 (patch) | |
tree | 8b1d100670cef43198ab3b7b43e8c7363a1a0f8e /sys/dev/ntb/ntb_transport.h | |
parent | 793172ea8846d38e8425883ab942328ddef363e0 (diff) | |
download | src-6bd57d14ed207b6b5aa94f81b8bef29bc52b8518.tar.gz src-6bd57d14ed207b6b5aa94f81b8bef29bc52b8518.zip |
Once more refactor KPI between ntb_transport(4) and if_ntb(4)..
New design allows to attach multiple consumers to ntb_transport(4) instance.
Previous design obtained from Linux theoretically allowed that, but was not
practically usable (Linux also has only one consumer driver now).
Notes
Notes:
svn path=/head/; revision=303494
Diffstat (limited to 'sys/dev/ntb/ntb_transport.h')
-rw-r--r-- | sys/dev/ntb/ntb_transport.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/ntb/ntb_transport.h b/sys/dev/ntb/ntb_transport.h index deb85688fe01..63cdbce96cb2 100644 --- a/sys/dev/ntb/ntb_transport.h +++ b/sys/dev/ntb/ntb_transport.h @@ -43,12 +43,13 @@ struct ntb_queue_handlers { void (*event_handler)(void *data, enum ntb_link_event status); }; -unsigned char ntb_transport_qp_num(struct ntb_transport_qp *qp); -unsigned int ntb_transport_max_size(struct ntb_transport_qp *qp); +int ntb_transport_queue_count(device_t dev); struct ntb_transport_qp * -ntb_transport_create_queue(void *data, device_t dev, - const struct ntb_queue_handlers *handlers); +ntb_transport_create_queue(device_t dev, int q, + const struct ntb_queue_handlers *handlers, void *data); void ntb_transport_free_queue(struct ntb_transport_qp *qp); +unsigned char ntb_transport_qp_num(struct ntb_transport_qp *qp); +unsigned int ntb_transport_max_size(struct ntb_transport_qp *qp); int ntb_transport_rx_enqueue(struct ntb_transport_qp *qp, void *cb, void *data, unsigned int len); int ntb_transport_tx_enqueue(struct ntb_transport_qp *qp, void *cb, void *data, |