summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2008-05-08[POWERPC] spufs: don't requeue victim contex in find_victim if it's not in ↵Christoph Hellwig1-1/+2
spu_run We should not requeue the victim context in find_victim if the owner is not in spu_run. It's first not needed because leaving the context on the spu is an optimization and second is harmful because it means the owner could re-enter spu_run when the context is on the runqueue and trip the BUG_ON in __spu_update_sched_info. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-06[POWERPC] spufs: spu_create should send inotify IM_CREATE eventChristoph Hellwig1-2/+6
Creating a spufs context or gand using spu_create should send an inotify event so that things like performance monitors have an easy way to find out about newly created contexts. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: handle faults while the context switch pending flag is setLuke Browning2-9/+18
Currently, page fault handlers don't issue a mfc restart if the context switch pending flag is set, which can leave us with a hanging DMA after a context restore. This patch introduces fault pending flag that is set by the fault handler and read by the context switch code, so that the latter can add the restart bit at the right spot, after it has successfuly saved the state of the mfc control register. Signed-off-by: Luke Browning <lukebr@linux.vnet.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: fix concurrent delivery of class 0 & 1 exceptionsLuke Browning5-28/+53
SPU class 0 & 1 exceptions may occur in parallel, so we may end up overwriting csa.dsisr. This change adds dedicated fields for each class to the spu and the spu context so that fault data is not overwritten. Signed-off-by: Luke Browning <lukebr@linux.vnet.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: try to route SPU interrupts to local nodeLuke Browning4-3/+26
Currently, we re-route SPU interrupts to the current cpu, which may be on a remote node. In the case of time slicing, all spu interrupts will end up routed to the same cpu, where the spusched_tick occurs. This change routes mfc interrupts to the cpu where the controlling thread last ran, provided that cpu is on the same node as the spu (otherwise don't reroute interrupts). This should improve performance and provide a more predictable environment for processing spu exceptions. In the past we have seen concurrent delivery of spu exceptions to two cpus. This eliminates that concern. Signed-off-by: Luke Browning <lukebr@linux.vnet.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: set SPU_CONTEXT_SWITCH_PENDING before synchronising SPU irqsLuke Browning1-2/+8
synchronize_irq() provides the serialization for SPU_CONTEXT_SWITCH_PENDING which is read with a simple load. This routine guarantees that the relevant interrupt handlers are not running, so that the next time they do run they will see the update memory value. This must be done correctly so that exception handling code does not restart the mfc in the middle of a context switch while we are trying to atomically stop it and save state. Signed-off-by: Luke Browning <lukebr@linux.vnet.ibm.com> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: don't acquire state_mutex interruptible while performing ↵Jeremy Kerr1-4/+2
callback There's currently no way to tell if spu_process_callback has returned with the state mutex held, as -EINTR may be returned by either the syscall or the spu_acquire fail case. Instead, just do a non-interruptible mutex_lock here. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: update master runcntl with context lock heldJeremy Kerr1-1/+2
Currently, we update the SPU master run control bit (ie, spu_enable_spu) in spufs_run_spu before we grab the context mutex. This can result in races with other processes accessing this context's resources. This change moves the spu_enable_spu to after we have acquired the context lock. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: fix post-stopped update of MFC_CNTL registerJeremy Kerr1-4/+9
We currently have two issues with the MFC save code: * save_mfc_decr doesn't handle a transition of 1 -> 0 of the Ds bit * The Q bit may be stale in the CSA This change fixes the first issue by clearing the relevant bits from the MFC_CNTL value in the CSA before or-ing in the updated status. Also, we add the Q bit to the updated status. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: fix save of mfc_cntl registerJeremy Kerr1-6/+7
Currently, we can introduce invalid entries into the MFC queues: 1) context starts a DMA 2) context gets scheduled out during a DMA - kernel saves MFC queue to CSA - kernel saves 0x0 in csa->mfc_control_RW 3) context gets scheduled in - csa->mfc_control[Q] ('queues empty') isn't set, so DMA queues are restored from the CSA 4) context's DMA is completed 5) context gets scheduled out again, no DMA occuring this time - kernel sees that MFC_CNTL[Q] ('queues empty') is set, so doesn't touch saved queue data in CSA - kernel saves 0x0 in csa->mfc_control_RW 6) context gets scheduled in - csa->mfc_control[Q] ('queues empty') isn't set (we saved is as 0!), so DMA queues are restored from the CSA In this last restore, we've restored the queue status from step 2, which are now invalid. This change makes save_mfc_cntl() closer to the save/restore sequence, as specified in the CBE handbook. With changes from Luke Browning. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] spufs: don't touch suspend bits when purging DMA queueJeremy Kerr1-1/+3
When we issue a MFC purge request, we may inadvertantly clear the suspended status. This change adds the MFC_CNTL_SUSPEND_MASK when we issue a purge request, so that the suspend bit is masked out. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-05[POWERPC] cell: Fix lost interrupts due to fasteoi handlerJeremy Kerr1-2/+51
We may currently lose interrupts during SPE context switch, as we alter the INT_Route register. Because the IIC uses a per-thread priority status, changing the interrupt routing to a different thread means that the IRQ is no longer masked by the priority status, so we end up with two fasteoi IRQ handlers executing for the one irq_desc. The fasteoi handler doesn't handle multiple IRQs, so drops the second one. Fix this by using our own flow handler. This is based on handle_edge_irq, but issues an eoi after IRQs are handled, and doesn't do any mask/unmasking. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-05-02[POWERPC] Bolt in SLB entry for kernel stack on secondary cpusPaul Mackerras2-8/+15
This fixes a regression reported by Kamalesh Bulabel where a POWER4 machine would crash because of an SLB miss at a point where the SLB miss exception was unrecoverable. This regression is tracked at: http://bugzilla.kernel.org/show_bug.cgi?id=10082 SLB misses at such points shouldn't happen because the kernel stack is the only memory accessed other than things in the first segment of the linear mapping (which is mapped at all times by entry 0 of the SLB). The context switch code ensures that SLB entry 2 covers the kernel stack, if it is not already covered by entry 0. None of entries 0 to 2 are ever replaced by the SLB miss handler. Where this went wrong is that the context switch code assumes it doesn't have to write to SLB entry 2 if the new kernel stack is in the same segment as the old kernel stack, since entry 2 should already be correct. However, when we start up a secondary cpu, it calls slb_initialize, which doesn't set up entry 2. This is correct for the boot cpu, where we will be using a stack in the kernel BSS at this point (i.e. init_thread_union), but not necessarily for secondary cpus, whose initial stack can be allocated anywhere. This doesn't cause any immediate problem since the SLB miss handler will just create an SLB entry somewhere else to cover the initial stack. In fact it's possible for the cpu to go quite a long time without SLB entry 2 being valid. Eventually, though, the entry created by the SLB miss handler will get overwritten by some other entry, and if the next access to the stack is at an unrecoverable point, we get the crash. This fixes the problem by making slb_initialize create a suitable entry for the kernel stack, if we are on a secondary cpu and the stack isn't covered by SLB entry 0. This requires initializing the get_paca()->kstack field earlier, so I do that in smp_create_idle where the current field is initialized. This also abstracts a bit of the computation that mk_esid_data in slb.c does so that it can be used in slb_initialize. Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-05-02[POWERPC] PS3: Update ps3_defconfigGeoff Levand1-48/+84
Update ps3_defconfig. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-05-02[POWERPC] PS3: Make ps3_virq_setup and ps3_virq_destroy staticGeert Uytterhoeven1-3/+3
The routines ps3_virq_setup() and ps3_virq_destroy() are used in only one file, so make them static. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-05-02[POWERPC] Fix slb.c compile warningsGeoff Levand1-3/+3
Arrange for a syntax check to always be done on the powerpc/mm/slb.c DBG() macro by defining it to pr_debug() for non-debug builds. Also, fix these related compile warnings: slb.c:273: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int slb.c:274: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'long unsigned int' Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-05-01[POWERPC] Xilinx: Fix compile warningsKumar Gala1-1/+1
arch/powerpc/sysdev/xilinx_intc.c: In function 'xilinx_intc_init': arch/powerpc/sysdev/xilinx_intc.c:111: warning: format '%08X' expects type 'unsigned int', but argument 2 has type 'resource_size_t' drivers/char/xilinx_hwicap/xilinx_hwicap.c: In function 'hwicap_setup': drivers/char/xilinx_hwicap/xilinx_hwicap.c:626: warning: cast to pointer from integer of different size drivers/char/xilinx_hwicap/xilinx_hwicap.c:646: warning: format '%x' expects type 'unsigned int', but argument 6 has type 'resource_size_t' Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-05-01[POWERPC] Squash build warning for print of resource_size_t in fsl_soc.cBecky Bruce1-2/+2
When resource_size_t is larger than an int, the current code generates a build warning. Kill it. Signed-off-by: Becky Bruce <becky.bruce@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-05-01[RAPIDIO] fix current kernel-doc notationRandy Dunlap1-2/+7
Fix current (-git16) missing docbook/kernel-doc notation in RapidIO files. Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'sys_size' Warning(linux-2.6.25-git16//include/linux/rio.h:187): No description found for parameter 'phy_type' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:188): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:224): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:245): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:270): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:311): No description found for parameter 'mport' Warning(linux-2.6.25-git16//arch/powerpc/sysdev/fsl_rio.c:996): No description found for parameter 'dev' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-05-01[POWERPC] 86xx: mpc8610_hpcd: add support for PCI Express x8 slotAnton Vorontsov1-0/+21
This patch adds pcie node which is resposible for PCI-E x8 slot functioning. Though, this was tested using only x1 SKY2 NIC. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-30[POWERPC] 86xx: Fix the wrong serial1 interrupt for 8610 boardJason Jin1-1/+1
Signed-off-by: Jason Jin <Jason.jin@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-04-30[POWERPC] Fix crashkernel= handling when no crashkernel= specifiedMichael Ellerman1-6/+6
Commit edd8ce67436851a62f99f1d9707b40ea6a8e5323 (Use extended crashkernel command line on ppc64), changed the logic in reserve_crashkernel() which deals with the crashkernel= command line option. This introduced a bug in the case when there is no crashkernel= option, or it is incorrect. We would fall through and calculate the crash_size based on the existing values in crashk_res. If both start and end are 0, the default, we calculate the crash_size as 1 byte - which is wrong. Rework the logic so that we use crashk_res, regardless of whether it's set by the command line or via the device tree (see prom.c). Then check if we have an empty range (end == start), and if so make sure to set both end and start to zero (this is checked in machine_kexec_64.c). Then we calculate the crash_size once we know we have a non-zero range. Finally we always want to warn the user if they specify a base != 32MB, so remove the special case for that in the command line parsing case. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-30[POWERPC] Make emergency stack safe for current_thread_info() useMichael Ellerman1-3/+6
The current_thread_info() macro, used by preempt_count(), assumes the base address and size of the stack are THREAD_SIZE aligned. The emergency stack currently isn't either of these things, which could potentially cause problems anytime we're running on the emergency stack. That includes when we detect a bad kernel stack pointer, and also during early_setup_secondary(). Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufsPaul Mackerras7-21/+226
2008-04-30[POWERPC] spufs: add .gitignore for spu_save_dump.h & spu_restore_dump.hKumar Gala1-0/+2
Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30[POWERPC] spufs: trace spu_acquire_saved eventsJulio M. Merino Vidal1-0/+2
The sputrace module contained a trace entry for spu_acquire_saved, but this marker was not placed anywhere. Fix this by adding a marker to the routine. Signed-off-by: Julio M. Merino Vidal <jmerino@ac.upc.edu> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30[POWERPC] spufs: fix marker name for find_victimJulio M. Merino Vidal1-1/+1
Fix a typo in the marker for the find_victim function, which prevented it from being traced. It previously read find_vitim. Signed-off-by: Julio M. Merino Vidal <jmerino@ac.upc.edu> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30[POWERPC] spufs: add marker for destroy_spu_contextJulio M. Merino Vidal1-0/+1
The sputrace module contained a reference to a marker for destroy_spu_context, but this marker did not appear in the code. Fix this by adding a marker in the function. Signed-off-by: Julio M. Merino Vidal <jmerino@ac.upc.edu> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30[POWERPC] spufs: add sputrace marker parameter namesJulio M. Merino Vidal2-20/+20
The markers facility defines the marker parameters to be of the form 'name %format'. Add parameter names to sputrace, to specify the context and %spu paramerters, instead of just specifying the '%format' part. Signed-off-by: Julio M. Merino Vidal <jmerino@ac.upc.edu> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-30[POWERPC] spufs: add context switch notification logChristoph Hellwig5-0/+200
There are userspace instrumentation tools that need to monitor spu context switches. This patch adds a new file called 'switch_log' to each spufs context directory that can be used to monitor the context switches. Context switch in/out and exit from spu_run are monitored after the file was first opened and can be read from it. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2008-04-29[POWERPC] mpc5200: defconfigs for CM5200, Lite5200B, Motion-PRO and TQM5200Bartlomiej Sieka5-9/+4484
Board-specific defconfigs based on current mpc5200_defconfig, archival lite5200_defconfig, and [cm5200|motionpro|tqm5200]_defconfig from the linux-2.6-denx tree. Kernels build using these defconfigs were verified to boot with root filesystem mounted over NFS on Motion-PRO, TQM5200 and Lite5200B boards. CM5200 target was not tested due to hardware unavailability. Signed-off-by: Bartlomiej Sieka <tur@semihalf.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-04-29[POWERPC] mpc5200: Switch mpc5200 dts files to dts-v1 formatGrant Likely5-288/+286
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-04-29[POWERPC] mpc5200: add Phytec pcm030 board supports.hauer@pengutronix.de3-0/+1473
Add board support for the Phytec pcm030 mpc5200b based board. It does not need any platform specific fixups and as such is handled as a mpc5200 simple platform. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-04-29[POWERPC] mpc5200: add gpiolib support for mpc5200s.hauer@pengutronix.de3-0/+473
This patch adds gpiolib support for mpc5200 SOCs. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-04-29[POWERPC] mpc5200: add interrupt type functionSascha Hauer1-0/+38
Add a set_type function for external (GPIO) interrupts. Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2008-04-29[RAPIDIO] Change RapidIO doorbell source and target ID field to 16-bitZhang Wei1-4/+4
Change RapidIO doorbell source and target ID field to 16-bit for support large system size, which max rio devid is 65535. Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Add RapidIO connection info print out and re-training for broken ↵Zhang Wei1-0/+71
connections Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Add serial RapidIO controller support, which includes MPC8548, MPC8641Zhang Wei1-11/+64
Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Add RapidIO node probing into MPC86xx_HPCN board id tableZhang Wei1-0/+1
Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Add RapidIO node into MPC8641HPCN dts fileZhang Wei1-0/+12
This adds properties describing the RapidIO controller to the device-tree source for the MPC8641HPCN board. Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Auto-probe the RapidIO system sizeZhang Wei1-0/+6
The RapidIO system size will auto probe in RIO setup. The route table and rionet_active in rionet.c are changed to be allocated dynamically according to the size of the system. Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Add OF-tree support to RapidIO controller driverZhang Wei4-81/+102
This initializes the RapidIO controller driver using addresses and interrupt numbers obtained from the firmware device tree, rather than using hardcoded constants. Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Add RapidIO multi mport supportZhang Wei1-173/+222
The original RapidIO driver suppose there is only one mpc85xx RIO controller in system. So, some data structures are defined as mpc85xx_rio global, such as 'regs_win', 'dbell_ring', 'msg_tx_ring'. Now, I changed them to mport's private members. And you can define multi RIO OF-nodes in dts file for multi RapidIO controller in one processor, such as PCI/PCI-Ex host controllers in Freescale's silicon. And the mport operation function declaration should be changed to know which RapidIO controller is target. Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Add RapidIO option to kernel configurationZhang Wei2-0/+14
Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[RAPIDIO] Change RIO function mpc85xx_ to fsl_Zhang Wei1-40/+40
The driver is suitable for the Freescale MPC8641 processor as well as 85xx processors, so this changes the mpc85xx prefix to fsl. Signed-off-by: Zhang Wei <wei.zhang@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[POWERPC] Provide walk_memory_resource() for powerpcBadari Pulavarty1-7/+23
Provide walk_memory_resource() for 64-bit powerpc. PowerPC maintains logical memory region mapping in the lmb.memory structure. Walk through these structures and do the callbacks for the contiguous chunks. Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Cc: Yasunori Goto <y-goto@jp.fujitsu.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[POWERPC] Update lmb data structures for hotplug memory add/removeBadari Pulavarty1-0/+43
The powerpc kernel maintains information about logical memory blocks in the lmb.memory structure, which is initialized and updated at boot time, but not when memory is added or removed while the kernel is running. This adds a hotplug memory notifier which updates lmb.memory when memory is added or removed. This information is useful for eHEA driver to find out the memory layout and holes. NOTE: No special locking is needed for lmb_add() and lmb_remove(). Calls to these are serialized by caller. (pSeries_reconfig_chain). Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Cc: Yasunori Goto <y-goto@jp.fujitsu.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[POWERPC] Hotplug memory remove notifications for powerpcBadari Pulavarty2-0/+99
Hotplug memory remove notifier for 64-bit powerpc. This gets invoked by writing to /proc/ppc64/ofdt the string "remove_node " followed by the firmware device tree pathname of the node that needs to be removed. In response, this adjusts the sections and removes sysfs entries by calling __remove_pages(). Then it calls arch-specific code to get rid of the hardware MMU mappings for the section of memory. Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Reviewed-by: Michael Ellerman <michael@ellerman.id.au> Cc: Yasunori Goto <y-goto@jp.fujitsu.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[POWERPC] windfarm: Add PowerMac 12,1 supportÉtienne Bersac1-0/+1
This implements a new driver named windfarm_pm121, which drives the fans on PowerMac 12,1 machines : iMac G5 iSight (rev C) 17" and 20". It's based on the windfarm_pm81 driver from Benjamin Herrenschmidt. This includes fixes from David Woodhouse correcting the names of some of the sensors. Signed-off-by: Étienne Bersac <bersace@gmail.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-04-29[POWERPC] Fix building of pmac32 when CONFIG_NVRAM=mTony Breeds2-2/+6
Kamalesh Babulal (kamalesh@linux.vnet.ibm.com) reports that CONFIG_NVRAM=m is valid in terms of Kconfig but fails to build with: Building modules, stage 2. MODPOST 1401 modules ERROR: "pmac_newworld" [arch/powerpc/platforms/powermac/nvram.ko] undefined! ERROR: "__alloc_bootmem" [arch/powerpc/platforms/powermac/nvram.ko] undefined! make[1]: *** [__modpost] Error The arch/powerpc/platforms/powermac/nvram.c code really needs to be builtin, but as its compilation is dependent on a generic Kconfig symbol we force nvram.c to be builtin if CONFIG_NVRAM is 'y' or 'm'. Signed-off-by: Tony Breeds <tony@bakeyournoodle.com> Signed-off-by: Paul Mackerras <paulus@samba.org>