mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
irqchip/gic-v3-its: force to config its tables as no-inner-cache in rk356x
Change-Id: Idebfe94622cbb8169f4d464a3152c7828683c72c Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
This commit is contained in:
committed by
Tao Huang
parent
a9d1129997
commit
44cbfbc637
@@ -2354,6 +2354,10 @@ retry_baser:
|
||||
its_write_baser(its, baser, val);
|
||||
tmp = baser->val;
|
||||
|
||||
if (of_machine_is_compatible("rockchip,rk3568") ||
|
||||
of_machine_is_compatible("rockchip,rk3566"))
|
||||
tmp &= ~GITS_BASER_SHAREABILITY_MASK;
|
||||
|
||||
if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) {
|
||||
/*
|
||||
* Shareability didn't stick. Just use
|
||||
@@ -3085,6 +3089,10 @@ static void its_cpu_init_lpis(void)
|
||||
gicr_write_propbaser(val, rbase + GICR_PROPBASER);
|
||||
tmp = gicr_read_propbaser(rbase + GICR_PROPBASER);
|
||||
|
||||
if (of_machine_is_compatible("rockchip,rk3568") ||
|
||||
of_machine_is_compatible("rockchip,rk3566"))
|
||||
tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK;
|
||||
|
||||
if ((tmp ^ val) & GICR_PROPBASER_SHAREABILITY_MASK) {
|
||||
if (!(tmp & GICR_PROPBASER_SHAREABILITY_MASK)) {
|
||||
/*
|
||||
@@ -3109,6 +3117,10 @@ static void its_cpu_init_lpis(void)
|
||||
gicr_write_pendbaser(val, rbase + GICR_PENDBASER);
|
||||
tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER);
|
||||
|
||||
if (of_machine_is_compatible("rockchip,rk3568") ||
|
||||
of_machine_is_compatible("rockchip,rk3566"))
|
||||
tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK;
|
||||
|
||||
if (!(tmp & GICR_PENDBASER_SHAREABILITY_MASK)) {
|
||||
/*
|
||||
* The HW reports non-shareable, we must remove the
|
||||
@@ -5068,6 +5080,10 @@ static int __init its_probe_one(struct resource *res,
|
||||
gits_write_cbaser(baser, its->base + GITS_CBASER);
|
||||
tmp = gits_read_cbaser(its->base + GITS_CBASER);
|
||||
|
||||
if (of_machine_is_compatible("rockchip,rk3568") ||
|
||||
of_machine_is_compatible("rockchip,rk3566"))
|
||||
tmp &= ~GITS_CBASER_SHAREABILITY_MASK;
|
||||
|
||||
if ((tmp ^ baser) & GITS_CBASER_SHAREABILITY_MASK) {
|
||||
if (!(tmp & GITS_CBASER_SHAREABILITY_MASK)) {
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user