These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / gpu / drm / drm_cache.c
index 9a62d7a..6743ff7 100644 (file)
@@ -130,11 +130,12 @@ drm_clflush_virt_range(void *addr, unsigned long length)
 {
 #if defined(CONFIG_X86)
        if (cpu_has_clflush) {
+               const int size = boot_cpu_data.x86_clflush_size;
                void *end = addr + length;
+               addr = (void *)(((unsigned long)addr) & -size);
                mb();
-               for (; addr < end; addr += boot_cpu_data.x86_clflush_size)
+               for (; addr < end; addr += size)
                        clflushopt(addr);
-               clflushopt(end - 1);
                mb();
                return;
        }