GitHub/moto-9609/android_kernel_motorola_exynos9610.git
18 years agosh: interrupt exception handling rework
Paul Mundt [Thu, 12 Oct 2006 03:03:04 +0000 (12:03 +0900)]
sh: interrupt exception handling rework

Kill off interrupt_table for all of the CPU subtypes, we now
default in to stepping in to do_IRQ() for _all_ IRQ exceptions
and counting the spurious ones, rather than simply flipping on
the ones we cared about. This and enabling the IRQ by default
automatically has already uncovered a couple of bugs and IRQs
that weren't being caught, as well as some that are being
generated far too often (SCI Tx Data Empty, for example).

The general rationale is to use a marker for interrupt exceptions,
test for it in the handle_exception() path, and skip out to
do_IRQ() if it's found. Everything else follows the same behaviour
of finding the cached EXPEVT value in r2/r2_bank, we just rip out
the INTEVT read from entry.S entirely (except for in the kGDB NMI
case, which is another matter).

Note that while this changes the do_IRQ() semantics regarding r4
handling, they were fundamentally broken anyways (relying entirely
on r2_bank for the cached code). With this, we do the INTEVT read
from do_IRQ() itself (in the CONFIG_CPU_HAS_INTEVT case), or fall
back on r4 for the muxed IRQ number, which should also be closer
to what SH-2 and SH-2A want anyways.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Default enable R7780RP IRQs.
Paul Mundt [Thu, 12 Oct 2006 02:56:31 +0000 (11:56 +0900)]
sh: Default enable R7780RP IRQs.

Now that we've started accounting for spurious IRQs, change the
logic somewhat so that we have a better chance of catching them.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Zero-out coherent buffer in consistent_alloc().
Paul Mundt [Tue, 10 Oct 2006 09:33:10 +0000 (18:33 +0900)]
sh: Zero-out coherent buffer in consistent_alloc().

Be sure to zero out the buffer, this was causing occasional problems
under heavier PCI tests.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Convert IPR-IRQ to IRQ chip.
Paul Mundt [Fri, 6 Oct 2006 08:55:25 +0000 (17:55 +0900)]
sh: Convert IPR-IRQ to IRQ chip.

One more initial conversion..

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Convert INTC2 IRQ handler to irq_chip.
Paul Mundt [Fri, 6 Oct 2006 08:35:48 +0000 (17:35 +0900)]
sh: Convert INTC2 IRQ handler to irq_chip.

More struct irq_chip conversions, this time the INTC2 handlers.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Fix pr_debug statements for sh4
Jamie Lenehan [Fri, 6 Oct 2006 06:36:15 +0000 (15:36 +0900)]
sh: Fix pr_debug statements for sh4

Fix a problem uncovered by the recent change to always check the
arguments to pr_debug. The sh7751 was using the wrong name for the
PCI IO base address.

Signed-off-by: Jamie Lenehan <lenehan@twibble.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Convert r7780rp IRQ handler to IRQ chip.
Paul Mundt [Fri, 6 Oct 2006 06:33:00 +0000 (15:33 +0900)]
sh: Convert r7780rp IRQ handler to IRQ chip.

Simple conversion of the R7780RP IRQ handler to struct irq_chip.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Updates for IRQ handler changes.
Paul Mundt [Fri, 6 Oct 2006 06:31:16 +0000 (15:31 +0900)]
sh: Updates for IRQ handler changes.

Trivial fixes for build breakage introduced by IRQ handler changes.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: Kill off timer_ops get_frequency().
Paul Mundt [Wed, 4 Oct 2006 04:27:32 +0000 (13:27 +0900)]
sh: Kill off timer_ops get_frequency().

We're not using this anywhere these days, kill it off.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agosh: First step at generic timeofday support.
Paul Mundt [Wed, 4 Oct 2006 04:21:45 +0000 (13:21 +0900)]
sh: First step at generic timeofday support.

At the moment we wrap GENERIC_TIME around our existing timer API.
As boards start providing their own clocksources, they're able to
select GENERIC_TIME accordingly and optimize out most of the timer
API.

Once the current timers have been reworked as proper clocksource
drivers, the rest of the place holders for the timer API can go
away and we can flip on GENERIC_TIME unconditionally.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years ago[PATCH] powerpc: irq change build breaks
Olof Johansson [Fri, 6 Oct 2006 01:31:10 +0000 (20:31 -0500)]
[PATCH] powerpc: irq change build breaks

Fix up some of the buildbreaks from the irq handler changes.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge git://git.infradead.org/~dhowells/irq-2.6
Linus Torvalds [Thu, 5 Oct 2006 23:32:01 +0000 (16:32 -0700)]
Merge git://git.infradead.org/~dhowells/irq-2.6

* git://git.infradead.org/~dhowells/irq-2.6:
  IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
  IRQ: Typedef the IRQ handler function type
  IRQ: Typedef the IRQ flow handler function type

18 years ago[PATCH] UDF: Fix mounting read-write
Peter Osterlund [Thu, 5 Oct 2006 19:17:50 +0000 (21:17 +0200)]
[PATCH] UDF: Fix mounting read-write

The UDF filesystem can't be mounted in read-write mode any more,
because of forgotten braces.

