video: rockchip: rga3: Specifies cores needs to check parameters

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I935fafac68a10d28ddcb7ee81e61965f7a489283
This commit is contained in:
Li Huang
2022-04-13 15:02:57 +08:00
committed by Tao Huang
parent a5becbbc70
commit bd2641355e

View File

@@ -211,6 +211,7 @@ int rga_job_assign(struct rga_job *job)
int feature;
int core = RGA_NONE_CORE;
int optional_cores = RGA_NONE_CORE;
int specified_cores = RGA_NONE_CORE;
int i;
int min_of_job_count = 0;
unsigned long flags;
@@ -220,10 +221,8 @@ int rga_job_assign(struct rga_job *job)
if (rga_base->core > RGA_CORE_MASK) {
pr_err("invalid setting core by user\n");
goto finish;
} else if (rga_base->core & RGA_CORE_MASK) {
optional_cores = rga_base->core;
goto skip_functional_policy;
}
} else if (rga_base->core & RGA_CORE_MASK)
specified_cores = rga_base->core;
}
feature = rga_set_feature(rga_base);
@@ -233,6 +232,10 @@ int rga_job_assign(struct rga_job *job)
data = rga_drvdata->scheduler[i]->data;
scheduler = rga_drvdata->scheduler[i];
if ((specified_cores != RGA_NONE_CORE) &&
(!(scheduler->core & specified_cores)))
continue;
if (DEBUGGER_EN(MSG))
pr_info("start policy on core = %d", scheduler->core);
@@ -316,7 +319,6 @@ int rga_job_assign(struct rga_job *job)
goto finish;
}
skip_functional_policy:
for (i = 0; i < rga_drvdata->num_of_scheduler; i++) {
scheduler = rga_drvdata->scheduler[i];