All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
@ 2012-05-04  7:29 ` R Sricharan
  0 siblings, 0 replies; 6+ messages in thread
From: R Sricharan @ 2012-05-04  7:29 UTC (permalink / raw)
  To: linux-omap, linux-arm-kernel; +Cc: santosh.shilimkar, r.sricharan

The system dma module has capabiities register indicating
the support for descriptor loading, constant fill, etc.
Use this instead of OMAP revision check to identify the features
supported runtime.

This avoids patching the code for feature SOCs which has
those capabilities.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
---
 arch/arm/mach-omap2/dma.c             |   11 +++++++----
 arch/arm/plat-omap/include/plat/dma.h |    5 +++++
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/dma.c b/arch/arm/mach-omap2/dma.c
index b19d849..ff75abe 100644
--- a/arch/arm/mach-omap2/dma.c
+++ b/arch/arm/mach-omap2/dma.c
@@ -227,10 +227,6 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
 
 	dma_stride		= OMAP2_DMA_STRIDE;
 	dma_common_ch_start	= CSDP;
-	if (cpu_is_omap3630() || cpu_is_omap44xx())
-		dma_common_ch_end = CCDN;
-	else
-		dma_common_ch_end = CCFN;
 
 	p = kzalloc(sizeof(struct omap_system_dma_plat_info), GFP_KERNEL);
 	if (!p) {
@@ -277,6 +273,13 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
 		dev_err(&pdev->dev, "%s: kzalloc fail\n", __func__);
 		return -ENOMEM;
 	}
+
+	/* Check the capabilities register for descriptor loading feature */
+	if (dma_read(CAPS_0, 0) & DMA_HAS_DESCRIPTOR_CAPS)
+		dma_common_ch_end = CCDN;
+	else
+		dma_common_ch_end = CCFN;
+
 	return 0;
 }
 
diff --git a/arch/arm/plat-omap/include/plat/dma.h b/arch/arm/plat-omap/include/plat/dma.h
index dc562a5..7742204 100644
--- a/arch/arm/plat-omap/include/plat/dma.h
+++ b/arch/arm/plat-omap/include/plat/dma.h
@@ -312,6 +312,11 @@
 #define CLEAR_CSR_ON_READ		BIT(0xC)
 #define IS_WORD_16			BIT(0xD)
 
+/* Defines for DMA Capabilities */
+#define DMA_HAS_TRANSPARENT_CAPS	(0x1 << 18)
+#define DMA_HAS_CONSTANT_FILL_CAPS	(0x1 << 19)
+#define DMA_HAS_DESCRIPTOR_CAPS		(0x3 << 20)
+
 enum omap_reg_offsets {
 
 GCR,		GSCR,		GRST1,		HW_ID,
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
@ 2012-05-04  7:29 ` R Sricharan
  0 siblings, 0 replies; 6+ messages in thread
From: R Sricharan @ 2012-05-04  7:29 UTC (permalink / raw)
  To: linux-arm-kernel

The system dma module has capabiities register indicating
the support for descriptor loading, constant fill, etc.
Use this instead of OMAP revision check to identify the features
supported runtime.

This avoids patching the code for feature SOCs which has
those capabilities.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
---
 arch/arm/mach-omap2/dma.c             |   11 +++++++----
 arch/arm/plat-omap/include/plat/dma.h |    5 +++++
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/dma.c b/arch/arm/mach-omap2/dma.c
index b19d849..ff75abe 100644
--- a/arch/arm/mach-omap2/dma.c
+++ b/arch/arm/mach-omap2/dma.c
@@ -227,10 +227,6 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
 
 	dma_stride		= OMAP2_DMA_STRIDE;
 	dma_common_ch_start	= CSDP;
-	if (cpu_is_omap3630() || cpu_is_omap44xx())
-		dma_common_ch_end = CCDN;
-	else
-		dma_common_ch_end = CCFN;
 
 	p = kzalloc(sizeof(struct omap_system_dma_plat_info), GFP_KERNEL);
 	if (!p) {
@@ -277,6 +273,13 @@ static int __init omap2_system_dma_init_dev(struct omap_hwmod *oh, void *unused)
 		dev_err(&pdev->dev, "%s: kzalloc fail\n", __func__);
 		return -ENOMEM;
 	}
+
+	/* Check the capabilities register for descriptor loading feature */
+	if (dma_read(CAPS_0, 0) & DMA_HAS_DESCRIPTOR_CAPS)
+		dma_common_ch_end = CCDN;
+	else
+		dma_common_ch_end = CCFN;
+
 	return 0;
 }
 
diff --git a/arch/arm/plat-omap/include/plat/dma.h b/arch/arm/plat-omap/include/plat/dma.h
index dc562a5..7742204 100644
--- a/arch/arm/plat-omap/include/plat/dma.h
+++ b/arch/arm/plat-omap/include/plat/dma.h
@@ -312,6 +312,11 @@
 #define CLEAR_CSR_ON_READ		BIT(0xC)
 #define IS_WORD_16			BIT(0xD)
 
