summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* xtime_lock vs update_process_timesPeter Zijlstra2008-02-138-33/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d3d74453c34f8fd87674a8cf5b8a327c68f22e99 ("hrtimer: fixup the HRTIMER_CB_IRQSAFE_NO_SOFTIRQ fallback") broke several archs, and since only Russell bothered to merge the fix, and Greg to ACK his arch, I'm sending this for merger. I have confirmation that the Alpha bit results in a booting kernel. That leaves: blackfin, frv, sh and sparc untested. The deadlock in question was found by Russell: IRQ handle -> timer_tick() - xtime seqlock held for write -> update_process_times() -> run_local_timers() -> hrtimer_run_queues() -> hrtimer_get_softirq_time() - tries to get a read lock Now, Thomas assures me the fix is trivial, only do_timer() needs to be done under the xtime_lock, and update_process_times() can savely be removed from under it. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Greg Ungerer <gerg@uclinux.org> CC: Richard Henderson <rth@twiddle.net> CC: Bryan Wu <bryan.wu@analog.com> CC: David Howells <dhowells@redhat.com> CC: Paul Mundt <lethal@linux-sh.org> CC: William Irwin <wli@holomorphy.com> Acked-by: Ingo Molnar <mingo@elte.hu> Acked-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* FRV: Fix up parse error in linker scriptDavid Howells2008-02-131-3/+1
| | | | | | | | Fix up parse error in FRV linker script, presumably introduced through changes to the INIT_TEXT and EXIT_TEXT macros. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* x86: pit_clockevent can be staticHarvey Harrison2008-02-131-1/+1
| | | | | | | | arch/x86/kernel/i8253.c:98:27: warning: symbol 'pit_clockevent' was not declared. Should it be static? Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: EFI runtime code mapping enhancementHuang, Ying2008-02-132-23/+15
| | | | | | | | | | | | | | | | | This patch enhances EFI runtime code memory mapping as following: - Move __supported_pte_mask & _PAGE_NX checking before invoking runtime_code_page_mkexec(). This makes it possible for compiler to eliminate runtime_code_page_mkexec() on machine without NX support. - Use set_memory_x/nx in early_mapping_set_exec(). This eliminates the duplicated implementation. This patch has been tested on Intel x86_64 platform with EFI64/32 firmware. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: EFI: fix use of unitialized variable and the cache logicThomas Gleixner2008-02-131-3/+3
| | | | | | | | | | | | | | | Andi Kleen pointed out that the cache attribute logic is reverse in efi_enter_virtual_mode(). This problem alone is harmless as we do not (yet) do cache attribute conflict resolution. (This bug was not present in the original EFI submission - I introduced it while fixing up rejects.) While reviewing this code I noticed a second, worse problem: the use of uninitialized md->virt_addr. Fix both problems. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: CPA: fix gbpages support in try_preserve_large_pageAndi Kleen2008-02-131-2/+2
| | | | | | | | | | | | | | [ mingo@elte.hu: while gbpages cannot be enabled on mainline currently, keep the code uptodate and this fix is easy enough. ] Use correct page sizes and masks for GB pages in try_preserve_large_page() This prevents a boot hang on a GB capable system with CONFIG_DIRECT_GBPAGES enabled. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* xen: unpin initial Xen pagetable once we're finished with itJeremy Fitzhardinge2008-02-131-0/+4
| | | | | | | | | | Unpin the Xen-provided pagetable once we've finished with it, so it doesn't cause stray references which cause later swapper_pg_dir pagetable updates to fail. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Tested-by: Jody Belka <knew-linux@pimb.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86/early_ioremap: don't assume we're using swapper_pg_dirJeremy Fitzhardinge2008-02-131-1/+3
| | | | | | | | | | | | At the early stages of boot, before the kernel pagetable has been fully initialized, a Xen kernel will still be running off the Xen-provided pagetables rather than swapper_pg_dir[]. Therefore, readback cr3 to determine the base of the pagetable rather than assuming swapper_pg_dir[]. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Tested-by: Jody Belka <knew-linux@pimb.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: fixup machine_ops reboot_{32|64}.c unification falloutJody Belka2008-02-131-10/+36
| | | | | | | | | | | When reboot_32.c and reboot_64.c were unified (commit 4d022e35fd...), the machine_ops code was broken, leading to xen pvops kernels failing to properly halt/poweroff/reboot etc. This fixes that up. Signed-off-by: Jody Belka <knew-linux@pimb.org> Cc: Miguel Boton <mboton@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: vdso_install fixRoland McGrath2008-02-111-10/+12
| | | | | | | | | | The makefile magic for installing the 32-bit vdso images on disk had a little error. A single-line change would fix that bug, but this does a little more to reduce the error-prone duplication of this bit of makefile variable magic. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'release' of ↵Linus Torvalds2008-02-111-0/+7
|\ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix build for sim_defconfig
| * [IA64] Fix build for sim_defconfigTony Luck2008-02-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit bdc807871d58285737d50dc6163d0feb72cb0dc2 broke the build for this config because the sim_defconfig selects CONFIG_HZ=250 but include/asm-ia64/param.h has an ifdef for the simulator to force HZ to 32. So we ended up with a kernel/timeconst.h set for HZ=250 ... which then failed the check for the right HZ value and died with: Drop the #ifdef magic from param.h and make force CONFIG_HZ=32 directly for the simulator. Signed-off-by: Tony Luck <tony.luck@intel.com>
* | x86: remove over noisy debug printkThomas Gleixner2008-02-111-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | pageattr-test.c contains a noisy debug printk that people reported. The condition under which it prints (randomly tapping into a mem_map[] hole and not being able to c_p_a() there) is valid behavior and not interesting to report. Remove it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Use proper abstractions in quirk_intel_irqbalanceMatthew Wilcox2008-02-111-3/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we may not have a pci_dev for the device we need to access, we can't use pci_read_config_word. But raw_pci_read is an internal implementation detail; it's better to use the architected pci_bus_read_config_word interface. Using PCI_DEVFN instead of a mysterious constant helps reassure everyone that we really do intend to access device 8. [ Thanks to Grant Grundler for pointing out to me that this is exactly what the write immediately above this is doing -- enabling device 8 to respond to config space cycles. - Matthew Grant also says: "Can you also add a comment which points at the Intel documentation? The 'Intel E7320 Memory Controller Hub (MCH) Datasheet' at http://download.intel.com/design/chipsets/datashts/30300702.pdf Page 69 documents register F4h (DEVPRES1). And I just doubled checked that the 0xf4 register value is restored later in the quirk (obvious when you look at the code but not from the patch" so here it is. - Linus ] Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Acked-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2008-02-1045-851/+2138
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (30 commits) [ARM] constify function pointer tables [ARM] 4823/1: AT91 section fix [ARM] 4824/1: pxa: clear RDH bit after any reset [ARM] pxa: remove debugging PM: printk ARM: OMAP1: Misc clean-up ARM: OMAP1: Update defconfigs for omap1 ARM: OMAP1: Palm Tungsten E board clean-up ARM: OMAP1: Use I2C bus registration helper for omap1 ARM: OMAP1: Remove omap_sram_idle() ARM: OMAP1: PM fixes for OMAP1 ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board ARM: OMAP1: Make omap1 use MMC multislot structures ARM: OMAP1: Change the comments to C style ARM: OMAP1: Make omap1 boards to use omap_nand_platform_data ARM: OMAP: Add helper module for board specific I2C bus registration ARM: OMAP: Add dmtimer support for OMAP3 ARM: OMAP: Pre-3430 clean-up for dmtimer.c ARM: OMAP: Add DMA support for chaining and 3430 ARM: OMAP: Add 24xx GPIO debounce support ARM: OMAP: Get rid of unnecessary ifdefs in GPIO code ...
| *-. Merge branches 'master', 'omap1-upstream' and 'orion' into develRussell King2008-02-0941-845/+2126
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: [ARM] constify function pointer tables [ARM] 4823/1: AT91 section fix [ARM] 4824/1: pxa: clear RDH bit after any reset [ARM] pxa: remove debugging PM: printk * omap1-upstream: ARM: OMAP1: Misc clean-up ARM: OMAP1: Update defconfigs for omap1 ARM: OMAP1: Palm Tungsten E board clean-up ARM: OMAP1: Use I2C bus registration helper for omap1 ARM: OMAP1: Remove omap_sram_idle() ARM: OMAP1: PM fixes for OMAP1 ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board ARM: OMAP1: Make omap1 use MMC multislot structures ARM: OMAP1: Change the comments to C style ARM: OMAP1: Make omap1 boards to use omap_nand_platform_data ARM: OMAP: Add helper module for board specific I2C bus registration ARM: OMAP: Add dmtimer support for OMAP3 ARM: OMAP: Pre-3430 clean-up for dmtimer.c ARM: OMAP: Add DMA support for chaining and 3430 ARM: OMAP: Add 24xx GPIO debounce support ARM: OMAP: Get rid of unnecessary ifdefs in GPIO code ARM: OMAP: Add 3430 gpio support ARM: OMAP: Add 3430 CPU identification macros ARM: OMAP: Request DSP memory for McBSP * orion: [ARM] Orion: Use the sata_mv driver for the TS-209 SATA [ARM] Orion: Use the sata_mv driver for the Kurobox SATA [ARM] Orion: free up kernel virtual address space [ARM] Orion: distinguish between physical and virtual addresses [ARM] Orion: kill orion_early_putstr() [ARM] Orion: update defconfig [ARM] Orion: Use the sata_mv driver for the integrated SATA controller
| | | * [ARM] Orion: Use the sata_mv driver for the TS-209 SATAByron Bradley2008-02-081-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TS-209 has a two port integrated SATA controller. Use the sata_mv driver for this. Signed-off-by: Byron Bradley <byron.bbradley@gmail.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| | | * [ARM] Orion: Use the sata_mv driver for the Kurobox SATAByron Bradley2008-02-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Kurobox has a two port integrated SATA controller. Use the sata_mv driver for this. Signed-off-by: Byron Bradley <byron.bbradley@gmail.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| | | * [ARM] Orion: distinguish between physical and virtual addressesLennert Buytenhek2008-02-088-57/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hack up the Orion port to distinguish between virtual and physical addresses of register windows. This will allow moving virtual mappings higher up in the address space, to free up more kernel virtual address space. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| | | * [ARM] Orion: update defconfigNicolas Pitre2008-02-081-47/+46
| | | | | | | | | | | | | | | | Signed-off-by: Nicolas Pitre <nico@marvell.com>
| | | * [ARM] Orion: Use the sata_mv driver for the integrated SATA controllerSaeed Bishara2008-02-083-1/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds instantiation for the sata_mv driver, enabling the integrated SATA controller. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com>
| | * | ARM: OMAP1: Misc clean-upTony Lindgren2008-02-0812-129/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch cleans up omap1 files to sync up with linux-omap tree: - Remove omap-generic MMC config as it should be defined in board-*.c files instead of using board-generic.c - New style I2C board_info from David Brownell <dbrownell@users.sourceforge.net> - Init section fixes from Dirk Behme <dirk.behme@googlemail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Update defconfigs for omap1Tony Lindgren2008-02-082-172/+179
| | | | | | | | | | | | | | | | | | | | | | | | Update defconfigs for omap1 Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Palm Tungsten E board clean-upAndrzej Zaborowski2008-02-081-61/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly gpio clean-up. Signed-off-by: Andrzej Zaborowski <balrog@zabor.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Use I2C bus registration helper for omap1Jarkko Nikula2008-02-0814-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch starts using introduced I2C bus registration helper by cleaning up registration currently done in various places and by doing necessary board file modifications. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Remove omap_sram_idle()Vivek Kutal2008-02-082-169/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes omap_sram_idle() that is no longer used. The function called in pm_idle is omap_sram_suspend, omap_sram_idle() is not used anywhere in omap1. Signed-off-by: Vivek Kutal <vivek.kutal@celunite.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: PM fixes for OMAP1Vivek Kutal2008-02-081-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does the following: - Fixes the omap_pm_idle() code so that we enter WFI mode in idle. - /sys/power/sleep_while_idle is created only when 32k timer is used Signed-off-by: Vivek Kutal <vivek.kutal@celunite.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Use MMC multislot structures for Siemens SX1 boardCarlos Eduardo Aguiar2008-02-083-26/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use MMC multislot structures for Siemens SX1 board Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Make omap1 use MMC multislot structuresFelipe Balbi2008-02-086-14/+306
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make omap1 use new MMC multislot structures. The related MMC patches will be sent separately. Signed-off-by: Felipe Balbi <felipe.lima@indt.org.br> Signed-off-by: Anderson Briglia <anderson.briglia@indt.org.br> Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: David Cohen <david.cohen@indt.org.br> Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Change the comments to C styleDavid Cohen2008-02-088-51/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the comments to C style Signed-off-by: David Cohen <david.cohen@indt.org.br> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP1: Make omap1 boards to use omap_nand_platform_dataTony Lindgren2008-02-084-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds omap_nand_platform data based on a patch by Shahrom Sharif-Kashani <sshahrom@micron.com>, and makes omap1 boards to use omap_nand_platform_data instead of nand_platform_data used earlier. Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Add helper module for board specific I2C bus registrationJarkko Nikula2008-02-082-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helper module simplifies I2C bus registration for different OMAP platforms by doing registration in one place only and to allow board specific bus configuration like clock rate and number of busses configured. Helper should cover OMAP processors from first to third generation. This patch just adds the feature and current implementation cleanup and board file modifications will be done in following patches. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Add dmtimer support for OMAP3Syed Mohammed, Khasim2008-02-081-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DM timer support for OMAP3. Fixed source clocks for 3430 by Paul Walmsley <paul@pwsan.com>. Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Pre-3430 clean-up for dmtimer.cSyed Mohammed, Khasim2008-02-081-24/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup DM timer list for OMAP2 and OMAP1 to allow adding support for 3430. Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Add DMA support for chaining and 3430Anand Gadiyar2008-02-081-40/+804
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DMA support for chaining and 3430. Also remove old DEBUG_PRINTS as noted by Russell King. Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Add 24xx GPIO debounce supportKevin Hilman2008-02-081-5/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 24xx GPIO debounce support. Also minor formatting clean-up. Signed-off-by: Kevin Hilman <khilman@mvista.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Get rid of unnecessary ifdefs in GPIO codeTony Lindgren2008-02-081-41/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Just use cpu_is_omapXXXX() instead. This does not increase object size. Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Add 3430 gpio supportSyed Mohammed, Khasim2008-02-081-35/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds 3430 gpio support. It also contains a fix by Paul Walmsley <paul@pwsan.com> to use the correct clock names for OMAP3430. Signed-off-by: Syed Mohammed Khasim <x0khasim@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
| | * | ARM: OMAP: Request DSP memory for McBSPTony Lindgren2008-02-081-0/+11
| | |/ | | | | | | | | | | | | | | | | | | On OMAP1 some McBSP features depend on DSP. Also export polling functions as suggested by Luis Cargnini. Signed-off-by: Tony Lindgren <tony@atomide.com>
| * | [ARM] constify function pointer tablesJan Engelhardt2008-02-092-3/+3
| | | | | | | | | | | | | | | Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 4823/1: AT91 section fixDavid Brownell2008-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix section warning: WARNING: arch/arm/mach-at91/built-in.o(.text+0xd74): Section mismatch in reference from the function init_programmable_clock() to the function .init.text:at91_css_to_clk() The function init_programmable_clock() references the function __init at91_css_to_clk(). This is often because init_programmable_clock lacks a __init annotation or the annotation of at91_css_to_clk is wrong. In this case the only calls to and from init_programmable_clock() are from code marked as "__init", so this fix is trivially correct. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Uwe Kleine-Knig <Uwe.Kleine-Koenig@digi.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] 4824/1: pxa: clear RDH bit after any resetDmitry Krivoschekov2008-02-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to PXA300/310 and PXA320 Developer manuals, the ASCR[RDH] "bit needs to be cleared as part of the software initialization coming out of any reset and coming out of D3". The latter requirement is addressed by commit "c4d1fb627ff3072", as for the former (coming out of any reset), the kernel relies on boot loaders and assumes that RDH bit is cleared there. Though, not all bootloaders follow the rule so we have to clear the bit in kernel. We clear the RDH bit in pxa3xx_init() function since it is always invoked after any reset. We also preserve D1S, D2S and D3S bits from being cleared in case we invoke pxa3xx_init() function not from normal hardware reset (e.g. kexec scenario), so these bits can be properly referenced later. Signed-off-by: Dmitry Krivoschekov <dmitry.krivoschekov@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | [ARM] pxa: remove debugging PM: printkRussell King2008-02-091-2/+0
| | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | Change pci_raw_ops to pci_raw_read/writeMatthew Wilcox2008-02-1012-58/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to allow different implementations of pci_raw_ops for standard and extended config space on x86. Rather than clutter generic code with knowledge of this, we make pci_raw_ops private to x86 and use it to implement the new raw interface -- raw_pci_read() and raw_pci_write(). Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | PCI x86: always use conf1 to access config space below 256 bytesIvan Kokshaysky2008-02-104-67/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to Loic Prylli <loic@myri.com>, who originally proposed this idea. Always using legacy configuration mechanism for the legacy config space and extended mechanism (mmconf) for the extended config space is a simple and very logical approach. It's supposed to resolve all known mmconf problems. It still allows per-device quirks (tweaking dev->cfg_size). It also allows to get rid of mmconf fallback code. Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86Linus Torvalds2008-02-0927-395/+609
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits) x86: cpa, strict range check in try_preserve_large_page() x86: cpa, enable CONFIG_DEBUG_PAGEALLOC on 64-bit x86: cpa, use page pool x86: introduce page pool in cpa x86: DEBUG_PAGEALLOC: enable after mem_init() brk: help text typo fix lguest: accept guest _PAGE_PWT page table entries x86 PM: update stale comments x86 PM: consolidate suspend and hibernation code x86 PM: rename 32-bit files in arch/x86/power x86 PM: move 64-bit hibernation files to arch/x86/power x86: trivial printk optimizations x86: fix early_ioremap pagetable ops x86: construct 32-bit boot time page tables in native format. x86, core: remove CONFIG_FORCED_INLINING x86: avoid unused variable warning in mm/init_64.c x86: fixup more paravirt fallout brk: document randomize_va_space and CONFIG_COMPAT_BRK (was Re: x86: fix sparse warnings in acpi/bus.c x86: fix sparse warning in topology.c ...
| * | | x86: cpa, strict range check in try_preserve_large_page()Thomas Gleixner2008-02-091-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, we check only the first 4k page for static required protections. This does not take overlapping regions into account. So we might end up setting the wrong permissions/protections for other parts of this large page. This can be optimized further, but correctness is the important part. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | | x86: cpa, enable CONFIG_DEBUG_PAGEALLOC on 64-bitThomas Gleixner2008-02-091-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now, that the page pool is in place we can enable DEBUG_PAGEALLOC on 64bit. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | | x86: cpa, use page poolThomas Gleixner2008-02-091-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch the split page code to use the page pool. We do this unconditionally to avoid different behaviour with and without DEBUG_PAGEALLOC enabled. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | | x86: introduce page pool in cpaThomas Gleixner2008-02-093-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DEBUG_PAGEALLOC was not possible on 64-bit due to its early-bootup hardcoded reliance on PSE pages, and the unrobustness of the runtime splitup of large pages. The splitup ended in recursive calls to alloc_pages() when a page for a pte split was requested. Avoid the recursion with a preallocated page pool, which is used to split up large mappings and gets refilled in the return path of kernel_map_pages after the split has been done. The size of the page pool is adjusted to the available memory. This part just implements the page pool and the initialization w/o using it yet. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
OpenPOWER on IntegriCloud