cascardo/linux.git
16 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 24 Oct 2007 01:56:21 +0000 (18:56 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  jmicron: update quirk for JMB361/3/5/6
  libata: add HTS542525K9SA00 to NCQ blacklist
  libata-core: auditting chk_status v check_status
  [libata] checkpatch-inspired cleanups

16 years agojmicron: update quirk for JMB361/3/5/6
Tejun Heo [Tue, 23 Oct 2007 06:27:31 +0000 (15:27 +0900)]
jmicron: update quirk for JMB361/3/5/6

Set bits 0, 4, 5 and 7 of PCI configuration register 0x40 in the
quirk.  This has the following effects and is recommended by the
vendor.

* Force enable of IDE channels (used to be left alone as BIOS
  configured)

* Change initial phase behavior of PIO cycle such that the host pulls
  down the bus instead of tristating it.  Vendor recommends this
  setting.

The above settings are better for the current generation of
controllers and needed for the upcoming next generation.

Tested on JMB363.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Ethan Hsiao <ethanhsiao@jmicron.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolibata: add HTS542525K9SA00 to NCQ blacklist
Tejun Heo [Tue, 23 Oct 2007 10:07:49 +0000 (19:07 +0900)]
libata: add HTS542525K9SA00 to NCQ blacklist

Another one doing spurious NCQ completions.  Blacklist it.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agolibata-core: auditting chk_status v check_status
Alan Cox [Tue, 23 Oct 2007 15:50:02 +0000 (16:50 +0100)]
libata-core: auditting chk_status v check_status

Did a complete audit of these and found we have another error case.

ata_bus_softreset calls ata_check_status which means that it tries to do
an ioread8 on the port blindly and check versus 0xFF for an error.

It should of course be using the ap->ops method for this via chk_status,
and this bug causes a wrog status call on the NS87415 at least.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[libata] checkpatch-inspired cleanups
Jeff Garzik [Fri, 19 Oct 2007 10:42:56 +0000 (06:42 -0400)]
[libata] checkpatch-inspired cleanups

Tackle the relatively sane complaints of checkpatch --file.

The vast majority is indentation and whitespace changes, the rest are

* #include fixes
* printk KERN_xxx prefix addition
* BSS/initializer cleanups

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoNFS: Fix for bug in handling of errors for O_DIRECT writes
Neil Brown [Tue, 23 Oct 2007 21:09:13 +0000 (17:09 -0400)]
NFS: Fix for bug in handling of errors for O_DIRECT writes

Commit eda3cef8dd2b83875affe82595db9d0c278879b2 ("NFS: Fix error
handling in nfs_direct_write_result()") ensured that if a WRITE returns
an error, then data->res.verf->committed is not tested (as it is not
initialised).

Then commit 60fa3f769f7651a60125a0f44e3ffe3246d7cf39 ("NFS: Fix two bugs
in the O_DIRECT write code") inadvertently reverted this while fixing
other problems.

So move the test so that we never examine ->committed in an error case,
and fix a speeling error while we are there.

Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge ssh://master.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Tue, 23 Oct 2007 23:38:03 +0000 (16:38 -0700)]
Merge ssh:///linux/kernel/git/x86/linux-2.6-x86

* ssh://master.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (35 commits)
  x86: Add HPET force support for MCP55 (nForce 5) chipsets
  x86: Force enable HPET for CK804 (nForce 4) chipsets
  x86: clean up setup.h and the boot code
  x86: Save registers in saved_context during suspend and hibernation
  x86: merge setup_32/64.h
  x86: merge signal_32/64.h
  x86: merge required-features.h
  x86: merge sigcontext_32/64.h
  x86: merge msr_32/64.h
  x86: merge mttr_32/64.h
  x86: merge statfs_32/64.h
  x86: merge stat_32/64.h
  x86: merge shmbuf_32/64.h
  x86: merge ptrace_32/64.h
  x86: merge msgbuf_32/64.h
  x86: merge elf_32/64.h
  x86: merge byteorder_32/64.h
  x86: whitespace cleanup of mce_64.c
  x86: consolidate the cpu/ related code usage
  x86: prepare consolidation of cpu/ related code usage
  ...

16 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Tue, 23 Oct 2007 23:37:29 +0000 (16:37 -0700)]
Merge /pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (39 commits)
  [SCSI] qla2xxx: Update version number to 8.02.00-k5.
  [SCSI] qla2xxx: Correct display of ISP serial-number.
  [SCSI] qla2xxx: Correct residual-count handling discrepancies during UNDERRUN handling.
  [SCSI] qla2xxx: Make driver (mostly) legacy I/O port free.
  [SCSI] qla2xxx: Fix issue where final flash-segment updates were falling into the slow-path write handler.
  [SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates.
  [SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios.
  [SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u.
  [SCSI] sym53c8xx: Remove sym_xpt_async_sent_bdr
  [SCSI] sym53c8xx: Remove pci_dev pointer from sym_shcb
  [SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE
  [SCSI] sym53c8xx: Get rid of IRQ_FMT and IRQ_PRM
  [SCSI] sym53c8xx: Use scmd_printk where appropriate
  [SCSI] sym53c8xx: Simplify DAC DMA handling
  [SCSI] sym53c8xx: Remove tag_ctrl module parameter
  [SCSI] sym53c8xx: Remove io_ws, mmio_ws and ram_ws elements
  [SCSI] sym53c8xx: Remove ->device_id
  [SCSI] sym53c8xx: Use pdev->revision
  [SCSI] sym53c8xx: PCI Error Recovery support
  [SCSI] sym53c8xx: Stop overriding scsi_done
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Tue, 23 Oct 2007 23:36:30 +0000 (16:36 -0700)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code
  [WATCHDOG] AR7: watchdog timer
  [WATCHDOG] Linux kernel IPC SBC Watchdog Timer driver

16 years agoMerge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Tue, 23 Oct 2007 23:32:11 +0000 (16:32 -0700)]
Merge branch 'for-linus' of /home/rmk/linux-2.6-arm

* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 4630/1: Fix the vector stride of the double vector instruction.
  [ARM] 4629/1: Fix VFP emulation code to clear all exception flags of FPEXC
  [ARM] 4613/1: pxa300: MFP typo fix

16 years agox86: Add HPET force support for MCP55 (nForce 5) chipsets
Carlos Corbacho [Fri, 19 Oct 2007 18:34:15 +0000 (19:34 +0100)]
x86: Add HPET force support for MCP55 (nForce 5) chipsets

Add support to force_hpet for all known MCP55 (nForce 5) chipset
LPC bridges.

These are the untested nForce 5 chips (taken from Mikko's original
patch, and checked against pci.ids).

Signed-off-by: Carlos Corbacho <cathectic@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
 arch/x86/kernel/quirks.c |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

16 years agox86: Force enable HPET for CK804 (nForce 4) chipsets
Carlos Corbacho [Fri, 19 Oct 2007 17:51:27 +0000 (18:51 +0100)]
x86: Force enable HPET for CK804 (nForce 4) chipsets

This patch adds a quirk from LinuxBIOS to force enable HPET on
the nVidia CK804 (nForce 4) chipset.

This quirk can very likely support more than just nForce 4
(LinuxBIOS use the same code for nForce 5), and possibly nForce 3,
but I don't have those chipsets, so cannot add and test them.

Tested on an Abit KN9 (CK804).

Signed-off-by: Carlos Corbacho <cathectic@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
 Documentation/kernel-parameters.txt |    3 +-
 arch/x86/kernel/quirks.c            |   37 +++++++++++++++++++++++++++++++++++-
 2 files changed, 38 insertions(+), 2 deletions(-)

16 years agox86: clean up setup.h and the boot code
H. Peter Anvin [Tue, 23 Oct 2007 20:37:25 +0000 (22:37 +0200)]
x86: clean up setup.h and the boot code

Make <asm/setup.h> usable by the boot code.

Clean up vestiges of the old command-line protocol from setup.h and
head_32.S (it is still supported from the boot loader point of
view, since it is converted to the new command-line protocol by the
boot code.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: Save registers in saved_context during suspend and hibernation
Rafael J. Wysocki [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: Save registers in saved_context during suspend and hibernation

During hibernation and suspend on x86_64 save CPU registers in the saved_context
structure rather than in a handful of separate variables.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge setup_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge setup_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge signal_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge signal_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge required-features.h
Brian Gerst [Sat, 20 Oct 2007 17:41:41 +0000 (13:41 -0400)]
x86: merge required-features.h

Signed-off-by: Brian Gerst <bgerst@didntduck.org>
16 years agox86: merge sigcontext_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge sigcontext_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge msr_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge msr_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge mttr_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge mttr_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge statfs_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge statfs_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge stat_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge stat_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge shmbuf_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge shmbuf_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge ptrace_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge ptrace_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge msgbuf_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:24 +0000 (22:37 +0200)]
x86: merge msgbuf_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge elf_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: merge elf_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge byteorder_32/64.h
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: merge byteorder_32/64.h

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: whitespace cleanup of mce_64.c
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: whitespace cleanup of mce_64.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: consolidate the cpu/ related code usage
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: consolidate the cpu/ related code usage

The x86_64 arch/x86/kernel/Makefile uses references into
arch/x86/kernel/cpu/... to use code from there.

Unifiy it with the nicely structured i386 way and reuse the existing
subdirectory make rules.

Also move the machine check related source into ...kernel/cpu/mcheck,
where the other machine check related code is.

No code change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: prepare consolidation of cpu/ related code usage
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: prepare consolidation of cpu/ related code usage

Move mce.c to mce_32.c to allow the later move of the x86_64 mce.c
from arch/x86/kernel/ to ...kernel/cpu/mcheck

No code change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: prepare consolidation of cpu/ related Makefiles
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: prepare consolidation of cpu/ related Makefiles

Prepare the makefiles in x86/kernel/cpu and x86/kernel/cpu/mcheck to
be used by the x86_64 build as well.

No code change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: Unify arch/x86/kernel/acpi Makefiles
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: Unify arch/x86/kernel/acpi Makefiles

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: merge arch/x86/crypto Makefiles
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: merge arch/x86/crypto Makefiles

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: Add BITS to allow simple Makefile sharing
Thomas Gleixner [Tue, 23 Oct 2007 20:37:23 +0000 (22:37 +0200)]
x86: Add BITS to allow simple Makefile sharing

Preperatory patch to simplify the sharing of Makefiles in
arch/x86.

Linus came up with this during a discussion about the ugliness of
ifeq($CONFIG_X86_32),y) and obj-$(CONFIG_X86_32) in the shared
Makefiles.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: unify div64{,_32,_64}.h
Chris Snook [Sat, 20 Oct 2007 11:51:29 +0000 (07:51 -0400)]
x86: unify div64{,_32,_64}.h

Unify x86 div64.h headers.

Signed-off-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: unify a.out{,_32,_64}.h
Chris Snook [Sat, 20 Oct 2007 10:37:01 +0000 (06:37 -0400)]
x86: unify a.out{,_32,_64}.h

Unify x86 a.out_32.h and a.out_64.h

[ tglx: Kbuild fixup ]

Signed-off-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: unify crash_32/64.c
Hiroshi Shimamoto [Sat, 20 Oct 2007 01:24:20 +0000 (18:24 -0700)]
x86: unify crash_32/64.c

Most of contents in crash are same.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: add safe_smp_processor_id for x86_64
Hiroshi Shimamoto [Sat, 20 Oct 2007 01:23:02 +0000 (18:23 -0700)]
x86: add safe_smp_processor_id for x86_64

Preperatory patch to allow crash_32/64.c merging

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: add lapic_shutdown for x86_64
Hiroshi Shimamoto [Sat, 20 Oct 2007 01:21:11 +0000 (18:21 -0700)]
x86: add lapic_shutdown for x86_64

Preperatory patch to allow crash_32/64.c merging

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: merge mmu{,_32,_64}.h
Chris Snook [Sat, 20 Oct 2007 06:56:59 +0000 (02:56 -0400)]
x86: merge mmu{,_32,_64}.h

Merge mmu_32.h and mmu_64.h into mmu.h.

Signed-off-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: ARRAY_SIZE cleanup
Alejandro Martinez Ruiz [Wed, 17 Oct 2007 12:38:58 +0000 (14:38 +0200)]
x86: ARRAY_SIZE cleanup

Signed-off-by: Alejandro Martinez Ruiz <alex@flawedcode.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: fix more TSC clock source calibration errors
Dave Johnson [Tue, 23 Oct 2007 20:37:22 +0000 (22:37 +0200)]
x86: fix more TSC clock source calibration errors

The previous patch wasn't correctly handling the 'count' variable.  If
a CPU gave bad results on the 1st or 2nd run but good results on the
3rd, it wouldn't do the correct thing.  No idea if any such CPU
exists, but the patch below handles that case by discarding the bad
runs.

If a bad result (too quick, or too slow) occurs on any of the 3 runs
it will be discarded.

Also updated some comments to explain what's going on.

Signed-off-by: Dave Johnson <djohnson@sw.starentnetworks.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: fix TSC clock source calibration error
Dave Johnson [Tue, 23 Oct 2007 20:37:22 +0000 (22:37 +0200)]
x86: fix TSC clock source calibration error

I ran into this problem on a system that was unable to obtain NTP sync
because the clock was running very slow (over 10000ppm slow). ntpd had
declared all of its peers 'reject' with 'peer_dist' reason.

On investigation, the tsc_khz variable was significantly incorrect
causing xtime to run slow.  After a reboot tsc_khz was correct so I
did a reboot test to see how often the problem occurred:

Test was done on a 2000 Mhz Xeon system.  Of 689 reboots, 8 of them
had unacceptable tsc_khz values (>500ppm):

 range of tsc_khz  # of boots  % of boots
 ----------------  ----------  ----------
        < 1999750           0      0.000%
1999750 - 1999800          21      3.048%
1999800 - 1999850         166     24.128%
1999850 - 1999900         241     35.029%
1999900 - 1999950         211     30.669%
1999950 - 2000000          42      6.105%
2000000 - 2000000           0      0.000%
2000050 - 2000100           0      0.000%
                   [...]
2000100 - 2015000           1      0.145%  << BAD
2015000 - 2030000           6      0.872%  << BAD
2030000 - 2045000           1      0.145%  << BAD
2045000 <                   0      0.000%

The worst boot was 2032.577 Mhz, over 1.5% off!

It appears that on rare occasions, mach_countup() is taking longer to
complete than necessary.

I suspect that this is caused by the CPU taking a periodic SMI
interrupt right at the end of the 30ms calibration loop.  This would
cause the loop to delay while the SMI BIOS hander runs. The resulting
TSC value is beyond what it actually should be resulting in a higher
tsc_khz.

The below patch makes native_calculate_cpu_khz() take the best
(shortest duration, lowest khz) run of it's 3 calibration loops.  If a
SMI goes off causing a bad result (long duration, higher khz) it will
be discarded.

With the patch applied, 300 boots of the same system produce good
results:

 range of tsc_khz  # of boots  % of boots
 ----------------  ----------  ----------
        < 1999750           0      0.000%
1999750 - 1999800          30     10.000%
1999800 - 1999850         166     55.333%
1999850 - 1999900          89     29.667%
1999900 - 1999950          15      5.000%
1999950 <                   0      0.000%

Problem was found and tested against 2.6.18.  Patch is against 2.6.22.

Signed-off-by: Dave Johnson <djohnson@sw.starentnetworks.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: lock bitops
Nick Piggin [Fri, 19 Oct 2007 05:13:02 +0000 (07:13 +0200)]
x86: lock bitops

I missed an obvious one!

x86 CPUs are defined not to reorder stores past earlier loads, so there is
no hardware memory barrier required to implement a release-consistent store
(all stores are, by definition).

So ditch the generic lock bitops, and implement optimised versions for x86,
which removes the mfence from __clear_bit_unlock (which is already a useful
primitive for SLUB).

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years agox86: add instrumentation menu
Adrian Bunk [Mon, 22 Oct 2007 02:48:08 +0000 (04:48 +0200)]
x86: add instrumentation menu

It seems commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 was incomplete
due to a clash with the x86 architecture merge.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
16 years ago[WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code
WANG Cong [Sat, 6 Oct 2007 03:17:13 +0000 (11:17 +0800)]
[WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code

Make some improvements for Documentation/watchdog/src/watchdog-simple.c.

Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
16 years ago[WATCHDOG] AR7: watchdog timer
Matteo Croce [Thu, 20 Sep 2007 16:06:41 +0000 (18:06 +0200)]
[WATCHDOG] AR7: watchdog timer

Driver for the watchdog timer. Still doesn't reboots the machine
on some boards, but we have improved and cleaned it

Signed-off-by: Matteo Croce <technoboy85@gmail.com>
Signed-off-by: Nicolas Thill <nico@openwrt.org>
Signed-off-by: Enrik Berkhan <Enrik.Berkhan@akk.org>
Signed-off-by: Christer Weinigel <wingel@nano-system.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
16 years ago[WATCHDOG] Linux kernel IPC SBC Watchdog Timer driver
Veljkovic Srdjan [Wed, 12 Sep 2007 13:22:26 +0000 (15:22 +0200)]
[WATCHDOG] Linux kernel IPC SBC Watchdog Timer driver

ICP's Wafer 5823 SBC has, as far as I can tell, the same WDT as many,
if not all ICP's SBC's (that do have a WDT). I have tested it with
several boards, including Rocky 4783, Rocky 3703 and Rocky 3782.

I propose a rename of the  Wafer 5823 watchdog timer driver
to something like "IPC (SBC) Watchdog Timer", to reflect that it
works with other IPC boards (maybe even all of them).

Signed-off-by: Veljkovic Srdjan <sveljko@gvs.co.yu>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
16 years ago[SCSI] qla2xxx: Update version number to 8.02.00-k5.
Andrew Vasquez [Fri, 19 Oct 2007 22:59:20 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Update version number to 8.02.00-k5.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] qla2xxx: Correct display of ISP serial-number.
Andrew Vasquez [Fri, 19 Oct 2007 22:59:19 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Correct display of ISP serial-number.

The original serial-number calculations based on WWPN no longer
apply to newer ISPs (ISP24xx and ISP25xx).  These newer board's
serial number reside in the VPD.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] qla2xxx: Correct residual-count handling discrepancies during UNDERRUN handling.
Andrew Vasquez [Fri, 19 Oct 2007 22:59:18 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Correct residual-count handling discrepancies during UNDERRUN handling.

For recent ISPs, software during CS_UNDERRUN handling must
determine if the two residuals, firmware-calculated and FCP_RSP,
are different to recognize if a frame has been dropped.  Update
the driver to catch this condition, and clear the
SS_RESIDUAL_UNDER and lscsi_status bits.  This logic is
consistent with what earlier firmwares did by explicitly
cracking open the FCP_RSP statuses and clearing
SS_RESIDUAL_UNDER.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] qla2xxx: Make driver (mostly) legacy I/O port free.
Andrew Vasquez [Fri, 19 Oct 2007 22:59:17 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Make driver (mostly) legacy I/O port free.

Recent ISPs need only the single MMIO BAR to manipulate HW
registers.  Unfortunately, ISP21xx, ISP22xx, ISP23xx, and ISP63xx
type cards still require the I/O mapped region to manipulate the
FLASH via the two HW flash-registers (flash_address and
flash_data).

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] qla2xxx: Fix issue where final flash-segment updates were falling into the...
Andrew Vasquez [Fri, 19 Oct 2007 22:59:16 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Fix issue where final flash-segment updates were falling into the slow-path write handler.

Original implementation would not use the burst-write mechanisms
for requests equal to OPTROM_BURST_DWORDS transfer dwords.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates.
Andrew Vasquez [Fri, 19 Oct 2007 22:59:15 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates.

Since both NVRAM and VPD regions of the flash reside on unaligned
sector boundaries, during update, the driver must perform a
read-modify-write operation to the composite NVRAM/VPD region.
This affects ISP25xx type boards only.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios.
Andrew Vasquez [Fri, 19 Oct 2007 22:59:14 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios.

As the intermixing may cause issues where HCCR bits could be
cleared inappropriately during MSI/MSI-X interrupt handling.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u.
Andrew Vasquez [Fri, 19 Oct 2007 22:59:13 +0000 (15:59 -0700)]
[SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Remove sym_xpt_async_sent_bdr
Matthew Wilcox [Fri, 5 Oct 2007 19:55:14 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Remove sym_xpt_async_sent_bdr

This function just printed a message to the user; move the print to its
only caller, and turn it into an starget_printk.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Remove pci_dev pointer from sym_shcb
Matthew Wilcox [Fri, 5 Oct 2007 19:55:13 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Remove pci_dev pointer from sym_shcb

This structure is accessed by the device; the fewer Linux things in it,
the better.  Using the pci_dev pointer from the hostdata requires a lot
of changes:

 - Pass Scsi_Host to a lot of routines which currently take a sym_hcb.
 - Set the Scsi_Host as the pci drvdata (instead of the sym_hcb)

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE
Matthew Wilcox [Fri, 5 Oct 2007 19:55:12 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE

Make sym_interrupt return an irqreturn_t instead of void, and take a
Scsi_Host instead of a sym_hcb.  Pass the Scsi_Host to the interrupt
handler instead of the sym_hcb.  Rename the host_data to sym_data.
Keep a pci_dev pointer in the sym_data.  Rename the Scsi_Host from
instance to shost.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Get rid of IRQ_FMT and IRQ_PRM
Matthew Wilcox [Fri, 5 Oct 2007 19:55:11 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Get rid of IRQ_FMT and IRQ_PRM

These macros aren't needed any more.  They used to be used for SPARC.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Use scmd_printk where appropriate
Matthew Wilcox [Fri, 5 Oct 2007 19:55:10 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Use scmd_printk where appropriate

If we have a scsi_cmnd, it gives the user more information than the
sym_name, and maybe the target.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Simplify DAC DMA handling
Matthew Wilcox [Fri, 5 Oct 2007 19:55:09 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Simplify DAC DMA handling

By introducing the use_dac(), set_dac() and DMA_DAC_MASK macros, we can
eliminate a lot of ifdefs from the code.  We now rely on the compiler to
optimise away a few things that we'd formerly relied on the preprocessor
to do.  This makes sym_setup_bus_dma_mask() small enough to inline into
its only caller.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Remove tag_ctrl module parameter
Matthew Wilcox [Fri, 5 Oct 2007 19:55:08 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Remove tag_ctrl module parameter

With sysfs making these options tunable at runtime, there's no
justification for keeping this horrendously complex specification
string around.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Remove io_ws, mmio_ws and ram_ws elements
Matthew Wilcox [Fri, 5 Oct 2007 19:55:07 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Remove io_ws, mmio_ws and ram_ws elements

These struct elements record info that is never needed

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Remove ->device_id
Matthew Wilcox [Fri, 5 Oct 2007 19:55:06 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Remove ->device_id

Following the same path as ->revision_id, remove ->device_id

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Use pdev->revision
Matthew Wilcox [Fri, 5 Oct 2007 19:55:05 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Use pdev->revision

Auke missed the sym2 driver in his initial sweep.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: PCI Error Recovery support
Linas Vepstas [Fri, 5 Oct 2007 19:55:04 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: PCI Error Recovery support

This patch adds the PCI error recovery callbacks to the Symbios SCSI device
driver.  It includes support for First Failure Data Capture.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Assorted changes to initial patches, including returning IRQ_NONE from the
interrupt handler if the device is offline and re-using the eh_done completion
in the scsi error handler.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Stop overriding scsi_done
Matthew Wilcox [Fri, 5 Oct 2007 19:55:03 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Stop overriding scsi_done

Instead of telling the reset routine that the command completed from
sym_eh_done, do it from sym_xpt_done.  The 'to_do' element of the ucmd
is redundant -- it serves only to tell whether eh_done is valid or not,
and we can tell this by checking to see if it's NULL.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Don't disable interrupts in the interrupt handler
Matthew Wilcox [Fri, 5 Oct 2007 19:55:02 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Don't disable interrupts in the interrupt handler

Interrupts can't be re-entered, so it's sufficient to call spin_lock, not
spin_lock_irqsave().

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Remove unnecessary check in queuecommand
Matthew Wilcox [Fri, 5 Oct 2007 19:55:01 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Remove unnecessary check in queuecommand

The midlayer won't scan the host ID, so we don't need to check.
This is the only caller of sym_xpt_done2, so remove that too.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Remove data_mapping and data_mapped
Matthew Wilcox [Fri, 5 Oct 2007 19:55:00 +0000 (15:55 -0400)]
[SCSI] sym53c8xx: Remove data_mapping and data_mapped

Before all commands used sg, data_mapping and data_mapped were used to
distinguish whether the command had used map_single or map_sg.  Now all
commands are sg, so we can delete data_mapping, data_mapped and the
wrapper functions __unmap_scsi_data, __map_scsi_sg_data, unmap_scsi_data
and map_scsi_sg_data.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Use pci_dev irq number
Matthew Wilcox [Fri, 5 Oct 2007 19:54:59 +0000 (15:54 -0400)]
[SCSI] sym53c8xx: Use pci_dev irq number

Don't cache a private copy of the interrupt number

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years ago[SCSI] sym53c8xx: Work around 53c896 erratum
Kai Makisara [Fri, 5 Oct 2007 19:54:58 +0000 (15:54 -0400)]
[SCSI] sym53c8xx: Work around 53c896 erratum

Prevent DMA transfers from crossing the 16MB limit for early 53c896 chips.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh...
Linus Torvalds [Tue, 23 Oct 2007 19:04:01 +0000 (12:04 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ericvh/v9fs

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
  9p: v9fs_vfs_rename incorrect clunk order
  9p: fix memleak in fs/9p/v9fs.c
  9p: add virtio transport

16 years ago[PATCH] Fix breakage after SG cleanups
Ralf Baechle [Tue, 23 Oct 2007 18:42:11 +0000 (20:42 +0200)]
[PATCH] Fix breakage after SG cleanups

Commits

  58b053e4ce9d2fc3023645c1b96e537c72aa8d9a ("Update arch/ to use sg helpers")
  45711f1af6eff1a6d010703b4862e0d2b9afd056 ("[SG] Update drivers to use sg helpers")
  fa05f1286be25a8ce915c5dd492aea61126b3f33 ("Update net/ to use sg helpers")

converted many files to use the scatter gather helpers without ensuring
that the necessary headerfile <linux/scatterlist> is included.  This
happened to work for ia64, powerpc, sparc64 and x86 because they
happened to drag in that file via their <asm/dma-mapping.h>.

On most of the others this probably broke.

Instead of increasing the header file spider web I choose to include
<linux/scatterlist.h> directly into the affectes files.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years ago9p: v9fs_vfs_rename incorrect clunk order
Latchesar Ionkov [Tue, 23 Oct 2007 18:48:33 +0000 (13:48 -0500)]
9p: v9fs_vfs_rename incorrect clunk order

In v9fs_vfs_rename function labels don't match the fids that are clunked.
The correct clunk order is clunking newdirfid first and then olddirfid next.

Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
16 years ago9p: fix memleak in fs/9p/v9fs.c
Adrian Bunk [Tue, 23 Oct 2007 18:48:50 +0000 (13:48 -0500)]
9p: fix memleak in fs/9p/v9fs.c

This patch fixes a memory leak introduced by
commit ba17674fe02909fef049fd4b620a2805bdb8c693.

Spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
16 years ago9p: add virtio transport
Eric Van Hensbergen [Tue, 23 Oct 2007 18:47:31 +0000 (13:47 -0500)]
9p: add virtio transport

This adds a transport to 9p for communicating between guests and a host
using a virtio based transport.

Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
16 years agoxtensa: fix sg->page fallout
Emil Medve [Tue, 23 Oct 2007 18:38:41 +0000 (20:38 +0200)]
xtensa: fix sg->page fallout

Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agommc: fix sg->page fallout
Emil Medve [Tue, 23 Oct 2007 18:37:24 +0000 (20:37 +0200)]
mmc: fix sg->page fallout

Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years ago[SG] Add debug check for page alignment
Jens Axboe [Tue, 23 Oct 2007 18:35:58 +0000 (20:35 +0200)]
[SG] Add debug check for page alignment

Suggested by Boaz Harrosh <bharrosh@panasas.com>

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 23 Oct 2007 16:56:11 +0000 (09:56 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  mlx4_core: Increase command timeout for INIT_HCA to 10 seconds
  IPoIB/cm: Use common CQ for CM send completions
  IB/uverbs: Fix checking of userspace object ownership
  IB/mlx4: Sanity check userspace send queue sizes
  IPoIB: Rewrite "if (!likely(...))" as "if (unlikely(!(...)))"
  IB/ehca: Enable large page MRs by default
  IB/ehca: Change meaning of hca_cap_mr_pgsize
  IB/ehca: Fix ehca_encode_hwpage_size() and alloc_fmr()
  IB/ehca: Fix masking error in {,re}reg_phys_mr()
  IB/ehca: Supply QP token for SRQ base QPs
  IPoIB: Use round_jiffies() for ah_reap_task
  RDMA/cma: Fix deadlock destroying listen requests
  RDMA/cma: Add locking around QP accesses
  IB/mthca: Avoid alignment traps when writing doorbells
  mlx4_core: Kill mlx4_write64_raw()

16 years ago[SCSI] qla1280: eliminate wasted space in request and response ring
Johannes Dickgreber [Wed, 19 Sep 2007 23:07:50 +0000 (01:07 +0200)]
[SCSI] qla1280: eliminate wasted space in request and response ring

i think there is wasted space in allocated pages for request and
response rings.  The allocations are made with REQUEST_ENTRY_CNT + 1
and RESPONSE_ENTRY_CNT + 1, but they are set with 256 and 16.

So we got more pages, which we dont use very much so eliminate them.

Signed-off-by: Johannes Dickgreber <tanzy@gmx.de>
Acked-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest
Linus Torvalds [Tue, 23 Oct 2007 16:03:07 +0000 (09:03 -0700)]
Merge git://git./linux/kernel/git/rusty/linux-2.6-lguest

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest: (45 commits)
  Use "struct boot_params" in example launcher
  Loading bzImage directly.
  Revert lguest magic and use hook in head.S
  Update lguest documentation to reflect the new virtual block device name.
  generalize lgread_u32/lgwrite_u32.
  Example launcher handle guests not being ready for input
  Update example launcher for virtio
  Lguest support for Virtio
  Remove old lguest I/O infrrasructure.
  Remove old lguest bus and drivers.
  Virtio helper routines for a descriptor ringbuffer implementation
  Module autoprobing support for virtio drivers.
  Virtio console driver
  Block driver using virtio.
  Net driver using virtio
  Virtio interface
  Boot with virtual == physical to get closer to native Linux.
  Allow guest to specify syscall vector to use.
  Rename "cr3" to "gpgdir" to avoid x86-specific naming.
  Pagetables to use normal kernel types
  ...

16 years agoFix synchronize_irq races with IRQ handler
Herbert Xu [Tue, 23 Oct 2007 03:26:25 +0000 (11:26 +0800)]
Fix synchronize_irq races with IRQ handler

As it is some callers of synchronize_irq rely on memory barriers
to provide synchronisation against the IRQ handlers.  For example,
the tg3 driver does

tp->irq_sync = 1;
smp_mb();
synchronize_irq();

and then in the IRQ handler:

if (!tp->irq_sync)
netif_rx_schedule(dev, &tp->napi);

Unfortunately memory barriers only work well when they come in
pairs.  Because we don't actually have memory barriers on the
IRQ path, the memory barrier before the synchronize_irq() doesn't
actually protect us.

In particular, synchronize_irq() may return followed by the
result of netif_rx_schedule being made visible.

This patch (mostly written by Linus) fixes this by using spin
locks instead of memory barries on the synchronize_irq() path.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Tue, 23 Oct 2007 15:59:46 +0000 (08:59 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/selinux-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
  SELinux: always check SIGCHLD in selinux_task_wait

16 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Tue, 23 Oct 2007 15:57:35 +0000 (08:57 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] Add Vitaly Bordug as PPC8xx maintainer
  [POWERPC] 4xx: Enable EMAC on Bamboo board
  [POWERPC] 4xx: Enable EMAC for PPC405 Walnut board
  [POWERPC] 4xx: Fix timebase clock selection on Walnut
  [POWERPC] 4xx: Enable EMAC on the PPC 440GP Ebony board
  [POWERPC] 4xx: Split early debug output and early boot console for 44x
  [POWERPC] 4xx: Enable NEW EMAC support for Sequoia 440EPx.
  [POWERPC] 4xx: Add RGMII support for Sequoia 440EPx

16 years agoMerge git://git.infradead.org/mtd-2.6
Linus Torvalds [Tue, 23 Oct 2007 15:56:50 +0000 (08:56 -0700)]
Merge git://git.infradead.org/mtd-2.6

* git://git.infradead.org/mtd-2.6:
  [MTD] [NOR] Fix deadlock in Intel chip driver caused by get_chip recursion
  [JFFS2] Fix return value from jffs2_write_end()
  [MTD] [OneNAND] Fix wrong free the static address in onenand_sim
  [MTD] [NAND] Replace -1 with -EBADMSG in nand error correction code
  [RSLIB] BUG() when passing illegal parameters to decode_rs8() or decode_rs16()
  [MTD] [NAND] treat any negative return value from correct() as an error
  [MTD] [NAND] nandsim: bugfix in initialization
  [MTD] Fix typo in Alauda config option help text.
  [MTD] [NAND] add s3c2440-specific read_buf/write_buf
  [MTD] [OneNAND] onenand-sim: fix kernel-doc and typos
  [JFFS2] Tidy up fix for ACL/permissions problem.

16 years agoMerge branch 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/hskinnem...
Linus Torvalds [Tue, 23 Oct 2007 15:55:56 +0000 (08:55 -0700)]
Merge branch 'for-linus' of ssh:///linux/kernel/git/hskinnemoen/avr32-2.6

* 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  [AVR32] ARRAY_SIZE() cleanup
  [AVR32] Implement at32_add_device_cf()
  [AVR32] Implement more at32_add_device_foo() functions
  [AVR32] Fix a couple of sparse warnings
  [AVR32] Wire up AT73C213 sound driver on ATSTK1000 board
  [AVR32] Platform code for pata_at32

16 years agoMerge branch 'sg' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Tue, 23 Oct 2007 15:53:41 +0000 (08:53 -0700)]
Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block

* 'sg' of git://git.kernel.dk/linux-2.6-block:
  sparc64: zero out dma_length
  fvr32: fixup dma-mapping for new sg layout
  sh/sh64: fixup dma-mapping for new sg layout
  Fix sctp compile
  m68knommu: remove sg_address()
  frv: update comment in scatterlist to reflect new setup
  blackfin: remove sg_address()
  arm: sg fallout
  mips: sg_page() fallout
  alpha: sg_virt() fallout
  intel-iommu: fix sg_page()
  parisc: fix sg_page() fallout
  ide: build fix
  net: fix xfrm build - missing scatterlist.h include
  [BLOCK] blk_rq_map_sg: force clear termination bit
  [BLOCK] Don't clear sg_dma_len/addr() in blk_rq_map_sg()
  s390 zfcp: sg fixups
  powerpc: Fix fallout from sg_page() changes
  IB/ehca: Fix sg_page() fallout
  arm: build fix

16 years agoMerge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
Linus Torvalds [Tue, 23 Oct 2007 15:37:23 +0000 (08:37 -0700)]
Merge branch 'linus' of /linux/kernel/git/perex/alsa

* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
  [ALSA] version 1.0.15
  [ALSA] hda-codec - Fix possible array overflow
  [ALSA] sound/core/control.c: hard-irq-safe -> hard-irq-unsafe lock warning
  [ALSA] usb-audio: Another USB mic quirk for Logitech Communicator webcam
  [ALSA] hda-codec - Fix build without CONFIG_SND_HDA_GENERIC
  [ALSA] hda-codec - Fix Conexant 5045 volumes
  [ALSA] hda-codec - Fix conflict of Master volume in STAC92xx codec
  [ALSA] snd-bt87x: Make the load_all option work correctly
  [ALSA] protect Dreamcast PCM driver (AICA) from G2 bus effects
  [ALSA] bt87x - Fix section mismatch
  [ALSA] hda-codec - Fix AD1986A Lenovo auto-mute
  [ALSA] This simplifies and fixes waiting loops of the mce_down()

16 years agom68knommu: cleanup m68knommu timer code
Greg Ungerer [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: cleanup m68knommu timer code

Reduce the function pointer mess of the m68knommu timer code by calling
directly to the local hardware's timer setup, and expose the local
common timer interrupt handler to the lower level hardware timer.

Ultimately this will save definitions of all these functions across all
the platform code to setup the function pointers (which for any given
m68knommu CPU family member can be only one set of hardware timer
functions).

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: new style ColdFire UART driver
Greg Ungerer [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: new style ColdFire UART driver

A new style serial driver for the Freescale ColdFire UART to replace
the old style one currently in the tree (drivers/serial/mcfserial.c).

Currently this UART is only found in the ColdFire CPU family of parts
(thus I prefixed this patch [M68KNOMMU]).

This has been around for a long while now, tested on all available
platforms.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: fix make archclean
Greg Ungerer [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: fix make archclean

Remove build reference to arch/m68knommu/boot directory, it doesn't
exist.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: remove use of undefined symbols in setup.c
Greg Ungerer [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: remove use of undefined symbols in setup.c

Remove use of undefined symbols CONFIG_TELOS, CONFIG_M68EZ328ADS
and CONFIG_ALMA_ANS.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: improve mii_do_cmd code in FEC driver
Philippe De Muyter [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: improve mii_do_cmd code in FEC driver

Improve the readability of mii_do_cmd().

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: fix syscall restart handling
Greg Ungerer [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: fix syscall restart handling

Fix system call restart handling. We can call directly to the
restart handler, no need to back track through trap that isn't
even implemented on m68knommu.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: add make support for Savant/Rosie1 board
Wilson Callan [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: add make support for Savant/Rosie1 board

Add make support for the Savant/Rosie1 board.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: no separate stack region to report at startup
Greg Ungerer [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: no separate stack region to report at startup

There is no separate stack region addresses to print at startup time,
so remove it from the debug listing

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agom68knommu: add config support for Savant/Rosie1 board
Wilson Callan [Tue, 23 Oct 2007 04:37:54 +0000 (14:37 +1000)]
m68knommu: add config support for Savant/Rosie1 board

Add configure support for the Savant/Rosie1 board.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>