From: b.zolnierkie@samsung.com (Bartlomiej Zolnierkiewicz)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC
Date: Thu, 08 Nov 2012 10:54:41 +0100 [thread overview]
Message-ID: <201211081054.41649.b.zolnierkie@samsung.com> (raw)
In-Reply-To: <0cea01cdbd6c$7ace7200$706b5600$%kim@samsung.com>
On Thursday 08 November 2012 05:49:47 Kukjin Kim wrote:
> Bartlomiej Zolnierkiewicz wrote:
> >
> > > Hmm...above change and adding definition of EXYNOS_PA_S_MDMA1 address
> > > can fix the problem you commented on EXYNOS4210 Rev0 without others?...
> >
> > The problem is affecting only EXYNOS4210 Rev0 and the fix is applied only
> > for case when soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_0,
> > or did you mean something else?
> >
> Yeah, I know. I mean just adding secure mdma1 address is enough for
> exynos4210 rev0.
>
> 8<-----
> @@ -275,6 +275,9 @@ static int __init exynos_dma_init(void)
> exynos_pdma1_pdata.nr_valid_peri =
> ARRAY_SIZE(exynos4210_pdma1_peri);
> exynos_pdma1_pdata.peri_id = exynos4210_pdma1_peri;
> +
> + if (samsung_rev() == EXYNOS4210_REV_0)
> + exynos_mdma1_device.res.start = EXYNOS4_PA_S_MDMA1;
> } else if (soc_is_exynos4212() || soc_is_exynos4412()) {
> exynos_pdma0_pdata.nr_valid_peri =
> ARRAY_SIZE(exynos4212_pdma0_peri);
> diff --git a/arch/arm/mach-exynos/include/mach/map.h
> b/arch/arm/mach-exynos/include/mach/map.h
> index 8480849..0abfe78 100644
> --- a/arch/arm/mach-exynos/include/mach/map.h
> +++ b/arch/arm/mach-exynos/include/mach/map.h
> @@ -90,6 +90,7 @@
>
> #define EXYNOS4_PA_MDMA0 0x10810000
> #define EXYNOS4_PA_MDMA1 0x12850000
> +#define EXYNOS4_PA_S_MDMA1 0x12840000
> #define EXYNOS4_PA_PDMA0 0x12680000
> #define EXYNOS4_PA_PDMA1 0x12690000
> #define EXYNOS5_PA_MDMA0 0x10800000
> 8<----
Ah, okay. Here is full simplified patch.
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Subject: [PATCH v2] ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC
Commit 8214513 ("ARM: EXYNOS: fix address for EXYNOS4 MDMA1")
changed EXYNOS specific setup of PL330 DMA engine to use 'non-secure'
mdma1 address instead of 'secure' one (from 0x12840000 to 0x12850000)
to fix issue with some Exynos4212 SOCs. Unfortunately it brakes
PL330 setup for revision 0 of Exynos4210 SOC (mdma1 device cannot
be found at 'non-secure' address):
[ 0.566245] dma-pl330 dma-pl330.2: PERIPH_ID 0x0, PCELL_ID 0x0 !
[ 0.566278] dma-pl330: probe of dma-pl330.2 failed with error -22
Fix it by using 'secure' mdma1 address on Exynos4210 revision 0 SOC.
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
arch/arm/mach-exynos/dma.c | 3 +++
arch/arm/mach-exynos/include/mach/map.h | 1 +
2 files changed, 4 insertions(+)
Index: b/arch/arm/mach-exynos/dma.c
===================================================================
--- a/arch/arm/mach-exynos/dma.c 2012-11-07 18:20:36.561743865 +0100
+++ b/arch/arm/mach-exynos/dma.c 2012-11-08 10:48:23.445067606 +0100
@@ -275,6 +275,9 @@ static int __init exynos_dma_init(void)
exynos_pdma1_pdata.nr_valid_peri =
ARRAY_SIZE(exynos4210_pdma1_peri);
exynos_pdma1_pdata.peri_id = exynos4210_pdma1_peri;
+
+ if (samsung_rev() == EXYNOS4210_REV_0)
+ exynos_mdma1_device.res.start = EXYNOS4_PA_S_MDMA1;
} else if (soc_is_exynos4212() || soc_is_exynos4412()) {
exynos_pdma0_pdata.nr_valid_peri =
ARRAY_SIZE(exynos4212_pdma0_peri);
Index: b/arch/arm/mach-exynos/include/mach/map.h
===================================================================
--- a/arch/arm/mach-exynos/include/mach/map.h 2012-11-07 18:20:44.801743862 +0100
+++ b/arch/arm/mach-exynos/include/mach/map.h 2012-11-08 10:48:40.597067605 +0100
@@ -92,6 +92,7 @@
#define EXYNOS4_PA_MDMA0 0x10810000
#define EXYNOS4_PA_MDMA1 0x12850000
+#define EXYNOS4_PA_S_MDMA1 0x12840000
#define EXYNOS4_PA_PDMA0 0x12680000
#define EXYNOS4_PA_PDMA1 0x12690000
#define EXYNOS5_PA_MDMA0 0x10800000
next prev parent reply other threads:[~2012-11-08 9:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-29 9:59 [PATCH 0/4] DMA: PL330 fixes Bartlomiej Zolnierkiewicz
2012-10-29 9:59 ` [PATCH 1/4] DMA: PL330: fix locking in pl330_free_chan_resources() Bartlomiej Zolnierkiewicz
2012-10-29 21:48 ` Jassi Brar
2012-11-30 10:59 ` Bartlomiej Zolnierkiewicz
2012-11-30 18:07 ` Vinod Koul
2012-12-12 15:08 ` Bartlomiej Zolnierkiewicz
2012-10-29 9:59 ` [PATCH 2/4] ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC Bartlomiej Zolnierkiewicz
2012-10-29 17:24 ` Kukjin Kim
2012-10-30 8:56 ` Bartlomiej Zolnierkiewicz
2012-11-08 4:49 ` Kukjin Kim
2012-11-08 9:54 ` Bartlomiej Zolnierkiewicz [this message]
2012-11-09 10:19 ` Kukjin Kim
2012-11-20 12:23 ` Kukjin Kim
2012-10-29 9:59 ` [PATCH 3/4] ARM: dts: exynos4: add node for PL330 MDMA1 controller Bartlomiej Zolnierkiewicz
2012-11-22 10:57 ` Bartlomiej Zolnierkiewicz
2012-11-23 1:56 ` Kukjin Kim
2012-10-29 9:59 ` [PATCH 4/4] DMA: PL330: add device tree property for DMA_MEMCPY capability Bartlomiej Zolnierkiewicz
2012-10-29 21:45 ` Jassi Brar
2012-10-30 9:21 ` Bartlomiej Zolnierkiewicz
2012-11-09 6:11 ` Jassi Brar
2012-11-30 10:56 ` Bartlomiej Zolnierkiewicz
2012-12-12 7:36 ` Jassi Brar
2012-12-12 15:04 ` Bartlomiej Zolnierkiewicz
2012-10-29 10:05 ` [PATCH 0/4] DMA: PL330 fixes Tomasz Figa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201211081054.41649.b.zolnierkie@samsung.com \
--to=b.zolnierkie@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox