arm_gic: GICD_ICFGR: Write model only for pre v1 GICs
Setting the model is only available in pre-v1 GIC models. Acked-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de> Message-id: 1408372255-12358-3-git-send-email-adam@os.inf.tu-dresden.de Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
71a62046ae
commit
24b790df43
@ -561,10 +561,12 @@ static void gic_dist_writeb(void *opaque, hwaddr offset,
|
|||||||
if (irq < GIC_INTERNAL)
|
if (irq < GIC_INTERNAL)
|
||||||
value |= 0xaa;
|
value |= 0xaa;
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
if (value & (1 << (i * 2))) {
|
if (s->revision == REV_11MPCORE || s->revision == REV_NVIC) {
|
||||||
GIC_SET_MODEL(irq + i);
|
if (value & (1 << (i * 2))) {
|
||||||
} else {
|
GIC_SET_MODEL(irq + i);
|
||||||
GIC_CLEAR_MODEL(irq + i);
|
} else {
|
||||||
|
GIC_CLEAR_MODEL(irq + i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (value & (2 << (i * 2))) {
|
if (value & (2 << (i * 2))) {
|
||||||
GIC_SET_EDGE_TRIGGER(irq + i);
|
GIC_SET_EDGE_TRIGGER(irq + i);
|
||||||
|
Loading…
Reference in New Issue
Block a user