summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge ../linusDave Jones2006-06-295026-138028/+233217
|\ | | | | | | | | | | Conflicts: drivers/char/agp/Kconfig
| * [PATCH] KConfig: Spellchecking 'similarity' and 'independent'Matt LaPlante2006-06-295-9/+9
| | | | | | | | | | | | | | Several KConfig files had 'similarity' and 'independent' spelled incorrectly... Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] i4l:add some checks for valid drvid and driver pointerKarsten Keil2006-06-291-1/+17
| | | | | | | | | | | | | | | | If all drivers go away before all ISDN network interfaces are closed we got a OOps on removing interfaces, this patch avoid it. Signed-off-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] i4l make PCMCIA for all cards working with shared IRQKarsten Keil2006-06-293-2/+3
| | | | | | | | | | | | | | | | | | | | most current laptops do not work without allowing shared cardbus IRQs. This patch enables IRQ sharing, so these cards work again. This was tested with shared and none shared cardbus IRQs on different laptops without problems. Signed-off-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * Merge master.kernel.org:/pub/scm/linux/kernel/git/perex/alsaLinus Torvalds2006-06-2953-210/+11393
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: [ALSA] echoaudio - Remove kfree_nocheck() [ALSA] echoaudio - Fix Makefile [ALSA] Add Intel D965 board support [ALSA] Fix/add support of Realtek ALC883 / ALC888 and ALC861 codecs [ALSA] Fix a typo in echoaudio/midi.c [ALSA] snd-aoa: enable dual-edge in GPIOs [ALSA] snd-aoa: support iMac G5 iSight [ALSA] snd-aoa: not experimental [ALSA] Add echoaudio sound drivers [ALSA] ak4xxx-adda - Code clean-up [ALSA] Remove CONFIG_EXPERIMENTAL from intel8x0m driver [ALSA] Stereo controls for M-Audio Revolution cards [ALSA] Fix misuse of __list_add() in seq_ports.c [ALSA] hda-codec - Add model entry for Samsung X60 Chane [ALSA] make CONFIG_SND_DYNAMIC_MINORS non-experimental [ALSA] Fix wrong dependencies of snd-aoa driver [ALSA] fix build failure due to snd-aoa [ALSA] AD1888 mixer controls for DC mode [ALSA] Suppress irq handler mismatch messages in ALSA ISA drivers [ALSA] usb-audio support for Turtle Beach Roadie
| | * [ALSA] echoaudio - Remove kfree_nocheck()Takashi Iwai2006-06-281-4/+3
| | | | | | | | | | | | | | | | | | | | | Remove obsoleted kfree_nochec() (for debug). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] echoaudio - Fix MakefileTakashi Iwai2006-06-281-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | Fix missing makefile entries for echoaudio drivers (sorry for cut-n-paste error!) Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Add Intel D965 board supportTakashi Iwai2006-06-281-11/+99
| | | | | | | | | | | | | | | | | | | | | Added the support for Intel D965 boards with STAC9227 codec. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Fix/add support of Realtek ALC883 / ALC888 and ALC861 codecsTakashi Iwai2006-06-283-99/+999
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Realtek: - Fix ALC883 support code - Add support of ALC888 codec - Add ALC660 support (ALC861-compatible) - Add HP xw4400/6400/8400/9400 support (model=hp-bpc) - Code clean-up: fix spaces and indentation Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Fix a typo in echoaudio/midi.cTakashi Iwai2006-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixed a typo in echoaudio/midi.c. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] snd-aoa: enable dual-edge in GPIOsJohannes Berg2006-06-281-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently some firmware versions forget enabling the dual-edge bit, snd-powermac did that too and even OSX does sometimes. This should fix headphone plug detection on those machines. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] snd-aoa: support iMac G5 iSightJohannes Berg2006-06-281-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | This properly adds support for the iMac G5 iSight. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] snd-aoa: not experimentalJohannes Berg2006-06-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dependencies in the soundbus Kconfig were wrong, it isn't experimental any more. This patch fixes that and makes it select SND_PCM too instead of depending on it. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Add echoaudio sound driversGiuliano Pochini2006-06-2835-0/+9949
| | | | | | | | | | | | | | | | | | | | | | | | From: Giuliano Pochini <pochini@shiny.it>Add echoaudio sound drivers (darla20, darla24, echo3g, gina20, gina24, indigo, indigodj, indigoio, layla20, lala24, mia, mona) Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] ak4xxx-adda - Code clean-upTakashi Iwai2006-06-282-79/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix spaces, fold lines to fit 80 columns in ak4xxx-adda driver codes. Split a long reset function to each codec routine just for better readability. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Remove CONFIG_EXPERIMENTAL from intel8x0m driverTakashi Iwai2006-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Removed CONFIG_EXPERIMENTAL from intel8x0m driver. The driver has been working well without problems. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Stereo controls for M-Audio Revolution cardsJani Alinikula2006-06-283-9/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds stereo controls to revo cards by making the ak4xxx driver mixers configurable from the card driver. Signed-off-by: Jani Alinikula <janialinikula@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Fix misuse of __list_add() in seq_ports.cTakashi Iwai2006-06-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | seq_ports.c::snd_seq_delete_all_ports() uses __list_add() to replace the whole list entries. This results in BUG() with recent FC5 kernel due to a sanity check in __list_add(). The patch fixes this misue of __list_add() by using standard macros instead (although a bit more code is needed). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] hda-codec - Add model entry for Samsung X60 ChaneTakashi Iwai2006-06-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Added the model entry 'laptop-eapd' for Samsung X60 Chane with AD1986A codec. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] make CONFIG_SND_DYNAMIC_MINORS non-experimentalClemens Ladisch2006-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The dynamic minors code is mature, has been tested, and seems to work fine. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Fix wrong dependencies of snd-aoa driverTakashi Iwai2006-06-281-1/+2
| | | | | | | | | | | | | | | | | | | | | Fixed wrong dependencies of snd-aoa driver. It selects PCM instead. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] fix build failure due to snd-aoaTakashi Iwai2006-06-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When snd-aoa is not built or built as modules, but CONFIG_SND is yes, kernel build fails due to a bug I introduced when adding snd-aoa. This patch fixes it. From: Takashi Iwai <tiwai@suse.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] AD1888 mixer controls for DC modeJaya Kumar2006-06-282-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds two mixer controls. The V_REFOUT enable is a documented register that couples the microphone input lines to the V_REFOUT DC source. The High Pass Filter enable in the AC97_AD_TEST2 (0x5c) is an undocumented register provided by Miller Puckette via Analog Devices that enables the AD codec to apply a high pass filter to the input. Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] Suppress irq handler mismatch messages in ALSA ISA driversTakashi Iwai2006-06-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Suppress 'irq handler mismatch' messages at auto-probing of irqs in ALSA ISA drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| | * [ALSA] usb-audio support for Turtle Beach RoadieSam Revitch2006-06-281-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Sam Revitch <sam.revitch@gmail.com>Recently a Turtle Beach Audio Advantage Roadie device ended up in my possession. It seems to work with the snd-usb-audio driver, but only using the headphone jack in 2-channel mode. The device has a DIN connector carrying six more channels that are otherwise silent. C-Media has freely available documentation for the CM106 chip around which this device is based, and enabling 8-channel output, or 6-channel output with the headphone jack following the front pair is a matter of setting one of its registers. Attached is a patch to try to enable 5.1 output mode at probe time. It seems to work correctly with my device. There is quite list of other configurables for this device that might deserve controls. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpcLinus Torvalds2006-06-2977-1110/+4086
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (43 commits) [POWERPC] Use little-endian bit from firmware ibm,pa-features property [POWERPC] Make sure smp_processor_id works very early in boot [POWERPC] U4 DART improvements [POWERPC] todc: add support for Time-Of-Day-Clock [POWERPC] Make lparcfg.c work when both iseries and pseries are selected [POWERPC] Fix idr locking in init_new_context [POWERPC] mpc7448hpc2 (taiga) board config file [POWERPC] Add tsi108 pci and platform device data register function [POWERPC] Add general support for mpc7448hpc2 (Taiga) platform [POWERPC] Correct the MAX_CONTEXT definition powerpc: minor cleanups for mpc86xx [POWERPC] Make sure we select CONFIG_NEW_LEDS if ADB_PMU_LED is set [POWERPC] Simplify the code defining the 64-bit CPU features [POWERPC] powerpc: kconfig warning fix [POWERPC] Consolidate some of kernel/misc*.S [POWERPC] Remove unused function call_with_mmu_off [POWERPC] update asm-powerpc/time.h [POWERPC] Clean up it_lp_queue.h [POWERPC] Skip the "copy down" of the kernel if it is already at zero. [POWERPC] Add the use of the firmware soft-reset-nmi to kdump. ...
| | * | [POWERPC] Use little-endian bit from firmware ibm,pa-features propertyPaul Mackerras2006-06-291-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] Make sure smp_processor_id works very early in bootMichael Ellerman2006-06-292-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a small period early in boot where we don't know which cpu we're running on. That's ok, except that it means we have no paca, or more correctly that our paca pointer points somewhere random. So that we can safely call things like smp_processor_id(), we need a paca, so just assume we're on cpu 0. No code should _write_ to the paca before we've set the correct one up. We setup the proper paca after we've scanned the flat device tree in early_setup(), so there's no need to do it again in start_here_common. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] U4 DART improvementsOlof Johansson2006-06-292-7/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Better late than never... Respin based on previous comment. Only remaining issue last time was an extra mb() that I've taken out. Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] todc: add support for Time-Of-Day-ClockMark A. Greer2006-06-294-0/+887
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a resubmit with a proper subject and with all comments addressed. Applies cleanly to powerpc.git 649e85797259162f7fdc696420e7492f20226f2d Mark -- The todc code from arch/ppc supports many todc/rtc chips and is needed in arch/powerpc. This patch adds the todc code to arch/powerpc. Signed-off-by: Mark A. Greer <mgreer@mvista.com> -- arch/powerpc/Kconfig | 7 arch/powerpc/sysdev/Makefile | 1 arch/powerpc/sysdev/todc.c | 392 ++++++++++++++++++++++++++++++++++ include/asm-powerpc/todc.h | 487 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 887 insertions(+) -- Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] Make lparcfg.c work when both iseries and pseries are selectedStephen Rothwell2006-06-292-71/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also consolidates the initial bits of lparcfg_data() and adds the partition number to the iSeries flattened device tree. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] Fix idr locking in init_new_contextSonny Rao2006-06-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We always need to serialize accesses to mmu_context_idr. I hit this bug when testing with a small number of mmu contexts. Signed-off-by: Sonny Rao <sonny@burdell.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] mpc7448hpc2 (taiga) board config fileZang Roy-r619112006-06-291-0/+923
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add default config for mpc7448 hpc2 (taiga) board. Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] Add tsi108 pci and platform device data register functionZang Roy-r619112006-06-294-0/+667
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add Tundra Semiconductor tsi108 pci and platform device data register function support. Signed-off-by: Alexandre Bounine <alexandreb@tundra.com> Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> --- Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] Add general support for mpc7448hpc2 (Taiga) platformZang Roy-r619112006-06-297-3/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for Freescale mpc7448 (Taiga) board support Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | [POWERPC] Correct the MAX_CONTEXT definitionPaul Mackerras2006-06-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we increased the address space per process to 2^44 bytes, the number of contexts that we could actually use reduced, but we forgot to decrease the MAX_CONTEXT definition. (Fortunately this would only cause problems if we actually had more than 512k user processes running.) This patch corrects the definition. Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | Merge branch 'for_paulus' of ↵Paul Mackerras2006-06-286-159/+138
| | |\ \ | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
| | | * | powerpc: minor cleanups for mpc86xxKumar Gala2006-06-286-159/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove duplicated cputable entry for 8641 (matches w/7448) * Removed __init from function prototypes in mpc86xx.h * Moved pci fixups into board specific code * Moved mpc86xx_exclude_device to generic mpc86xx pci code * Fixed sparse warnings in mpc86xx_smp.c * Removed board specific header include from asm-powerpc/mpc86xx.h Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | [POWERPC] Make sure we select CONFIG_NEW_LEDS if ADB_PMU_LED is setPaul Mackerras2006-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] Simplify the code defining the 64-bit CPU featuresPaul Mackerras2006-06-281-28/+20
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] powerpc: kconfig warning fixAndrew Morton2006-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arch/powerpc/Kconfig:420:warning: leading whitespace ignored Stop doing that. Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] Consolidate some of kernel/misc*.SStephen Rothwell2006-06-284-334/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were some common functions (mainly i/o). Also some small white space cleanups and remove a couple of small unused functions. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] Remove unused function call_with_mmu_offStephen Rothwell2006-06-281-42/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] update asm-powerpc/time.hStephen Rothwell2006-06-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we ever build a combined kernel including iSeries, then this will be needed. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] Clean up it_lp_queue.hStephen Rothwell2006-06-284-49/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No more StudlyCaps. Remove from a couple of places it is no longer needed. Use C style comments. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] Skip the "copy down" of the kernel if it is already at zero.Jimi Xenidis2006-06-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch allows the kernel to recognized that it was loaded at zero and the copy down of the image is unnecessary. This is useful for Simulators and kexec models. On a typical 3.8 MiB vmlinux.strip this saves about 2.3 million instructions. Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] Add the use of the firmware soft-reset-nmi to kdump.David Wilder2006-06-284-46/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch, kdump uses the firmware soft-reset NMI for two purposes: 1) Initiate the kdump (take a crash dump) by issuing a soft-reset. 2) Break a CPU out of a deadlock condition that is detected during kdump processing. When a soft-reset is initiated each CPU will enter system_reset_exception() and set its corresponding bit in the global bit-array cpus_in_sr then call die(). When die() finds the CPU's bit set in cpu_in_sr crash_kexec() is called to initiate a crash dump. The first CPU to enter crash_kexec() is called the "crashing CPU". All other CPUs are "secondary CPUs". The secondary CPU's pass through to crash_kexec_secondary() and sleep. The crashing CPU waits for all CPUs to enter via soft-reset then boots the kdump kernel (see crash_soft_reset_check()) When the system crashes due to a panic or exception, crash_kexec() is called by panic() or die(). The crashing CPU sends an IPI to all other CPUs to notify them of the pending shutdown. If a CPU is in a deadlock or hung state with interrupts disabled, the IPI will not be delivered. The result being, that the kdump kernel is not booted. This problem is solved with the use of a firmware generated soft-reset. After the crashing_cpu has issued the IPI, it waits for 10 sec for all CPUs to enter crash_ipi_callback(). A CPU signifies its entry to crash_ipi_callback() by setting its corresponding bit in the cpus_in_crash bit array. After 10 sec, if one or more CPUs have not set their bit in cpus_in_crash we assume that the CPU(s) is deadlocked. The operator is then prompted to generate a soft-reset to break the deadlock. Each CPU enters the soft reset handler as described above. Two conditions must be handled at this point: 1) The system crashed because the operator generated a soft-reset. See 2) The system had crashed before the soft-reset was generated ( in the case of a Panic or oops). The first CPU to enter crash_kexec() uses the state of the kexec_lock to determine this state. If kexec_lock is already held then condition 2 is true and crash_kexec_secondary() is called, else; this CPU is flagged as the crashing CPU, the kexec_lock is acquired and crash_kexec() proceeds as described above. Each additional CPUs responding to the soft-reset will pass through crash_kexec() to kexec_secondary(). All secondary CPUs call crash_ipi_callback() readying them self's for the shutdown. When ready they clear their bit in cpus_in_sr. The crashing CPU waits in kexec_secondary() until all other CPUs have cleared their bits in cpus_in_sr. The kexec kernel boot is then started. Signed-off-by: Haren Myneni <haren@us.ibm.com> Signed-off-by: David Wilder <dwilder@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] spufs: fix class0 interrupt assignmentArnd Bergmann2006-06-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The class zero interrupt handling for spus was confusing alignment and error interrupts, so swap them. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] spufs: fix memory hotplug dependencyGeoff Levand2006-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | spufs_base.c calls __add_pages, which depends on CONFIG_MEMORY_HOTPLUG. Moved the selection of CONFIG_MEMORY_HOTPLUG from CONFIG_SPUFS_MMAP to CONFIG_SPU_FS. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * | | [POWERPC] spufs: fix MFC command queue purgeBenjamin Herrenschmidt2006-06-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the context save/restore code, the SPU MFC command queue purge code has a bug: static inline void wait_purge_complete(struct spu_state *csa, struct spu *spu) { struct spu_priv2 __iomem *priv2 = spu->priv2; /* Save, Step 28: * Poll MFC_CNTL[Ps] until value '11' is * read * (purge complete). */ POLL_WHILE_FALSE(in_be64(&priv2->mfc_control_RW) & MFC_CNTL_PURGE_DMA_COMPLETE); } This will exit as soon as _one_ of the 2 bits that compose MFC_CNTL_PURGE_DMA_COMPLETE is set, and one of them happens to be "purge in progress"... which means that we'll happily continue restoring the MFC while it's being purged at the same time. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>