Dave Airlie [Tue, 24 Oct 2006 18:36:59 +0000 (11:36 -0700)]
drm: fix up irqflags in drm_lock.c
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 15:05:09 +0000 (01:05 +1000)]
drm: i915 updates
Add support for DRM_VBLANK_NEXTONMISS.
Bump minor for swap scheduling ioctl and secondary vblank support.
Avoid mis-counting vblank interrupts when they're only enabled for pipe A.
Only schedule vblank tasklet if there are scheduled swaps pending.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 14:12:52 +0000 (00:12 +1000)]
drm: i915: fix up irqflags arg
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 14:10:59 +0000 (00:10 +1000)]
drm: i915: Only return EBUSY after we've established we need to schedule a new swap.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 14:10:24 +0000 (00:10 +1000)]
drm: i915: Fix 'sequence has passed' condition in i915_vblank_swap().
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 14:09:35 +0000 (00:09 +1000)]
drm: i915: Add SAREA fileds for determining which pipe to sync window buffer swaps to.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 14:08:23 +0000 (00:08 +1000)]
drm: Make handling of dev_priv->vblank_pipe more robust.
Initialize it to default value if it hasn't been set by the X server yet.
In i915_vblank_pipe_set(), only update dev_priv->vblank_pipe and call
i915_enable_interrupt() if the argument passed from userspace is valid to avoid
corrupting dev_priv->vblank_pipe on invalid arguments.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:38:54 +0000 (23:38 +1000)]
drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead
of pipe number.
Handle relative as well as absolute target sequence numbers.
Return error if target sequence has already passed, so userspace can deal with
this situation as it sees fit.
On success, return the sequence number of the vertical blank when the buffer
swap is expected to take place.
Also add DRM_IOCTL_I915_VBLANK_SWAP definition for userspace code that may want
to use ioctl() instead of drmCommandWriteRead().
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:37:43 +0000 (23:37 +1000)]
drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks.
This uses the core facility to schedule a driver callback that will be called
ASAP after the given vertical blank interrupt with the HW lock held.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:34:58 +0000 (23:34 +1000)]
drm: Core vsync: Don't clobber target sequence number when scheduling signal.
It looks like this would have caused signals to always get sent on the next
vertical blank, regardless of the sequence number.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:34:18 +0000 (23:34 +1000)]
drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS.
When this flag is set and the target sequence is missed, wait for the next
vertical blank instead of returning immediately.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:30:01 +0000 (23:30 +1000)]
drm: Make locked tasklet handling more robust.
Initialize the spinlock unconditionally when struct drm_device is filled in,
and return early in drm_locked_tasklet() if the driver doesn't support IRQs.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Felix_K=C3=BChling?= [Tue, 24 Oct 2006 13:28:23 +0000 (23:28 +1000)]
drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:20:15 +0000 (23:20 +1000)]
drm: Change first valid DRM drawable ID to be 1 instead of 0.
This makes it easier for userspace to know when it needs to allocate an ID.
Also free drawable information memory when it's no longer needed.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:18:49 +0000 (23:18 +1000)]
drm: drawable locking + memory management fixes + copyright
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:08:16 +0000 (23:08 +1000)]
drm: Add support for interrupt triggered driver callback with lock held to DRM core.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 13:04:19 +0000 (23:04 +1000)]
drm: Add support for tracking drawable information to core
Actually make the existing ioctls for adding and removing drawables do
something useful, and add another ioctl for the X server to update drawable
information. The only kind of drawable information tracked so far is cliprects.
Only reallocate cliprect memory if the number of cliprects changes.
Also improve diagnostic output.
hook up drm ioctl update draw
export drm_get_drawable_info symbol
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 12:28:51 +0000 (22:28 +1000)]
drm: add support for secondary vertical blank interrupt to i915
When the vertical blank interrupt is enabled for both pipes, pipe A is
considered primary and pipe B secondary. When it's only enabled for one pipe,
it's always considered primary for backwards compatibility.
Signed-off-by: Dave Airlie <airlied@linux.ie>
=?utf-8?q?Michel_D=C3=A4nzer?= [Tue, 24 Oct 2006 12:24:38 +0000 (22:24 +1000)]
drm: add support for secondary vertical blank interrupt to DRM core
Signed-off-by: Dave Airlie <airlied@linux.ie>
Jesper Juhl [Wed, 6 Dec 2006 23:45:58 +0000 (00:45 +0100)]
[PATCH] A few small additions and corrections to README
Here's a small patch which
- adds a few archs to the current list of supported platforms.
- adds a few missing slashes at the end of URLs.
- adds a few references to additional documentation.
- adds "make config" to the list of possible configuration targets.
- makes a few other minor changes.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
[ Ben Nizette <ben.nizette@iinet.net.au> points out AVR32 arch too ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jesper Juhl [Wed, 6 Dec 2006 23:16:26 +0000 (00:16 +0100)]
[PATCH] Clean up 'make help' output for documentation targets.
Here's a patch that cleans up the "make help" output a bit for the
documentation targets.
Currently the documentation targets are listed completely different than
all the other targets :
Documentation targets:
Linux kernel internal documentation in different formats:
xmldocs (XML DocBook), psdocs (Postscript), pdfdocs (PDF)
htmldocs (HTML), mandocs (man pages, use installmandocs to install)
with this patch they are more in line with the rest of the output :
Documentation targets:
Linux kernel internal documentation in different formats:
htmldocs - HTML
installmandocs - install man pages generated by mandocs
mandocs - man pages
pdfdocs - PDF
psdocs - Postscript
xmldocs - XML DocBook
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Thu, 7 Dec 2006 00:17:37 +0000 (16:17 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] Import updates from i386's i8259.c
[MIPS] *-berr: Header inclusions for DEC bus error handlers
[MIPS] Compile __do_IRQ() when really needed
[MIPS] genirq: use name instead of typename
[MIPS] Do not use handle_level_irq for ioasic_dma_irq_type.
[MIPS] pte_offset(dir,addr): parenthesis fix
Linus Torvalds [Thu, 7 Dec 2006 00:16:35 +0000 (16:16 -0800)]
Merge branch 'release' of /home/ftp/linux/kernel/git/aegl/linux-2.6
* 'release' of master.kernel.org:/home/ftp/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] Fix pci.c kernel compilation breakage.
Al Viro [Wed, 6 Dec 2006 21:15:22 +0000 (21:15 +0000)]
[PATCH] ... and then some more work_struct-induced breakage (ibmvscsi)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Wed, 6 Dec 2006 19:50:06 +0000 (19:50 +0000)]
[PATCH] ... and more work_struct-induced breakage (mips)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Wed, 6 Dec 2006 19:18:20 +0000 (19:18 +0000)]
[PATCH] More work_struct induced breakage (s390)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Wed, 6 Dec 2006 22:42:57 +0000 (14:42 -0800)]
x86[-64]:Remove 'volatile' from atomic_t
Any code that relies on the volatile would be a bug waiting to happen
anyway.
Don't encourage people to think that putting 'volatile' on data
structures somehow fixes problems. We should always use proper locking
(and other serialization) techniques.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Art Haas [Wed, 6 Dec 2006 20:45:53 +0000 (14:45 -0600)]
[PATCH] Remove 'volatile' from spinlock_types
This is a resubmission of patches originally created by Ingo Molnar.
The link below is the initial (?) posting of the patch.
http://marc.theaimsgroup.com/?l=linux-kernel&m=
115217423929806&w=2
Remove 'volatile' from spinlock_types as it causes GCC to generate bad
code (see link) and locking should be used on kernel data.
Signed-off-by: Art Haas <ahaas@airmail.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Peter Chubb [Tue, 5 Dec 2006 01:25:31 +0000 (12:25 +1100)]
[IA64] Fix pci.c kernel compilation breakage.
The recent change to convert the is_enabled flag in the PCI device to an
atomic count broke the IA64 compilation.
As pcibios_disable_device is only ever called if the reference count
is zero, convert the if to a BUG_ON.
Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Atsushi Nemoto [Wed, 6 Dec 2006 17:04:17 +0000 (02:04 +0900)]
[MIPS] Import updates from i386's i8259.c
Import many updates from i386's i8259.c, especially genirq transitions.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Maciej W. Rozycki [Wed, 6 Dec 2006 11:50:23 +0000 (11:50 +0000)]
[MIPS] *-berr: Header inclusions for DEC bus error handlers
A fixup to add missing header inclusions for bus error handlers for
DECstation system after the recent switch to get_irq_regs().
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Franck Bui-Huu [Fri, 1 Dec 2006 17:22:27 +0000 (18:22 +0100)]
[MIPS] Compile __do_IRQ() when really needed
__do_IRQ() is needed only by irq handlers that can't use
default handlers defined in kernel/irq/chip.c.
For others platforms there's no need to compile this function
since it won't be used. For those platforms this patch defines
GENERIC_HARDIRQS_NO__DO_IRQ symbol which is used exactly for
this purpose.
Futhermore for platforms which do not use __do_IRQ(), end()
method which is part of the 'irq_chip' structure is not used.
This patch simply removes this method in this case.
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Tue, 5 Dec 2006 16:20:57 +0000 (01:20 +0900)]
[MIPS] genirq: use name instead of typename
The "typename" field was obsoleted by the "name" field.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Atsushi Nemoto [Fri, 1 Dec 2006 15:08:03 +0000 (00:08 +0900)]
[MIPS] Do not use handle_level_irq for ioasic_dma_irq_type.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Franck Bui-Huu [Tue, 5 Dec 2006 09:39:56 +0000 (10:39 +0100)]
[MIPS] pte_offset(dir,addr): parenthesis fix
This patch adds missing parenthesis around 'dir' argument in pte_offset()
macro definition.
It also removes an extra space in the definition of pte_offset_kernel()
macro.
Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Al Viro [Wed, 6 Dec 2006 18:41:45 +0000 (18:41 +0000)]
[PATCH] drivers/{char|isdn}: work_struct-induced breakage
part 1 of fsck-knows-how-many
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Wed, 6 Dec 2006 18:51:40 +0000 (18:51 +0000)]
[PATCH] hamradio/dmascc: fix up work_struct-induced breakage
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Wed, 6 Dec 2006 16:10:55 +0000 (08:10 -0800)]
Merge /pub/scm/linux/kernel/git/lethal/sh-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (43 commits)
sh: sh775x/titan fixes for irq header changes.
sh: update r7780rp defconfig.
sh: compile fixes for header cleanup.
sh: Fixup pte_mkhuge() build failure.
sh: set KBUILD_IMAGE to something sensible.
sh: show held locks in stack trace with lockdep.
sh: platform_pata support for R7780RP
sh: stacktrace/lockdep/irqflags tracing support.
sh: Fixup movli.l/movco.l atomic ops for gcc4.
sh: dyntick infrastructure.
sh: Clock framework tidying.
sh: Turn off IRQs around get_timer_offset() calls.
sh: Get the PGD right in oops case with 64-bit PTEs.
sh: Fix store queue bitmap end.
sh: More flexible + SH7780 earlyprintk SCIF support.
sh: Fixup various PAGE_SIZE == 4096 assumptions.
sh: Fixup 4K irq stacks.
sh: dma-api channel capability extensions.
sh: Drop name overload in dma-sh.
sh: Make dma-isa depend on ISA_DMA_API.
...
Linus Torvalds [Wed, 6 Dec 2006 16:01:37 +0000 (08:01 -0800)]
Merge git://git.infradead.org/users/dhowells/workq-2.6
* git://git.infradead.org/users/dhowells/workq-2.6:
Actually update the fixed up compile failures.
WorkQueue: Fix up arch-specific work items where possible
WorkStruct: make allyesconfig
WorkStruct: Pass the work_struct pointer instead of context data
WorkStruct: Merge the pending bit into the wq_data pointer
WorkStruct: Typedef the work function prototype
WorkStruct: Separate delayable and non-delayable events.
Mike Frysinger [Wed, 6 Dec 2006 02:02:59 +0000 (12:02 +1000)]
[PATCH] uclinux: fix mmap() of directory for nommu case
I was playing with blackfin when i hit a neat bug ... doing an open() on a
directory and then passing that fd to mmap() would cause the kernel to hang
after poking into the code a bit more, i found that
mm/nommu.c:validate_mmap_request() checks the length and if it is 0, just
returns the address ... this is in stark contrast to mmu's
mm/mmap.c:do_mmap_pgoff() where it returns -EINVAL for 0 length requests ...
i then noticed that some other parts of the logic is out of date between the
two funcs, so perhaps that's the easy fix ?
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Gavin Lambert [Wed, 6 Dec 2006 01:57:53 +0000 (11:57 +1000)]
[PATCH] m68knommu: remove FP conditionals in ucontext struct
The first patch is to the 2.6 kernel include file (for m68knommu), to get
rid of the conditional definitions, otherwise the structures have different
sizes depending on whether there's an FPU or not.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Wed, 6 Dec 2006 01:49:34 +0000 (11:49 +1000)]
[PATCH] m68knommu: ColdFire serial driver fixes
Some updates for the old ColdFire serial driver:
. support 3 and 4 UARTs on some ColdFire parts that have them
. enable multifunction pins to serial for 527x CPU's
. support the 5272 UART's fractional baud rate divisor
. switch driver name to "mcfserial"
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Wed, 6 Dec 2006 01:43:14 +0000 (11:43 +1000)]
[PATCH] m68knommu: switch 68360 to using rtc_time
Adds support for RTCs (through genrtc) for M68KNOMMU.
Board-specific code will have to link the appropriate RTC driver to the
mach_hwclk callback, at minimum.
This patch switches the 68360 code over to using rtc_time.
Signed-off-by: Gavin Lambert <gavinl@compacsort.com>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Wed, 6 Dec 2006 01:36:59 +0000 (11:36 +1000)]
[PATCH] m68knommu: fix timer register access on 523x ColdFire platforms
The 523x timer TRR register is a full 32bits, the older register (on
other ColdFire parts) was only 16 bits. Use the right type of
__raw_read when accessing it.
Problem found by Yaroslav Vinogradov <yaroslav.vinogradov@freescale.com>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Wed, 6 Dec 2006 01:36:13 +0000 (11:36 +1000)]
[PATCH] m68knommu: implement irq_canonicalize()
Add a null definition for irq_canonicalize(). It is used in the gerneric
serial subsystem code, can't compile without it.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Wed, 6 Dec 2006 01:35:16 +0000 (11:35 +1000)]
[PATCH] m68knommu: create rtc.h
This adds support for RTCs (through genrtc) for M68KNOMMU.
Board-specific code will have to link the appropriate RTC driver to the
mach_hwclk callback, at minimum.
Signed-off-by: Gavin Lambert <gavinl@compacsort.com>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Howells [Wed, 6 Dec 2006 15:02:26 +0000 (15:02 +0000)]
Actually update the fixed up compile failures.
Signed-Off-By: David Howells <dhowells@redhat.com>
David Howells [Wed, 6 Dec 2006 15:01:18 +0000 (15:01 +0000)]
Merge branch 'master' of git://git./linux/kernel/git/torvalds/linux-2.6
Conflicts:
drivers/pcmcia/ds.c
Fix up merge failures with Linus's head and fix new compile failures.
Signed-Off-By: David Howells <dhowells@redhat.com>
Jamie Lenehan [Wed, 6 Dec 2006 03:05:02 +0000 (12:05 +0900)]
sh: sh775x/titan fixes for irq header changes.
The following moves the creation of IPR interupts into setup-7750.c
and updates a few other things to make it all work after the "Drop
CPU subtype IRQ headers" commit. It boots and runs fine on my titan
board.
- adds an ipr_idx to the ipr_data and uses a function in the subtype
code to calculate the address of the IPR registers
- adds a function to enable individual interrupt mode for externals
in the subtype code and calls that from the titan board code
instead of doing it directly.
- I changed the shift in the ipr_data to be the actual # of bits to
shift, instead of the numnber / 4 - made it easier to match with
the manual.
Signed-off-by: Jamie Lenehan <lenehan@twibble.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 6 Dec 2006 03:02:01 +0000 (12:02 +0900)]
sh: update r7780rp defconfig.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 6 Dec 2006 02:24:48 +0000 (11:24 +0900)]
sh: compile fixes for header cleanup.
Since some header inclusion paths were cleaned up, compilation
broke. Add in the headers we need directly to build again.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 6 Dec 2006 02:20:53 +0000 (11:20 +0900)]
sh: Fixup pte_mkhuge() build failure.
When hugetlbpage support isn't enabled, this can be bogus.
Wrap it back in _PAGE_FLAGS_HARD to avoid changes to the
base PTE when not aiming for larger sizes.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 6 Dec 2006 02:08:49 +0000 (11:08 +0900)]
sh: set KBUILD_IMAGE to something sensible.
This was missing for sh too, wire it up..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 6 Dec 2006 02:07:51 +0000 (11:07 +0900)]
sh: show held locks in stack trace with lockdep.
Follows the same change as other architectures..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Wed, 6 Dec 2006 01:43:44 +0000 (10:43 +0900)]
sh: platform_pata support for R7780RP
This adds a platform device for the directly connected
CF interface on R7780RP boards, for use with the
pata_platform libata driver.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 4 Dec 2006 09:17:28 +0000 (18:17 +0900)]
sh: stacktrace/lockdep/irqflags tracing support.
Wire up all of the essentials for lockdep..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 1 Dec 2006 05:32:54 +0000 (14:32 +0900)]
sh: Fixup movli.l/movco.l atomic ops for gcc4.
gcc4 gets a bit pissy about the outputs:
include/asm/atomic.h: In function 'atomic_add':
include/asm/atomic.h:37: error: invalid lvalue in asm statement
include/asm/atomic.h:30: error: invalid lvalue in asm output 1
...
this ended up being a thinko anyways, so just fix it up.
Verified for proper behaviour with the older toolchains, too.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 1 Dec 2006 04:23:47 +0000 (13:23 +0900)]
sh: dyntick infrastructure.
This adds basic NO_IDLE_HZ support to the SH timer API so timers
are able to wire it up. Taken from the ARM version, as it fit in
to our API with very few changes needed.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 1 Dec 2006 04:15:14 +0000 (13:15 +0900)]
sh: Clock framework tidying.
This syncs up the SH clock framework with the linux/clk.h API,
for which there were only some minor changes required, namely
the clk_get() dev_id and subsequent callsites.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 1 Dec 2006 04:12:05 +0000 (13:12 +0900)]
sh: Turn off IRQs around get_timer_offset() calls.
Since all of the sys_timer sources currently do this on their own
within the ->get_offset() path, it's more sensible to just have
the caller take care of it when grabbing xtime_lock. Incidentally,
this is more in line with what others (ie, ARM) are doing already.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 1 Dec 2006 03:14:11 +0000 (12:14 +0900)]
sh: Get the PGD right in oops case with 64-bit PTEs.
Previously this was using a static pgd shift in the reporting
code, simply flip this to PGDIR_SHIFT which does the right
thing depending on varying PTE magnitudes on the SH-X2 MMU.
While we're at it, and since it's been recently added, use
get_TTB() for fetching the TTB, rather than the open coded
instructions.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 1 Dec 2006 03:01:43 +0000 (12:01 +0900)]
sh: Fix store queue bitmap end.
The end of the store queue bitmap is miscalculated when searching
for a free range in sq_remap(), missing the PAGE_SHIFT shift that's
done in sq_api_init(). This runs in to workloads where we can scan
beyond the end of the bitmap.
Spotted by Paul Jackson:
http://marc.theaimsgroup.com/?l=linux-kernel&m=
116493191224097&w
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 27 Nov 2006 03:10:23 +0000 (12:10 +0900)]
sh: More flexible + SH7780 earlyprintk SCIF support.
This makes the early printk support somewhat more flexible,
moving the port definition to a config option, and making the
port initialization configurable for sh-ipl+g users.
At the same time, this allows us to trivially wire up the
SH7780 SCIF0, so that's thrown in too more or less for free.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 27 Nov 2006 03:06:26 +0000 (12:06 +0900)]
sh: Fixup various PAGE_SIZE == 4096 assumptions.
There were a number of places that made evil PAGE_SIZE == 4k
assumptions that ended up breaking when trying to play with
8k and 64k page sizes, this fixes those up.
The most significant change is the way we load THREAD_SIZE,
previously this was done via:
mov #(THREAD_SIZE >> 8), reg
shll8 reg
to avoid a memory access and allow the immediate load. With
a 64k PAGE_SIZE, we're out of range for the immediate load
size without resorting to special instructions available in
later ISAs (movi20s and so on). The "workaround" for this is
to bump up the shift to 10 and insert a shll2, which gives a
bit more flexibility while still being much cheaper than a
memory access.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 24 Nov 2006 10:46:18 +0000 (19:46 +0900)]
sh: Fixup 4K irq stacks.
There was a clobber issue with the register we were saving
the stack in, so we switch to a register that we handle in
the clobber list properly already.
This also follows the x86 changes for allowing the softirq
checks from hardirq context.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Mark Glaisher [Fri, 24 Nov 2006 06:13:52 +0000 (15:13 +0900)]
sh: dma-api channel capability extensions.
This extends the SH DMA API for allowing handling of DMA
channels based off of their respective capabilities.
A couple of functions are added to the existing API,
the core bits are register_chan_caps() for registering
channel capabilities, and request_dma_bycap() for fetching
a channel dynamically based off of a capability set.
Signed-off-by: Mark Glaisher <mark.glaisher@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 24 Nov 2006 05:50:05 +0000 (14:50 +0900)]
sh: Drop name overload in dma-sh.
Pass along the dev_id from request_dma() all the way down,
rather than inserting an artificial name relating to the TEI
line that we were doing before.
This makes the line a bit less obvious, but dev_id is the proper
behaviour for this regardless.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 24 Nov 2006 05:48:14 +0000 (14:48 +0900)]
sh: Make dma-isa depend on ISA_DMA_API.
Previously we linked in the ISA DMA wrapper unconditionally.
As there are very few users of this, it's better to make it
conditional.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 24 Nov 2006 05:43:09 +0000 (14:43 +0900)]
sh: dma-sysfs fixes.
Handle the case where no registered DMACs exist somewhat more
gracefully. While we're at it, check for sysdev_create_file()
failing.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Fri, 24 Nov 2006 04:01:36 +0000 (13:01 +0900)]
sh: Fix syscall tracing ordering.
The implementation of system call tracing in the kernel has a
couple of ordering problems:
- the validity of the system call number is checked before
calling out to system call tracing code, and should be
done after
- the system call number used when tracing is the one the
system call was invoked with, while the system call tracing
code can legitimatly change the call number (for example
strace permutes fork into clone)
This patch fixes both of these problems, and also reoders the
code slightly to make the direct path through the code the
common case.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Fri, 24 Nov 2006 03:53:02 +0000 (12:53 +0900)]
sh: KSTK_EIP/KSTK_ESP consistency.
Two of the fields in /proc/[number]/stat are documented in
proc(5) as:
kstkesp %lu
The current value of esp (stack pointer), as
found in the kernel stack page for the process.
kstkeip %lu
The current EIP (instruction pointer).
The SH currently prints the the last SP and PC of the process
inside the kernel, while most other archs use the last user
space values.
This patch modifes the SH to display the user space values.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Fri, 24 Nov 2006 02:42:24 +0000 (11:42 +0900)]
sh: TLB miss fast-path optimizations.
Handle simple TLB miss faults which can be resolved completely
from the page table in assembler.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 24 Nov 2006 02:24:39 +0000 (11:24 +0900)]
sh: R7780RP push-switch support.
This adds simple push-switch support for the RDBRP-1/RDBREVRP-1 debug
boards found on the R7780RP-1.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Fri, 24 Nov 2006 02:22:57 +0000 (11:22 +0900)]
sh: generic push-switch framework.
This adds support for a generic push switch framework. Adaptable for
various switches, including GPIO switches and the push switches commonly
found on Renesas debug boards.
This allows switch states to be trivially reported through sysfs.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Tue, 21 Nov 2006 06:38:05 +0000 (15:38 +0900)]
sh: pmd rework.
Remove extra bits from the pmd structure and store a kernel logical
address rather than a physical address. This allows it to be directly
dereferenced. Another piece of wierdness inherited from x86.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Tue, 21 Nov 2006 04:53:44 +0000 (13:53 +0900)]
sh: Use MMU.TTB register as pointer to current pgd.
Add TTB accessor functions and give it a sensible default
value. We will use this later for optimizing the fault
path.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Tue, 21 Nov 2006 04:34:04 +0000 (13:34 +0900)]
sh: Set up correct siginfo structures for page faults.
Remove the previous saving of fault codes into the thread_struct
as they are never used, and appeared to be inherited from x86.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Stuart Menefy [Tue, 21 Nov 2006 02:16:57 +0000 (11:16 +0900)]
sh: gcc4 support.
This fixes up the kernel for gcc4. The existing exception handlers
needed some wrapping for pt_regs access, acessing the registers
via a RELOC_HIDE() pointer.
The strcpy() issues popped up here too, so add -ffreestanding and
kill off the symbol export.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 21 Nov 2006 02:12:19 +0000 (11:12 +0900)]
sh: Explicit endian selection support.
Previously big endian was simply assumed if little endian was
not set, which led to some cflags ordering issues. There's not
much point to not having a big endian option, so shove one in
a choice and wire it up in the Makefile.
This lets us clean up some of the cflags ordering while we're
at it.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 21 Nov 2006 02:09:41 +0000 (11:09 +0900)]
sh: p3map_sem sem2mutex conversion.
Simple sem2mutex conversion for the p3map semaphores.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 20 Nov 2006 05:30:26 +0000 (14:30 +0900)]
sh: Preliminary support for SH-X2 MMU.
This adds some preliminary support for the SH-X2 MMU, used by
newer SH-4A parts (particularly SH7785).
This MMU implements a 'compat' mode with SH-X MMUs and an
'extended' mode for SH-X2 extended features. Extended features
include additional page sizes (8kB, 4MB, 64MB), as well as the
addition of page execute permissions.
The extended mode attributes are placed in a second data array,
which requires us to switch to 64-bit PTEs when in X2 mode.
With the addition of the exec perms, we also overhaul the mmap
prots somewhat, now that it's possible to handle them more
intelligently.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 20 Nov 2006 05:14:29 +0000 (14:14 +0900)]
sh: Hook SH7785 in to the build system.
Simple 7785 placeholders to start hooking up other bits of code.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 20 Nov 2006 04:55:34 +0000 (13:55 +0900)]
sh: Drop CPU subtype IRQ headers.
This drops the various IRQ headers that were floating around
and primarily providing hardcoded IRQ definitions for the
various CPU subtypes. This quickly got to be an unmaintainable
mess, made even more evident by the subtle breakage introduced
by the SH-2 and SH-2A changes.
Now that subtypes are able to register IRQ maps directly, just
rip all of the headers out.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Mon, 20 Nov 2006 02:18:30 +0000 (11:18 +0900)]
sh: Configurable timer IRQ.
All of the various CPU subtypes currently hardcode TIMER_IRQ,
switch this to a config option in the few places we need this.
This allows further removal of hardcoded IRQ headers..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 7 Nov 2006 10:29:23 +0000 (10:29 +0000)]
sh: Fixup entry-common path breakage for SH-3.
The nommu patches broke the path for the common bits, get it building
for the SH-3/4 case again.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Sun, 5 Nov 2006 07:48:42 +0000 (16:48 +0900)]
sh: SE7206 build fixes.
A number of API changes happened underneath the 7206 patches, update
for everything that broke.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Sun, 5 Nov 2006 07:21:09 +0000 (16:21 +0900)]
sh: Add support for Solution Engine 7206 and 7619 boards.
This adds support for the Solution Engine 7206 and 7619.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Sun, 5 Nov 2006 07:18:08 +0000 (16:18 +0900)]
sh: Add SH-2A platform headers.
Mostly SH-2 wrappers..
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Sun, 5 Nov 2006 07:15:19 +0000 (16:15 +0900)]
sh: Exception vector rework and SH-2/SH-2A support.
This splits out common bits from the existing exception handler for
use between SH-2/SH-2A and SH-3/4, and adds support for the SH-2/2A
exceptions.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Sun, 5 Nov 2006 06:58:47 +0000 (15:58 +0900)]
sh: Wire up division and address error exceptions on SH-2A.
SH-2A has special division hardware as opposed to a full-fledged FPU,
wire up the exception handlers for this.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Yoshinori Sato [Sun, 5 Nov 2006 06:40:13 +0000 (15:40 +0900)]
sh: Add support for SH7206 and SH7619 CPU subtypes.
This implements initial support for the SH7206 (SH-2A) and SH7619
(SH-2) MMU-less CPUs.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Linus Torvalds [Wed, 6 Dec 2006 00:09:46 +0000 (16:09 -0800)]
Merge /pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (73 commits)
[SCSI] aic79xx: Add ASC-29320LPE ids to driver
[SCSI] stex: version update
[SCSI] stex: change wait loop code
[SCSI] stex: add new device type support
[SCSI] stex: update device id info
[SCSI] stex: adjust default queue length
[SCSI] stex: add value check in hard reset routine
[SCSI] stex: fix controller_info command handling
[SCSI] stex: fix biosparam calculation
[SCSI] megaraid: fix MMIO casts
[SCSI] tgt: fix undefined flush_dcache_page() problem
[SCSI] libsas: better error handling in sas_expander.c
[SCSI] lpfc 8.1.11 : Change version number to 8.1.11
[SCSI] lpfc 8.1.11 : Misc Fixes
[SCSI] lpfc 8.1.11 : Add soft_wwnn sysfs attribute, rename soft_wwn_enable
[SCSI] lpfc 8.1.11 : Removed decoding of PCI Subsystem Id
[SCSI] lpfc 8.1.11 : Add MSI (Message Signalled Interrupts) support
[SCSI] lpfc 8.1.11 : Adjust LOG_FCP logging
[SCSI] lpfc 8.1.11 : Fix Memory leaks
[SCSI] lpfc 8.1.11 : Fix lpfc_multi_ring_support
...
Linus Torvalds [Tue, 5 Dec 2006 23:52:06 +0000 (15:52 -0800)]
Merge /pub/scm/linux/kernel/git/brodo/pcmcia-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
[PATCH] pcmcia: at91_cf update
[PATCH] pcmcia: fix m32r_cfc.c compilation
[PATCH] pcmcia: ds.c debug enhancements
[PATCH] pcmcia: at91_cf update
[PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation
[PATCH] pcmcia: remove prod_id indirection
[PATCH] pcmcia: remove manf_id and card_id indirection
[PATCH] pcmcia: IDs for Elan serial PCMCIA devcies
[PATCH] pcmcia: allow for four multifunction subdevices
[PATCH] pcmcia: handle __copy_from_user() return value in ioctl
[PATCH] pcmcia: multifunction card handling fixes
[PATCH] pcmcia: allow shared IRQs on pd6729 sockets
[PATCH] pcmcia: start over after CIS override
[PATCH] cm4000_cs: fix return value check
[PATCH] pcmcia: yet another IDE ID
[PATCH] pcmcia: Add an id to ide-cs.c
Salyzyn, Mark [Tue, 5 Dec 2006 19:37:30 +0000 (14:37 -0500)]
[SCSI] aic79xx: Add ASC-29320LPE ids to driver
Simple patch to add the new PCIe version of the 29320 card.
Signed-off: Mark Salyzyn <Mark_Salyzyn@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
David Howells [Tue, 5 Dec 2006 19:36:26 +0000 (19:36 +0000)]
WorkQueue: Fix up arch-specific work items where possible
Fix up arch-specific work items where possible to use the new work_struct and
delayed_work structs.
Three places that enqueue bits of their stack and then return have been marked
with #error as this is not permitted.
Signed-Off-By: David Howells <dhowells@redhat.com>
Ed Lin [Tue, 5 Dec 2006 01:49:46 +0000 (17:49 -0800)]
[SCSI] stex: version update
Update version to 3.1.0.1
Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Ed Lin [Tue, 5 Dec 2006 01:49:42 +0000 (17:49 -0800)]
[SCSI] stex: change wait loop code
The original wait loop may be much longer than intended time.
Use more accurate timer_after for it. Also adjust wait value to
avoid unnecessary long waiting.
Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Ed Lin [Tue, 5 Dec 2006 01:49:39 +0000 (17:49 -0800)]
[SCSI] stex: add new device type support
Add support for st_vsc1 type device (st_vsc is ok because it does not
require extra buffer).
Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Ed Lin [Tue, 5 Dec 2006 01:49:36 +0000 (17:49 -0800)]
[SCSI] stex: update device id info
- add comments for various devices
- remove unused device ids(0xf350, 0x4301, 0x8301, 0x8302)
- add new device id(0xe350)
- fix vendor id of st_vsc
- modify Kconfig help info
Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Ed Lin [Tue, 5 Dec 2006 01:49:34 +0000 (17:49 -0800)]
[SCSI] stex: adjust default queue length
Firmware of new version may adjust default queue length. It is
backward compatible.
Signed-off-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>