forked from Minki/linux
ARM: davinci: Explicitly set channel controllers' default queues
Davinci platforms may define a default queue for each channel controller. If one is not defined, the default queue is set to EVENTQ_1. However, there's no way to distinguish between an unset default queue to one that is set to EVENTQ_0, as EVENTQ_0 = 0. Explicitly specify the default queue for all channel controllers on all Davinci platforms to EVENTQ_1, and don't overwrite it in the EDMA probe function. One exception is the DA850 board, for which EVENTQ_1 is not a valid option for its second channel controller. Use EVENTQ_0 instead for that channel controller. Signed-off-by: Ido Yariv <ido@wizery.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This commit is contained in:
parent
b6fd41e29d
commit
f23fe857bb
@ -136,6 +136,7 @@ static struct edma_soc_info da830_edma_cc0_info = {
|
||||
.n_cc = 1,
|
||||
.queue_tc_mapping = da8xx_queue_tc_mapping,
|
||||
.queue_priority_mapping = da8xx_queue_priority_mapping,
|
||||
.default_queue = EVENTQ_1,
|
||||
};
|
||||
|
||||
static struct edma_soc_info *da830_edma_info[EDMA_MAX_CC] = {
|
||||
@ -151,6 +152,7 @@ static struct edma_soc_info da850_edma_cc_info[] = {
|
||||
.n_cc = 1,
|
||||
.queue_tc_mapping = da8xx_queue_tc_mapping,
|
||||
.queue_priority_mapping = da8xx_queue_priority_mapping,
|
||||
.default_queue = EVENTQ_1,
|
||||
},
|
||||
{
|
||||
.n_channel = 32,
|
||||
@ -160,6 +162,7 @@ static struct edma_soc_info da850_edma_cc_info[] = {
|
||||
.n_cc = 1,
|
||||
.queue_tc_mapping = da850_queue_tc_mapping,
|
||||
.queue_priority_mapping = da850_queue_priority_mapping,
|
||||
.default_queue = EVENTQ_0,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -80,6 +80,7 @@ static struct edma_soc_info edma_cc0_info = {
|
||||
.n_cc = 1,
|
||||
.queue_tc_mapping = edma_tc_mapping,
|
||||
.queue_priority_mapping = edma_priority_mapping,
|
||||
.default_queue = EVENTQ_1,
|
||||
};
|
||||
|
||||
static struct edma_soc_info *tnetv107x_edma_info[EDMA_MAX_CC] = {
|
||||
|
@ -591,6 +591,7 @@ static struct edma_soc_info edma_cc0_info = {
|
||||
.n_cc = 1,
|
||||
.queue_tc_mapping = queue_tc_mapping,
|
||||
.queue_priority_mapping = queue_priority_mapping,
|
||||
.default_queue = EVENTQ_1,
|
||||
};
|
||||
|
||||
static struct edma_soc_info *dm355_edma_info[EDMA_MAX_CC] = {
|
||||
|
@ -514,6 +514,7 @@ static struct edma_soc_info edma_cc0_info = {
|
||||
.n_cc = 1,
|
||||
.queue_tc_mapping = queue_tc_mapping,
|
||||
.queue_priority_mapping = queue_priority_mapping,
|
||||
.default_queue = EVENTQ_1,
|
||||
};
|
||||
|
||||
static struct edma_soc_info *dm644x_edma_info[EDMA_MAX_CC] = {
|
||||
|
@ -555,6 +555,7 @@ static struct edma_soc_info edma_cc0_info = {
|
||||
.n_cc = 1,
|
||||
.queue_tc_mapping = dm646x_queue_tc_mapping,
|
||||
.queue_priority_mapping = dm646x_queue_priority_mapping,
|
||||
.default_queue = EVENTQ_1,
|
||||
};
|
||||
|
||||
static struct edma_soc_info *dm646x_edma_info[EDMA_MAX_CC] = {
|
||||
|
@ -1450,8 +1450,6 @@ static int __init edma_probe(struct platform_device *pdev)
|
||||
EDMA_MAX_CC);
|
||||
|
||||
edma_cc[j]->default_queue = info[j]->default_queue;
|
||||
if (!edma_cc[j]->default_queue)
|
||||
edma_cc[j]->default_queue = EVENTQ_1;
|
||||
|
||||
dev_dbg(&pdev->dev, "DMA REG BASE ADDR=%p\n",
|
||||
edmacc_regs_base[j]);
|
||||
|
Loading…
Reference in New Issue
Block a user