@@ -453,6 +453,20 @@ struct dmaengine_unmap_data {
};
/**
+ * enum err_result_flags - result of DMA operations
+ * @ERR_DMA_NONE - no errors
+ * @ERR_DMA_READ - DMA read error
+ * @ERR_DMA_WRITE - DMA write error
+ * @ERR_DMA_ABORT - Operation aborted
+ */
+enum err_result_flags {
+ ERR_DMA_NONE = 0,
+ ERR_DMA_READ,
+ ERR_DMA_WRITE,
+ ERR_DMA_ABORT,
+};
+
+/**
* struct dma_async_tx_descriptor - async transaction descriptor
* ---dma generic offload fields---
* @cookie: tracking cookie for this transaction, set to -EBUSY if
@@ -480,6 +494,7 @@ struct dma_async_tx_descriptor {
dma_async_tx_callback callback;
void *callback_param;
struct dmaengine_unmap_data *unmap;
+ enum err_result_flags result;
#ifdef CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH
struct dma_async_tx_descriptor *next;
struct dma_async_tx_descriptor *parent;
Adding error flag for the call back descriptor to notify upper layer that an error has occurred with this particular DMA op. Signed-off-by: Dave Jiang <dave.jiang@intel.com> --- include/linux/dmaengine.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html