diff options
| author | Kukjin Kim <kgene.kim@samsung.com> | 2014-05-30 13:36:49 -0400 |
|---|---|---|
| committer | Kukjin Kim <kgene.kim@samsung.com> | 2014-05-30 13:36:49 -0400 |
| commit | fced6dee29f6fb143fe16ea90331176ff77e6120 (patch) | |
| tree | 5b6e57e7a757adc2a6518ce291a4d2914397b917 /arch/arm/include | |
| parent | bfed1074f213051e94648bfad0d0611a16d81366 (diff) | |
| parent | be1f7c8d7e2bc8b8c76846aa6f276e8d2ef8975a (diff) | |
Merge branch 'v3.16-next/cleanup-samsung' into v3.16-next/platform-exynos
Diffstat (limited to 'arch/arm/include')
| -rw-r--r-- | arch/arm/include/asm/cputype.h | 14 | ||||
| -rw-r--r-- | arch/arm/include/asm/div64.h | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/mcpm.h | 7 | ||||
| -rw-r--r-- | arch/arm/include/asm/tlb.h | 12 | ||||
| -rw-r--r-- | arch/arm/include/debug/s3c24xx.S | 46 | ||||
| -rw-r--r-- | arch/arm/include/uapi/asm/unistd.h | 1 |
6 files changed, 73 insertions, 9 deletions
diff --git a/arch/arm/include/asm/cputype.h b/arch/arm/include/asm/cputype.h index c651e3b26ec7..4764344367d4 100644 --- a/arch/arm/include/asm/cputype.h +++ b/arch/arm/include/asm/cputype.h | |||
| @@ -222,22 +222,22 @@ static inline int cpu_is_xsc3(void) | |||
| 222 | #endif | 222 | #endif |
| 223 | 223 | ||
| 224 | /* | 224 | /* |
| 225 | * Marvell's PJ4 core is based on V7 version. It has some modification | 225 | * Marvell's PJ4 and PJ4B cores are based on V7 version, |
| 226 | * for coprocessor setting. For this reason, we need a way to distinguish | 226 | * but require a specical sequence for enabling coprocessors. |
| 227 | * it. | 227 | * For this reason, we need a way to distinguish them. |
| 228 | */ | 228 | */ |
| 229 | #ifndef CONFIG_CPU_PJ4 | 229 | #if defined(CONFIG_CPU_PJ4) || defined(CONFIG_CPU_PJ4B) |
| 230 | #define cpu_is_pj4() 0 | ||
| 231 | #else | ||
| 232 | static inline int cpu_is_pj4(void) | 230 | static inline int cpu_is_pj4(void) |
| 233 | { | 231 | { |
| 234 | unsigned int id; | 232 | unsigned int id; |
| 235 | 233 | ||
| 236 | id = read_cpuid_id(); | 234 | id = read_cpuid_id(); |
| 237 | if ((id & 0xfffffff0) == 0x562f5840) | 235 | if ((id & 0xff0fff00) == 0x560f5800) |
| 238 | return 1; | 236 | return 1; |
| 239 | 237 | ||
| 240 | return 0; | 238 | return 0; |
| 241 | } | 239 | } |
| 240 | #else | ||
| 241 | #define cpu_is_pj4() 0 | ||
| 242 | #endif | 242 | #endif |
| 243 | #endif | 243 | #endif |
diff --git a/arch/arm/include/asm/div64.h b/arch/arm/include/asm/div64.h index 191ada6e4d2d..662c7bd06108 100644 --- a/arch/arm/include/asm/div64.h +++ b/arch/arm/include/asm/div64.h | |||
| @@ -156,7 +156,7 @@ | |||
| 156 | /* Select the best insn combination to perform the */ \ | 156 | /* Select the best insn combination to perform the */ \ |
| 157 | /* actual __m * __n / (__p << 64) operation. */ \ | 157 | /* actual __m * __n / (__p << 64) operation. */ \ |
| 158 | if (!__c) { \ | 158 | if (!__c) { \ |
| 159 | asm ( "umull %Q0, %R0, %1, %Q2\n\t" \ | 159 | asm ( "umull %Q0, %R0, %Q1, %Q2\n\t" \ |
| 160 | "mov %Q0, #0" \ | 160 | "mov %Q0, #0" \ |
| 161 | : "=&r" (__res) \ | 161 | : "=&r" (__res) \ |
| 162 | : "r" (__m), "r" (__n) \ | 162 | : "r" (__m), "r" (__n) \ |
diff --git a/arch/arm/include/asm/mcpm.h b/arch/arm/include/asm/mcpm.h index 608516ebabfe..a5ff410dcdb6 100644 --- a/arch/arm/include/asm/mcpm.h +++ b/arch/arm/include/asm/mcpm.h | |||
| @@ -54,6 +54,13 @@ void mcpm_set_early_poke(unsigned cpu, unsigned cluster, | |||
| 54 | */ | 54 | */ |
| 55 | 55 | ||
| 56 | /** | 56 | /** |
| 57 | * mcpm_is_available - returns whether MCPM is initialized and available | ||
| 58 | * | ||
| 59 | * This returns true or false accordingly. | ||
| 60 | */ | ||
| 61 | bool mcpm_is_available(void); | ||
| 62 | |||
| 63 | /** | ||
| 57 | * mcpm_cpu_power_up - make given CPU in given cluster runable | 64 | * mcpm_cpu_power_up - make given CPU in given cluster runable |
| 58 | * | 65 | * |
| 59 | * @cpu: CPU number within given cluster | 66 | * @cpu: CPU number within given cluster |
diff --git a/arch/arm/include/asm/tlb.h b/arch/arm/include/asm/tlb.h index 0baf7f0d9394..f1a0dace3efe 100644 --- a/arch/arm/include/asm/tlb.h +++ b/arch/arm/include/asm/tlb.h | |||
| @@ -98,15 +98,25 @@ static inline void __tlb_alloc_page(struct mmu_gather *tlb) | |||
| 98 | } | 98 | } |
| 99 | } | 99 | } |
| 100 | 100 | ||
| 101 | static inline void tlb_flush_mmu(struct mmu_gather *tlb) | 101 | static inline void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb) |
| 102 | { | 102 | { |
| 103 | tlb_flush(tlb); | 103 | tlb_flush(tlb); |
| 104 | } | ||
| 105 | |||
| 106 | static inline void tlb_flush_mmu_free(struct mmu_gather *tlb) | ||
| 107 | { | ||
| 104 | free_pages_and_swap_cache(tlb->pages, tlb->nr); | 108 | free_pages_and_swap_cache(tlb->pages, tlb->nr); |
| 105 | tlb->nr = 0; | 109 | tlb->nr = 0; |
| 106 | if (tlb->pages == tlb->local) | 110 | if (tlb->pages == tlb->local) |
| 107 | __tlb_alloc_page(tlb); | 111 | __tlb_alloc_page(tlb); |
| 108 | } | 112 | } |
| 109 | 113 | ||
| 114 | static inline void tlb_flush_mmu(struct mmu_gather *tlb) | ||
| 115 | { | ||
| 116 | tlb_flush_mmu_tlbonly(tlb); | ||
| 117 | tlb_flush_mmu_free(tlb); | ||
| 118 | } | ||
| 119 | |||
| 110 | static inline void | 120 | static inline void |
| 111 | tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end) | 121 | tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end) |
| 112 | { | 122 | { |
diff --git a/arch/arm/include/debug/s3c24xx.S b/arch/arm/include/debug/s3c24xx.S new file mode 100644 index 000000000000..b1f54dc4888c --- /dev/null +++ b/arch/arm/include/debug/s3c24xx.S | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | /* arch/arm/mach-s3c2410/include/mach/debug-macro.S | ||
| 2 | * | ||
| 3 | * Debugging macro include header | ||
| 4 | * | ||
| 5 | * Copyright (C) 1994-1999 Russell King | ||
| 6 | * Copyright (C) 2005 Simtec Electronics | ||
| 7 | * | ||
| 8 | * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License version 2 as | ||
| 12 | * published by the Free Software Foundation. | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include <linux/serial_s3c.h> | ||
| 16 | |||
| 17 | #define S3C2410_UART1_OFF (0x4000) | ||
| 18 | |||
| 19 | .macro addruart, rp, rv, tmp | ||
| 20 | ldr \rp, = CONFIG_DEBUG_UART_PHYS | ||
| 21 | ldr \rv, = CONFIG_DEBUG_UART_VIRT | ||
| 22 | .endm | ||
| 23 | |||
| 24 | .macro fifo_full_s3c2410 rd, rx | ||
| 25 | ldr \rd, [\rx, # S3C2410_UFSTAT] | ||
| 26 | tst \rd, #S3C2410_UFSTAT_TXFULL | ||
| 27 | .endm | ||
| 28 | |||
| 29 | .macro fifo_level_s3c2410 rd, rx | ||
| 30 | ldr \rd, [\rx, # S3C2410_UFSTAT] | ||
| 31 | and \rd, \rd, #S3C2410_UFSTAT_TXMASK | ||
| 32 | .endm | ||
| 33 | |||
| 34 | /* Select the correct implementation depending on the configuration. The | ||
| 35 | * S3C2440 will get selected by default, as these are the most widely | ||
| 36 | * used variants of these | ||
| 37 | */ | ||
| 38 | |||
| 39 | #if defined(CONFIG_DEBUG_S3C2410_UART) | ||
| 40 | #define fifo_full fifo_full_s3c2410 | ||
| 41 | #define fifo_level fifo_level_s3c2410 | ||
| 42 | #endif | ||
| 43 | |||
| 44 | /* include the reset of the code which will do the work */ | ||
| 45 | |||
| 46 | #include <debug/samsung.S> | ||
diff --git a/arch/arm/include/uapi/asm/unistd.h b/arch/arm/include/uapi/asm/unistd.h index fb5584d0cc05..ba94446c72d9 100644 --- a/arch/arm/include/uapi/asm/unistd.h +++ b/arch/arm/include/uapi/asm/unistd.h | |||
| @@ -408,6 +408,7 @@ | |||
| 408 | #define __NR_finit_module (__NR_SYSCALL_BASE+379) | 408 | #define __NR_finit_module (__NR_SYSCALL_BASE+379) |
| 409 | #define __NR_sched_setattr (__NR_SYSCALL_BASE+380) | 409 | #define __NR_sched_setattr (__NR_SYSCALL_BASE+380) |
| 410 | #define __NR_sched_getattr (__NR_SYSCALL_BASE+381) | 410 | #define __NR_sched_getattr (__NR_SYSCALL_BASE+381) |
| 411 | #define __NR_renameat2 (__NR_SYSCALL_BASE+382) | ||
| 411 | 412 | ||
| 412 | /* | 413 | /* |
| 413 | * This may need to be greater than __NR_last_syscall+1 in order to | 414 | * This may need to be greater than __NR_last_syscall+1 in order to |