Signed-off-by: Peter Osterlund <petero2@telia.com>
[ Duh! ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86-64: Fix compilation without CONFIG_KALLSYMS
Randy Dunlap [Thu, 5 Oct 2006 17:07:26 +0000 (19:07 +0200)]
[PATCH] x86-64: Fix compilation without CONFIG_KALLSYMS

Include linux/kallsyms.h unconditionally for print_symbol().

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
Linus Torvalds [Thu, 5 Oct 2006 22:51:43 +0000 (15:51 -0700)]
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6

* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
  [PATCH] i386: fix rwsem build bug on CONFIG_M386=y
  [PATCH] x86-64: Annotate interrupt frame backlink in interrupt handlers
  [PATCH] x86-64: Fix FPU corruption
  [PATCH] x86: Terminate the kernel stacks for the unwinder
  [PATCH] i386: Fix PCI BIOS config space access
  [PATCH] x86-64: Calgary IOMMU: print PCI bus numbers in hex
  [PATCH] x86-64: Calgary IOMMU: Update Jon's contact info
  [PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location
  [PATCH] x86-64: Calgary IOMMU: deobfuscate calgary_init
  [PATCH] i386: Update defconfig
  [PATCH] x86-64: Update defconfig

[ Manually skipped commits that incorrectly ignored AC in kernel space.
  The alignment fault is defined to only happen for CPL3 anyway  - Linus ]

18 years ago[PATCH] fix qla{2,4} build error
Frederik Deweerdt [Thu, 5 Oct 2006 20:49:18 +0000 (20:49 +0000)]
[PATCH] fix qla{2,4} build error

commit 0181944fe647cae18d545ac1167df3d15d393701 adds a
'extended_error_logging' global variable to qla2xxx which is defined by
qla4xxx too.

Trying to build both drivers results in the following error:

  LD      drivers/scsi/built-in.o
  drivers/scsi/qla4xxx/built-in.o: In function `qla4xxx_slave_configure':
  drivers/scsi/qla4xxx/ql4_os.c:1433: multiple definition of `extended_error_logging'
  drivers/scsi/qla2xxx/built-in.o:drivers/scsi/qla2xxx/qla_os.c:2166:
  first defined here
  make[2]: *** [drivers/scsi/built-in.o] Error 1
  make[1]: *** [drivers/scsi] Error 2
  make: *** [drivers] Error 2

The following patch simply adds a qla2_ (qla4_ respectively) prefix to
the variable name.

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i386: fix rwsem build bug on CONFIG_M386=y
Ingo Molnar [Thu, 5 Oct 2006 16:47:22 +0000 (18:47 +0200)]
[PATCH] i386: fix rwsem build bug on CONFIG_M386=y

CONFIG_M386 turns on spinlock-based generic rwsems - which surprises the
semaphore.S rwsem stubs. Tested both with and without CONFIG_M386.

Reported-by: Klaus Knopper <knopper@knopper.net>
Triaged-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Annotate interrupt frame backlink in interrupt handlers
Andi Kleen [Thu, 5 Oct 2006 16:47:22 +0000 (18:47 +0200)]
[PATCH] x86-64: Annotate interrupt frame backlink in interrupt handlers

Add correct CFI annotation to the backlink on top of the interrupt stack.

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Fix FPU corruption
Andi Kleen [Thu, 5 Oct 2006 16:47:22 +0000 (18:47 +0200)]
[PATCH] x86-64: Fix FPU corruption

This reverts an earlier patch that was found to cause FPU
state corruption. I think the corruption happens because
unlazy_fpu() can cause FPU exceptions and when it happens
after the current switch some processing would affect
the state in the wrong process.

Thanks to  Douglas Crosher and Tom Hughes for testing.

Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86: Terminate the kernel stacks for the unwinder
Andi Kleen [Thu, 5 Oct 2006 16:47:22 +0000 (18:47 +0200)]
[PATCH] x86: Terminate the kernel stacks for the unwinder

Always make sure RIP/EIP is 0 in the registers stored on the top
of the stack of a kernel thread. This makes sure the unwinder code
won't try a fallback but knows the stack has ended.

AK: this patch is a bit mysterious. in theory they should be terminated
anyways, but it seems to fix at least one crash. Anyways double termination
probably doesn't hurt.

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] i386: Fix PCI BIOS config space access
Andi Kleen [Thu, 5 Oct 2006 16:47:22 +0000 (18:47 +0200)]
[PATCH] i386: Fix PCI BIOS config space access

Got broken by a earlier change.

Also add a printk when no pci config method could be found.

Cc: gregkh@suse.de
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Calgary IOMMU: print PCI bus numbers in hex
Jon Mason [Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)]
[PATCH] x86-64: Calgary IOMMU: print PCI bus numbers in hex

Make the references to the bus number in hex instead of decimal, as
that is the way that lspci prints out the bus numbers.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Calgary IOMMU: Update Jon's contact info
Jon Mason [Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)]
[PATCH] x86-64: Calgary IOMMU: Update Jon's contact info

Also add copyright for work done after leaving IBM.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location
Jon Mason [Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)]
[PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location

The purpose of the code being modified is to determine the location
of the calgary chip address space.  This is done by a magical formula
of FE0MB-8MB*OneBasedChassisNumber+1MB*(RioNodeId-ChassisBase) to
find the offset where BIOS puts it.  In this formula,
OneBasedChassisNumber corresponds to the NUMA node, and rionodeid is
always 2 or 3 depending on which chip in the system it is.  The
problem was that we had an off by one error that caused us to account
some busses to the wrong chip and thus give them the wrong address
space.

Fixes RH bugzilla #203971.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-bu: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Calgary IOMMU: deobfuscate calgary_init
Jon Mason [Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)]
[PATCH] x86-64: Calgary IOMMU: deobfuscate calgary_init

calgary_init's for loop does not correspond to the actual device being
checked, which makes its upperbound check for array overflow useless.
Changing this to a do-while loop is the correct way of doing this.
There should be no possibility of spinning forever in this loop, as
pci_get_device states that it will go through all iterations, then
return NULL (thus breaking the loop).

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] i386: Update defconfig
Andi Kleen [Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)]
[PATCH] i386: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Update defconfig
Andi Kleen [Thu, 5 Oct 2006 16:47:21 +0000 (18:47 +0200)]
[PATCH] x86-64: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
18 years agoIRQ: Maintain regs pointer globally rather than passing to IRQ handlers
David Howells [Thu, 5 Oct 2006 13:55:46 +0000 (14:55 +0100)]
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers

Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
of passing regs around manually through all ~1800 interrupt handlers in the
Linux kernel.

The regs pointer is used in few places, but it potentially costs both stack
space and code to pass it around.  On the FRV arch, removing the regs parameter
from all the genirq function results in a 20% speed up of the IRQ exit path
(ie: from leaving timer_interrupt() to leaving do_IRQ()).

