aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/ste_dma40.c
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-05-03 10:31:58 -0400
committerLinus Walleij <linus.walleij@linaro.org>2013-05-23 15:12:02 -0400
commit84b3da1498943840005d7d5652caf4fe6fd333e6 (patch)
tree5d02fa1a946f724fab05b302b270b6bb6f02c3a5 /drivers/dma/ste_dma40.c
parentdf7c9bbc246e6f173a2e718976aad7c163ed81ba (diff)
dmaengine: ste_dma40: Remove home-brew MAX() macro
The current implementation of the DMA40's local MAX() macro evaluates its arguments more times than is necessary and it not type checked. This patch strips replaces it with a new, more efficient constant. Cc: Dan Williams <djbw@fb.com> Cc: Per Forlin <per.forlin@stericsson.com> Cc: Rabin Vincent <rabin@rab.in> Acked-by: Vinod Koul <vinod.koul@intel.com> Reported-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/dma/ste_dma40.c')
-rw-r--r--drivers/dma/ste_dma40.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index 63495f6a36f9..367ef15a3cd8 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -53,8 +53,6 @@
53#define D40_ALLOC_PHY (1 << 30) 53#define D40_ALLOC_PHY (1 << 30)
54#define D40_ALLOC_LOG_FREE 0 54#define D40_ALLOC_LOG_FREE 0
55 55
56#define MAX(a, b) (((a) < (b)) ? (b) : (a))
57
58/* Reserved event lines for memcpy only. */ 56/* Reserved event lines for memcpy only. */
59#define DB8500_DMA_MEMCPY_EV_0 51 57#define DB8500_DMA_MEMCPY_EV_0 51
60#define DB8500_DMA_MEMCPY_EV_1 56 58#define DB8500_DMA_MEMCPY_EV_1 56
@@ -216,6 +214,9 @@ static u32 d40_backup_regs_chan[] = {
216 D40_CHAN_REG_SDLNK, 214 D40_CHAN_REG_SDLNK,
217}; 215};
218 216
217#define BACKUP_REGS_SZ_MAX ((BACKUP_REGS_SZ_V4A > BACKUP_REGS_SZ_V4B) ? \
218 BACKUP_REGS_SZ_V4A : BACKUP_REGS_SZ_V4B)
219
219/** 220/**
220 * struct d40_interrupt_lookup - lookup table for interrupt handler 221 * struct d40_interrupt_lookup - lookup table for interrupt handler
221 * 222 *
@@ -579,7 +580,7 @@ struct d40_base {
579 resource_size_t lcpa_size; 580 resource_size_t lcpa_size;
580 struct kmem_cache *desc_slab; 581 struct kmem_cache *desc_slab;
581 u32 reg_val_backup[BACKUP_REGS_SZ]; 582 u32 reg_val_backup[BACKUP_REGS_SZ];
582 u32 reg_val_backup_v4[MAX(BACKUP_REGS_SZ_V4A, BACKUP_REGS_SZ_V4B)]; 583 u32 reg_val_backup_v4[BACKUP_REGS_SZ_MAX];
583 u32 *reg_val_backup_chan; 584 u32 *reg_val_backup_chan;
584 u16 gcc_pwr_off_mask; 585 u16 gcc_pwr_off_mask;
585 bool initialized; 586 bool initialized;