summaryrefslogtreecommitdiffstats
path: root/drivers/dma/ste_dma40.c
diff options
context:
space:
mode:
authorLee Jones2013-11-19 12:07:41 +0100
committerLinus Walleij2013-11-26 21:01:58 +0100
commitbddd5a2bb335b101dc75233aea313b01d3459603 (patch)
treef1e398745ef06d31bb5ddbbee91ce71194d6d9df /drivers/dma/ste_dma40.c
parentdma: ste_dma40: Expand DT binding to accept 'high-priority channel' flag (diff)
downloadkernel-qcow2-linux-bddd5a2bb335b101dc75233aea313b01d3459603.tar.gz
kernel-qcow2-linux-bddd5a2bb335b101dc75233aea313b01d3459603.tar.xz
kernel-qcow2-linux-bddd5a2bb335b101dc75233aea313b01d3459603.zip
dma: ste_dma40: Parse flags property for new 'high priority channel' request
This is used for MSP (audio) devices which is about to be fully DT:ed. Acked-by: Vinod Koul <vinod.koul@intel.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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index b8c031b7de4e..00a2de957b23 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -2409,6 +2409,7 @@ static void d40_set_prio_realtime(struct d40_chan *d40c)
#define D40_DT_FLAGS_DIR(flags) ((flags >> 1) & 0x1)
#define D40_DT_FLAGS_BIG_ENDIAN(flags) ((flags >> 2) & 0x1)
#define D40_DT_FLAGS_FIXED_CHAN(flags) ((flags >> 3) & 0x1)
+#define D40_DT_FLAGS_HIGH_PRIO(flags) ((flags >> 4) & 0x1)
static struct dma_chan *d40_xlate(struct of_phandle_args *dma_spec,
struct of_dma *ofdma)
@@ -2446,6 +2447,9 @@ static struct dma_chan *d40_xlate(struct of_phandle_args *dma_spec,
cfg.use_fixed_channel = true;
}
+ if (D40_DT_FLAGS_HIGH_PRIO(flags))
+ cfg.high_priority = true;
+
return dma_request_channel(cap, stedma40_filter, &cfg);
}