Where appropriate, an arch may override the generic storage facility and do
something different with the variable.  On FRV, for instance, the address is
maintained in GR28 at all times inside the kernel as part of general exception
handling.

Having looked over the code, it appears that the parameter may be handed down
through up to twenty or so layers of functions.  Consider a USB character
device attached to a USB hub, attached to a USB controller that posts its
interrupts through a cascaded auxiliary interrupt controller.  A character
device driver may want to pass regs to the sysrq handler through the input
layer which adds another few layers of parameter passing.

I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
main part of the code on FRV and i386, though I can't test most of the drivers.
I've also done partial conversion for powerpc and MIPS - these at least compile
with minimal configurations.

This will affect all archs.  Mostly the changes should be relatively easy.
Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

struct pt_regs *old_regs = set_irq_regs(regs);

And put the old one back at the end:

set_irq_regs(old_regs);

Don't pass regs through to generic_handle_irq() or __do_IRQ().

In timer_interrupt(), this sort of change will be necessary:

- update_process_times(user_mode(regs));
- profile_tick(CPU_PROFILING, regs);
+ update_process_times(user_mode(get_irq_regs()));
+ profile_tick(CPU_PROFILING);

I'd like to move update_process_times()'s use of get_irq_regs() into itself,
except that i386, alone of the archs, uses something other than user_mode().

