提交 245285bb 编写于 作者: Y Yang Yingliang 提交者: Xie XiuQi

Revert "irq-gic-v3-its: It can't be initialized when the GICR had been cut"

ascend inclusion
category: bugfix
bugzilla: NA
CVE: NA

------------

It's specific code for ascend, so remove it.

This reverts commit 7e01980562a4e4acd2c471181c3001450de4cca0.
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 c8e2a437
...@@ -2420,7 +2420,6 @@ static void its_cpu_init_lpis_others(void __iomem *rbase, int cpu) ...@@ -2420,7 +2420,6 @@ static void its_cpu_init_lpis_others(void __iomem *rbase, int cpu)
static void its_cpu_init_collection_others(void __iomem *rbase, static void its_cpu_init_collection_others(void __iomem *rbase,
phys_addr_t phys_base, int cpu) phys_addr_t phys_base, int cpu)
{ {
u32 count;
struct its_node *its; struct its_node *its;
raw_spin_lock(&its_lock); raw_spin_lock(&its_lock);
...@@ -2446,32 +2445,6 @@ static void its_cpu_init_collection_others(void __iomem *rbase, ...@@ -2446,32 +2445,6 @@ static void its_cpu_init_collection_others(void __iomem *rbase,
target = GICR_TYPER_CPU_NUMBER(target) << 16; target = GICR_TYPER_CPU_NUMBER(target) << 16;
} }
dsb(sy);
/* In FPGA, We need to check if the gicr has been cut,
* and if it is, it can't be initialized
*/
count = 2000;
while (1) {
if (readl_relaxed(rbase + GICR_SYNCR) == 0)
break;
count--;
if (!count) {
pr_err("this gicr does not exist, or it's abnormal:%pK\n",
&phys_base);
break;
}
cpu_relax();
udelay(1);
}
if (count == 0)
break;
pr_info("its init other collection table, ITS:%pK, GICR:%pK, coreId:%u\n",
&its->phys_base, &phys_base, cpu);
/* Perform collection mapping */ /* Perform collection mapping */
its->collections[cpu].target_address = target; its->collections[cpu].target_address = target;
its->collections[cpu].col_id = cpu; its->collections[cpu].col_id = cpu;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册