Skip to content

Commit

Permalink
ARM: OMAP2+: dma: Define dma capabilities register bitfields and use …
Browse files Browse the repository at this point in the history
…them.

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>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
  • Loading branch information
R Sricharan authored and Santosh Shilimkar committed May 8, 2012
1 parent 7d6e11e commit f6d5e07
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
11 changes: 7 additions & 4 deletions arch/arm/mach-omap2/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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;
}

Expand Down
5 changes: 5 additions & 0 deletions arch/arm/plat-omap/include/plat/dma.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit f6d5e07

Please sign in to comment.