Some notes on the interrupt handling in the drivers:

 (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
     the input_dev struct.

 (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
     something different depending on whether it's been supplied with a regs
     pointer or not.

 (*) Various IRQ handler function pointers have been moved to type
     irq_handler_t.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

18 years agoIRQ: Typedef the IRQ handler function type
David Howells [Thu, 5 Oct 2006 12:06:34 +0000 (13:06 +0100)]
IRQ: Typedef the IRQ handler function type

Typedef the IRQ handler function type.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 1356d1e5fd256997e3d3dce0777ab787d0515c7a commit)

18 years agoIRQ: Typedef the IRQ flow handler function type
David Howells [Thu, 5 Oct 2006 12:06:34 +0000 (13:06 +0100)]
IRQ: Typedef the IRQ flow handler function type

Typedef the IRQ flow handler function type.

Signed-Off-By: David Howells <dhowells@redhat.com>
(cherry picked from 8e973fbdf5716b93a0a8c0365be33a31ca0fa351 commit)

18 years agoLinux 2.6.19-rc1
Linus Torvalds [Thu, 5 Oct 2006 02:57:05 +0000 (19:57 -0700)]
Linux 2.6.19-rc1

Merge window closed..

18 years ago[PATCH] itmtouch: fix inverted flag to indicate touch location correctly, correct...
Mark Assad [Thu, 5 Oct 2006 02:25:05 +0000 (12:25 +1000)]
[PATCH] itmtouch: fix inverted flag to indicate touch location correctly, correct white space

There is a bug in the current version of the itmtouch USB touchscreen
driver.  The if statment that checks if pressure is being applied to the
touch screen is now missing a ! (not), so events are no longer being
reported correctly.

The original source code for this line was as follows:

#define UCP(x) ((unsigned char*)(x))
#define UCOM(x,y,z) ((UCP((x)->transfer_buffer)[y]) & (z))

...
if (!UCOM(urb, 7, 0x20)) {

And was cleaned to:

unsigned char *data = urb->transfer_buffer;
....
 if (data[7] & 0x20) {

(note the lack of '!')

This has been tested on an LG L1510BF and an LG1510SF touch screen.

Signed-off-by: Mark Assad <massad@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/willy/parisc-2.6
Linus Torvalds [Thu, 5 Oct 2006 02:08:13 +0000 (19:08 -0700)]
Merge /pub/scm/linux/kernel/git/willy/parisc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/willy/parisc-2.6:
  [PA-RISC] Fix time.c for new do_timer() calling convention
  [PA-RISC] Fix must_check warnings in drivers.c
  [PA-RISC] Fix parisc_newuname()
  [PA-RISC] Remove warning from pci.c
  [PA-RISC] Fix filldir warnings
  [PA-RISC] Fix sys32_sysctl
  [PA-RISC] Fix sba_iommu compilation

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Thu, 5 Oct 2006 02:01:28 +0000 (19:01 -0700)]
Merge git://git./linux/kernel/git/paulus/powerpc

* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] cell: fix bugs found by sparse
  [POWERPC] spiderpic: enable new style devtree support
  [POWERPC] Update cell_defconfig
  [POWERPC] spufs: add infrastructure for finding elf objects
  [POWERPC] spufs: support new OF device tree format
  [POWERPC] spufs: add support for read/write on cntl
  [POWERPC] spufs: remove support for ancient firmware
  [POWERPC] spufs: make mailbox functions handle multiple elements
  [POWERPC] spufs: use correct pg_prot for mapping SPU local store
  [POWERPC] spufs: Add infrastructure needed for gang scheduling
  [POWERPC] spufs: implement error event delivery to user space
  [POWERPC] spufs: fix context switch during page fault
  [POWERPC] spufs: scheduler support for NUMA.
  [POWERPC] spufs: cell spu problem state mapping updates

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
Linus Torvalds [Thu, 5 Oct 2006 01:57:35 +0000 (18:57 -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: (54 commits)
  [SCSI] Initial Commit of qla4xxx
  [SCSI] raid class: handle component-add errors
  [SCSI] SCSI megaraid_sas: handle thrown errors
  [SCSI] SCSI aic94xx: handle sysfs errors
  [SCSI] SCSI st: fix error handling in module init, sysfs
  [SCSI] SCSI sd: fix module init/exit error handling
  [SCSI] SCSI osst: add error handling to module init, sysfs
  [SCSI] scsi: remove hosts.h
  [SCSI] scsi: Scsi_Cmnd convertion in aic7xxx_old.c
  [SCSI] megaraid_sas: sets ioctl timeout and updates version,changelog
  [SCSI] megaraid_sas: adds tasklet for cmd completion
  [SCSI] megaraid_sas: prints pending cmds before setting hw_crit_error
  [SCSI] megaraid_sas: function pointer for disable interrupt
  [SCSI] megaraid_sas: frame count optimization
  [SCSI] megaraid_sas: FW transition and q size changes
  [SCSI] qla2xxx: Update version number to 8.01.07-k2.
  [SCSI] qla2xxx: Stall mid-layer error handlers while rport is blocked.
  [SCSI] qla2xxx: Add MODULE_FIRMWARE tags.
  [SCSI] qla2xxx: Add support for host port state FC transport attribute.
  [SCSI] qla2xxx: Add support for fabric name FC transport attribute.
  ...

18 years ago[PA-RISC] Fix time.c for new do_timer() calling convention
Matthew Wilcox [Wed, 4 Oct 2006 21:12:52 +0000 (15:12 -0600)]
[PA-RISC] Fix time.c for new do_timer() calling convention

do_timer now wants to know how many ticks have elapsed.  Now that we
have to calculate that, we can eliminate some of the clever code that
avoided having to calculate that.  Also add some more documentation.
I'd like to thank Grant Grundler for helping me with this.

Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
18 years ago[PA-RISC] Fix must_check warnings in drivers.c
Matthew Wilcox [Wed, 4 Oct 2006 19:37:41 +0000 (13:37 -0600)]
[PA-RISC] Fix must_check warnings in drivers.c

Panic if we can't register the parisc bus or the root parisc device.
There's no way we can boot without them, so let the user know ASAP.

If we can't register a parisc device, handle the failure gracefully.

Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
18 years ago[PA-RISC] Fix parisc_newuname()
Matthew Wilcox [Wed, 4 Oct 2006 19:33:53 +0000 (13:33 -0600)]
[PA-RISC] Fix parisc_newuname()

The utsname virtualisation broke parisc_newuname compilation.
Rewrite the implementation to call sys_newuname() like sparc64 does.

Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
18 years ago[PA-RISC] Remove warning from pci.c
Matthew Wilcox [Wed, 4 Oct 2006 19:27:45 +0000 (13:27 -0600)]
[PA-RISC] Remove warning from pci.c

max() doesn't like comparing an unsigned long and a resource_size_t,
so make the local variables resource_size_t too.

Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
18 years ago[PA-RISC] Fix filldir warnings
Matthew Wilcox [Wed, 4 Oct 2006 19:18:25 +0000 (13:18 -0600)]
[PA-RISC] Fix filldir warnings

filldir_t now takes a u64, not an ino_t.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
18 years ago[PA-RISC] Fix sys32_sysctl
Matthew Wilcox [Wed, 4 Oct 2006 19:16:10 +0000 (13:16 -0600)]
[PA-RISC] Fix sys32_sysctl

When CONFIG_SYSCTL_SYSCALL isn't defined, do_sysctl doesn't exist and
we fail to link.  Fix with an ifdef, the same way sparc64 did.
Also add some minor changes to be more like sparc64.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
18 years ago[PA-RISC] Fix sba_iommu compilation
Matthew Wilcox [Wed, 4 Oct 2006 19:08:33 +0000 (13:08 -0600)]
[PA-RISC] Fix sba_iommu compilation

klist_iter_exit() only takes one parameter.
Also fix warning by adding additional brackets.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
18 years ago[POWERPC] cell: fix bugs found by sparse
Arnd Bergmann [Wed, 4 Oct 2006 15:26:24 +0000 (17:26 +0200)]
[POWERPC] cell: fix bugs found by sparse

- Some long constants should be marked 'ul'.
- When using desc->handler_data to pass an __iomem
  register area, we need to add casts to and from
  __iomem.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spiderpic: enable new style devtree support
Arnd Bergmann [Wed, 4 Oct 2006 15:26:23 +0000 (17:26 +0200)]
[POWERPC] spiderpic: enable new style devtree support

This enables support for new firmware test releases.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Update cell_defconfig
Arnd Bergmann [Wed, 4 Oct 2006 15:26:22 +0000 (17:26 +0200)]
[POWERPC] Update cell_defconfig

This adds defaults for new configuration options added since
2.6.18 and it enables the option for 64kb pages by default.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: add infrastructure for finding elf objects
Arnd Bergmann [Wed, 4 Oct 2006 15:26:21 +0000 (17:26 +0200)]
[POWERPC] spufs: add infrastructure for finding elf objects

This adds an 'object-id' file that the spe library can
use to store a pointer to its ELF object. This was
originally meant for use by oprofile, but is now
also used by the GNU debugger, if available.

In order for oprofile to find the location in an spu-elf
binary where an event counter triggered, we need a way
to identify the binary in the first place.

Unfortunately, that binary itself can be embedded in a
powerpc ELF binary. Since we can assume it is mapped into
the effective address space of the running process,
have that one write the pointer value into a new spufs
file.

When a context switch occurs, pass the user value to
the profiler so that can look at the mapped file (with
some care).

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: support new OF device tree format
Arnd Bergmann [Wed, 4 Oct 2006 15:26:20 +0000 (17:26 +0200)]
[POWERPC] spufs: support new OF device tree format

The properties we used traditionally in the device tree are somewhat
nonstandard.  This adds support for a more conventional format using
'interrupts' and 'reg' properties.

The interrupts are specified in three cells (class 0, 1 and 2) and
registered at the interrupt-parent.

The reg property contains either three or four register areas in the
order 'local-store', 'problem', 'priv2', and 'priv1', so the priv1 one
can be left out in case of hypervisor driven systems that access these
through hcalls.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: add support for read/write on cntl
Arnd Bergmann [Wed, 4 Oct 2006 15:26:19 +0000 (17:26 +0200)]
[POWERPC] spufs: add support for read/write on cntl

Writing to cntl can be used to stop execution on the
spu and to restart it, reading from cntl gives the
contents of the current status register.

The access is always in ascii, as for most other files.

This was always meant to be there, but we had a little
problem with writing to runctl so it was left out so
far.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: remove support for ancient firmware
Arnd Bergmann [Wed, 4 Oct 2006 15:26:18 +0000 (17:26 +0200)]
[POWERPC] spufs: remove support for ancient firmware

Any firmware that still uses the 'spc' nodes already
stopped running for other reasons, so let's get rid of this.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: make mailbox functions handle multiple elements
Arnd Bergmann [Wed, 4 Oct 2006 15:26:17 +0000 (17:26 +0200)]
[POWERPC] spufs: make mailbox functions handle multiple elements

Since libspe2 will provide a function that can read/write
multiple mailbox elements at once, the kernel should handle
that efficiently.

read/write on the three mailbox files can now access the
spe context multiple times to operate on any number of
mailbox data elements.

If the spu application keeps writing to its outbound
mailbox, the read call will pick up all the data in a
single system call.

Unfortunately, if the user passes an invalid pointer,
we may lose a mailbox element on read, since we can't
put it back. This probably impossible to solve, if the
user also accesses the mailbox through direct register
access.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: use correct pg_prot for mapping SPU local store
Arnd Bergmann [Wed, 4 Oct 2006 15:26:16 +0000 (17:26 +0200)]
[POWERPC] spufs: use correct pg_prot for mapping SPU local store

This hopefully fixes a long-standing bug in the spu file system.
An spu context comes with local memory that can be either saved
in kernel pages or point directly to a physical SPE.

When mapping the physical SPE, that mapping needs to be cache-inhibited.
For simplicity, we used to map the kernel backing memory that way
too, but unfortunately that was not only inefficient, but also incorrect
because the same page could then be accessed simultaneously through
a cacheable and a cache-inhibited mapping, which is not allowed
by the powerpc specification and in our case caused data inconsistency
for which we did a really ugly workaround in user space.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: Add infrastructure needed for gang scheduling
Arnd Bergmann [Wed, 4 Oct 2006 15:26:15 +0000 (17:26 +0200)]
[POWERPC] spufs: Add infrastructure needed for gang scheduling

Add the concept of a gang to spufs as a new type of object.
So far, this has no impact whatsover on scheduling, but makes
it possible to add that later.

A new type of object in spufs is now a spu_gang. It is created
with the spu_create system call with the flags argument set
to SPU_CREATE_GANG (0x2). Inside of a spu_gang, it
is then possible to create spu_context objects, which until
now was only possible at the root of spufs.

There is a new member in struct spu_context pointing to
the spu_gang it belongs to, if any. The spu_gang maintains
a list of spu_context structures that are its children.
This information can then be used in the scheduler in the
future.

There is still a bug that needs to be resolved in this
basic infrastructure regarding the order in which objects
are removed. When the spu_gang file descriptor is closed
before the spu_context descriptors, we leak the dentry
and inode for the gang. Any ideas how to cleanly solve
this are appreciated.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: implement error event delivery to user space
Arnd Bergmann [Wed, 4 Oct 2006 15:26:14 +0000 (17:26 +0200)]
[POWERPC] spufs: implement error event delivery to user space

This tries to fix spufs so we have an interface closer to what is
specified in the man page for events returned in the third argument of
spu_run.

Fortunately, libspe has never been using the returned contents of that
register, as they were the same as the return code of spu_run (duh!).

Unlike the specification that we never implemented correctly, we now
require a SPU_CREATE_EVENTS_ENABLED flag passed to spu_create, in
order to get the new behavior. When this flag is not passed, spu_run
will simply ignore the third argument now.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: fix context switch during page fault
HyeonSeung Jang [Wed, 4 Oct 2006 15:26:13 +0000 (17:26 +0200)]
[POWERPC] spufs: fix context switch during page fault

For better explanation, I break down the page fault handling into steps:

1) There is a page fault caused by DMA operation initiated by SPU and
DMA is suspended.

2) The interrupt handler 'spu_irq_class_1()/__spu_trap_data_map()' is
called and it just wakes up the sleeping spe-manager thread.

3) by PPE scheduler, the corresponding bottom half,
spu_irq_class_1_bottom() is called in process context and DMA is
restarted.

