The BAM Data Multiplexer (BAM-DMUX) provides access to the network data channels of modems integrated into many older Qualcomm SoCs, e.g. Qualcomm MSM8916 or MSM8974. Shortly said, BAM-DMUX is built using a simple protocol layer on top of a DMA engine (Qualcomm BAM DMA). For BAM-DMUX, the BAM DMA engine runs in a special mode where the modem/remote side is responsible for powering on the BAM when needed but we are responsible to initialize it. The BAM is powered off when unneeded by coordinating power control via bidirectional interrupts from the BAM-DMUX driver. This series adds one possible solution for handling the "powered remotely" mode in the bam_dma driver. For more information about BAM-DMUX itself, see the series on netdev: https://lore.kernel.org/netdev/20211011141733.3999-5-stephan@xxxxxxxxxxx/ Changes in v3: - Split dmaengine changes to a separate series - Address review comments from Bjorn v2: https://lore.kernel.org/netdev/20211011141733.3999-1-stephan@xxxxxxxxxxx/ RFC: https://lore.kernel.org/netdev/20210719145317.79692-1-stephan@xxxxxxxxxxx/ Stephan Gerhold (2): dt-bindings: dmaengine: bam_dma: Add "powered remotely" mode dmaengine: qcom: bam_dma: Add "powered remotely" mode .../devicetree/bindings/dma/qcom_bam_dma.txt | 2 + drivers/dma/qcom/bam_dma.c | 90 ++++++++++++------- 2 files changed, 59 insertions(+), 33 deletions(-) -- 2.33.0