Hi Vinod, On 8/23/2016 12:48 AM, Sinan Kaya wrote: > Three changes: > 1. There is a race condition between data transfer callback and descriptor > free code. The callback routine may decide to clear the resources even > though the descriptor has not yet been freed. > > 2. DMA Engine framework now supports direct error reporting to the client > via the callback. > > Pass the DMA errors to the client by passing a result argument. The HW only > supports a generic error when something goes wrong. That's why, using > DMA_TRANS_ABORTED all the time. > > 3. The HIDMA driver is capable of error detection. However, the error was > not being passed back to the client when tx_status API is called. > > ------------------------ > Changes from v2 (https://patchwork.kernel.org/patch/9253379/) > ------------------------ > - Implement the error passing to the client. > - Get rid of the reset in the interrupt handler when an error happens and > put the HW into disabled state. The only way to recover is for the client to > terminate the channel. > > Sinan Kaya (3): > dmaengine: qcom_hidma: release the descriptor before the callback > dmaengine: qcom_hidma: report transfer errors with new interface > dmaengine: qcom_hidma: add error reporting for tx_status > > drivers/dma/qcom/hidma.c | 50 +++++++++++++++++++++++++++++++++++---------- > drivers/dma/qcom/hidma.h | 1 + > drivers/dma/qcom/hidma_ll.c | 32 +++++++---------------------- > 3 files changed, 47 insertions(+), 36 deletions(-) > Any feedback here? Does this implementation look like what you were expecting? -- Sinan Kaya Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project. -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html