There can be a quite large time gap between 2) and 3) and I found
the following problem:

Between 2) and 3) If the context becomes unbound, 3) is not executed
because when the spe-manager thread is awaken, the context is already
saved. (This situation can happen, for example, when a high priority spe
thread newly started in that time gap)

But the actual problem is that the corresponding SPU context does not
work even if it is bound again to a SPU.

Besides I can see the following warning in mambo simulator when the
context becomes
unbound(in save_mfc_cmd()), i.e. when unbind() is called for the
context after step 2) before 3) :

'WARNING: 61392752237: SPE2: MFC_CMD_QUEUE channel count of 15 is
inconsistent with number of available DMA queue entries of 16'

After I go through available documents, I found that the problem is
because the suspended DMA is not restarted when it is bound again.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: scheduler support for NUMA.
Mark Nutter [Wed, 4 Oct 2006 15:26:12 +0000 (17:26 +0200)]
[POWERPC] spufs: scheduler support for NUMA.

This patch adds NUMA support to the the spufs scheduler.

The new arch/powerpc/platforms/cell/spufs/sched.c is greatly
simplified, in an attempt to reduce complexity while adding
support for NUMA scheduler domains.  SPUs are allocated starting
from the calling thread's node, moving to others as supported by
current->cpus_allowed.  Preemption is gone as it was buggy, but
should be re-enabled in another patch when stable.

The new arch/powerpc/platforms/cell/spu_base.c maintains idle
lists on a per-node basis, and allows caller to specify which
node(s) an SPU should be allocated from, while passing -1 tells
spu_alloc() that any node is allowed.

Since the patch removes the currently implemented preemptive
scheduling, it is technically a regression, but practically
all users have since migrated to this version, as it is
part of the IBM SDK and the yellowdog distribution, so there
is not much point holding it back while the new preemptive
scheduling patch gets delayed further.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] spufs: cell spu problem state mapping updates
Benjamin Herrenschmidt [Wed, 4 Oct 2006 15:26:11 +0000 (17:26 +0200)]
[POWERPC] spufs: cell spu problem state mapping updates

