]> git.baikalelectronics.ru Git - arm-tf.git/commit
TF-A GIC driver: Add barrier before eoi
authorSandeep Tripathy <sandeep.tripathy@broadcom.com>
Fri, 5 Jun 2020 16:34:21 +0000 (22:04 +0530)
committerSandeep Tripathy <sandeep.tripathy@broadcom.com>
Mon, 22 Jun 2020 10:38:35 +0000 (16:08 +0530)
commit5eb16c4717ac08de7c627cb1ee47c3269f0ec363
treef0881455450d68e705244408e423ee886699724c
parent71c074c55291e38958ddcf5160dec0447f8fec73
TF-A GIC driver: Add barrier before eoi

It is desired to have the peripheral writes completed to clear the
interrupt condition and de-assert the interrupt request to GIC before
EOI write. Failing which spurious interrupt will occurred.

A barrier is needed to ensure peripheral register write transfers are
complete before EOI is done.

GICv2 memory mapped DEVICE nGnR(n)E writes are ordered from core point
of view. However these writes may pass over different interconnects,
bridges, buffers leaving some rare chances for the actual write to
complete out of order.

GICv3 ICC EOI system register writes have no ordering against nGnR(n)E
memory writes as they are over different interfaces.

Hence a dsb can ensure from core no writes are issued before the previous
writes are *complete*.

Signed-off-by: Sandeep Tripathy <sandeep.tripathy@broadcom.com>
Change-Id: Ie6362009e2f91955be99dca8ece14ade7b4811d6
drivers/arm/gic/v2/gicv2_main.c
include/drivers/arm/gicv3.h