• Chris Metcalf's avatar
    tilegx pci: support I/O to arbitrarily-cached pages · bbaa22c3
    Chris Metcalf authored
    The tilegx PCI root complex support (currently only in linux-next)
    is limited to pages that are homed on cached in the default manner,
    i.e. "hash-for-home".  This change supports delivery of I/O data to
    pages that are cached in other ways (locally on a particular core,
    uncached, user-managed incoherent, etc.).
    
    A large part of the change is supporting flushing pages from cache
    on particular homes so that we can transition the data that we are
    delivering to or from the device appropriately.  The new homecache_finv*
    routines handle this.
    
    Some changes to page_table_range_init() were also required to make
    the fixmap code work correctly on tilegx; it hadn't been used there
    before.
    
    We also remove some stub mark_caches_evicted_*() routines that
    were just no-ops anyway.
    Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
    bbaa22c3
homecache.c 12.5 KB