aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-05-21 18:23:54 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-21 18:23:54 -0400
commit6969a434737dd82f7343e3fcd529bc320508d9fc (patch)
tree13d9982aa8fc5f5448ea678de2f1850d63802e79 /arch/mips/kernel
parent0fc377bd648d1935ea34665239e3f0a274b71698 (diff)
parent0453fb3c528c5eb3483441a466b24a4cb409eec5 (diff)
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (25 commits) MIPS: Use GCC __builtin_prefetch() to implement prefetch(). MIPS: Octeon: Serial port fixes for OCTEON simulator. MIPS: Octeon: Get rid of early serial. MIPS: AR7: prevent race between clock initialization and devices registration MIPS: AR7: use ar7_has_high_vlynq() to determine watchdog base address MIPS: BCM63xx: Avoid namespace clash on GPIO_DIR_{IN,OUT} MIPS: MTX-1: Update defconfig MIPS: BCM47xx: Update defconfig MIPS: RB532: Update defconfig MIPS: AR7: Update defconfig RTC: rtc-cmos: Fix binary mode support MIPS: Oprofile: Loongson: Cleanup the comments MIPS: Oprofile: Loongson: Cleanup of the macros MIPS: Oprofile: Loongson: Remove unused variable from loongson2_cpu_setup() MIPS: Oprofile: Loongson: Remove useless parentheses MIPS: Oprofile: Loongson: Unify macro for setting events MIPS: nofpu and nodsp only affect CPU0 MIPS: Clean up tables for bootmem allocation MIPS: Coding style cleanups of access of FCSR rounding mode bits MIPS: Loongson 2F: Add gpio/gpioilb support ...
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r--arch/mips/kernel/cpu-probe.c30
-rw-r--r--arch/mips/kernel/cpufreq/loongson2_cpufreq.c4
-rw-r--r--arch/mips/kernel/mips-mt-fpaff.c4
-rw-r--r--arch/mips/kernel/setup.c21
-rw-r--r--arch/mips/kernel/traps.c2
5 files changed, 35 insertions, 26 deletions
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
index be5bb16be4e0..3562b854f2cd 100644
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
@@ -125,6 +125,30 @@ static int __init wait_disable(char *s)
125 125
126__setup("nowait", wait_disable); 126__setup("nowait", wait_disable);
127 127
128static int __cpuinitdata mips_fpu_disabled;
129
130static int __init fpu_disable(char *s)
131{
132 cpu_data[0].options &= ~MIPS_CPU_FPU;
133 mips_fpu_disabled = 1;
134
135 return 1;
136}
137
138__setup("nofpu", fpu_disable);
139
140int __cpuinitdata mips_dsp_disabled;
141
142static int __init dsp_disable(char *s)
143{
144 cpu_data[0].ases &= ~MIPS_ASE_DSP;
145 mips_dsp_disabled = 1;
146
147 return 1;
148}
149
150__setup("nodsp", dsp_disable);
151
128void __init check_wait(void) 152void __init check_wait(void)
129{ 153{
130 struct cpuinfo_mips *c = &current_cpu_data; 154 struct cpuinfo_mips *c = &current_cpu_data;
@@ -982,6 +1006,12 @@ __cpuinit void cpu_probe(void)
982 */ 1006 */
983 BUG_ON(current_cpu_type() != c->cputype); 1007 BUG_ON(current_cpu_type() != c->cputype);
984 1008
1009 if (mips_fpu_disabled)
1010 c->options &= ~MIPS_CPU_FPU;
1011
1012 if (mips_dsp_disabled)
1013 c->ases &= ~MIPS_ASE_DSP;
1014
985 if (c->options & MIPS_CPU_FPU) { 1015 if (c->options & MIPS_CPU_FPU) {
986 c->fpu_id = cpu_get_fpu_id(); 1016 c->fpu_id = cpu_get_fpu_id();
987 1017
diff --git a/arch/mips/kernel/cpufreq/loongson2_cpufreq.c b/arch/mips/kernel/cpufreq/loongson2_cpufreq.c
index 2f6a0b147ab8..ae5db206347c 100644
--- a/arch/mips/kernel/cpufreq/loongson2_cpufreq.c
+++ b/arch/mips/kernel/cpufreq/loongson2_cpufreq.c
@@ -65,7 +65,7 @@ static int loongson2_cpufreq_target(struct cpufreq_policy *policy,
65 return -ENODEV; 65 return -ENODEV;
66 66
67 cpus_allowed = current->cpus_allowed; 67 cpus_allowed = current->cpus_allowed;
68 set_cpus_allowed(current, cpumask_of_cpu(cpu)); 68 set_cpus_allowed_ptr(current, cpumask_of(cpu));
69 69
70 if (cpufreq_frequency_table_target 70 if (cpufreq_frequency_table_target
71 (policy, &loongson2_clockmod_table[0], target_freq, relation, 71 (policy, &loongson2_clockmod_table[0], target_freq, relation,
@@ -91,7 +91,7 @@ static int loongson2_cpufreq_target(struct cpufreq_policy *policy,
91 /* notifiers */ 91 /* notifiers */
92 cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); 92 cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
93 93
94 set_cpus_allowed(current, cpus_allowed); 94 set_cpus_allowed_ptr(current, &cpus_allowed);
95 95
96 /* setting the cpu frequency */ 96 /* setting the cpu frequency */
97 clk_set_rate(cpuclk, freq); 97 clk_set_rate(cpuclk, freq);
diff --git a/arch/mips/kernel/mips-mt-fpaff.c b/arch/mips/kernel/mips-mt-fpaff.c
index cbc6182b0065..f5981c499109 100644
--- a/arch/mips/kernel/mips-mt-fpaff.c
+++ b/arch/mips/kernel/mips-mt-fpaff.c
@@ -100,10 +100,10 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
100 if (test_ti_thread_flag(ti, TIF_FPUBOUND) && 100 if (test_ti_thread_flag(ti, TIF_FPUBOUND) &&
101 cpus_intersects(new_mask, mt_fpu_cpumask)) { 101 cpus_intersects(new_mask, mt_fpu_cpumask)) {
102 cpus_and(effective_mask, new_mask, mt_fpu_cpumask); 102 cpus_and(effective_mask, new_mask, mt_fpu_cpumask);
103 retval = set_cpus_allowed(p, effective_mask); 103 retval = set_cpus_allowed_ptr(p, &effective_mask);
104 } else { 104 } else {
105 clear_ti_thread_flag(ti, TIF_FPUBOUND); 105 clear_ti_thread_flag(ti, TIF_FPUBOUND);
106 retval = set_cpus_allowed(p, new_mask); 106 retval = set_cpus_allowed_ptr(p, &new_mask);
107 } 107 }
108 108
109out_unlock: 109out_unlock:
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index f9513f9e61d3..85aef3fc6716 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -569,27 +569,6 @@ void __init setup_arch(char **cmdline_p)
569 plat_smp_setup(); 569 plat_smp_setup();
570} 570}
571 571
572static int __init fpu_disable(char *s)
573{
574 int i;
575
576 for (i = 0; i < NR_CPUS; i++)
577 cpu_data[i].options &= ~MIPS_CPU_FPU;
578
579 return 1;
580}
581
582__setup("nofpu", fpu_disable);
583
584static int __init dsp_disable(char *s)
585{
586 cpu_data[0].ases &= ~MIPS_ASE_DSP;
587
588 return 1;
589}
590
591__setup("nodsp", dsp_disable);
592
593unsigned long kernelsp[NR_CPUS]; 572unsigned long kernelsp[NR_CPUS];
594unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3; 573unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3;
595 574
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c
index 950bde8813fc..8bdd6a663c7f 100644
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
@@ -867,7 +867,7 @@ static void mt_ase_fp_affinity(void)
867 = current->cpus_allowed; 867 = current->cpus_allowed;
868 cpus_and(tmask, current->cpus_allowed, 868 cpus_and(tmask, current->cpus_allowed,
869 mt_fpu_cpumask); 869 mt_fpu_cpumask);
870 set_cpus_allowed(current, tmask); 870 set_cpus_allowed_ptr(current, &tmask);
871 set_thread_flag(TIF_FPUBOUND); 871 set_thread_flag(TIF_FPUBOUND);
872 } 872 }
873 } 873 }