Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

m68k/mm: move {cache,nocahe}_page() definitions close to their user

The cache_page() and nocache_page() functions are only used by the
motorola MMU variant for setting caching attributes for the page table
pages.

Move the definitions of these functions from
arch/m68k/include/asm/motorola_pgtable.h closer to their usage in
arch/m68k/mm/motorola.c and drop unused definition in
arch/m68k/include/asm/mcf_pgtable.h.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Greg Ungerer <gerg@linux-m68k.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: Guan Xuetao <gxt@pku.edu.cn>
Cc: Guo Ren <guoren@kernel.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Nick Hu <nickhu@andestech.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Stafford Horne <shorne@gmail.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Vincent Chen <deanbo422@gmail.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: http://lkml.kernel.org/r/20200514170327.31389-7-rppt@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Mike Rapoport and committed by
Linus Torvalds
1bcdc68d e73240be

+43 -84
-40
arch/m68k/include/asm/mcf_pgtable.h
··· 329 329 ((pte_t *) __pmd_page(*(dir)) + __pte_offset(address)) 330 330 331 331 /* 332 - * Disable caching for page at given kernel virtual address. 333 - */ 334 - static inline void nocache_page(void *vaddr) 335 - { 336 - pgd_t *dir; 337 - p4d_t *p4dp; 338 - pud_t *pudp; 339 - pmd_t *pmdp; 340 - pte_t *ptep; 341 - unsigned long addr = (unsigned long) vaddr; 342 - 343 - dir = pgd_offset_k(addr); 344 - p4dp = p4d_offset(dir, addr); 345 - pudp = pud_offset(p4dp, addr); 346 - pmdp = pmd_offset(pudp, addr); 347 - ptep = pte_offset_kernel(pmdp, addr); 348 - *ptep = pte_mknocache(*ptep); 349 - } 350 - 351 - /* 352 - * Enable caching for page at given kernel virtual address. 353 - */ 354 - static inline void cache_page(void *vaddr) 355 - { 356 - pgd_t *dir; 357 - p4d_t *p4dp; 358 - pud_t *pudp; 359 - pmd_t *pmdp; 360 - pte_t *ptep; 361 - unsigned long addr = (unsigned long) vaddr; 362 - 363 - dir = pgd_offset_k(addr); 364 - p4dp = p4d_offset(dir, addr); 365 - pudp = pud_offset(p4dp, addr); 366 - pmdp = pmd_offset(pudp, addr); 367 - ptep = pte_offset_kernel(pmdp, addr); 368 - *ptep = pte_mkcache(*ptep); 369 - } 370 - 371 - /* 372 332 * Encode and de-code a swap entry (must be !pte_none(e) && !pte_present(e)) 373 333 */ 374 334 #define __swp_type(x) ((x).val & 0xFF)
-44
arch/m68k/include/asm/motorola_pgtable.h
··· 227 227 #define pte_offset_map(pmdp,address) ((pte_t *)__pmd_page(*pmdp) + (((address) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))) 228 228 #define pte_unmap(pte) ((void)0) 229 229 230 - /* Prior to calling these routines, the page should have been flushed 231 - * from both the cache and ATC, or the CPU might not notice that the 232 - * cache setting for the page has been changed. -jskov 233 - */ 234 - static inline void nocache_page(void *vaddr) 235 - { 236 - unsigned long addr = (unsigned long)vaddr; 237 - 238 - if (CPU_IS_040_OR_060) { 239 - pgd_t *dir; 240 - p4d_t *p4dp; 241 - pud_t *pudp; 242 - pmd_t *pmdp; 243 - pte_t *ptep; 244 - 245 - dir = pgd_offset_k(addr); 246 - p4dp = p4d_offset(dir, addr); 247 - pudp = pud_offset(p4dp, addr); 248 - pmdp = pmd_offset(pudp, addr); 249 - ptep = pte_offset_kernel(pmdp, addr); 250 - *ptep = pte_mknocache(*ptep); 251 - } 252 - } 253 - 254 - static inline void cache_page(void *vaddr) 255 - { 256 - unsigned long addr = (unsigned long)vaddr; 257 - 258 - if (CPU_IS_040_OR_060) { 259 - pgd_t *dir; 260 - p4d_t *p4dp; 261 - pud_t *pudp; 262 - pmd_t *pmdp; 263 - pte_t *ptep; 264 - 265 - dir = pgd_offset_k(addr); 266 - p4dp = p4d_offset(dir, addr); 267 - pudp = pud_offset(p4dp, addr); 268 - pmdp = pmd_offset(pudp, addr); 269 - ptep = pte_offset_kernel(pmdp, addr); 270 - *ptep = pte_mkcache(*ptep); 271 - } 272 - } 273 - 274 230 /* Encode and de-code a swap entry (must be !pte_none(e) && !pte_present(e)) */ 275 231 #define __swp_type(x) (((x).val >> 4) & 0xff) 276 232 #define __swp_offset(x) ((x).val >> 12)
+43
arch/m68k/mm/motorola.c
··· 45 45 EXPORT_SYMBOL(mm_cachebits); 46 46 #endif 47 47 48 + /* Prior to calling these routines, the page should have been flushed 49 + * from both the cache and ATC, or the CPU might not notice that the 50 + * cache setting for the page has been changed. -jskov 51 + */ 52 + static inline void nocache_page(void *vaddr) 53 + { 54 + unsigned long addr = (unsigned long)vaddr; 55 + 56 + if (CPU_IS_040_OR_060) { 57 + pgd_t *dir; 58 + p4d_t *p4dp; 59 + pud_t *pudp; 60 + pmd_t *pmdp; 61 + pte_t *ptep; 62 + 63 + dir = pgd_offset_k(addr); 64 + p4dp = p4d_offset(dir, addr); 65 + pudp = pud_offset(p4dp, addr); 66 + pmdp = pmd_offset(pudp, addr); 67 + ptep = pte_offset_kernel(pmdp, addr); 68 + *ptep = pte_mknocache(*ptep); 69 + } 70 + } 71 + 72 + static inline void cache_page(void *vaddr) 73 + { 74 + unsigned long addr = (unsigned long)vaddr; 75 + 76 + if (CPU_IS_040_OR_060) { 77 + pgd_t *dir; 78 + p4d_t *p4dp; 79 + pud_t *pudp; 80 + pmd_t *pmdp; 81 + pte_t *ptep; 82 + 83 + dir = pgd_offset_k(addr); 84 + p4dp = p4d_offset(dir, addr); 85 + pudp = pud_offset(p4dp, addr); 86 + pmdp = pmd_offset(pudp, addr); 87 + ptep = pte_offset_kernel(pmdp, addr); 88 + *ptep = pte_mkcache(*ptep); 89 + } 90 + } 48 91 49 92 /* 50 93 * Motorola 680x0 user's manual recommends using uncached memory for address