diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/mips/include/asm/pgtable.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/mips/include/asm/pgtable.h b/arch/mips/include/asm/pgtable.h index 62a6ba383d4f..45d7fd5e1466 100644 --- a/arch/mips/include/asm/pgtable.h +++ b/arch/mips/include/asm/pgtable.h | |||
| @@ -99,16 +99,20 @@ extern void paging_init(void); | |||
| 99 | 99 | ||
| 100 | #define htw_stop() \ | 100 | #define htw_stop() \ |
| 101 | do { \ | 101 | do { \ |
| 102 | if (cpu_has_htw) \ | 102 | if (cpu_has_htw) { \ |
| 103 | write_c0_pwctl(read_c0_pwctl() & \ | 103 | write_c0_pwctl(read_c0_pwctl() & \ |
| 104 | ~(1 << MIPS_PWCTL_PWEN_SHIFT)); \ | 104 | ~(1 << MIPS_PWCTL_PWEN_SHIFT)); \ |
| 105 | back_to_back_c0_hazard(); \ | ||
| 106 | } \ | ||
| 105 | } while(0) | 107 | } while(0) |
| 106 | 108 | ||
| 107 | #define htw_start() \ | 109 | #define htw_start() \ |
| 108 | do { \ | 110 | do { \ |
| 109 | if (cpu_has_htw) \ | 111 | if (cpu_has_htw) { \ |
| 110 | write_c0_pwctl(read_c0_pwctl() | \ | 112 | write_c0_pwctl(read_c0_pwctl() | \ |
| 111 | (1 << MIPS_PWCTL_PWEN_SHIFT)); \ | 113 | (1 << MIPS_PWCTL_PWEN_SHIFT)); \ |
| 114 | back_to_back_c0_hazard(); \ | ||
| 115 | } \ | ||
| 112 | } while(0) | 116 | } while(0) |
| 113 | 117 | ||
| 114 | 118 | ||
| @@ -116,9 +120,7 @@ do { \ | |||
| 116 | do { \ | 120 | do { \ |
| 117 | if (cpu_has_htw) { \ | 121 | if (cpu_has_htw) { \ |
| 118 | htw_stop(); \ | 122 | htw_stop(); \ |
| 119 | back_to_back_c0_hazard(); \ | ||
| 120 | htw_start(); \ | 123 | htw_start(); \ |
| 121 | back_to_back_c0_hazard(); \ | ||
| 122 | } \ | 124 | } \ |
| 123 | } while(0) | 125 | } while(0) |
| 124 | 126 | ||