This patch adds a new "psmap" file to spufs that allows mmap of all of
the problem state mapping of SPEs. It is compatible with 64k pages. In
addition, it removes mmap ability of individual files when using 64k
pages, with the exception of signal1 and signal2 which will both map the
entire 64k page holding both registers. It also removes
CONFIG_SPUFS_MMAP as there is no point in not building mmap support in
spufs.

It goes along a separate patch to libspe implementing usage of that new
file to access problem state registers.

Another patch will follow up to fix races opened up by accessing
the 'runcntl' register directly, which is made possible with this
patch.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[SCSI] Initial Commit of qla4xxx
David Somayajulu [Tue, 19 Sep 2006 17:28:00 +0000 (10:28 -0700)]
[SCSI] Initial Commit of qla4xxx

open-iSCSI driver for Qlogic Corporation's iSCSI HBAs

Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Signed-off-by: David Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: Doug Maxey <dwm@bubba.enoyolf.org>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] raid class: handle component-add errors
Jeff Garzik [Wed, 4 Oct 2006 11:05:11 +0000 (07:05 -0400)]
[SCSI] raid class: handle component-add errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] SCSI megaraid_sas: handle thrown errors
Jeff Garzik [Wed, 4 Oct 2006 10:34:03 +0000 (06:34 -0400)]
[SCSI] SCSI megaraid_sas: handle thrown errors

- handle clear_user() error

- handle and properly unwind from sysfs errors thrown during mod init

- adjust order of calls in megasas_exit() to precisely match
  registration order in megasas_init()

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Updated for extra attribute and
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] SCSI aic94xx: handle sysfs errors
Jeff Garzik [Wed, 4 Oct 2006 10:19:18 +0000 (06:19 -0400)]
[SCSI] SCSI aic94xx: handle sysfs errors

Handle and unwind from errors returned by driver model functions.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] SCSI st: fix error handling in module init, sysfs
Jeff Garzik [Wed, 4 Oct 2006 10:00:38 +0000 (06:00 -0400)]
[SCSI] SCSI st: fix error handling in module init, sysfs

- Notice and handle sysfs errors in module init, tape init

- Properly unwind errors in module init

- Remove bogus st_sysfs_class==NULL test, it is guaranteed !NULL at that point

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] SCSI sd: fix module init/exit error handling
Jeff Garzik [Wed, 4 Oct 2006 09:32:54 +0000 (05:32 -0400)]
[SCSI] SCSI sd: fix module init/exit error handling

- Properly handle and unwind errors in init_sd().  Fixes leaks on error,
  if class_register() or scsi_register_driver() failed.

- Ensure that exit_sd() execution order is the perfect inverse of
  initialization order.

FIXME:  If some-but-not-all register_blkdev() calls fail, we wind up
calling unregister_blkdev() for block devices we did not register.
This was a pre-existing bug.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] SCSI osst: add error handling to module init, sysfs
Jeff Garzik [Wed, 4 Oct 2006 09:23:04 +0000 (05:23 -0400)]
[SCSI] SCSI osst: add error handling to module init, sysfs

- check all sysfs-related return codes, and propagate them back to callers

- properly unwind errors in osst_probe(), init_osst().  This fixes a
  leak that occured if scsi driver registration failed, and fixes an
  oops if sysfs creation returned an error.

(unrelated)
- kzalloc() cleanup in new_tape_buf()

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] scsi: remove hosts.h
Henne [Wed, 4 Oct 2006 08:22:09 +0000 (10:22 +0200)]
[SCSI] scsi: remove hosts.h

Remove the obsolete hosts.h file under drivers/scsi.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] scsi: Scsi_Cmnd convertion in aic7xxx_old.c
Henne [Wed, 4 Oct 2006 07:33:47 +0000 (09:33 +0200)]
[SCSI] scsi: Scsi_Cmnd convertion in aic7xxx_old.c

Changes the obsolete Scsi_Cmnd to struct scsi_cmnd in aic7xxx_old.c.
Also replacing lots of whitespaces with tabs in structures and functions
which have been changed.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[S390] cio: improve unit check handling for internal operations
Peter Oberparleiter [Wed, 4 Oct 2006 18:02:30 +0000 (20:02 +0200)]
[S390] cio: improve unit check handling for internal operations

Retry internal operation after unit check instead of aborting them.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 years ago[S390] cio: add timeout handler for internal operations.
Peter Oberparleiter [Wed, 4 Oct 2006 18:02:26 +0000 (20:02 +0200)]
[S390] cio: add timeout handler for internal operations.

Add timeout handler for common-I/O-layer-internal I/O operations.

Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 years ago[S390] Remove open-coded mem_map usage.
Heiko Carstens [Wed, 4 Oct 2006 18:02:23 +0000 (20:02 +0200)]
[S390] Remove open-coded mem_map usage.

Use page_to_phys and pfn_to_page to avoid open-coded mem_map usage.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
18 years ago[S390] Have s390 use add_active_range() and free_area_init_nodes.
Heiko Carstens [Wed, 4 Oct 2006 18:02:19 +0000 (20:02 +0200)]
[S390] Have s390 use add_active_range() and free_area_init_nodes.

Size zones and holes in an architecture independent manner for s390.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
18 years ago[S390] Remove crept in whitespace from head*.S again.
Heiko Carstens [Wed, 4 Oct 2006 18:02:15 +0000 (20:02 +0200)]
[S390] Remove crept in whitespace from head*.S again.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
18 years ago[S390] incorrect placement of include.
Martin Schwidefsky [Wed, 4 Oct 2006 18:02:12 +0000 (20:02 +0200)]
[S390] incorrect placement of include.

The include of linux/smp.h needs to be done before the #if that
checks for the compiler version. Seems like fallout from the
inline assembly cleanup patch vs. the directed yield patch.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 years ago[S390] Wire up sys_getcpu system call.
Heiko Carstens [Wed, 4 Oct 2006 18:02:09 +0000 (20:02 +0200)]
[S390] Wire up sys_getcpu system call.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
18 years ago[S390] zcrypt device registration/unregistration race.
Ralph Wuerthner [Wed, 4 Oct 2006 18:02:05 +0000 (20:02 +0200)]
[S390] zcrypt device registration/unregistration race.

