lkml.org 
[lkml]   [2022]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 4/7] dmaengine: hisilicon: Use macros instead of magic number
    Date
    readl_relaxed_poll_timeout() uses magic numbers 10 and 1000, which
    indicate maximum time to sleep between reads in us and timeout in us,
    respectively.

    Use macros HISI_DMA_POLL_Q_STS_DELAY_US and
    HISI_DMA_POLL_Q_STS_TIME_OUT_US instead of these two numbers.

    Signed-off-by: Jie Hai <haijie1@huawei.com>
    ---
    drivers/dma/hisi_dma.c | 21 +++++++++++++++------
    1 file changed, 15 insertions(+), 6 deletions(-)

    diff --git a/drivers/dma/hisi_dma.c b/drivers/dma/hisi_dma.c
    index a3ccaf58be80..d5f87ef4a5ee 100644
    --- a/drivers/dma/hisi_dma.c
    +++ b/drivers/dma/hisi_dma.c
    @@ -36,6 +36,9 @@

    #define PCI_BAR_2 2

    +#define HISI_DMA_POLL_Q_STS_DELAY_US 10
    +#define HISI_DMA_POLL_Q_STS_TIME_OUT_US 1000
    +
    enum hisi_dma_mode {
    EP = 0,
    RC,
    @@ -185,15 +188,20 @@ static void hisi_dma_reset_or_disable_hw_chan(struct hisi_dma_chan *chan,
    {
    struct hisi_dma_dev *hdma_dev = chan->hdma_dev;
    u32 index = chan->qp_num, tmp;
    + void __iomem *addr;
    int ret;

    hisi_dma_pause_dma(hdma_dev, index, true);
    hisi_dma_enable_dma(hdma_dev, index, false);
    hisi_dma_mask_irq(hdma_dev, index);

    - ret = readl_relaxed_poll_timeout(hdma_dev->base +
    - HISI_DMA_Q_FSM_STS + index * HISI_DMA_OFFSET, tmp,
    - FIELD_GET(HISI_DMA_FSM_STS_MASK, tmp) != RUN, 10, 1000);
    + addr = hdma_dev->base +
    + HISI_DMA_Q_FSM_STS + index * HISI_DMA_OFFSET;
    +
    + ret = readl_relaxed_poll_timeout(addr, tmp,
    + FIELD_GET(HISI_DMA_FSM_STS_MASK, tmp) != RUN,
    + HISI_DMA_POLL_Q_STS_DELAY_US,
    + HISI_DMA_POLL_Q_STS_TIME_OUT_US);
    if (ret) {
    dev_err(&hdma_dev->pdev->dev, "disable channel timeout!\n");
    WARN_ON(1);
    @@ -208,9 +216,10 @@ static void hisi_dma_reset_or_disable_hw_chan(struct hisi_dma_chan *chan,
    hisi_dma_unmask_irq(hdma_dev, index);
    }

    - ret = readl_relaxed_poll_timeout(hdma_dev->base +
    - HISI_DMA_Q_FSM_STS + index * HISI_DMA_OFFSET, tmp,
    - FIELD_GET(HISI_DMA_FSM_STS_MASK, tmp) == IDLE, 10, 1000);
    + ret = readl_relaxed_poll_timeout(addr, tmp,
    + FIELD_GET(HISI_DMA_FSM_STS_MASK, tmp) == IDLE,
    + HISI_DMA_POLL_Q_STS_DELAY_US,
    + HISI_DMA_POLL_Q_STS_TIME_OUT_US);
    if (ret) {
    dev_err(&hdma_dev->pdev->dev, "reset channel timeout!\n");
    WARN_ON(1);
    --
    2.33.0
    \
     
     \ /
      Last update: 2022-06-29 06:00    [W:4.161 / U:0.152 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site