Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1233824 > unrolled thread
| Started by | "yitian" <yitian.bu@tangramtek.com> |
|---|---|
| First post | 2015-09-28 05:00 +0200 |
| Last post | 2015-09-28 09:10 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
[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
| From | "yitian" <yitian.bu@tangramtek.com> |
|---|---|
| Date | 2015-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]
| From | Viresh Kumar <viresh.kumar@linaro.org> |
|---|---|
| Date | 2015-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]
| From | Andy Shevchenko <andy.shevchenko@gmail.com> |
|---|---|
| Date | 2015-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