lkml.org 
[lkml]   [2020]   [Jan]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -next 1/2] dmaengine: xilinx_dma: Extend dma_config structure to store max channel count
    Date
    Extend dma_config structure to store the max channel count. This input is
    used to populate dma device channel nodes at the fixed offset. It serves
    as a preparatory patch for removing dma channel DT node order dependency,
    added in the subsequent commit.

    Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
    ---
    drivers/dma/xilinx/xilinx_dma.c | 9 ++++++++-
    1 file changed, 8 insertions(+), 1 deletion(-)

    diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c
    index 6f1539c..2281af3 100644
    --- a/drivers/dma/xilinx/xilinx_dma.c
    +++ b/drivers/dma/xilinx/xilinx_dma.c
    @@ -125,7 +125,9 @@
    #define XILINX_VDMA_ENABLE_VERTICAL_FLIP BIT(0)

    /* HW specific definitions */
    -#define XILINX_DMA_MAX_CHANS_PER_DEVICE 0x20
    +#define XILINX_MCDMA_MAX_CHANS_PER_DEVICE 0x20
    +#define XILINX_DMA_MAX_CHANS_PER_DEVICE 0x2
    +#define XILINX_CDMA_MAX_CHANS_PER_DEVICE 0x1

    #define XILINX_DMA_DMAXR_ALL_IRQ_MASK \
    (XILINX_DMA_DMASR_FRM_CNT_IRQ | \
    @@ -468,6 +470,7 @@ struct xilinx_dma_config {
    struct clk **tx_clk, struct clk **txs_clk,
    struct clk **rx_clk, struct clk **rxs_clk);
    irqreturn_t (*irq_handler)(int irq, void *data);
    + const int max_channels;
    };

    /**
    @@ -2939,23 +2942,27 @@ static const struct xilinx_dma_config axidma_config = {
    .dmatype = XDMA_TYPE_AXIDMA,
    .clk_init = axidma_clk_init,
    .irq_handler = xilinx_dma_irq_handler,
    + .max_channels = XILINX_DMA_MAX_CHANS_PER_DEVICE,
    };

    static const struct xilinx_dma_config aximcdma_config = {
    .dmatype = XDMA_TYPE_AXIMCDMA,
    .clk_init = axidma_clk_init,
    .irq_handler = xilinx_mcdma_irq_handler,
    + .max_channels = XILINX_MCDMA_MAX_CHANS_PER_DEVICE,
    };
    static const struct xilinx_dma_config axicdma_config = {
    .dmatype = XDMA_TYPE_CDMA,
    .clk_init = axicdma_clk_init,
    .irq_handler = xilinx_dma_irq_handler,
    + .max_channels = XILINX_CDMA_MAX_CHANS_PER_DEVICE,
    };

    static const struct xilinx_dma_config axivdma_config = {
    .dmatype = XDMA_TYPE_VDMA,
    .clk_init = axivdma_clk_init,
    .irq_handler = xilinx_dma_irq_handler,
    + .max_channels = XILINX_DMA_MAX_CHANS_PER_DEVICE,
    };

    static const struct of_device_id xilinx_dma_of_ids[] = {
    --
    2.7.4
    \
     
     \ /
      Last update: 2020-01-30 13:55    [W:3.109 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site