• Nicolas Pitre's avatar
    ARM: 8009/1: dcscb.c: remove call to outer_flush_all() · c9d347e0
    Nicolas Pitre authored
    Strictly speaking this call is a no-op on the platform where dcscb.c is
    used since it only has architected caches.  The call was there as a hint
    to people inspired by this code when writing their own backend, but the
    hint might not always be correct.
    
    For example, if a PL310 were to be used it wouldn't be safe to call
    the regular outer_flush_all() as atomic instructions for locking
    are involved in that case and those instructions cannot be assumed to
    still be operational after v7_exit_coherency_flush() has returned.
    Given no other CPUs (in the cluster) should be running at that point
    then standard concurrency concerns wouldn't apply.
    
    So let's simply kill this call for now and enhance the existing comment.
    Signed-off-by: default avatarNicolas Pitre <nico@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    c9d347e0
dcscb.c 6.22 KB