• Abhishek Sahu's avatar
    mtd: nand: qcom: DMA mapping support for register read buffer · 6192ff7a
    Abhishek Sahu authored
    The EBI2 NAND controller directly remaps register read buffer with
    dma_map_sg and DMA address of this buffer will be passed to DMA
    API’s. While, on QPIC NAND controller, which uses BAM DMA, we read
    the controller registers by preparing a BAM command descriptor. This
    command descriptor requires the
    
      - controller register address
      - the DMA address in which we want to store the value read
        back from the controller register.
    
    This command descriptor will be remapped with dma_map_sg
    and its DMA address will be passed to DMA API’s. Therefore,
    it's required that we also map our register read buffer for
    DMA (using dma_map_single). We use the returned DMA address
    for preparing entries in our command descriptor.
    
    This patch adds the DMA mapping support for register read
    buffer. This buffer will be DMA mapped during allocation
    time. Before starting of any operation, this buffer will
    be synced for device operation and after operation
    completion, it will be synced again for CPU.
    Reviewed-by: default avatarArchit Taneja <architt@codeaurora.org>
    Signed-off-by: default avatarAbhishek Sahu <absahu@codeaurora.org>
    Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
    6192ff7a
qcom_nandc.c 61.7 KB