aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
Commit message (Collapse)AuthorAge
...
* | sparc64: Use generic starfire RTC driver.David S. Miller2008-08-29
| | | | | | | | | | | | Also, delete the mini RTC driver, no longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Use generic sun4v RTC driver.David S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Use generic BQ4802 RTC driver.David S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Use generic CMOS driver.David S. Miller2008-08-29
| | | | | | | | | | | | Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Convert Mostek rtc to use generic RTC layer driver.David S. Miller2008-08-29
| | | | | | | | | | | | Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Check for RTC class device in update_persistent_clock().David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | | | | | As we convert the various by-hand sparc64 RTC drivers to use the generic RTC framework and drivers, we need to keep the NTP set_rtc_mmss() support via update_persistent_clock() working. In the end, after all the RTC device cases are converted, this local set_rtc_mmss() function will be deleted. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Select RTC_CLASSDavid S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill now spurious includes of sbus.hDavid S. Miller2008-08-29
| | | | | | | | | | | | | | | | In order to make this week I also had to add an include of linux/dma-mapping.h to asm/pci_32.h because drivers/pci/pci.c really depends upon getting this header somehow. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill sbus_bus_type.David S. Miller2008-08-29
| | | | | | | | | | | | No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Remove generic SBUS probing layer.David S. Miller2008-08-29
| | | | | | | | | | | | | | The individual SBUS IOMMU arch code now sets the IOMMU information directly into the OF device objects. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Add OF archdata propagation helper.David S. Miller2008-08-29
| | | | | | | | | | | | | | Add a helper function that, given a bus of_device node, propagates all iommu, stc, and host_controller values down to the child nodes. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill sbus_arch_preinit().David S. Miller2008-08-29
| | | | | | | | | | | | | | 32-bit sparc just needed it to register the ioport procfs bits, do this via an arch_initcall() instead. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Remove dinky old-style SBUS probing facilities.David S. Miller2008-08-29
| | | | | | | | | | | | | | No drivers or code uses this stuff any more, every driver has been converted over to OF device probing. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Remove SBUS layer resource and irq handling.David S. Miller2008-08-29
| | | | | | | | | | | | | | All the drivers use OF device objects now for this information. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill SBUS layer IRQ hooks.David S. Miller2008-08-29
| | | | | | | | | | | | IRQs are obtained by drivers from the of_device struct. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Move SBUS DMA attribute interfaces out of asm/sbus.hDavid S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | This is in preparation for the subsequent asm/sbus.h removal. Also, make these routines take a "struct device" or no arguments, as appropriate. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Convert all SBUS drivers to dma_*() interfaces.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | And all the SBUS dma interfaces are deleted. A private implementation remains inside of the 32-bit sparc port which exists only for the sake of the implementation of dma_*(). Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Make SBUS DMA interfaces take struct device.David S. Miller2008-08-29
| | | | | | | | | | | | | | This is the first step in converting all the SBUS drivers over to generic dma_*(). Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill SBUS DVMA layer.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | This thing was completely pointless. Just find the OF device in the parent of drivers that want to program this device, and map the DMA regs inside such drivers too. This also moves the dummy claim_dma_lock() and release_dma_lock() implementation to floppy_32.h, which makes it handle this issue just like floppy_64.h does. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Delete bare sbus char bpp driver, obsoleted by parport_sunbppDavid S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Fix irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller2008-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stephen Rothwell noticed that I committed an earlier version of the patch that didn't have two things fixed: 1) irq_of_parse_and_map() should return "unsigned int" not "int" and it should return zero for "no irq" 2) irq_dispose_mapping() should be an inline function, not a macro, for type checking With feedback and suggestions from Anton Vorontsov. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Use the cond_syscall()s in kernel/sys_ni.c instead of home-grown copy.David S. Miller2008-08-25
| | | | | | | | | | | | | | This also allows arch/sparc64/kernel/pci.c to be properly CONFIG_PCI conditional compiled in the Makefile. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Add JBUS UltraSPARC-IIIi support to memory controller driver.David S. Miller2008-08-25
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Allow chmc to be built as a module.David S. Miller2008-08-25
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Add generic interface for registering a dimm printing handler.David S. Miller2008-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | The way to do this varies by platform type and the exact memory controller the cpu uses. For Spitfire cpus we currently just use prom_getunumber() and hope that works. For Cheetah cpus we have a memory controller driver that can compute this information. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Use consistent chmc_ prefix in variables, types, and functions.David S. Miller2008-08-25
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Convert UltraSPARC-III memory controller driver to OF driver probing.David S. Miller2008-08-25
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Kill duplicated sys_pause() implementation.David S. Miller2008-08-24
| | | | | | | | | | | | | | | | | | sys32_pause() is identical to the generically provided sys_pause() in kernel/signal.c Noticed by Christoph Hellwig. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Split syscall_trace() into two functions.David S. Miller2008-08-24
| | | | | | | | | | | | | | | | Christoph Hellwig noticed that having both entry and exit logic in one function no longer makes sense, and having seperate ones simplifies things a lot. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Add GPIO layer support.David S. Miller2008-08-24
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Implement irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller2008-08-24
| | | | | | | | | | | | | | This allows more OF layer code to be shared between powerpc and sparc. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Add mutex for set property calls.David S. Miller2008-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | | On some platforms, the I2C controller is shared between the OS and OBP. OBP uses this I2C controller to access the EEPROM, and thus is programmed when the kernel calls prom_setprop(). Wrap such calls with the new of_set_property_mutex. Relevant I2C bus drivers can grab this mutex around top-level I2C operations to provide the proper protection. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Add JBUS NUMA detection.David S. Miller2008-08-24
|/ | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Fix cmdline_memory_size handling bugs.David S. Miller2008-08-14
| | | | | | | | | | | | | | | | | | | | | | | First, lmb_enforce_memory_limit() interprets it's argument (mostly, heh) as a size limit not an address limit. So pass the raw cmdline_memory_size value into it. And we don't need to check it against zero, lmb_enforce_memory_limit() does that for us. Next, free_initmem() needs special handling when the kernel command line trims the available memory. The problem case is if the trimmed out memory is where the kernel image itself resides. When that memory is trimmed out, we don't add those physical ram areas to the sparsemem active ranges, amongst other things. Which means that this free_initmem() code will free up invalid page structs, resulting in either crashes or hangs. Just quick fix this by not freeing initmem at all if "mem=" was given on the boot command line. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Fix overshoot in nid_range().David S. Miller2008-08-14
| | | | | | | If 'start' does not begin on a page boundary, we can overshoot past 'end'. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Handle stack trace attempts before irqstacks are setup.David S. Miller2008-08-13
| | | | | | | | | | Things like lockdep can try to do stack backtraces before the irqstack blocks have been setup. So don't try to match their ranges so early on. Also, remove unused variable in save_stack_trace(). Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Implement IRQ stacks.David S. Miller2008-08-12
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Fix recursion in stack overflow detection handling.David S. Miller2008-08-12
| | | | | | | | | | | The calls down into prom_printf() when we detect an overflowed stack can recurse again since the overflow stack will be "below" the current kernel stack limit. Prevent this by just returning straight if we are on the stack overflow safe stack already. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Don't MAGIC_SYSRQ ifdef smp_fetch_global_regs and support code.David S. Miller2008-08-09
| | | | | | | | | | | | Based upon a report and initial patch by Friedrich Oslage. The intention is to provide this facility for __trigger_all_cpu_backtrace even if MAGIC_SYSRQ is not set. The only part that should have MAGIC_SYSRQ ifdef protection is the sparc_globalreg_op sysrq regitration and immediate code. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Fix end-of-stack checking in save_stack_trace().David S. Miller2008-08-08
| | | | | | | | | | Bug reported by Alexander Beregalov. Before we dereference the stack frame or try to peek at the pt_regs magic value, make sure the entire object is within the kernel stack bounds. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: don't use asm/of_device.hStephen Rothwell2008-08-07
| | | | | | | Use linux/of_device.h instead. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Use kernel/uid16.c helpers instead of own copy.David S. Miller2008-08-07
| | | | | | Noticed by Adrian Bunk. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Remove all cpumask_t local variables in xcall dispatch.David S. Miller2008-08-04
| | | | | | | | | All of the xcall delivery implementation is cpumask agnostic, so we can pass around pointers to const cpumask_t objects everywhere. The sad remaining case is the argument to arch_send_call_function_ipi(). Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Kill error_mask from hypervisor_xcall_deliver().David S. Miller2008-08-04
| | | | | | | | It can eat up a lot of stack space when NR_CPUS is large. We retain some of it's functionality by reporting at least one of the cpu's which are seen in error state. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Build cpu list and mondo block at top-level xcall_deliver().David S. Miller2008-08-04
| | | | | | | | | | Then modify all of the xcall dispatch implementations get passed and use this information. Now all of the xcall dispatch implementations do not need to be mindful of details such as "is current cpu in the list?" and "is cpu online?" Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Disable local interrupts around xcall_deliver_impl() invocation.David S. Miller2008-08-04
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Make all xcall_deliver's go through common helper function.David S. Miller2008-08-04
| | | | | | | This just facilitates the next changeset where we'll be building the cpu list and mondo block in this helper function. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Always allocate the send mondo blocks, even on non-sun4v.David S. Miller2008-08-04
| | | | | | | The idea is that we'll use this cpu list array and mondo block even for non-hypervisor platforms. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Make smp_cross_call_masked() take a cpumask_t pointer.David S. Miller2008-08-04
| | | | | | | | | | Ideally this could be simplified further such that we could pass the pointer down directly into the xcall_deliver() implementation. But if we do that we need to do the "cpu_online(cpu)" and "cpu != self" checks down in those functions. Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc64: Directly call xcall_deliver() in smp_start_sync_tick_client.David S. Miller2008-08-04
| | | | | | We know the cpu is online and not the current cpu here. Signed-off-by: David S. Miller <davem@davemloft.net>