• Christian König's avatar
    drm/ttm: stop dangerous caching attribute change · db9c1734
    Christian König authored
    When we swapout/in a BO we try to change the caching
    attributes of the pages before/after doing the copy.
    
    On x86 this is done by calling set_pages_uc(),
    set_memory_wc() or set_pages_wb() for not highmem pages
    to update the linear mapping of the page.
    
    On all other platforms we do exactly nothing.
    
    Now on x86 this is unnecessary because copy_highpage() will
    either create a temporary mapping of the page which is wb
    anyway and destroyed immediately again or use the linear
    mapping with the correct caching attributes.
    
    So stop this nonsense and just keep the caching as it is and
    return an error when a driver tries to change the caching of
    an already populated TT object.
    
    This is much more defensive since changing caching
    attributes is platform and driver specific and usually
    doesn't work after the page was initially allocated.
    Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
    Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Link: https://patchwork.freedesktop.org/patch/391293/
    db9c1734
ttm_bo.c 38.7 KB