From f312d827602fafa21625106dafe2f209e10a22b3 Mon Sep 17 00:00:00 2001 From: Ciro Nishiguchi Date: Wed, 11 Sep 2019 16:50:11 -0500 Subject: rfnoc: Fix transport buffer reservations Change transports to reserve the number of frame buffers they actually need from the I/O service. Previously some I/O service clients reserved 0 buffers since they shared frame buffers with other clients, as we know the two clients do not use the links simultaneously. This is possible with the inline_io_service but not with a multithreaded I/O service which queues buffer for clients before they are requested. --- host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'host/lib/include/uhdlib/rfnoc') diff --git a/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp b/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp index 726ea7f6c..2a37a5afc 100644 --- a/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp +++ b/host/lib/include/uhdlib/rfnoc/chdr_ctrl_xport.hpp @@ -119,6 +119,13 @@ public: */ void release_recv_buff(frame_buff::uptr buff); + /*! + * Release a frame buffer, allowing the recv link driver to reuse it. + * + * \param buffer frame buffer to release for reuse by the link + */ + void release_mgmt_buff(frame_buff::uptr buff); + /*! * Get this xport's EPID * -- cgit v1.2.3