On Fri, Jan 08, 2021 at 04:46:49PM +0100, Loic Poulain wrote:
Hi Mani,
On Fri, 8 Jan 2021 at 16:30, Manivannan Sadhasivam <
manivannan.sadhasivam@linaro.org> wrote:
quoted
quoted
quoted
quoted
/* start channels */
- rc = mhi_prepare_for_transfer(mhi_dev);
+ rc = mhi_prepare_for_transfer(mhi_dev,
MHI_CH_INBOUND_ALLOC_BUFS);
quoted
quoted
Are you sure it requires auto queued channel?
This is how mhi-qrtr has been implemented, yes.
skb is allocated in qrtr_endpoint_post(). Then how the host can pre
allocate the buffer here? Am I missing something?
The initial MHI buffer is pre-allocated by the MHI core, so that mhi-qrtr
only has to register a dl_callback without having to allocate and queue its
own buffers. On dl_callback mhi-qrtr calls qrtr_endpoint_post(data) which
allocates an skb and copy the MHI buffer (data) into that skb. When
mhi-qrtr dl_callback finishes, the MHI buffer is re-queued automatically by
the MHI core.
Oops... My bad! There is the "auto_queue" for dl chan. Sorry for the noise.
Thanks,
Mani
Regards,
Loic
quoted
Thanks,
Mani
quoted
Regards,
Loic