25 Jan, 2017

1 commit

  • Fix build warning that related to PAGE_SIZE. The maximum DMA
    length has nothing to do with PAGE_SIZE, just use a fix number
    for the definition.

    drivers/dma/zx_dma.c: In function 'zx_dma_prep_memcpy':
    drivers/dma/zx_dma.c:523:8: warning: division by zero [-Wdiv-by-zero]
    drivers/dma/zx_dma.c: In function 'zx_dma_prep_slave_sg':
    drivers/dma/zx_dma.c:567:11: warning: division by zero [-Wdiv-by-zero]

    Signed-off-by: Jun Nie
    Tested-by: Shawn Guo
    Signed-off-by: Vinod Koul

    Jun Nie
     

02 Jan, 2017

3 commits

  • The dma residue is defined as the free space to end of transfer buffer,
    which could be multiple segments chained together. So the residue
    calculation in zx_dma_tx_status() works for both slave_sg and cyclic
    case. But unfortunately, the 'index' is wrong. It should plus one,
    because the current segment is already occupied and shouldn't be counted
    into free space.

    This fixes the HDMI audio noise issue we see on ZX296718 with SPDIF
    interface.

    Signed-off-by: Shawn Guo
    Reviewed-by: Jun Nie
    Signed-off-by: Vinod Koul

    Shawn Guo
     
  • The zx_dma driver supports cyclic transfer mode. Let's set DMA_CYCLIC
    cap_mask bit to make that clear, and avoid unnecessary failure when
    clients request channel via dma_request_chan_by_mask() with DMA_CYCLIC
    bit set in mask.

    Signed-off-by: Shawn Guo
    Reviewed-by: Jun Nie
    Signed-off-by: Vinod Koul

    Shawn Guo
     
  • ZTE ZX dma driver is not ZX296702 specific. It works for not only
    ZX296702 but also other ZTE ZX family platforms like ZX296718. Let's
    rename the file to reflect that.

    Signed-off-by: Shawn Guo
    Reviewed-by: Jun Nie
    Signed-off-by: Vinod Koul

    Shawn Guo