aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-01-21m32r: Convert mappi irq chipsThomas Gleixner1-27/+26
Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21m32r: Convert m32700ut lcdpld irq chipThomas Gleixner1-20/+12
Convert the irq chip to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21m32r: Convert m32700ut lanpld irq chipThomas Gleixner1-20/+12
Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21m32r: Convert m32700ut pld irq chipThomas Gleixner1-28/+20
Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21m32r: Convert m32104ut irq chipThomas Gleixner1-29/+27
Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21m32r: Convert m32104ut irq handlingThomas Gleixner1-25/+21
Convert the irq chips to the new functions and use proper flow handlers. handle_level_irq is appropriate. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21m32r: Cleanup direct irq_desc accessThomas Gleixner9-307/+83
The irq descriptors are already initialized by the generic code. Remove the redundant init code and set the irq chip with the proper accessor function. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Hirokazu Takata <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21cris: Use generic irq KconfigThomas Gleixner2-5/+3
Use the generic irq Kconfig. Select GENERIC_HARDIRQS_NO_DEPRECATED as we have converted all irq_chip functions. Fix the fallout in show_interrupts(). Signed-off-by: Thomas Gleixner <[email protected]> Cc: Mikael Starvik <[email protected]>
2011-01-21cris: Convert V32 interrupt handlingThomas Gleixner1-35/+15
Convert the irq chip functions and install handle_simple_irq for each interrupt to get rid of __do_IRQ() Signed-off-by: Thomas Gleixner <[email protected]> Cc: Mikael Starvik <[email protected]>
2011-01-21cris: Convert V10 interrupt handlingThomas Gleixner1-31/+10
Convert the irq_chip functions and install handle_simple_irq for each interrupt. This converts V10 to the flow handling and lets us remove __do_IRQ(). Signed-off-by: Thomas Gleixner <[email protected]> Cc: Mikael Starvik <[email protected]>
2011-01-21cris: Use irq handling wrapperThomas Gleixner1-2/+2
Use the wrapper around __do_IRQ() so we can convert V10 and V32 seperately. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Mikael Starvik <[email protected]>
2011-01-21h8300: Use generic irq KconfigThomas Gleixner2-5/+3
Switch to the generic irq Kconfig. h8300 has all irq chips converted to the new functions, so select the GENERIC_HARDIRQS_NO_DEPRECATED switch as well. Fixup the resulting fallout in show_interrupts(). Signed-off-by: Thomas Gleixner <[email protected]> Cc: Yoshinori Sato <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21h8300: Convert interrupt handling to flow handlerThomas Gleixner1-12/+3
__do_IRQ is deprecated so h8300 needs to be converted to proper flow handling. The irq chip is simple and does not required any mask/ack/eoi functions, so we can use handle_simple_irq. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Yoshinori Sato <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21h8300: Convert to new irq_chip functionsThomas Gleixner1-17/+16
No functional change, just straight forward conversion. Signed-off-by: Thomas Gleixner <[email protected]> Cc: Yoshinori Sato <[email protected]> Cc: Paul Mundt <[email protected]>
2011-01-21Merge branch 'fix/asoc' into for-linusTakashi Iwai7-68/+55
2011-01-21Merge branch 'fix/misc' into for-linusTakashi Iwai1-0/+7
2011-01-21powerpc/mpic: Fix mask/unmask timeout messageScott Wood1-2/+4
Don't say that enable timed out when it was disable, and show which IRQ had the problem. Signed-off-by: Scott Wood <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/pseries: Add BNX2=m to defconfigNishanth Aravamudan1-0/+1
Upcoming servers will include a Broadcom NIC, add to the defconfig to increase testing coverage and make sure mainline builds come up with networking. Signed-off-by: Nishanth Aravamudan <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Enable 64kB pages and 1024 threads in pseries configAnton Blanchard1-1/+3
- Enable 64kB pages so it gets some regular testing. - The largest POWER7 has 1024 threads so bump NR_CPUS it to match. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Disable mcount tracers in pseries defconfigAnton Blanchard1-2/+0
IRQSOFF_TRACER and STACK_TRACER force the kernel to be built with -pg which is a substantial overhead. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/boot/dts: Install dts from the right directoryBen Hutchings1-1/+1
The dts-installed variable is initialised using a wildcard path that will be expanded relative to the build directory. Use the existing variable dtstree to generate an absolute wildcard path that will work when building in a separate directory. Reported-by: Gerhard Pircher <[email protected]> Signed-off-by: Ben Hutchings <[email protected]> Tested-by: Gerhard Pircher <[email protected]> [against 2.6.32] Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: machine_check_generic is wrong on 64bitAnton Blanchard1-23/+0
Decoding machine checks is CPU specific and so machine_check_generic doesn't do the right thing on 64bit chips. Luckily we never call into this code because we call ppc_md.machine_check_exception instead if available. Since we check cur_cpu_spec->machine_check before calling it, we may as well remove machine_check_generic from 64bit archs. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Check RTAS extended log flag before checking lengthAnton Blanchard1-1/+1
The spec suggests we should first check the extended log flag before checking the length field. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Fix corruption when grabbing FWNMI dataAnton Blanchard1-14/+38
The FWNMI code uses a global buffer without any locks to read the RTAS error information. If two CPUs take a machine check at once then we will corrupt this buffer. Since most FWNMI rtas messages are not of the extended type, we can create a 64bit percpu buffer and use it where possible. If we do receive an extended RTAS log then we fall back to the old behaviour of using the global buffer. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Rework pseries machine check handlerAnton Blanchard1-18/+30
Rework pseries machine check handler: - If MSR_RI isn't set, we cannot recover even if the machine check was fully recovered - Rename nonfatal to recovered - Handle RTAS_DISP_LIMITED_RECOVERY - Use BUS_MCEERR_AR instead of BUS_ADRERR - Don't check all the RTAS error log fields when receiving a synchronous machine check. Recent versions of the pseries firmware do not fill them in during a machine check and instead send a follow up error log with the detailed information. If we see a synchronous machine check, and we came from userspace then kill the task. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Don't silently handle machine checks from userspaceAnton Blanchard1-5/+0
If a machine check comes from userspace we send a SIGBUS to the task and fail to printk anything. If we are taking machine checks due to bad hardware we want to know about it right away. Furthermore if we don't complain loudly then it will look a lot like a bug in the userspace application, potentially causing a lot of confusion. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Remove duplicate debugger hook in machine_check_exceptionAnton Blanchard1-2/+0
We are calling debugger_fault_handler twice in machine_check_exception. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Never halt RTAS error logging after receiving an unrecoverable ↵Anton Blanchard1-1/+1
machine check Newer versions of the System p firwmare send a partial RTAS error log in the machine check handler with a more detailed response appearing sometime later via check event. This means at machine check time we do not have enough information to ascertain exactly what went on. Furthermore, I have found the RTAS error logs in the machine check handler contain no useful information, so halting on them makes little sense. If we want to halt it would make more sense to do it following the error log received sometime later via check event. In light of this, never halt the error log in the pseries machine check handler. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Don't force MSR_RI in machine_check_exceptionAnton Blanchard1-4/+1
We should never force MSR_RI on. If we take a machine check with MSR_RI off then we have no chance of recovering safely. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Print 32 bits of DSISR in show_regsAnton Blanchard1-1/+1
We were printing 64 bits of DSISR in show_regs even though it is 32 bit. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kdump: Disable ftrace during kexecAnton Blanchard1-0/+7
We should disable ftrace during kexec, some of the tracers are very invasive and we do not want them going off while doing the low level work of swapping one kernel out for another. This mirrors what we do on x86. Even though we cannot return from a kexec on powerpc (since we do not implement CONFIG_KEXEC_JUMP), add the restore code in case we do one day. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kdump: Move crash_kexec_stop_spus to kdump crash handlerAnton Blanchard3-78/+72
Use the crash handler hooks to run the SPU stop code, just like we do for ehea and cell RAS code. While I'm here I noticed "CPUSs reliabally" so fix the spelling MISTAKESs reliabally. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kexec: Remove empty ppc_md.machine_kexec_prepareAnton Blanchard2-22/+0
We check for a valid handler before calling ppc_md.machine_kexec_prepare so we can just remove these empty handlers. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kexec: Don't initialise kexec hooks to default handlersAnton Blanchard2-13/+0
There's no need to initialise ppc_md.machine_kexec and ppc_md.machine_kexec_prepare to the default handlers. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kdump: Remove ppc_md.machine_crash_shutdownAnton Blanchard4-12/+1
No one uses ppc_md.machine_crash_shutdown, so remove it. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kexec: Remove ppc_md.machine_kexecAnton Blanchard2-10/+1
No one uses ppc_md.machine_kexec, so remove it. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kexec: Remove ppc_md.machine_kexec_cleanupAnton Blanchard2-5/+0
No one uses ppc_md.machine_kexec_cleanup, so remove it. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/kexec: Move all ppc_md kexec function pointers togetherAnton Blanchard1-3/+2
Move all the kexec handlers together. Signed-off-by: Anton Blanchard <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/cell: Use system_wq in cpufreq_spudemandTejun Heo2-22/+23
With cmwq, there's no reason to use a separate workqueue in cpufreq_spudemand. Use system_wq instead. The work items are already sync canceled on stop, so it's already guaranteed that no work is running when spu_gov_exit() is entered. Signed-off-by: Tejun Heo <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: [email protected] Cc: Dave Jones <[email protected]> Cc: [email protected] Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/macintosh: Fix wrong test in fan_{read,write}_reg()roel kluin1-2/+2
Fix error test in fan_{read,write}_reg() Signed-off-by: Roel Kluin <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/rtas_flash: Use simple_read_from_bufferAkinobu Mita1-47/+6
Simplify read file operation for /proc/powerpc/rtas/* interface by using simple_read_from_buffer. Signed-off-by: Akinobu Mita <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/spufs: Use simple_write_to_bufferAkinobu Mita1-20/+7
Simplify several write fileoperations for spufs by using simple_write_to_buffer(). Signed-off-by: Akinobu Mita <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/ppc32/tracing: Add stack frame to calls of trace_hardirqs_on/offSteven Rostedt1-0/+11
32-bit variant of the previous patch for 64-bit: << When an interrupt occurs in userspace, we can call trace_hardirqs_on/off() With one level stack. But if we have irqsoff tracing enabled, it checks both CALLER_ADDR0 and CALLER_ADDR1. The second call goes two stack frames up. If this is from user space, then there may not exist a second stack.... >> Signed-off-by: Steven Rostedt <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc/ppc64/tracing: Add stack frame to calls of trace_hardirqs_on/offSteven Rostedt1-10/+30
When an interrupt occurs in userspace, we can call trace_hardirqs_on/off() With one level stack. But if we have irqsoff tracing enabled, it checks both CALLER_ADDR0 and CALLER_ADDR1. The second call goes two stack frames up. If this is from user space, then there may not exist a second stack. Add a second stack when calling trace_hardirqs_on/off() otherwise the following oops might occur: Oops: Kernel access of bad area, sig: 11 [#1] PREEMPT SMP NR_CPUS=2 PA Semi PWRficient last sysfs file: /sys/block/sda/size Modules linked in: ohci_hcd ehci_hcd usbcore NIP: c0000000000e1c00 LR: c0000000000034d4 CTR: 000000011012c440 REGS: c00000003e2f3af0 TRAP: 0300 Not tainted (2.6.37-rc6+) MSR: 9000000000001032 <ME,IR,DR> CR: 48044444 XER: 20000000 DAR: 00000001ffb9db50, DSISR: 0000000040000000 TASK = c00000003e1a00a0[2088] 'emacs' THREAD: c00000003e2f0000 CPU: 1 GPR00: 0000000000000001 c00000003e2f3d70 c00000000084e0d0 c0000000008816e8 GPR04: 000000001034c678 000000001032e8f9 0000000010336540 0000000040020000 GPR08: 0000000040020000 00000001ffb9db40 c00000003e2f3e30 0000000060000000 GPR12: 100000000000f032 c00000000fff0280 000000001032e8c9 0000000000000008 GPR16: 00000000105be9c0 00000000105be950 00000000105be9b0 00000000105be950 GPR20: 00000000ffb9dc50 00000000ffb9dbf0 00000000102f0000 00000000102f0000 GPR24: 00000000102e0000 00000000102f0000 0000000010336540 c0000000009ded38 GPR28: 00000000102e0000 c0000000000034d4 c0000000007ccb10 c00000003e2f3d70 NIP [c0000000000e1c00] .trace_hardirqs_off+0xb0/0x1d0 LR [c0000000000034d4] decrementer_common+0xd4/0x100 Call Trace: [c00000003e2f3d70] [c00000003e2f3e30] 0xc00000003e2f3e30 (unreliable) [c00000003e2f3e30] [c0000000000034d4] decrementer_common+0xd4/0x100 Instruction dump: 81690000 7f8b0000 419e0018 f84a0028 60000000 60000000 60000000 e95f0000 80030000 e92a0000 eb6301f8 2f800000 <eb890010> 41fe00dc a06d000a eb1e8050 ---[ end trace 4ec7fd2be9240928 ]--- Reported-by: Joerg Sommer <[email protected]> Signed-off-by: Steven Rostedt <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-21powerpc: Ensure the else case of feature sections will fitMichael Ellerman2-12/+34
When we create an alternative feature section, the else case must be the same size or smaller than the body. This is because when we patch the else case in we just overwrite the body, so there must be room. Up to now we just did this by inspection, but it's quite easy to enforce it in the assembler, so we should. The only change is to add the ifgt block, but that effects the alignment of the tabs and so the whole macro is modified. Also add a test, but #if 0 it because we don't want to break the build. Anyone who's modifying the feature macros should enable the test. Signed-off-by: Michael Ellerman <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2011-01-20Merge branch 'core-fixes-for-linus' of ↵Linus Torvalds7-40/+22
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: smp: Allow on_each_cpu() to be called while early_boot_irqs_disabled status to init/main.c lockdep: Move early boot local IRQ enable/disable status to init/main.c
2011-01-20ACPI / PM: Call suspend_nvs_free() earlier during resumeRafael J. Wysocki1-1/+1
It turns out that some device drivers map pages from the ACPI NVS region during resume using ioremap(), which conflicts with ioremap_cache() used for mapping those pages by the NVS save/restore code in nvs.c. Make the NVS pages mapped by the code in nvs.c be unmapped before device drivers' resume routines run. Signed-off-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-20ACPI: Introduce acpi_os_ioremap()Rafael J. Wysocki4-11/+27
Commit ca9b600be38c ("ACPI / PM: Make suspend_nvs_save() use acpi_os_map_memory()") attempted to prevent the code in osl.c and nvs.c from using different ioremap() variants by making the latter use acpi_os_map_memory() for mapping the NVS pages. However, that also requires acpi_os_unmap_memory() to be used for unmapping them, which causes synchronize_rcu() to be executed many times in a row unnecessarily and introduces substantial delays during resume on some systems. Instead of using acpi_os_map_memory() for mapping the NVS pages in nvs.c introduce acpi_os_ioremap() calling ioremap_cache() and make the code in both osl.c and nvs.c use it. Reported-by: Jeff Chua <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-21cifs: fix up CIFSSMBEcho for unaligned accessJeff Layton1-3/+3
Make sure that CIFSSMBEcho can handle unaligned fields. Also fix a minor bug that causes this warning: fs/cifs/cifssmb.c: In function 'CIFSSMBEcho': fs/cifs/cifssmb.c:740: warning: large integer implicitly truncated to unsigned type ...WordCount is u8, not __le16, so no need to convert it. This patch should apply cleanly on top of the rest of the patchset to clean up unaligned access. Signed-off-by: Jeff Layton <[email protected]> Signed-off-by: Steve French <[email protected]>
2011-01-21Merge branch 'for-next'Steve French14-237/+402