aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAge
* Altix: ACPI SSDT PCI device supportJohn Keller2007-02-02
| | | | | | | | | | | | | | | | | | | | Add SN platform support for running with an ACPI capable PROM that defines PCI devices in SSDT tables. There is a SSDT table for every occupied slot on a root bus, containing info for every PPB and/or device on the bus. The SSDTs will be dynamically loaded/unloaded at hotplug enable/disable. Platform specific information that is currently passed via a SAL call, will now be passed via the Vendor resource in the ACPI Device object(s) defined in each SSDT. Signed-off-by: John Keller <jpk@sgi.com> Cc: Greg KH <greg@kroah.com> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: reduce conflicts with Altix patch seriesLen Brown2007-02-02
| | | | | | Syntax only -- no functional changes. Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI_NUMA: fix HP IA64 simulator issue with extended memory domainAlexey Starikovskiy2007-02-02
| | | | | | | | | | | | | | | ACPI 3.0 incorporated the SRAT spec, upping the table version to 2, and extending the size of the proximity domain from 1-byte to 4-bytes. This extension was into a reserved field that firmware should set to 0, but the HP simulator had non-zero values there resulting in unexpected huge numbers. So mask the domain down to 8-bits for now. A more general fix will be to check the table version supplied by firmware and get paranoid about reserved fields. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPI: build fix for IBM x440 - CONFIG_X86_SUMMITAlexey Starikovskiy2007-02-02
| | | | | | | i386 srat.c broke due to re-names from ACPICA table-manager re-write. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: Allow ACPI id to be u32 instead of u8.Alexey Starikovskiy2007-02-02
| | | | | | | Allow ACPI id to be u32 instead of u8. Requires drop of conversion tables with the acpiid as index. Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: Remove duplicate table definitions (non-conflicting), contAlexey Starikovskiy2007-02-02
| | | | Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: Remove duplicate table definitions (non-conflicting)Alexey Starikovskiy2007-02-02
| | | | Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: Remove duplicate table definitions.Alexey Starikovskiy2007-02-02
| | | | Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: use new ACPI headers.Alexey Starikovskiy2007-02-02
| | | | Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: Remove duplicate table managerAlexey Starikovskiy2007-02-02
| | | | Signed-off-by: Len Brown <len.brown@intel.com>
* ACPICA: minimal patch to integrate new tables into LinuxAlexey Starikovskiy2007-02-02
| | | | Signed-off-by: Len Brown <len.brown@intel.com>
* Revert "[PATCH] fix typo in geode_configre()@cyrix.c"Linus Torvalds2007-02-02
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e4f0ae0ea63caceff37a13f281a72652b7ea71ba. It's not wrong, but it's not right either, and everybody seems to agree that the right fix is probably to do the ccr3 write after the ccr4 one (and that we also should clean it up a bit). And after that we need to really validate that all the bits that we write to ccr4 actually do work. The old 2.6.19 code was insane, and basically didn't change ccr4 at all (even though it certainly looks like it was the *intent* to do so). So let's revert the change that may fix things, just because it's not what was actually ever tested when the code was written, even if it _was_ the intent. There's a discussion on http://lkml.org/lkml/2007/1/9/63 that was started by the patch that now gets reverted, and that discussion may well contain the proper long-term fix. Suggested-by: Adrian Bunk <bunk@stusta.de> Acked-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] sanitize sections for sparc32 smpAl Viro2007-02-01
| | | | | | | | | | a) sun4d_boot_one_cpu() should be __cpuinit (called only from __cpuinit __cpu_up(), for one thing, leads to calls of __cpuinit functions for another). b) got externs in arch/sparc/kernel/smp.c to match reality. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] __crc_... is intended to be absoluteAl Viro2007-02-01
| | | | | | | | | | | | | | | | | | | i386 boot/compressed/relocs checks for absolute symbols and warns about unexpected ones. If you build with modversions, you get ~2500 warnings about __crc_<symbol>. These suckers are really absolute symbols - we do _not_ want to modify them on relocation. They are generated by genksyms - EXPORT_... generates a weak alias, then genksyms produces an ld script with __crc_<symbol> = <checksum> and it's fed to ld to produce the final object file. Their only use is to match kernel and module at modprobe time; they _must_ be absolute. boot/compressed/relocs has a whitelist of known absolute symbols, but it doesn't know about __crc_... stuff. As the result, we get shitloads of false positives on any ld(1) version. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] mca_nmi_hook() can be called at any pointAl Viro2007-02-01
| | | | | | | ... and having it __init is a bad idea. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [PATCH] uml: fix signal frame alignmentJeff Dike2007-01-30
| | | | | | | | | | | | | | | | | Use the same signal frame alignment calculations as the underlying architecture. x86_64 appeared to do this, but the "- 8" was really subtracting 8 * sizeof(struct rt_sigframe) rather than 8 bytes. UML/i386 might have been OK, but I changed the calculation to match i386 just to be sure. Signed-off-by: Jeff Dike <jdike@addtoit.com> Cc: <stable@kernel.org> Cc: Adrian Bunk <bunk@stusta.de> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Acked-by: Antoine Martin <antoine@nagafix.co.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreqLinus Torvalds2007-01-30
|\ | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Remove unneeded errata workaround from p4-clockmod. [CPUFREQ] check sysfs_create_link return value
| * [CPUFREQ] Remove unneeded errata workaround from p4-clockmod.Dave Jones2007-01-29
| | | | | | | | | | | | | | | | | | | | | | This workaround unnecessarily cripples functionality to work around an errata that doesn't seem possible to hit due to us using the automatic clock throttling in the p4 mcheck code. See http://lkml.org/lkml/2006/10/28/148 for complete reasoning and lack of disconsent. Signed-off-by: Dave Jones <davej@redhat.com>
* | [PATCH] fix indentation-related breakage in Kconfig.i386Al Viro2007-01-30
| | | | | | | | | | | | | | | | | | Kconfig recognizes the end of help text by receding indentation depth. Recent patch had broken HOST_VMSPLIT_... choice in arch/um/Kconfig.i386 - all alternatives are interpreted as part of help text now. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | [PATCH] missing exports of pm_power_off() on alpha and sparc32Al Viro2007-01-30
| | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2007-01-30
|\ \ | | | | | | | | | | | | | | | | | | * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Fix typo of "CONFIG_MT_SMP". [MIPS] Ocelot G: Fix a few misspellings of CONFIG_GALILEO_GT64240_ETH [PATCH] Malta: Fix build if CONFIG_MTD is diabled.
| * | [MIPS] Fix typo of "CONFIG_MT_SMP".Robert P. J. Day2007-01-30
| | | | | | | | | | | | | | | Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [MIPS] Ocelot G: Fix a few misspellings of CONFIG_GALILEO_GT64240_ETHRalf Baechle2007-01-30
| | | | | | | | | | | | | | | | | | Reported by Robert P. J. Day <rpjday@mindspring.com>. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | [PATCH] Malta: Fix build if CONFIG_MTD is diabled.Jan Altenberg2007-01-30
| |/ | | | | | | | | Signed-off-by: Jan Altenberg <jan@linutronix.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | [PATCH] i386: In assign_irq_vector look at all vectors before giving upEric W. Biederman2007-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the world was a simple and static place setting up irqs was easy. It sufficed to allocate a linux irq number and a find a free cpu vector we could receive that linux irq on. In those days it was a safe assumption that any allocated vector was actually in use so after one global pass through all of the vectors we would have none left. These days things are much more dynamic with interrupt controllers (in the form of MSI or MSI-X) appearing on plug in cards and linux irqs appearing and disappearing. As these irqs come and go vectors are allocated and freed, invalidating the ancient assumption that all allocated vectors stayed in use forever. So this patch modifies the vector allocator to walk through every possible vector before giving up, and to check to see if a vector is in use before assigning it. With these changes we stop leaking freed vectors and it becomes possible to allocate and free irq vectors all day long. This changed was modeled after the vector allocator on x86_64 where this limitation has already been removed. In essence we don't update the static variables that hold the position of the last vector we allocated until have successfully allocated another vector. This allows us to detect if we have completed one complete scan through all of the possible vectors. Acked-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2007-01-30
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4117/1: S3C2412: Fix writel() usage in selection code [ARM] 4111/1: Allow VFP to work with thread migration on SMP [ARM] 4112/1: Only ioremap to supersections if DOMAIN_IO is zero [ARM] 4106/1: S3C2410: typo fixes in register definitions [ARM] 4102/1: Allow for PHYS_OFFSET on any valid 2MiB address [ARM] Fix AMBA serial drivers for non-first serial ports [ARM] 4100/1: iop3xx: fix cpu mask for iop333 [ARM] Update mach-types [ARM] Fix show_mem() for discontigmem [ARM] 4096/1: S3C24XX: change return code form s3c2410_gpio_getcfg() [ARM] 4095/1: S3C24XX: Fix GPIO set for Bank A [ARM] 4092/1: i.MX/MX1 CPU Frequency scaling latency definition [ARM] 4089/1: AT91: GPIO wake IRQ cleanup [ARM] 4088/1: AT91: Unbalanced IRQ in serial driver suspend/resume [ARM] 4087/1: AT91: CPU reset for SAM9x processors [ARM] 4086/1: AT91: Whitespace cleanup [ARM] 4085/1: AT91: Header fixes. [ARM] 4084/1: Remove CONFIG_DEBUG_WAITQ
| * [ARM] 4117/1: S3C2412: Fix writel() usage in selection codeBen Dooks2007-01-29
| | | | | | | | | | | | | | | | The S3C2412 DMA selection code has the arguments to writel() the wrong way around. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4111/1: Allow VFP to work with thread migration on SMPCatalin Marinas2007-01-25
| | | | | | | | | | | | | | | | | | | | The current lazy saving of the VFP registers is no longer possible with thread migration on SMP. This patch implements a per-CPU vfp-state pointer and the saving of the VFP registers at every context switch. The registers restoring is still performed in a lazy way. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4112/1: Only ioremap to supersections if DOMAIN_IO is zeroCatalin Marinas2007-01-25
| | | | | | | | | | | | | | | | | | Supersections do not have a field for the domain and it is always 0. This patch prevents the creation of supersections during ioremap when DOMAIN_IO is not zero (i.e. !defined(CONFIG_IO_36)). Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4102/1: Allow for PHYS_OFFSET on any valid 2MiB addressLinus Walleij2007-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patchs allows the offset to the first page of physical memory to be on any 2MB boundary whereas the previous code could only handle psysical offset to any 16MB boundary (0xNN000000) or any 1MB boundary below 0x01000000 (e.g. 0x00N00000). The problem is a consequence of the orr one-byte syntax, so we fix this and we can place the first bank of memory at 0x28e00000. I have also included an explicit check that disallow compilation when PHYS_OFFSET is not on a 2MiB boundary. head.S would be the proper place to have this at since this is the first file that attempts to use PHYS_OFFSET during compile. Signed-off-by: Linus Walleij <triad@df.lth.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4100/1: iop3xx: fix cpu mask for iop333Dan Williams2007-01-24
| | | | | | | | | | | | | | | | cosmetic fix so iop333 is not reported as ixp46x iop333 cpuid = 0x69054210 Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Update mach-typesRussell King2007-01-24
| | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] Fix show_mem() for discontigmemRussell King2007-01-24
| | | | | | | | | | | | | | | | show_mem() was assuming incorrectly that the mem_map for any node started at PFN 0. This is obviously wrong; fix it to take account of node_start_pfn. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4096/1: S3C24XX: change return code form s3c2410_gpio_getcfg()Ben Dooks2007-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The s3c2410_gpio_getcfg() currently returns a value which is dependant on the GPIO no passed in. Now we have more generic constants it is sensible to use those as return codes so that any function dealing with >1 GPIO does not need to do it's own number processing. Since this function is only currently used in pm.c, it is easy to fixup (and correct pm.c to use the generic constants) Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4095/1: S3C24XX: Fix GPIO set for Bank ABen Dooks2007-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | GPIO bank A can only be output or a special function, and the regs-gpio.h header has mistakenly got this as input or output. The mistake is carried on into the gpio.c s3c2410_gpio_cfgpin() call which will set the wrong value if S3C2410_GPIO_OUTPUT is passed. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4092/1: i.MX/MX1 CPU Frequency scaling latency definitionPavel Pisa2007-01-24
| | | | | | | | | | | | | | | | | | | | | | | | The transition latency has to be defined and reasonably small to allow on-demand and conservative governors. The value has been defined according to manual. The imx_set_target() protected against seen out of range requests now. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4089/1: AT91: GPIO wake IRQ cleanupAndrew Victor2007-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup of at91 platform level gpio wake and suspend/resume logic. The GPIO core now delegates wakeups to the parent AIC by refcounting, and delegates clock management to the clock API. This makes these system modules more independent of each other, which is cleaner and will also help with the AT91SAM9263 (where some GPIO controllers share the same irq and clock). Original patch by David Brownell. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4087/1: AT91: CPU reset for SAM9x processorsAndrew Victor2007-01-24
| | | | | | | | | | | | | | | | | | | | This patch implements CPU and peripheral reset on AT91SAM9260 and AT91SAM9261. Original patch from Wojtek Kaniewski. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4086/1: AT91: Whitespace cleanupAndrew Victor2007-01-24
| | | | | | | | | | | | | | A couple of whitespace cleanups, mainly in the AT91 header files. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4084/1: Remove CONFIG_DEBUG_WAITQAndrew Victor2007-01-24
| | | | | | | | | | | | | | | | Remove the legacy CONFIG_DEBUG_WAITQ from the SAM9260-EK and SAM9261-EK default configuration files. Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge branch 'merge' of ↵Linus Torvalds2007-01-28
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix sys_pciconfig_iobase bus matching [POWERPC] PS3: add not complete comment to kconfig [POWERPC] ps3_free_io_irq: Fix inverted error check [POWERPC] PS3: Fix uniprocessor kernel build
| * | [POWERPC] Fix sys_pciconfig_iobase bus matchingBenjamin Herrenschmidt2007-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A stupid bug has been plaguing the sys_pciconfig_iobase on ppc64. It wasn't noticed until recently as it seems to not affect G5s but it's been causing problems running X servers on some other machines recently. The bus number matching was bogus. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] PS3: add not complete comment to kconfigGeoff Levand2007-01-27
| | | | | | | | | | | | | | | | | | | | | | | | Add a comment to the PS3 config option to inform users that the current implementation is not yet complete. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] ps3_free_io_irq: Fix inverted error checkGeert Uytterhoeven2007-01-24
| | | | | | | | | | | | | | | | | | | | | | | | ps3_free_io_irq: Fix inverted error check after calling lv1_destruct_io_irq_outlet(). Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [POWERPC] PS3: Fix uniprocessor kernel buildGeert Uytterhoeven2007-01-24
| | | | | | | | | | | | | | | | | | | | | Allow to build a uniprocessor kernel for PS3. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | | [SPARC64]: Set g4/g5 properly in sun4v dtlb-prot handling.David S. Miller2007-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mirror the logic in the sun4u handler, we have to update both registers even when we branch out to window fault fixup handling. The way it works is that if we are in etrap processing a fault already, g4/g5 holds the original fault information. If we take a window spill fault while doing etrap, then we put the window spill fault info into g4/g5 and this is what the top-level fault handler ends up processing first. Then we retry the originally faulting instruction, and process the original fault at that time. This is all necessary because of how constrained the trap registers are in these code paths. These cases trigger very rarely, so even if there is some performance implication it's doesn't happen very often. In fact the rarity is why it took so long to trigger and find this particular bug. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32Linus Torvalds2007-01-26
|\ \ \ | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32: [AVR32] Update ATSTK1000 defconfig: Enable macb by default [AVR32] Export clear_page symbol
| * | | [AVR32] Update ATSTK1000 defconfig: Enable macb by defaultHaavard Skinnemoen2007-01-26
| | | | | | | | | | | | | | | | | | | | | | | | Enable the Atmel MACB ethernet driver by default on ATSTK1000. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
| * | | [AVR32] Export clear_page symbolHaavard Skinnemoen2007-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add missing EXPORT_SYMBOL(clear_page), allowing ext3 to be compiled as a module. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
* | | | Merge branch 'upstream-linus' of ↵Linus Torvalds2007-01-26
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: Fix Maple PATA IRQ assignment. ahci: use 0x80 as wait stat value instead of 0xff sata_via: style clean up, no indirect method call in LLD ahci: fix endianness in spurious interrupt message libata-sff: Don't call bmdma_stop on non DMA capable controllers libata: implement ATA_FLAG_IGN_SIMPLEX and use it in sata_uli ahci: improve and limit spurious interrupt messages, take#3 sata_via: don't diddle with ATA_NIEN in ->freeze libata: set_mode, Fix the FIXME libata hpt3xn: Hopefully sort out the DPLL logic versus the vendor code libata cmd64x: whack into a shape that looks like the documentation