Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1233824 > unrolled thread

[PATCH 1/1] dmaengine: dw: fix nollp issue

Started by"yitian" <yitian.bu@tangramtek.com>
First post2015-09-28 05:00 +0200
Last post2015-09-28 09:10 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/1] dmaengine: dw: fix nollp issue "yitian" <yitian.bu@tangramtek.com> - 2015-09-28 05:00 +0200
    Re: [PATCH 1/1] dmaengine: dw: fix nollp issue Viresh Kumar <viresh.kumar@linaro.org> - 2015-09-28 05:20 +0200
    Re: [PATCH 1/1] dmaengine: dw: fix nollp issue Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-09-28 09:10 +0200

#1233824 — [PATCH 1/1] dmaengine: dw: fix nollp issue

From"yitian" <yitian.bu@tangramtek.com>
Date2015-09-28 05:00 +0200
Subject[PATCH 1/1] dmaengine: dw: fix nollp issue
Message-ID<qdwPv-19W-1@gated-at.bofh.it>
when channel number is less than maximum number, the register
address of all channels is wrong, which causes the "nollp" flag
is set for all channels even if HW supports llp.

Signed-off-by: Yitian Bu <yitian.bu@tangramtek.com>
---
 drivers/dma/dw/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
index cf1c87f..c2e9ac8 100644
--- a/drivers/dma/dw/core.c
+++ b/drivers/dma/dw/core.c
@@ -1591,7 +1591,7 @@ int dw_dma_probe(struct dw_dma_chip *chip, struct
dw_dma_platform_data *pdata)
 	INIT_LIST_HEAD(&dw->dma.channels);
 	for (i = 0; i < nr_channels; i++) {
 		struct dw_dma_chan	*dwc = &dw->chan[i];
-		int			r = nr_channels - i - 1;
+		int			r = DW_DMA_MAX_NR_CHANNELS - i - 1;
 
 		dwc->chan.device = &dw->dma;
 		dma_cookie_init(&dwc->chan);
-- 
1.7.12.4



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1233827

FromViresh Kumar <viresh.kumar@linaro.org>
Date2015-09-28 05:20 +0200
Message-ID<qdx8R-1Mj-7@gated-at.bofh.it>
In reply to#1233824
On Sun, Sep 27, 2015 at 7:55 PM, yitian <yitian.bu@tangramtek.com> wrote:
> when channel number is less than maximum number, the register
> address of all channels is wrong, which causes the "nollp" flag
> is set for all channels even if HW supports llp.
>
> Signed-off-by: Yitian Bu <yitian.bu@tangramtek.com>
> ---
>  drivers/dma/dw/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
> index cf1c87f..c2e9ac8 100644
> --- a/drivers/dma/dw/core.c
> +++ b/drivers/dma/dw/core.c
> @@ -1591,7 +1591,7 @@ int dw_dma_probe(struct dw_dma_chip *chip, struct
> dw_dma_platform_data *pdata)
>         INIT_LIST_HEAD(&dw->dma.channels);
>         for (i = 0; i < nr_channels; i++) {
>                 struct dw_dma_chan      *dwc = &dw->chan[i];
> -               int                     r = nr_channels - i - 1;
> +               int                     r = DW_DMA_MAX_NR_CHANNELS - i - 1;
>
>                 dwc->chan.device = &dw->dma;
>                 dma_cookie_init(&dwc->chan);

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1233897

FromAndy Shevchenko <andy.shevchenko@gmail.com>
Date2015-09-28 09:10 +0200
Message-ID<qdAJs-6Z2-21@gated-at.bofh.it>
In reply to#1233824
On Mon, Sep 28, 2015 at 5:55 AM, yitian <yitian.bu@tangramtek.com> wrote:
> when channel number is less than maximum number, the register
> address of all channels is wrong, which causes the "nollp" flag
> is set for all channels even if HW supports llp.
>

Thanks for the fix, though proper one is already under review here:
http://www.spinics.net/lists/dmaengine/msg06143.html

You might break a channel prioritization.

> Signed-off-by: Yitian Bu <yitian.bu@tangramtek.com>
> ---
>  drivers/dma/dw/core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
> index cf1c87f..c2e9ac8 100644
> --- a/drivers/dma/dw/core.c
> +++ b/drivers/dma/dw/core.c
> @@ -1591,7 +1591,7 @@ int dw_dma_probe(struct dw_dma_chip *chip, struct
> dw_dma_platform_data *pdata)
>         INIT_LIST_HEAD(&dw->dma.channels);
>         for (i = 0; i < nr_channels; i++) {
>                 struct dw_dma_chan      *dwc = &dw->chan[i];
> -               int                     r = nr_channels - i - 1;
> +               int                     r = DW_DMA_MAX_NR_CHANNELS - i - 1;
>
>                 dwc->chan.device = &dw->dma;
>                 dma_cookie_init(&dwc->chan);
> --
> 1.7.12.4
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/



-- 
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web