The Qualcomm Technologies HIDMA device has been designed to support virtualization technology. The driver has been divided into two to follow the hardware design. The management driver is executed in hypervisor context and is the main management entity for all channels provided by the device. The channel driver is executed in the hypervisor/guest OS context. Changes from V1: (https://lkml.org/lkml/2015/10/29/670) * change DT device name/property to hidma_mgmt-1.0. * remove owner. * s/_/-/ in property names and compatible strings. * rename max-read to max-read-burst-bytes. * rename max-write to max-write-burst-bytes. * rename max-wxactions to max-write-transactions * rename max-rdactions to max-read-transactions * get rid of the todo interrupt handling for now. * remove memset-limit argument. * clarify management driver vs. channel driver relationship. * use module_platform_driver * change weight and priority attributes to arrays Changes from V1: (https://lkml.org/lkml/2015/10/29/669) * Remove depends on VIRTUAL_CHANNELS. Old dependency. * Changed the commit message to state slave interface not supported * Change object name in DT documentation. * Remove bits in DT. * Remove EXPORT_SYMBOL statements. * Change DT driver name to hidma-1.0 * Make number of descriptors a required parameter * Remove TRC_PM macro and remove HIDMA_RUNTIME_GET/SET functions. * Remove MODULE_NAME and owner * Change DTS parameter to 32bits. * Remove test_result structure * Remove some debugfs macros and dma_to_phys call * Remove pointer references from prints. * Remove DEBUG_FS preprocessor macros. * Eliminate debug messages from probe. * Remove unlikely statements * Remove debugfs * Get rid of wmbs * Change return labels * handle ERROR: "__udivdi3" undefined from 0 day * use struct hidma_lldev* instead of void* for interface * s/wake_up_interruptible/wake_up/ * s/wait_event_interruptible_timeout/wait_event_timeout/ * move selftest to its own file * writel_relxed correction in hidma_ll_hw_start * remove mdelay and mb from the code * kernel command line override for event-channel to support virtualization. * add deferred probing and use module_platform_driver Sinan Kaya (3): dma: add Qualcomm Technologies HIDMA management driver dmaselftest: add memcpy selftest support functions dma: add Qualcomm Technologies HIDMA channel driver .../devicetree/bindings/dma/qcom_hidma.txt | 18 + .../devicetree/bindings/dma/qcom_hidma_mgmt.txt | 56 ++ drivers/dma/Kconfig | 21 + drivers/dma/Makefile | 5 + drivers/dma/dmaengine.h | 2 + drivers/dma/dmaselftest.c | 669 ++++++++++++++ drivers/dma/qcom_hidma.c | 803 +++++++++++++++++ drivers/dma/qcom_hidma.h | 45 + drivers/dma/qcom_hidma_ll.c | 972 +++++++++++++++++++++ drivers/dma/qcom_hidma_mgmt.c | 747 ++++++++++++++++ 10 files changed, 3338 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/qcom_hidma.txt create mode 100644 Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt create mode 100644 drivers/dma/dmaselftest.c create mode 100644 drivers/dma/qcom_hidma.c create mode 100644 drivers/dma/qcom_hidma.h create mode 100644 drivers/dma/qcom_hidma_ll.c create mode 100644 drivers/dma/qcom_hidma_mgmt.c -- Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of 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