+/* Defines for DMA Capabilities */
+#define DMA_HAS_TRANSPARENT_CAPS	(0x1 << 18)
+#define DMA_HAS_CONSTANT_FILL_CAPS	(0x1 << 19)
+#define DMA_HAS_DESCRIPTOR_CAPS		(0x3 << 20)
+
 enum omap_reg_offsets {
 
 GCR,		GSCR,		GRST1,		HW_ID,
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
  2012-05-04  7:29 ` R Sricharan
@ 2012-05-04  7:32   ` Shilimkar, Santosh
  -1 siblings, 0 replies; 6+ messages in thread
From: Shilimkar, Santosh @ 2012-05-04  7:32 UTC (permalink / raw)
  To: R Sricharan; +Cc: linux-omap, linux-arm-kernel

On Fri, May 4, 2012 at 12:59 PM, R Sricharan <r.sricharan@ti.com> wrote:
> The system dma module has capabiities register indicating
> the support for descriptor loading, constant fill, etc.
> Use this instead of OMAP revision check to identify the features
> supported runtime.
>
> This avoids patching the code for feature SOCs which has
> those capabilities.
>
> Signed-off-by: R Sricharan <r.sricharan@ti.com>
> ---
>  arch/arm/mach-omap2/dma.c             |   11 +++++++----
>  arch/arm/plat-omap/include/plat/dma.h |    5 +++++
>  2 files changed, 12 insertions(+), 4 deletions(-)
>
Looks fine. Will add it to my clean-up series if no has
any objection on the patch.

Regards
Santosh
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
@ 2012-05-04  7:32   ` Shilimkar, Santosh
  0 siblings, 0 replies; 6+ messages in thread
From: Shilimkar, Santosh @ 2012-05-04  7:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, May 4, 2012 at 12:59 PM, R Sricharan <r.sricharan@ti.com> wrote:
> The system dma module has capabiities register indicating
> the support for descriptor loading, constant fill, etc.
> Use this instead of OMAP revision check to identify the features
> supported runtime.
>
> This avoids patching the code for feature SOCs which has
> those capabilities.
>
> Signed-off-by: R Sricharan <r.sricharan@ti.com>
> ---
> ?arch/arm/mach-omap2/dma.c ? ? ? ? ? ? | ? 11 +++++++----
> ?arch/arm/plat-omap/include/plat/dma.h | ? ?5 +++++
> ?2 files changed, 12 insertions(+), 4 deletions(-)
>
Looks fine. Will add it to my clean-up series if no has
any objection on the patch.

Regards
Santosh

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
  2012-05-04  7:32   ` Shilimkar, Santosh
@ 2012-05-04 17:53     ` Tony Lindgren
  -1 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2012-05-04 17:53 UTC (permalink / raw)
  To: Shilimkar, Santosh; +Cc: R Sricharan, linux-omap, linux-arm-kernel

* Shilimkar, Santosh <santosh.shilimkar@ti.com> [120504 00:37]:
> On Fri, May 4, 2012 at 12:59 PM, R Sricharan <r.sricharan@ti.com> wrote:
> > The system dma module has capabiities register indicating
> > the support for descriptor loading, constant fill, etc.
> > Use this instead of OMAP revision check to identify the features
> > supported runtime.
> >
> > This avoids patching the code for feature SOCs which has
> > those capabilities.
> >
> > Signed-off-by: R Sricharan <r.sricharan@ti.com>
> > ---
> >  arch/arm/mach-omap2/dma.c             |   11 +++++++----
> >  arch/arm/plat-omap/include/plat/dma.h |    5 +++++
> >  2 files changed, 12 insertions(+), 4 deletions(-)
> >
> Looks fine. Will add it to my clean-up series if no has
> any objection on the patch.

Yes this is nice.

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH] ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them.
@ 2012-05-04 17:53     ` Tony Lindgren
  0 siblings, 0 replies; 6+ messages in thread
From: Tony Lindgren @ 2012-05-04 17:53 UTC (permalink / raw)
  To: linux-arm-kernel

* Shilimkar, Santosh <santosh.shilimkar@ti.com> [120504 00:37]:
> On Fri, May 4, 2012 at 12:59 PM, R Sricharan <r.sricharan@ti.com> wrote:
> > The system dma module has capabiities register indicating
> > the support for descriptor loading, constant fill, etc.
> > Use this instead of OMAP revision check to identify the features
> > supported runtime.
> >
> > This avoids patching the code for feature SOCs which has
> > those capabilities.
> >
> > Signed-off-by: R Sricharan <r.sricharan@ti.com>
> > ---
> > ?arch/arm/mach-omap2/dma.c ? ? ? ? ? ? | ? 11 +++++++----
> > ?arch/arm/plat-omap/include/plat/dma.h | ? ?5 +++++
> > ?2 files changed, 12 insertions(+), 4 deletions(-)
> >
> Looks fine. Will add it to my clean-up series if no has
> any objection on the patch.

Yes this is nice.

Tony

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-05-04 17:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-04  7:29 [PATCH] ARM: OMAP2+: dma: Define dma capabilities register bitfields and use them R Sricharan
2012-05-04  7:29 ` R Sricharan
2012-05-04  7:32 ` Shilimkar, Santosh
2012-05-04  7:32   ` Shilimkar, Santosh
2012-05-04 17:53   ` Tony Lindgren
2012-05-04 17:53     ` Tony Lindgren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.