• Florian Fainelli's avatar
    ARM: 8725/1: Add Broadcom Brahma-B15 readahead cache support · f6f9be1c
    Florian Fainelli authored
    This patch adds support for the Broadcom Brahma-B15 CPU readahead cache
    controller. This cache controller sits between the L2 and the memory bus
    and its purpose is to provide a friendler burst size towards the DDR
    interface than the native cache line size.
    
    The readahead cache is mostly transparent, except for
    flush_kern_cache_all, which is precisely what we are overriding here.
    
    The readahead cache only intercepts reads, and does invalidate on
    writes (IOW), as such, some data can remain stale in any of its buffers, such
    that we need to flush it, which is an operation that needs to happen in
    a particular order:
    
    - disable the readahead cache
    - flush it
    - call the appropriate cache-v7.S function
    - re-enable
    
    This patch tries to minimize the impact to the cache-v7.S file by only
    providing a stub in case CONFIG_CACHE_B15_RAC is enabled (default for
    ARCH_BRCMSTB since it is the current user).
    Signed-off-by: default avatarAlamy Liu <alamyliu@broadcom.com>
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    f6f9be1c
cache-b15-rac.c 4.73 KB