Fix a race condition during AP device registration and unregistration.

Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 years ago[S390] Add timeouts during sense PGID, path verification and disband PGID.
Cornelia Huck [Wed, 4 Oct 2006 18:02:02 +0000 (20:02 +0200)]
[S390] Add timeouts during sense PGID, path verification and disband PGID.

While the machine owns us an interrupt in these cases (and we should get
one), reality isn't always like that...

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 years ago[S390] user-copy optimization fallout.
Martin Schwidefsky [Wed, 4 Oct 2006 18:01:58 +0000 (20:01 +0200)]
[S390] user-copy optimization fallout.

Fix new restore_sigregs function. It copies the user space copy of the
old psw without correcting the psw.mask and the psw.addr high order bit.
While we are at it, simplify save_sigregs a bit.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 years ago[S390] update default configuration
Martin Schwidefsky [Wed, 4 Oct 2006 18:01:52 +0000 (20:01 +0200)]
[S390] update default configuration

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
18 years ago[SCSI] megaraid_sas: sets ioctl timeout and updates version,changelog
Sumant Patro [Tue, 3 Oct 2006 20:19:21 +0000 (13:19 -0700)]
[SCSI] megaraid_sas: sets ioctl timeout and updates version,changelog

This patch sets timeout of max 180 seconds for ioctl completion.
It also updates the Changelog and hikes the version to 3.05.

Signed-off-by: Sumant Patro <Sumant.Patro@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] megaraid_sas: adds tasklet for cmd completion
Sumant Patro [Tue, 3 Oct 2006 20:13:18 +0000 (13:13 -0700)]
[SCSI] megaraid_sas: adds tasklet for cmd completion

This patch adds a tasklet for command completion.

Signed-off-by: Sumant Patro <Sumant.Patro@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] megaraid_sas: prints pending cmds before setting hw_crit_error
Sumant Patro [Tue, 3 Oct 2006 20:09:14 +0000 (13:09 -0700)]
[SCSI] megaraid_sas: prints pending cmds before setting hw_crit_error

This patch adds function to print the pending frame details before returning
failure from the reset routine. It also exposes a new variable megasas_dbg_lvl
that allows the user to set the debug level for logging.

Signed-off-by: Sumant Patro <Sumant.Patro@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] megaraid_sas: function pointer for disable interrupt
Sumant Patro [Tue, 3 Oct 2006 19:52:12 +0000 (12:52 -0700)]
[SCSI] megaraid_sas: function pointer for disable interrupt

This patch adds function pointer to invoke disable interrupt for
xscale and ppc IOP based controllers. Removes old implementation that checks
for controller type in megasas_disable_intr.

Signed-off-by: Sumant Patro <Sumant.Patro@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] megaraid_sas: frame count optimization
Sumant Patro [Tue, 3 Oct 2006 19:40:47 +0000 (12:40 -0700)]
[SCSI] megaraid_sas: frame count optimization

This patch removes duplicated code in frame calculation &  adds
megasas_get_frame_count() that also takes into account the number of frames
that can be contained in the Main frame.
FW uses the frame count to pull sufficient number of frames from host memory.

Signed-off-by: Sumant Patro <Sumant.Patro@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] megaraid_sas: FW transition and q size changes
Sumant Patro [Tue, 3 Oct 2006 19:28:49 +0000 (12:28 -0700)]
[SCSI] megaraid_sas: FW transition and q size changes

This patch has the following enhancements :
        a. handles new transition states of FW to support controller hotplug.
        b. It reduces by 1 the maximum cmds that the driver may send to FW.
        c. Sends "Stop Processing" cmd to FW before returning failure from reset routine
        d. Adds print in megasas_transition routine
        e. Sends "RESET" flag to FW to do a soft reset of controller
to move from Operational to Ready state.
f. Sending correct pointer (cmd->sense) to pci_pool_free

Signed-off-by: Sumant Patro <Sumant.Patro@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years agoMerge branch 'for-2.6.19' of git://brick.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Wed, 4 Oct 2006 17:44:01 +0000 (10:44 -0700)]
Merge branch 'for-2.6.19' of git://brick.kernel.dk/data/git/linux-2.6-block

* 'for-2.6.19' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] Document bi_sector and sector_t
  [PATCH] helper function for retrieving scsi_cmd given host based block layer tag

18 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 4 Oct 2006 17:43:31 +0000 (10:43 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Remove remaining reference to ite_gpio.h from Kbuild
  [MIPS] PNX8550 fixups

18 years ago[PATCH] Document bi_sector and sector_t
Roger Gammans [Wed, 4 Oct 2006 11:37:45 +0000 (13:37 +0200)]
[PATCH] Document bi_sector and sector_t

Signed-Off-By: Roger Gammans <rgammans@computer-surgery.co.uk>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years ago[PATCH] helper function for retrieving scsi_cmd given host based block layer tag
David C Somayajulu [Wed, 4 Oct 2006 06:27:25 +0000 (08:27 +0200)]
[PATCH] helper function for retrieving scsi_cmd given host based block layer tag

This was necessitated by the need for a function to get back
to a scsi_cmnd, when an hba the posts its (corresponding) completion
interrupt with a block layer tag as its reference.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: David Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Wed, 4 Oct 2006 17:30:07 +0000 (10:30 -0700)]
Merge /pub/scm/linux/kernel/git/mchehab/v4l-dvb

* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (4712): Fix warning when compiling on x86_i64
  V4L/DVB (4711): Radio: No need to return void
  V4L/DVB (4708): Add tveeprom support for Philips FM1236/FM1216ME MK5
  V4L/DVB (4707): 4linux: complete conversion to hotplug safe PCI API
  V4L/DVB (4706): Do not enable VIDEO_V4L2 unconditionally
  V4L/DVB (4704): SAA713x: fixed compile warning in SECAM fixup
  V4L/DVB (4703): Add support for the ASUS EUROPA2 OEM board
  V4L/DVB (4702): Fix: set antenna input for DVB-T for Asus P7131 Dual hybrid
  V4L/DVB (4701): Saa713x audio fixes
  V4L/DVB (4676a): Remove Kconfig item for DiB7000M support

