aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-02-11 21:15:38 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-11 21:15:38 -0500
commitd3f180ea1a44aecba1b0dab2a253428e77f906bf (patch)
tree0be6eaf1eb3fd32c934bd070a3d758696f417c93 /arch/powerpc/platforms/pseries
parent6b00f7efb5303418c231994c91fb8239f5ada260 (diff)
parenta6130ed253a931d2169c26ab0958d81b0dce4d6e (diff)
Merge tag 'powerpc-3.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux
Pull powerpc updates from Michael Ellerman: - Update of all defconfigs - Addition of a bunch of config options to modernise our defconfigs - Some PS3 updates from Geoff - Optimised memcmp for 64 bit from Anton - Fix for kprobes that allows 'perf probe' to work from Naveen - Several cxl updates from Ian & Ryan - Expanded support for the '24x7' PMU from Cody & Sukadev - Freescale updates from Scott: "Highlights include 8xx optimizations, some more work on datapath device tree content, e300 machine check support, t1040 corenet error reporting, and various cleanups and fixes" * tag 'powerpc-3.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (102 commits) cxl: Add missing return statement after handling AFU errror cxl: Fail AFU initialisation if an invalid configuration record is found cxl: Export optional AFU configuration record in sysfs powerpc/mm: Warn on flushing tlb page in kernel context powerpc/powernv: Add OPAL soft-poweroff routine powerpc/perf/hv-24x7: Document sysfs event description entries powerpc/perf/hv-gpci: add the remaining gpci requests powerpc/perf/{hv-gpci, hv-common}: generate requests with counters annotated powerpc/perf/hv-24x7: parse catalog and populate sysfs with events perf: define EVENT_DEFINE_RANGE_FORMAT_LITE helper perf: add PMU_EVENT_ATTR_STRING() helper perf: provide sysfs_show for struct perf_pmu_events_attr powerpc/kernel: Avoid initializing device-tree pointer twice powerpc: Remove old compile time disabled syscall tracing code powerpc/kernel: Make syscall_exit a local label cxl: Fix device_node reference counting powerpc/mm: bail out early when flushing TLB page powerpc: defconfigs: add MTD_SPI_NOR (new dependency for M25P80) perf/powerpc: reset event hw state when adding it to the PMU powerpc/qe: Use strlcpy() ...
Diffstat (limited to 'arch/powerpc/platforms/pseries')
-rw-r--r--arch/powerpc/platforms/pseries/Kconfig20
-rw-r--r--arch/powerpc/platforms/pseries/hotplug-cpu.c2
-rw-r--r--arch/powerpc/platforms/pseries/mobility.c22
-rw-r--r--arch/powerpc/platforms/pseries/ras.c2
4 files changed, 19 insertions, 27 deletions
diff --git a/arch/powerpc/platforms/pseries/Kconfig b/arch/powerpc/platforms/pseries/Kconfig
index 756b482f819a..a758a9c3bbba 100644
--- a/arch/powerpc/platforms/pseries/Kconfig
+++ b/arch/powerpc/platforms/pseries/Kconfig
@@ -34,6 +34,16 @@ config PPC_SPLPAR
34 processors, that is, which share physical processors between 34 processors, that is, which share physical processors between
35 two or more partitions. 35 two or more partitions.
36 36
37config DTL
38 bool "Dispatch Trace Log"
39 depends on PPC_SPLPAR && DEBUG_FS
40 help
41 SPLPAR machines can log hypervisor preempt & dispatch events to a
42 kernel buffer. Saying Y here will enable logging these events,
43 which are accessible through a debugfs file.
44
45 Say N if you are unsure.
46
37config PSERIES_MSI 47config PSERIES_MSI
38 bool 48 bool
39 depends on PCI_MSI && PPC_PSERIES && EEH 49 depends on PCI_MSI && PPC_PSERIES && EEH
@@ -123,13 +133,3 @@ config HV_PERF_CTRS
123 systems. 24x7 is available on Power 8 systems. 133 systems. 24x7 is available on Power 8 systems.
124 134
125 If unsure, select Y. 135 If unsure, select Y.
126
127config DTL
128 bool "Dispatch Trace Log"
129 depends on PPC_SPLPAR && DEBUG_FS
130 help
131 SPLPAR machines can log hypervisor preempt & dispatch events to a
132 kernel buffer. Saying Y here will enable logging these events,
133 which are accessible through a debugfs file.
134
135 Say N if you are unsure.
diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
index f30cf4d136a4..62475440fd45 100644
--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
+++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
@@ -272,7 +272,7 @@ static int pseries_add_processor(struct device_node *np)
272 */ 272 */
273 printk(KERN_ERR "Cannot add cpu %s; this system configuration" 273 printk(KERN_ERR "Cannot add cpu %s; this system configuration"
274 " supports %d logical cpus.\n", np->full_name, 274 " supports %d logical cpus.\n", np->full_name,
275 cpumask_weight(cpu_possible_mask)); 275 num_possible_cpus());
276 goto out_unlock; 276 goto out_unlock;
277 } 277 }
278 278
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
index e7cb6d4a871a..90cf3dcbd9f2 100644
--- a/arch/powerpc/platforms/pseries/mobility.c
+++ b/arch/powerpc/platforms/pseries/mobility.c
@@ -316,34 +316,24 @@ void post_mobility_fixup(void)
316static ssize_t migrate_store(struct class *class, struct class_attribute *attr, 316static ssize_t migrate_store(struct class *class, struct class_attribute *attr,
317 const char *buf, size_t count) 317 const char *buf, size_t count)
318{ 318{
319 struct rtas_args args;
320 u64 streamid; 319 u64 streamid;
321 int rc; 320 int rc;
321 int vasi_rc = 0;
322 322
323 rc = kstrtou64(buf, 0, &streamid); 323 rc = kstrtou64(buf, 0, &streamid);
324 if (rc) 324 if (rc)
325 return rc; 325 return rc;
326 326
327 memset(&args, 0, sizeof(args));
328 args.token = rtas_token("ibm,suspend-me");
329 args.nargs = 2;
330 args.nret = 1;
331
332 args.args[0] = streamid >> 32 ;
333 args.args[1] = streamid & 0xffffffff;
334 args.rets = &args.args[args.nargs];
335
336 do { 327 do {
337 args.rets[0] = 0; 328 rc = rtas_ibm_suspend_me(streamid, &vasi_rc);
338 rc = rtas_ibm_suspend_me(&args); 329 if (!rc && vasi_rc == RTAS_NOT_SUSPENDABLE)
339 if (!rc && args.rets[0] == RTAS_NOT_SUSPENDABLE)
340 ssleep(1); 330 ssleep(1);
341 } while (!rc && args.rets[0] == RTAS_NOT_SUSPENDABLE); 331 } while (!rc && vasi_rc == RTAS_NOT_SUSPENDABLE);
342 332
343 if (rc) 333 if (rc)
344 return rc; 334 return rc;
345 else if (args.rets[0]) 335 if (vasi_rc)
346 return args.rets[0]; 336 return vasi_rc;
347 337
348 post_mobility_fixup(); 338 post_mobility_fixup();
349 return count; 339 return count;
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
index c3b2a7e81ddb..02e4a1745516 100644
--- a/arch/powerpc/platforms/pseries/ras.c
+++ b/arch/powerpc/platforms/pseries/ras.c
@@ -89,6 +89,8 @@ static void handle_system_shutdown(char event_modifier)
89 case EPOW_SHUTDOWN_ON_UPS: 89 case EPOW_SHUTDOWN_ON_UPS:
90 pr_emerg("Loss of power reported by firmware, system is " 90 pr_emerg("Loss of power reported by firmware, system is "
91 "running on UPS/battery"); 91 "running on UPS/battery");
92 pr_emerg("Check RTAS error log for details");
93 orderly_poweroff(true);
92 break; 94 break;
93 95
94 case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS: 96 case EPOW_SHUTDOWN_LOSS_OF_CRITICAL_FUNCTIONS: