aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64 (follow)
AgeCommit message (Collapse)AuthorFilesLines
2008-09-10sparc64: Create and use psycho_pbm_init_common().David S. Miller4-46/+31
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-10sparc64: Start commonizing code common between SABRE and PSYCHO.David S. Miller5-120/+111
These are very similar chips, in fact they are identical in some macro blocks. So start commonizing code which they can share. We begin with the IOMMU initialization sequence. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-10sparc64: Record OF device instead of device node pointer in pci_pbm_info.David S. Miller9-29/+30
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-10sparc64: Get rid of pci_controller_info.David S. Miller7-241/+178
It is just used as a parent to encapsulate two PBM objects. But that layout is only really relevant and necessary for psycho PCI controllers, which unlike all the others share a single IOMMU instance between sibling PCI busses. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-10sparc64: Fix interrupt register calculations on Psycho and Sabre.David S. Miller1-98/+6
Use the IMAP offset calculation for OBIO devices as documented in the programmer's manual. Which is "0x10000 + ((ino & 0x1f) << 3)" Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-10sparc64: Fix return value in update_persistent_clock().David S. Miller1-2/+2
Noticed by Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-08sparc64: Add missing rtc_close() in update_persistent_clock()David S. Miller1-2/+5
Noticed by David Brownell. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-08sparc64: Disable timer interrupts in fixup_irqs().David S. Miller1-0/+2
When a CPU is offlined, we leave the timer interrupts disabled because fixup_irqs() does not explicitly take care of that case. Fix this by invoking tick_ops->disable_irq(). Based upon analysis done by Paul E. McKenney. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-08Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6David S. Miller4-15/+22
Conflicts: arch/sparc/kernel/of_device.c
2008-09-07sparc64: fix wrong m48t59 RTC yearKrzysztof Helt1-2/+4
Correctly calculate offset to the year register for Mostek RTC. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-03sparc64: Prevent sparc64 from invoking irq handlers on offline CPUsPaul E. McKenney1-4/+4
Make sparc64 refrain from clearing a given to-be-offlined CPU's bit in the cpu_online_mask until it has processed pending irqs. This change prevents other CPUs from being blindsided by an apparently offline CPU nevertheless changing globally visible state. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-03sparc64: Fix IPI call locking.David S. Miller1-6/+4
When I switched sparc64 over to the generic helpers for smp_call_function(), I didn't convert the dinky call_lock we had. Use ipi_call_lock() and ipi_call_unlock(). Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-03sparc: Fix handling of LANCE and ESP parent nodes in of_device.cDavid S. Miller1-1/+10
The device nodes that sit above 'esp' and 'le' on SBUS lack a 'ranges' property, but we should pass the translation up to the parent node so that the SBUS level ranges get applied. Based upon a bug report from Robert Reif. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-02pci_sun4v: Use of_get_property().David S. Miller1-14/+7
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-02pci_schizo: Use of_get_property() and delete spurious local vars.David S. Miller1-17/+8
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-02pci_psycho: Use of_getintprop_default().David S. Miller1-14/+3
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-02sparc64: Implement SSTATE purely using notifiers and initcalls.David S. Miller4-32/+45
Don't clutter up the tree with sstate_blah() scattered all over the place. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-02sparc64: Move reboot handling into seperate file and kill power reg programming.David S. Miller4-71/+57
We should always use prom_power_off(). Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-01sparc64: Pass proper parent device down into root pci_create_bus() call.David S. Miller6-39/+45
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-01sparc64: Kill the scan_bus function pointer in struct pci_pbm_info.David S. Miller1-2/+2
No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-01sparc64: Use ENTRY/ENDPROC in PCI SUN4V asm.David S. Miller1-49/+50
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-01sparc64: Use ENTRY/ENDPROC in hypervisor asm.David S. Miller2-236/+119
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-09-01sparc64: Apply const or __initdata to vio_device_id[]David S. Miller1-2/+2
This mirrors the of_device_id[] changes done in fd098316ef533e8441576f020ead4beab93154ce ("sparc: Annotate of_device_id arrays with const or __initdata.") Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-31sparc64: Clean up CPU chip type probing code.David S. Miller3-103/+111
Three main things: 1) Make prober an arch initcall instead of using hard-coded invocation from paging_init() 2) Shrink table size, the fpu ident stuff was never used. 3) Use named struct initialized in table. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-31sparc64: Rewrite central driver.David S. Miller3-409/+213
This driver is now limited to just doing the basic clock board and FHC chip initialization and registering the platform devices for the per-board LEDs, which are driven by the new LEDS_STARFIRE driver. The IRQ register handling is already confined purely to the device tree code. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-31sparc64: Delete starfire_cpu_setup().David S. Miller2-9/+1
It does nothing. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-31sparc64: Simplify error handling in PCI controller probing.David S. Miller5-62/+68
Based upon suggestions from Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-31sparc: Annotate of_device_id arrays with const or __initdata.David S. Miller9-11/+11
As suggested by Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Convert FIRE PCI controller driver into a real driver.David S. Miller2-118/+58
And now all the by-hand PCI controller probing junk in pci.c can die too. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Convert SABRE PCI controller driver into a real driver.David S. Miller2-45/+85
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Convert PSYCHO PCI controller driver into a real driver.David S. Miller2-28/+70
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Convert SUN4V PCI controller driver into a real driver.David S. Miller2-42/+83
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Convert SCHIZO PCI controller driver into a real driver.David S. Miller2-48/+84
The idea is to convert all of the PCI controller drivers into genuine OF drivers, then we can get rid of this terrible probing table and infrastructure in arch/sparc64/kernel/pci.c Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: setup_valid_addr_bitmap_from_pavail() should be __initDavid S. Miller1-1/+1
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Don't invoke power_init() from pcibios_init().David S. Miller2-15/+5
That's just silly, use device_initcall() instead. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc: Kill ebus_bus_type.David S. Miller1-10/+0
No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc: Kill EBUS driver layer.David S. Miller4-302/+5
All that remains is the EBUS DMA programming library for sparc64. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Move EBUS DMA interfaces into seperate header file.David S. Miller1-0/+1
These have no dependencies on the EBUS probing layer, the clients setup the registers and all of those details. The EBUS DMA layer just programs and manages the DMA controller found in EBUS. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Propagate PCI device archdata into OF device tree for EBUS.David S. Miller1-2/+6
In order to convert EBUS drivers doing DMA into pure OF drivers, we need the of_device->dev.archdata setup properly. EBUS instances that can provide DMA for device nodes sit on PCI, so detect and propagate the information there. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic starfire RTC driver.David S. Miller2-285/+9
Also, delete the mini RTC driver, no longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic sun4v RTC driver.David S. Miller2-75/+9
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic BQ4802 RTC driver.David S. Miller2-190/+12
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic CMOS driver.David S. Miller2-252/+121
Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Convert Mostek rtc to use generic RTC layer driver.David S. Miller3-317/+103
Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Check for RTC class device in update_persistent_clock().David S. Miller1-0/+5
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>
2008-08-29sparc64: Select RTC_CLASSDavid S. Miller1-0/+1
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Kill now spurious includes of sbus.hDavid S. Miller3-3/+3
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>
2008-08-29sparc: Kill sbus_bus_type.David S. Miller1-9/+0
No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Remove generic SBUS probing layer.David S. Miller1-55/+67
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>
2008-08-29sparc: Add OF archdata propagation helper.David S. Miller1-0/+22
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>