diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/common/edma.c | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c index fde56e2ba203..4df5d443b0b3 100644 --- a/arch/arm/common/edma.c +++ b/arch/arm/common/edma.c | |||
@@ -290,12 +290,6 @@ static void map_dmach_queue(unsigned ctlr, unsigned ch_no, | |||
290 | ~(0x7 << bit), queue_no << bit); | 290 | ~(0x7 << bit), queue_no << bit); |
291 | } | 291 | } |
292 | 292 | ||
293 | static void __init map_queue_tc(unsigned ctlr, int queue_no, int tc_no) | ||
294 | { | ||
295 | int bit = queue_no * 4; | ||
296 | edma_modify(ctlr, EDMA_QUETCMAP, ~(0x7 << bit), ((tc_no & 0x7) << bit)); | ||
297 | } | ||
298 | |||
299 | static void __init assign_priority_to_queue(unsigned ctlr, int queue_no, | 293 | static void __init assign_priority_to_queue(unsigned ctlr, int queue_no, |
300 | int priority) | 294 | int priority) |
301 | { | 295 | { |
@@ -1488,7 +1482,7 @@ static int edma_of_parse_dt(struct device *dev, | |||
1488 | struct property *prop; | 1482 | struct property *prop; |
1489 | size_t sz; | 1483 | size_t sz; |
1490 | struct edma_rsv_info *rsv_info; | 1484 | struct edma_rsv_info *rsv_info; |
1491 | s8 (*queue_tc_map)[2], (*queue_priority_map)[2]; | 1485 | s8 (*queue_priority_map)[2]; |
1492 | 1486 | ||
1493 | ret = of_property_read_u32(node, "dma-channels", &value); | 1487 | ret = of_property_read_u32(node, "dma-channels", &value); |
1494 | if (ret < 0) | 1488 | if (ret < 0) |
@@ -1513,19 +1507,6 @@ static int edma_of_parse_dt(struct device *dev, | |||
1513 | return -ENOMEM; | 1507 | return -ENOMEM; |
1514 | pdata->rsv = rsv_info; | 1508 | pdata->rsv = rsv_info; |
1515 | 1509 | ||
1516 | queue_tc_map = devm_kzalloc(dev, 8*sizeof(s8), GFP_KERNEL); | ||
1517 | if (!queue_tc_map) | ||
1518 | return -ENOMEM; | ||
1519 | |||
1520 | for (i = 0; i < 3; i++) { | ||
1521 | queue_tc_map[i][0] = i; | ||
1522 | queue_tc_map[i][1] = i; | ||
1523 | } | ||
1524 | queue_tc_map[i][0] = -1; | ||
1525 | queue_tc_map[i][1] = -1; | ||
1526 | |||
1527 | pdata->queue_tc_mapping = queue_tc_map; | ||
1528 | |||
1529 | queue_priority_map = devm_kzalloc(dev, 8*sizeof(s8), GFP_KERNEL); | 1510 | queue_priority_map = devm_kzalloc(dev, 8*sizeof(s8), GFP_KERNEL); |
1530 | if (!queue_priority_map) | 1511 | if (!queue_priority_map) |
1531 | return -ENOMEM; | 1512 | return -ENOMEM; |
@@ -1586,7 +1567,6 @@ static int edma_probe(struct platform_device *pdev) | |||
1586 | struct edma_soc_info **info = pdev->dev.platform_data; | 1567 | struct edma_soc_info **info = pdev->dev.platform_data; |
1587 | struct edma_soc_info *ninfo[EDMA_MAX_CC] = {NULL}; | 1568 | struct edma_soc_info *ninfo[EDMA_MAX_CC] = {NULL}; |
1588 | s8 (*queue_priority_mapping)[2]; | 1569 | s8 (*queue_priority_mapping)[2]; |
1589 | s8 (*queue_tc_mapping)[2]; | ||
1590 | int i, j, off, ln, found = 0; | 1570 | int i, j, off, ln, found = 0; |
1591 | int status = -1; | 1571 | int status = -1; |
1592 | const s16 (*rsv_chans)[2]; | 1572 | const s16 (*rsv_chans)[2]; |
@@ -1753,14 +1733,8 @@ static int edma_probe(struct platform_device *pdev) | |||
1753 | for (i = 0; i < edma_cc[j]->num_channels; i++) | 1733 | for (i = 0; i < edma_cc[j]->num_channels; i++) |
1754 | map_dmach_queue(j, i, info[j]->default_queue); | 1734 | map_dmach_queue(j, i, info[j]->default_queue); |
1755 | 1735 | ||
1756 | queue_tc_mapping = info[j]->queue_tc_mapping; | ||
1757 | queue_priority_mapping = info[j]->queue_priority_mapping; | 1736 | queue_priority_mapping = info[j]->queue_priority_mapping; |
1758 | 1737 | ||
1759 | /* Event queue to TC mapping */ | ||
1760 | for (i = 0; queue_tc_mapping[i][0] != -1; i++) | ||
1761 | map_queue_tc(j, queue_tc_mapping[i][0], | ||
1762 | queue_tc_mapping[i][1]); | ||
1763 | |||
1764 | /* Event queue priority mapping */ | 1738 | /* Event queue priority mapping */ |
1765 | for (i = 0; queue_priority_mapping[i][0] != -1; i++) | 1739 | for (i = 0; queue_priority_mapping[i][0] != -1; i++) |
1766 | assign_priority_to_queue(j, | 1740 | assign_priority_to_queue(j, |