aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2015-03-11 11:30:58 -0400
committerVinod Koul <vinod.koul@intel.com>2015-03-18 04:23:33 -0400
commita572460be9cfb423c60275943f7921003b8cd372 (patch)
tree87cd4ec32923fc47b0e66a7a12623ed75174c69e /drivers/dma
parent937abe88aea3161cd3a563e577fc9cf4522c7aad (diff)
dmaengine: imx-sdma: Add support for version 3 firmware
Currently when version 3.1 of the mx6q SDMA firmware is used we get: [ 0.392169] imx-sdma 20ec000.sdma: unknown firmware version [ 0.399281] imx-sdma 20ec000.sdma: initialized Add support for it. Based on a patch from Shengjiu Wang from the internal FSL kernel. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/imx-sdma.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 18c0a131e4e4..eb10109c55ad 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -1256,6 +1256,7 @@ static void sdma_issue_pending(struct dma_chan *chan)
1256 1256
1257#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1 34 1257#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1 34
1258#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V2 38 1258#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V2 38
1259#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3 41
1259 1260
1260static void sdma_add_scripts(struct sdma_engine *sdma, 1261static void sdma_add_scripts(struct sdma_engine *sdma,
1261 const struct sdma_script_start_addrs *addr) 1262 const struct sdma_script_start_addrs *addr)
@@ -1302,6 +1303,9 @@ static void sdma_load_firmware(const struct firmware *fw, void *context)
1302 case 2: 1303 case 2:
1303 sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V2; 1304 sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V2;
1304 break; 1305 break;
1306 case 3:
1307 sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3;
1308 break;
1305 default: 1309 default:
1306 dev_err(sdma->dev, "unknown firmware version\n"); 1310 dev_err(sdma->dev, "unknown firmware version\n");
1307 goto err_firmware; 1311 goto err_firmware;