• Manivannan Sadhasivam's avatar
    bus: mhi: ep: Add support for async DMA write operation · ee08acb5
    Manivannan Sadhasivam authored
    In order to optimize the data transfer, let's use the async DMA operation
    for writing (queuing) data to the host.
    
    In the async path, the completion event for the transfer ring will only be
    sent to the host when the controller driver notifies the MHI stack of the
    actual transfer completion using the callback (mhi_ep_skb_completion)
    supplied in "struct mhi_ep_buf_info".
    
    Also to accommodate the async operation, the transfer ring read offset
    (ring->rd_offset) is cached in the "struct mhi_ep_chan" and updated locally
    to let the stack queue further ring items to the controller driver. But the
    actual read offset of the transfer ring will only be updated in the
    completion callback.
    Signed-off-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    ee08acb5
internal.h 7.78 KB