dma: ste_dma40: Parse flags property for new 'high priority channel' request
authorLee Jones <lee.jones@linaro.org>
Tue, 19 Nov 2013 11:07:41 +0000 (11:07 +0000)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 26 Nov 2013 20:01:58 +0000 (21:01 +0100)
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>
drivers/dma/ste_dma40.c

index b8c031b..00a2de9 100644 (file)
@@ -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);
 }