18 years ago[PATCH] atmel_serial: Fix roundoff error in atmel_console_get_options
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:11 +0000 (16:02 +0200)]
[PATCH] atmel_serial: Fix roundoff error in atmel_console_get_options

The atmel_console_get_options() function initializes the baud,
parity and bits settings from the actual hardware setup, in
case it has been initialized by a e.g. boot loader.

The baud rate, however, is not necessarily exactly equal to one of
the standard baud rates (115200, etc.) This means that the baud rate
calculated by this function may be slightly higher or slightly lower
than one of the standard baud rates.

If the baud rate is slightly lower than the target, this causes
problems when uart_set_option() tries to match the detected baud rate
against the standard baud rate, as it will always select a baud rate
that is lower or equal to the target rate. For example if the
detected baud rate is slightly lower than 115200, usart_set_options()
will select 57600.

This patch fixes the problem by subtracting 1 from the value in BRGR
when calculating the baud rate. The detected baud rate will thus
always be higher than the nearest standard baud rate, and
uart_set_options() will end up doing the right thing.

Tested on ATSTK1000 and AT91RM9200-EK boards. Both are broken without
this patch.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] AVR32: Allow renumbering of serial devices
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:10 +0000 (16:02 +0200)]
[PATCH] AVR32: Allow renumbering of serial devices

Allow the board to remap actual USART peripheral devices to serial
devices by calling at32_map_usart(hw_id, serial_line). This ensures
that even though ATSTK1002 uses USART1 as the first serial port, it
will still have a ttyS0 device.

This also adds a board-specific early setup hook and moves the
at32_setup_serial_console() call there from the platform code.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] atmel_serial: Support AVR32
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:09 +0000 (16:02 +0200)]
[PATCH] atmel_serial: Support AVR32

Make CONFIG_SERIAL_ATMEL selectable on AVR32 and #ifdef out some ARM-
specific code in the driver.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] atmel_serial: Pass fixed register mappings through platform_data
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:08 +0000 (16:02 +0200)]
[PATCH] atmel_serial: Pass fixed register mappings through platform_data

In order to initialize the serial console early, the atmel_serial
driver had to do a hack where it compared the physical address of the
port with an address known to be permanently mapped, and used it as a
virtual address. This got around the limitation that ioremap() isn't
always available when the console is being initalized.

This patch removes that hack and replaces it with a new "regs" field
in struct atmel_uart_data that the board-specific code can initialize
to a fixed virtual mapping for platform devices where this is possible.
It also initializes the DBGU's regs field with the address the driver
used to check against.

On AVR32, the "regs" field is initialized from the physical base
address when this it can be accessed through a permanently 1:1 mapped
segment, i.e. the P4 segment.

If regs is NULL, the console initialization is delayed until the "real"
driver is up and running and ioremap() can be used.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] atmel_serial: Rename at91_register_uart_fns
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:07 +0000 (16:02 +0200)]
[PATCH] atmel_serial: Rename at91_register_uart_fns

Rename at91_register_uart_fns and associated structs and variables
to make it consistent with the atmel_ prefix used by the rest of
the driver.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] serial: Rename PORT_AT91 -> PORT_ATMEL
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:06 +0000 (16:02 +0200)]
[PATCH] serial: Rename PORT_AT91 -> PORT_ATMEL

The at91_serial driver can be used with both AT32 and AT91 devices
from Atmel and has therefore been renamed atmel_serial. The only
thing left is to rename PORT_AT91 PORT_ATMEL.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] at91_serial -> atmel_serial: Internal names
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:05 +0000 (16:02 +0200)]
[PATCH] at91_serial -> atmel_serial: Internal names

Prefix all internal functions and variables with atmel_ instead of
at91_.

The at91_register_uart_fns() stuff is left as is since I can't find
any actual users of it.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] at91_serial -> atmel_serial: Public definitions
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:04 +0000 (16:02 +0200)]
[PATCH] at91_serial -> atmel_serial: Public definitions

Rename the following public definitions:
  * AT91_NR_UART -> ATMEL_MAX_UART
  * struct at91_uart_data -> struct atmel_uart_data
  * at91_default_console_device -> atmel_default_console_device

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] at91_serial -> atmel_serial: Platform device name
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:03 +0000 (16:02 +0200)]
[PATCH] at91_serial -> atmel_serial: Platform device name

Rename the "at91_usart" platform driver "atmel_usart" and update
platform devices accordingly.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] at91_serial -> atmel_serial: Kconfig symbols
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:02 +0000 (16:02 +0200)]
[PATCH] at91_serial -> atmel_serial: Kconfig symbols

Rename the following Kconfig symbols:
  * CONFIG_SERIAL_AT91 -> CONFIG_SERIAL_ATMEL
  * CONFIG_SERIAL_AT91_CONSOLE -> CONFIG_SERIAL_ATMEL_CONSOLE
  * CONFIG_SERIAL_AT91_TTYAT -> CONFIG_SERIAL_ATMEL_TTYAT

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] at91_serial -> atmel_serial: at91_serial.c
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:01 +0000 (16:02 +0200)]
[PATCH] at91_serial -> atmel_serial: at91_serial.c

Rename at91_serial.c atmel_serial.c

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] at91_serial -> atmel_serial: at91rm9200_usart.h
Haavard Skinnemoen [Wed, 4 Oct 2006 14:02:00 +0000 (16:02 +0200)]
[PATCH] at91_serial -> atmel_serial: at91rm9200_usart.h

Move include/asm/arch/at91rm9200_usart.h into drivers/serial and rename
it atmel_usart.h. Also delete AVR32's version of this file.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[MIPS] Remove remaining reference to ite_gpio.h from Kbuild
David Woodhouse [Wed, 4 Oct 2006 16:32:21 +0000 (17:32 +0100)]
[MIPS] Remove remaining reference to ite_gpio.h from Kbuild

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>