]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years ago[ARM] 4729/1: VR1000: Do not add IIS device on initialisation
Ben Dooks [Sun, 23 Dec 2007 02:09:36 +0000 (03:09 +0100)]
[ARM] 4729/1: VR1000: Do not add IIS device on initialisation

The IIS device is being registered by the Simtec Audio
driver, and thus registering here causes an error due
to device tree naming collision.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4728/1: BAST: Do not add IIS device on initialisation
Ben Dooks [Sun, 23 Dec 2007 02:09:35 +0000 (03:09 +0100)]
[ARM] 4728/1: BAST: Do not add IIS device on initialisation

The IIS device is being registered by the Simtec Audio
driver, and thus registering here causes an error due
to device tree naming collision.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4727/1: S3C2412: Remove unused GPESLPCON
Ben Dooks [Sun, 23 Dec 2007 02:09:37 +0000 (03:09 +0100)]
[ARM] 4727/1: S3C2412: Remove unused GPESLPCON

S3C2412_GPESLPCON does not exist in the register
mappings, so remove it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4726/1: S3C2412: IIS register definitions
Ben Dooks [Sun, 23 Dec 2007 02:09:39 +0000 (03:09 +0100)]
[ARM] 4726/1: S3C2412: IIS register definitions

The S3C2412 IIS engine differs from the previous
SoC in the range, so add a set of register definitions
in a seperate file for it.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4725/1: S3C2412: Fix IIS and SDI definitions in DMA map
Ben Dooks [Sun, 23 Dec 2007 02:09:40 +0000 (03:09 +0100)]
[ARM] 4725/1: S3C2412: Fix IIS and SDI definitions in DMA map

The IIS and SDI register hw_addr definitions are
incorrect in the DMA map for the S3C2412.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4724/1: S3C2412: Select S3C2410 base GPIO implementation
Ben Dooks [Sun, 23 Dec 2007 02:09:30 +0000 (03:09 +0100)]
[ARM] 4724/1: S3C2412: Select S3C2410 base GPIO implementation

The S3C2412 GPIO is similar enough to the S3C2410 that
it can use it as a base for GPIO functionality.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4723/1: BAST: Fix LCD driver default display setting
Ben Dooks [Sun, 23 Dec 2007 02:09:38 +0000 (03:09 +0100)]
[ARM] 4723/1: BAST: Fix LCD driver default display setting

We have a default display set to 4, when we only have
three registered displays. Fix this argument (a seperate
patch has been generated to ensure that the LCD driver
takes notice of this bug)

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4722/1: S3C24XX: Improve output if watchdog reset fails
Ben Dooks [Sun, 23 Dec 2007 02:09:32 +0000 (03:09 +0100)]
[ARM] 4722/1: S3C24XX: Improve output if watchdog reset fails

If the watchdog reset fails and we decided to take the jump
to zero approach, allow 50ms for the UARTS to drain the FIFOs
before calling into a bootloader that may flush the output.

Also reduece the waits and the timeout values as 5 seconds is
rather long.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4721/1: S3C24XX: Ensure watchdog clock is enbaled for hard reset
Ben Dooks [Sun, 23 Dec 2007 02:09:31 +0000 (03:09 +0100)]
[ARM] 4721/1: S3C24XX: Ensure watchdog clock is enbaled for hard reset

If the hard reset routine is using the watchdog, then
ensure that the clock for the watchdog has been enabled
before we try and issue a reset.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4720/1: S3C2412: Add power configuration registers for battery flat behaviour.
Ben Dooks [Sun, 23 Dec 2007 02:09:28 +0000 (03:09 +0100)]
[ARM] 4720/1: S3C2412: Add power configuration registers for battery flat behaviour.

Add the S3C2412_PWRCFG values for the action taken on detecting that
the battery is flat.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4719/1: S3C2412: Update SPI register definitions for the S3C2412
Ben Dooks [Sun, 23 Dec 2007 02:09:29 +0000 (03:09 +0100)]
[ARM] 4719/1: S3C2412: Update SPI register definitions for the S3C2412

Add S3C2412 register definitions.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4762/1: Basic support for Toradex Colibri module
Daniel Mack [Wed, 23 Jan 2008 13:54:50 +0000 (14:54 +0100)]
[ARM] 4762/1: Basic support for Toradex Colibri module

This patch adds support for Toradex' PXA27x based Colibri module.
It's kept as simple as possible to only provide basic functionality.
A default config is also included.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: fix mci_init functions returning -1
Russell King [Wed, 23 Jan 2008 14:05:58 +0000 (14:05 +0000)]
[ARM] pxa: fix mci_init functions returning -1

Fix all those PXA mci_init functions which return -1 rather than
propagating the error code to the higher levels.  Remove the silly
set_irq_type() calls as well - use the flags for request_irq()
instead.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix
Richard Purdie [Wed, 2 Jan 2008 00:09:54 +0000 (01:09 +0100)]
[ARM] 4737/1: Refactor corgi_lcd to improve readability + bugfix

This patch refactors the code in corgi_lcd.c moving it to the board
specific corgi and spitz files where appropriate instead of the
existing ifdef mess which hinders readability.

Fix spitz_get_hsync_len() to call get_hsync_invperiod so pxafb can be
compiled as a module.

The confusing variables which represent the inverse horizintal sync
period are renamed to "invperiod" consistently.

An incorrect comment in corgi_ts.c is also corrected.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270
Robert Schwebel [Tue, 8 Jan 2008 07:52:04 +0000 (08:52 +0100)]
[ARM] 4747/1: pcm027: support for pcm990 baseboard for phyCORE-PXA270

This patch adds baseboard support for the phyCORE-PXA270 development
kit (aka PCM-990).

This example shows how to use some phyCORE-PXA270 CPU module features
on a baseboard in a standard manner. It could be used as a starting
point for custom baseboard development.

V2:
 After comments by Eric Miao:
  - IRQ chained handler fixed
  - video/graphic support moved to separate patch
  - ifdef/endif hell reduced ;-)

V3:
 After comments by Russell King
  - initialise the mmci platform data statically

V4:
 After comments by Russell King
  - wrong return value in pcm990_mci_init() fixed

Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4746/1: pcm027: network support for phyCORE-PXA270
Robert Schwebel [Tue, 8 Jan 2008 07:50:02 +0000 (08:50 +0100)]
[ARM] 4746/1: pcm027: network support for phyCORE-PXA270

This patch adds SMC91x support for the phyCORE-PXA270 CPU module (aka PCM-027).

Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4745/1: pcm027: default configuration
Robert Schwebel [Tue, 8 Jan 2008 07:48:17 +0000 (08:48 +0100)]
[ARM] 4745/1: pcm027: default configuration

This patch adds a basic configration for the phyCORE-PXA270 development kit. In this case development kit means PCM-990 (main baseboard).

Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module
Robert Schwebel [Tue, 8 Jan 2008 07:44:23 +0000 (08:44 +0100)]
[ARM] 4744/1: pcm027: add support for phyCORE-PXA270 CPU module

This patch adds main support for the generic phyCORE-PXA270 CPU module
(aka PCM-027). Its as generic as possible to support any kind of baseboard.

Note: Neither the CPU module nor the pcm027.c implementation can work without
a baseboard support. Baseboard support can be added by the PCM-990 or any
custom variant.

V2:
 After comments by Eric Miao:
  - Currently unsupported devices moved into separate patch
  - direct call of baseboard initialisation

V3:
 After comments by Russell King
  - sort include files
  - setting RTC bit for power control removed
 - style problems fixed (discovered by checkpatch.pl)

Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[NET] smc91x: Make smc91x use IRQ resource trigger flags
Russell King [Mon, 14 Jan 2008 22:30:10 +0000 (22:30 +0000)]
[NET] smc91x: Make smc91x use IRQ resource trigger flags

smc91x is shared between many different platforms.  Each platform needs
to specify the interrupt type, and in some cases the irq type depends
on more than just the build configuration - it depends on runtime
checks.

Rather than throwing this code into the SMC_IRQ_FLAGS definition, provide
a way for these flags to be passed via the IRQ resource itself.

Note that IRQF_TRIGGER_* constants are intentionally defined to correspond
with the IORESOURCE_IRQ_* interrupt type flags, in much the same way that
the low bits of PCI iomem resources correspond with the BAR flag bits.

Also provide a way to configure smc91x to read the IRQ flags from the
resource.  Once all platforms have been converted over (signified
by all definitions of SMC_IRQ_FLAGS being -1) SMC_IRQ_FLAGS should
be removed.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Nicolas Pitre <nico@cam.org>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[ARM] pxa: add default config for littleton
eric miao [Fri, 21 Dec 2007 03:18:48 +0000 (11:18 +0800)]
[ARM] pxa: add default config for littleton

default to

- PXA300/PXA310 support only (there isn't any littleton board with PXA320
  processor for now)

- smc91x ethernet support with NFS rootfs

- LCD framebuffer support with graphics console

Signed-off-by: eric miao <eric.miao>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform)
eric miao [Thu, 13 Dec 2007 02:41:43 +0000 (10:41 +0800)]
[ARM] pxa: add basic support for Littleton (PXA3xx Form Factor Platform)

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4664/1: Add basic support for HTC Magician PDA phones
Philipp Zabel [Thu, 22 Nov 2007 16:59:11 +0000 (17:59 +0100)]
[ARM] 4664/1: Add basic support for HTC Magician PDA phones

This includes irda, gpio keys, pxafb, backlight, ohci and flash
(read-only).

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs.
Ian Molton [Mon, 19 Nov 2007 12:16:56 +0000 (13:16 +0100)]
[ARM] 4649/1: Base support for pxa-based Toshiba e-series PDAs.

This patch contains the base code to boot the Toshiba e330, e740,
e750, e400, and e800 PDAs.

Signed-off-by: Ian Molton <spyro@f2s.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4776/1: Add HWUART clock to fix hwuart support
Dmitry Baryshkov [Sun, 27 Jan 2008 22:11:48 +0000 (23:11 +0100)]
[ARM] 4776/1: Add HWUART clock to fix hwuart support

This adds back the registration of HWUART clock on pxa25x

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agocfq-iosched: kill some big inlines
Jens Axboe [Mon, 28 Jan 2008 12:19:43 +0000 (13:19 +0100)]
cfq-iosched: kill some big inlines

Use of inlines were a bit over the top, trim them down a bit.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years ago[ARM] Fix class_device damage caused by 0c55445f201841bfd6c658c47df8311b6722f002
Russell King [Mon, 28 Jan 2008 10:59:09 +0000 (10:59 +0000)]
[ARM] Fix class_device damage caused by 0c55445f201841bfd6c658c47df8311b6722f002

Lots of compile errors in drivers/mfd/ucb1x00-assabet.c...

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agocfq-iosched: relax IOPRIO_CLASS_IDLE restrictions
Jens Axboe [Mon, 28 Jan 2008 10:38:15 +0000 (11:38 +0100)]
cfq-iosched: relax IOPRIO_CLASS_IDLE restrictions

Currently you must be root to set idle io prio class on a process. This
is due to the fact that the idle class is implemented as a true idle
class, meaning that it will not make progress if someone else is
requesting disk access. Unfortunately this means that it opens DOS
opportunities by locking down file system resources, hence it is root
only at the moment.

This patch relaxes the idle class a little, by removing the truly idle
part (which entals a grace period with associated timer). The
modifications make the idle class as close to zero impact as can be done
while still guarenteeing progress. This means we can relax the root only
criteria as well.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years ago[ARM] Fix timer damage from d3d74453c34f8fd87674a8cf5b8a327c68f22e99
Russell King [Mon, 28 Jan 2008 10:16:37 +0000 (10:16 +0000)]
[ARM] Fix timer damage from d3d74453c34f8fd87674a8cf5b8a327c68f22e99

Move the xtime write mode seqlock into timer_tick(), so it only
surrounds the call to do_timer().

This avoids a deadlock in update_process_times() ...
hrtimer_get_softirq_time() which tries to get a read mode seqlock
on xtime, thereby preventing booting.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years ago[ARM] 4763/1: pxa: fix pxa3xx_get_clk_frequency_khz() to return KHz
eric miao [Thu, 24 Jan 2008 01:27:30 +0000 (02:27 +0100)]
[ARM] 4763/1: pxa: fix pxa3xx_get_clk_frequency_khz() to return KHz

The original code incorrectly returns Hz instead of KHz.

Signed-off-by: eric miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16 years agoSG: work with the SCSI fixed maximum allocations.
James Bottomley [Sun, 13 Jan 2008 20:15:28 +0000 (14:15 -0600)]
SG: work with the SCSI fixed maximum allocations.

SCSI sg table allocation has a maximum size (of SCSI_MAX_SG_SEGMENTS,
currently 128) and this will cause a BUG_ON() in SCSI if something
tries an allocation over it.  This patch adds a size limit to the
chaining allocator to allow the specification of the maximum
allocation size for chaining, so we always chain in units of the
maximum SCSI allocation size.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: implement drain buffers
James Bottomley [Thu, 10 Jan 2008 17:30:36 +0000 (11:30 -0600)]
block: implement drain buffers

These DMA drain buffer implementations in drivers are pretty horrible
to do in terms of manipulating the scatterlist.  Plus they're being
done at least in drivers/ide and drivers/ata, so we now have code
duplication.

The one use case for this, as I understand it is AHCI controllers doing
PIO mode to mmc devices but translating this to DMA at the controller
level.

So, what about adding a callback to the block layer that permits the
adding of the drain buffer for the problem devices.  The idea is that
you'd do this in slave_configure after you find one of these devices.

The beauty of doing it in the block layer is that it quietly adds the
drain buffer to the end of the sg list, so it automatically gets mapped
(and unmapped) without anything unusual having to be done to the
scatterlist in driver/scsi or drivers/ata and without any alteration to
the transfer length.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agokernel: add CLONE_IO to specifically request sharing of IO contexts
Jens Axboe [Thu, 24 Jan 2008 07:54:47 +0000 (08:54 +0100)]
kernel: add CLONE_IO to specifically request sharing of IO contexts

syslets (or other threads/processes that want io context sharing) can
set this to enforce sharing of io context.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoio_context sharing - anticipatory changes
Jens Axboe [Mon, 21 Jan 2008 19:03:12 +0000 (20:03 +0100)]
io_context sharing - anticipatory changes

changes to anticipatory io scheduler for io_context sharing

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: cfq: make the io contect sharing lockless
Jens Axboe [Thu, 24 Jan 2008 07:44:49 +0000 (08:44 +0100)]
block: cfq: make the io contect sharing lockless

The io context sharing introduced a per-ioc spinlock, that would protect
the cfq io context lookup. That is a regression from the original, since
we never needed any locking there because the ioc/cic were process private.

The cic lookup is changed from an rbtree construct to a radix tree, which
we can then use RCU to make the reader side lockless. That is the performance
critical path, modifying the radix tree is only done on process creation
(when that process first does IO, actually) and on process exit (if that
process has done IO).

As it so happens, radix trees are also much faster for this type of
lookup where the key is a pointer. It's a very sparse tree.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoio_context sharing - cfq changes
Nikanth Karthikesan [Tue, 27 Nov 2007 11:47:04 +0000 (12:47 +0100)]
io_context sharing - cfq changes

changes in the cfq for io_context sharing

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoio context sharing: preliminary support
Jens Axboe [Thu, 24 Jan 2008 07:53:35 +0000 (08:53 +0100)]
io context sharing: preliminary support

Detach task state from ioc, instead keep track of how many processes
are accessing the ioc.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoioprio: move io priority from task_struct to io_context
Jens Axboe [Thu, 24 Jan 2008 07:52:45 +0000 (08:52 +0100)]
ioprio: move io priority from task_struct to io_context

This is where it belongs and then it doesn't take up space for a
process that doesn't do IO.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing xsysace (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:49:46 +0000 (17:49 -0500)]
blk_end_request: changing xsysace (take 4)

This patch converts xsysace to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

xsysace is a little bit different from "normal" drivers.
xsysace driver has a state machine in it.
It calls end_that_request_first() and end_that_request_last()
from different states. (ACE_FSM_STATE_REQ_TRANSFER and
ACE_FSM_STATE_REQ_COMPLETE, respectively.)

However, those states are consecutive and without any interruption
inbetween.
So we can just follow the standard conversion rule (b) mentioned in
the patch subject "[PATCH 01/30] blk_end_request: add new request
completion interface".

Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing ub (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:46:47 +0000 (17:46 -0500)]
blk_end_request: changing ub (take 4)

This patch converts ub to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: cleanup of request completion (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:53:24 +0000 (17:53 -0500)]
blk_end_request: cleanup of request completion (take 4)

This patch merges complete_request() into end_that_request_last()
for cleanup.

complete_request() was introduced by earlier part of this patch-set,
not to break the existing users of end_that_request_last().

Since all users are converted to blk_end_request interfaces and
end_that_request_last() is no longer exported, the code can be
merged to end_that_request_last().

Cc: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: cleanup 'uptodate' related code (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:53:03 +0000 (17:53 -0500)]
blk_end_request: cleanup 'uptodate' related code (take 4)

This patch converts 'uptodate' arguments of no longer exported
interfaces, end_that_request_first/last, to 'error', and removes
internal conversions for it in blk_end_request interfaces.

Also, this patch removes no longer needed end_io_error().

Cc: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: remove/unexport end_that_request_* (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:52:28 +0000 (17:52 -0500)]
blk_end_request: remove/unexport end_that_request_* (take 4)

This patch removes the following functions:
  o end_that_request_first()
  o end_that_request_chunk()
and stops exporting the functions below:
  o end_that_request_last()

Cc: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing scsi (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:52:09 +0000 (17:52 -0500)]
blk_end_request: changing scsi (take 4)

This patch converts scsi mid-layer to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interface of internal function, scsi_end_request(),
is changed.

Cc: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: add bidi completion interface (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:51:46 +0000 (17:51 -0500)]
blk_end_request: add bidi completion interface (take 4)

This patch adds a variant of the interface, blk_end_bidi_request(),
which completes a bidi request.

Bidi request must be completed as a whole, both rq and rq->next_rq
at once.  So the interface has 2 arguments for completion size.

As for ->end_io, only rq->end_io is called (rq->next_rq->end_io is not
called).  So if special completion handling is needed, the handler
must be set to rq->end_io.
And the handler must take care of freeing next_rq too, since
the interface doesn't care of it if rq->end_io is not NULL.

Cc: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing ide-cd (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:51:23 +0000 (17:51 -0500)]
blk_end_request: changing ide-cd (take 4)

This patch converts ide-cd (cdrom_newpc_intr()) to use blk_end_request
interfaces.  Related 'uptodate' arguments are converted to 'error'.

In PIO mode, ide-cd (cdrom_newpc_intr()) needs to defer
end_that_request_last() until the device clears DRQ_STAT and raises
an interrupt after end_that_request_first().
So blk_end_request() has to return without completing request
even if no leftover in the request.

ide-cd uses blk_end_request_callback() and a dummy callback function,
which just returns value '1', to tell blk_end_request_callback()
about that.

Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: add callback feature (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:51:02 +0000 (17:51 -0500)]
blk_end_request: add callback feature (take 4)

This patch adds a variant of the interface, blk_end_request_callback(),
which has driver callback feature.

Drivers may need to do special works between end_that_request_first()
and end_that_request_last().
For such drivers, blk_end_request_callback() allows it to pass
a callback function which is called between end_that_request_first()
and end_that_request_last().

This interface is only for fallback of other blk_end_request interfaces.
Drivers should avoid their tricky behaviors and use other interfaces
as much as possible.

Currently, only one driver, ide-cd, needs this interface.
So this interface should/will be removed, after the driver removes
such tricky behaviors.

o ide-cd (cdrom_newpc_intr())
  In PIO mode, cdrom_newpc_intr() needs to defer end_that_request_last()
  until the device clears DRQ_STAT and raises an interrupt after
  end_that_request_first().
  So end_that_request_first() and end_that_request_last() are called
  separately in cdrom_newpc_intr().

  This means blk_end_request_callback() has to return without
  completing request even if no leftover in the request.
  To satisfy the requirement, callback function has return value
  so that drivers can tell blk_end_request_callback() to return
  without completing request.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing ide normal caller (take 4)
Kiyoshi Ueda [Mon, 28 Jan 2008 09:34:20 +0000 (10:34 +0100)]
blk_end_request: changing ide normal caller (take 4)

This patch converts "normal" parts of ide to use blk_end_request
interfaces.  Related 'uptodate' arguments are converted to 'error'.

The conversion of 'uptodate' to 'error' is done only for the internal
function, __ide_end_request().
ide_end_request() was not changed since it's exported and used
by many ide drivers.

With this patch, blkdev_dequeue_request() in __ide_end_request() is
moved to blk_end_request, since blk_end_request takes care of
dequeueing request like below:

if (!list_empty(&rq->queuelist))
blkdev_dequeue_request(rq);

In the case of ide,
  o 'dequeue' variable of __ide_end_request() is 1 only when the request
    is still linked to the queue (i.e. rq->queuelist is not empty)
  o 'dequeue' variable of __ide_end_request() is 0 only when the request
    has already been removed from the queue (i.e. rq->queuelist is empty)
So blk_end_request can handle it correctly although ide always run
thought the code above.

Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing cpqarray (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:50:21 +0000 (17:50 -0500)]
blk_end_request: changing cpqarray (take 4)

This patch converts cpqarray to use blk_end_request interfaces.
Related 'ok' arguments are converted to 'error'.

cpqarray is a little bit different from "normal" drivers.
cpqarray directly calls bio_endio() and disk_stat_add()
when completing request.  But those can be replaced with
__end_that_request_first().
After the replacement, request completion procedures of
those drivers become like the following:
    o end_that_request_first()
    o add_disk_randomness()
    o end_that_request_last()
This can be converted to __blk_end_request() by following
the rule (b) mentioned in the patch subject
"[PATCH 01/30] blk_end_request: add new request completion interface".

Cc: Mike Miller <mike.miller@hp.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing cciss (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:50:03 +0000 (17:50 -0500)]
blk_end_request: changing cciss (take 4)

This patch converts cciss to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

cciss is a little bit different from "normal" drivers.
cciss directly calls bio_endio() and disk_stat_add()
when completing request.  But those can be replaced with
__end_that_request_first().
After the replacement, request completion procedures of
those drivers become like the following:
    o end_that_request_first()
    o add_disk_randomness()
    o end_that_request_last()
This can be converted to blk_end_request() by following
the rule (a) mentioned in the patch subject
"[PATCH 01/30] blk_end_request: add new request completion interface".

Cc: Mike Miller <mike.miller@hp.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing ide-scsi (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:49:29 +0000 (17:49 -0500)]
blk_end_request: changing ide-scsi (take 4)

This patch converts ide-scsi to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing s390 (take 4)
Kiyoshi Ueda [Mon, 28 Jan 2008 09:29:42 +0000 (10:29 +0100)]
blk_end_request: changing s390 (take 4)

This patch converts s390 to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interfaces of internal functions below are changed:
  o dasd_end_request
  o tapeblock_end_request

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux390@de.ibm.com
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing mmc (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:48:29 +0000 (17:48 -0500)]
blk_end_request: changing mmc (take 4)

This patch converts mmc to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Pierre Ossman <drzeus-mmc@drzeus.cx>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing i2o_block (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:48:09 +0000 (17:48 -0500)]
blk_end_request: changing i2o_block (take 4)

This patch converts i2o_block to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interface of internal function, i2o_block_end_request(),
is changed.

Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing viocd (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:47:52 +0000 (17:47 -0500)]
blk_end_request: changing viocd (take 4)

This patch converts viocd to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interface of internal function, viocd_end_request(),
is changed.

Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing xen-blkfront (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:47:36 +0000 (17:47 -0500)]
blk_end_request: changing xen-blkfront (take 4)

This patch converts xen-blkfront to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing viodasd (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:47:14 +0000 (17:47 -0500)]
blk_end_request: changing viodasd (take 4)

This patch converts viodasd to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interface of internal function, viodasd_end_request(),
is changed.

Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing sx8 (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:46:10 +0000 (17:46 -0500)]
blk_end_request: changing sx8 (take 4)

This patch converts sx8 to use blk_end_request interfaces.
Related 'uptodate' and 'is_ok' arguments are converted to 'error'.

As a result, the interfaces of internal functions below are changed.
  o carm_end_request_queued
  o carm_end_rq
  o carm_handle_array_info
  o carm_handle_scan_chan
  o carm_handle_generic
  o carm_handle_rw

The 'is_ok' is set at only one place in carm_handle_resp() below:

int is_ok = (status == RMSG_OK);

And the value is propagated to all functions above, and no modification
in other places.
So the actual conversion of the 'is_ok' is done at only one place above.

Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing sunvdc (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:45:04 +0000 (17:45 -0500)]
blk_end_request: changing sunvdc (take 4)

This patch converts sunvdc to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interface of internal function, vdc_end_request(),
is changed.

Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing ps3disk (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:44:39 +0000 (17:44 -0500)]
blk_end_request: changing ps3disk (take 4)

This patch converts ps3disk to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Geoff Levand <geoffrey.levand@am.sony.com>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing nbd (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:44:06 +0000 (17:44 -0500)]
blk_end_request: changing nbd (take 4)

This patch converts nbd to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

Cc: Paul Clements <Paul.Clements@steeleye.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing floppy (take 4)
Kiyoshi Ueda [Mon, 28 Jan 2008 09:36:21 +0000 (10:36 +0100)]
blk_end_request: changing floppy (take 4)

This patch converts floppy to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interface of internal function, floppy_end_request(),
is changed.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing DAC960 (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:43:15 +0000 (17:43 -0500)]
blk_end_request: changing DAC960 (take 4)

This patch converts DAC960 to use blk_end_request interfaces.
Related 'UpToDate' arguments are converted to 'Error'.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing um (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:42:53 +0000 (17:42 -0500)]
blk_end_request: changing um (take 4)

This patch converts um to use blk_end_request interfaces.
Related 'uptodate' arguments are converted to 'error'.

As a result, the interface of internal function, ubd_end_request(),
is changed.

Cc: Jeff Dike <jdike@karaya.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing arm (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:42:27 +0000 (17:42 -0500)]
blk_end_request: changing arm (take 4)

This patch converts arm's OMAP mailbox driver to use
blk_end_request interfaces.

If the original code was converted literally, blk_end_request would
be called with '-EIO' because end_that_request_last() were called
with '0' (i.e. failure).
But I think these '0's are bugs in the original code because it's
unlikely that all requests are treated as failure.
(The bugs should have no effect unless these requests have an end_io
 callback.)

So I changed them to pass '0' (i.e. success) to blk_end_request.

Cc: Toshihiro Kobayashi <toshihiro.kobayashi@nokia.com>
Cc: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: changing block layer core (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:41:54 +0000 (17:41 -0500)]
blk_end_request: changing block layer core (take 4)

This patch converts core parts of block layer to use blk_end_request
interfaces.  Related 'uptodate' arguments are converted to 'error'.

'dequeue' argument was originally introduced for end_dequeued_request(),
where no attempt should be made to dequeue the request as it's already
dequeued.
However, it's not necessary as it can be checked with
list_empty(&rq->queuelist).
(Dequeued request has empty list and queued request doesn't.)
And it has been done in blk_end_request interfaces.

As a result of this patch, end_queued_request() and
end_dequeued_request() become identical.  A future patch will merge
and rename them and change users of those functions.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: add/export functions to get request size (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:41:17 +0000 (17:41 -0500)]
blk_end_request: add/export functions to get request size (take 4)

This patch adds/exports functions to get the size of request in bytes.
They are useful because blk_end_request interfaces take bytes
as a completed I/O size instead of sectors.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblk_end_request: add new request completion interface (take 4)
Kiyoshi Ueda [Tue, 11 Dec 2007 22:40:30 +0000 (17:40 -0500)]
blk_end_request: add new request completion interface (take 4)

This patch adds 2 new interfaces for request completion:
  o blk_end_request()   : called without queue lock
  o __blk_end_request() : called with queue lock held

blk_end_request takes 'error' as an argument instead of 'uptodate',
which current end_that_request_* take.
The meanings of values are below and the value is used when bio is
completed.
    0 : success
  < 0 : error

Some device drivers call some generic functions below between
end_that_request_{first/chunk} and end_that_request_last().
  o add_disk_randomness()
  o blk_queue_end_tag()
  o blkdev_dequeue_request()
These are called in the blk_end_request interfaces as a part of
generic request completion.
So all device drivers become to call above functions.
To decide whether to call blkdev_dequeue_request(), blk_end_request
uses list_empty(&rq->queuelist) (blk_queued_rq() macro is added for it).
So drivers must re-initialize it using list_init() or so before calling
blk_end_request if drivers use it for its specific purpose.
(Currently, there is no driver which completes request without
 re-initializing the queuelist after used it.  So rq->queuelist
 can be used for the purpose above.)

"Normal" drivers can be converted to use blk_end_request()
in a standard way shown below.

 a) end_that_request_{chunk/first}
    spin_lock_irqsave()
    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())
    end_that_request_last()
    spin_unlock_irqrestore()
    => blk_end_request()

 b) spin_lock_irqsave()
    end_that_request_{chunk/first}
    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())
    end_that_request_last()
    spin_unlock_irqrestore()
    => spin_lock_irqsave()
       __blk_end_request()
       spin_unlock_irqsave()

 c) spin_lock_irqsave()
    (add_disk_randomness(), blk_queue_end_tag(), blkdev_dequeue_request())
    end_that_request_last()
    spin_unlock_irqrestore()
    => blk_end_request()   or   spin_lock_irqsave()
                                __blk_end_request()
                                spin_unlock_irqrestore()

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoSG: Convert SCSI to use scatterlist helpers for sg chaining
Jens Axboe [Thu, 15 Nov 2007 08:13:11 +0000 (09:13 +0100)]
SG: Convert SCSI to use scatterlist helpers for sg chaining

Also change scsi_alloc_sgtable() to just return 0/failure, since it
maps to the command passed in. ->request_buffer is now no longer needed,
once drivers are adapted to use scsi_sglist() it can be killed.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoSG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers
Jens Axboe [Fri, 30 Nov 2007 08:16:50 +0000 (09:16 +0100)]
SG: Move functions to lib/scatterlist.c and add sg chaining allocator helpers

Manually doing chained sg lists is not trivial, so add some helpers
to make sure that drivers get it right.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years ago__bio_clone: don't calculate hw/phys segment counts
Jens Axboe [Fri, 25 Jan 2008 11:44:44 +0000 (12:44 +0100)]
__bio_clone: don't calculate hw/phys segment counts

If the users sets a new ->bi_bdev on the bio after __bio_clone() has
returned it, the "segment counts valid" flag still remains even though
it may be different with the new target. So don't calculate segment
counts in __bio_clone().

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblock: allow queue dma_alignment of zero
Pete Wyckoff [Tue, 1 Jan 2008 15:23:02 +0000 (10:23 -0500)]
block: allow queue dma_alignment of zero

Let queue_dma_alignment return 0 if it was specifically set to 0.
This permits devices with no particular alignment restrictions to
use arbitrary user space buffers without copying.

Signed-off-by: Pete Wyckoff <pw@osc.edu>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agoblktrace: Add blktrace ioctls to SCSI generic devices
Christof Schmitt [Fri, 11 Jan 2008 09:09:43 +0000 (10:09 +0100)]
blktrace: Add blktrace ioctls to SCSI generic devices

Since the SCSI layer uses the request queues from the block layer, blktrace can
also be used to trace the requests to all SCSI devices (like SCSI tape drives),
not only disks. The only missing part is the ioctl interface to start and stop
tracing.

This patch adds the SETUP, START, STOP and TEARDOWN ioctls from blktrace to the
sg device files. With this change, blktrace can be used for SCSI devices like
for disks, e.g.: blktrace -d /dev/sg1 -o - | blkparse -i -

Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 years agosh: add spi header and r2d platform data V3
Magnus Damm [Wed, 23 Jan 2008 07:21:18 +0000 (16:21 +0900)]
sh: add spi header and r2d platform data V3

This patch adds the header file asm/spi.h and board specific code for the
r2d board. The header file contains a structure that should be used to
point out a single spi bus. The board specific code for r2d is updated with
such a structure for the new spi_sh_sci driver. The structure contains a
chip select callback plus information about the R9701 rtc chip which is
attached to the spi bus.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: update r7780rp interrupt code
Magnus Damm [Fri, 25 Jan 2008 07:04:29 +0000 (16:04 +0900)]
sh: update r7780rp interrupt code

This patch updates the board specific irq code for r7780rp. The new code is
very similar to the other highlander implementations, with the exception that
the r7780rp handles pci interrupts using IRL. To simplify the pci code and
use the same interrupt numbers as r7780mp and r7785rp we hook in to the
cpu specific pci vectors.

The pci interrupts and the push switch all work well with and without this
patch. CF and AX88796 are not ok though and the source of the problem is
unknown at this point. The AX88796 does for not detect it's proper mac
address (IPL gets it right) and the kernel hangs on CF access. As a workaround
this patch removes the CF and the AX88796 from the platform datain case of
r7780rp.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: remove consistent alloc stuff from the machine vector
Magnus Damm [Thu, 24 Jan 2008 09:45:45 +0000 (18:45 +0900)]
sh: remove consistent alloc stuff from the machine vector

Now with the voyagergx cruft gone and the dreamcast using declared
coherent memory for pci there are no users of the consistent alloc and
free functions pointers in the machine vector.

So this little patch simply removes these function pointers from the macvec.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: use declared coherent memory for dreamcast pci ethernet adapter
Magnus Damm [Thu, 24 Jan 2008 09:40:50 +0000 (18:40 +0900)]
sh: use declared coherent memory for dreamcast pci ethernet adapter

This patch makes the dreamcast use the recently added declared coherent
memory functions to point out the memory window suitable for dma.

Apart from cleaning up, this gives the dreamcast a proper memory allocator
for pci dma memory.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: declared coherent memory support V2
Magnus Damm [Thu, 24 Jan 2008 09:35:10 +0000 (18:35 +0900)]
sh: declared coherent memory support V2

This patch adds declared coherent memory support to the sh architecture. All
functions are based on the x86 implementation. Header files are adjusted to
use the new functions instead of the former consistent_alloc() code.

This version includes the few changes what were included in the fix patch
together with modifications based on feedback from Paul.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Add support for SDK7780 board.
Nicholas Beck [Wed, 23 Jan 2008 03:50:51 +0000 (12:50 +0900)]
sh: Add support for SDK7780 board.

Add support for Renesas Technology Europe SDK7780 board.

Signed-off-by: Nicholas Beck <nbeck@mpc-data.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: constify function pointer tables
Jan Engelhardt [Wed, 23 Jan 2008 03:47:48 +0000 (12:47 +0900)]
sh: constify function pointer tables

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Kill off -traditional for linker script.
Paul Mundt [Tue, 22 Jan 2008 00:57:27 +0000 (09:57 +0900)]
sh: Kill off -traditional for linker script.

Some of Sam's new work in the kbuild queue depend on ## concatenation
within the linker script, which doesn't work when -traditional is
enabled. -traditional is a legacy remnant anyways, and we no longer
require it for anything, so kill it off completely.

Noted-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agocdrom: Add support for Sega Dreamcast GD-ROM.
Adrian McMenamin [Mon, 21 Jan 2008 09:52:48 +0000 (18:52 +0900)]
cdrom: Add support for Sega Dreamcast GD-ROM.

This patch adds support for the GD-Rom drive, SEGA's proprietary
implementation of an IDE CD Rom for the SEGA Dreamcast. This driver
implements Sega's Packet Interface (SPI) - at least partially. It will
also read disks in SEGA's propreitary GD format.

Unlike previous drivers (which were never in mainline) this uses DMA and
not PIO to read disks. It is a new driver, not a refactoring of old
drivers.

Signed-off by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Acked-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Kill off hs7751rvoip reference from arch/sh/Kconfig.
Adrian McMenamin [Mon, 21 Jan 2008 08:59:52 +0000 (17:59 +0900)]
sh: Kill off hs7751rvoip reference from arch/sh/Kconfig.

Remove reference to board deleted in commit 758e06ded4c48024835ef0a14627afcde2e25929

Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default.
Paul Mundt [Sat, 19 Jan 2008 07:07:19 +0000 (16:07 +0900)]
sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Kill off dead HS771RVoIP board support.
Paul Mundt [Sat, 19 Jan 2008 07:06:01 +0000 (16:06 +0900)]
sh: Kill off dead HS771RVoIP board support.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch.
Paul Mundt [Tue, 15 Jan 2008 07:58:19 +0000 (16:58 +0900)]
sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors.
Paul Mundt [Tue, 15 Jan 2008 07:55:55 +0000 (16:55 +0900)]
sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: r2d - enable sm501 usb host function
Magnus Damm [Tue, 15 Jan 2008 03:48:15 +0000 (12:48 +0900)]
sh: r2d - enable sm501 usb host function

This patch tells the sm501 mfd driver to build platform data for the
sm501 usb host driver.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: remove voyagergx
Magnus Damm [Tue, 15 Jan 2008 03:47:53 +0000 (12:47 +0900)]
sh: remove voyagergx

This patch removes redundant irq handling code together with unused
consistent alloc code. R2D uart setup code is changed to use
sm501-regs.h and unused header files are removed.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: r2d - add lcd planel timings to sm501 platform data
Magnus Damm [Tue, 15 Jan 2008 03:44:44 +0000 (12:44 +0900)]
sh: r2d - add lcd planel timings to sm501 platform data

This patch adds timings to drive a Sharp LQ104V1DG21 lcd panel that can
be hooked up to R2D-1 or R2D-PLUS. The sm501fb driver should leave the
pins FPEN and VBIASEN alone, and this patch instructs the driver to do
so by not setting flags flags for these pins.

This patch works best together with the patch posted to the
linux-fbdev-devel list "sm501fb: control panel pin usage with platform
data flags", but this patch can be merged independently.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Add OHCI and UDC platform devices for SH7720.
Yoshihiro Shimoda [Fri, 11 Jan 2008 01:38:34 +0000 (10:38 +0900)]
sh: Add OHCI and UDC platform devices for SH7720.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: intc - remove default interrupt priority tables
Magnus Damm [Thu, 10 Jan 2008 05:08:55 +0000 (14:08 +0900)]
sh: intc - remove default interrupt priority tables

This patch removes interrupt priority tables from the intc code.
Optimal priority assignment varies with embedded application anyway,
so keeping the interrupt priority tables together with cpu-specific
code doesn't make sense.

The function intc_set_priority() should be used instead to set the
desired interrupt priority level.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Correct pte size mismatch for X2 TLB.
Paul Mundt [Thu, 10 Jan 2008 05:07:03 +0000 (14:07 +0900)]
sh: Correct pte size mismatch for X2 TLB.

Fixes up a build warning/error in arch/sh/mm/fault_32.c.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Fix posix_types.h userspace breakage from sh64 merge.
Paul Mundt [Tue, 8 Jan 2008 09:05:03 +0000 (18:05 +0900)]
sh: Fix posix_types.h userspace breakage from sh64 merge.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Update SE7712 PCLK definition.
Andrew Murray [Tue, 8 Jan 2008 04:27:23 +0000 (13:27 +0900)]
sh: Update SE7712 PCLK definition.

This patch provides a correct value for CONFIG_SH_PCLK_FREQ for the
SH7712 solution engine when used with the board's default factory
settings. This results in the board running at its maximum CPU clock
rate (200 MHz).

Signed-off-by: Andrew Murray <amurray@mpc-data.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: sh7712 clock support
Andrew Murray [Tue, 8 Jan 2008 00:56:45 +0000 (09:56 +0900)]
sh: sh7712 clock support

This patch provides specific clock support for the SH7712.

Signed-off-by: Andrew Murray <amurray@mpc-data.co.uk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Add support for SH7763 CPU subtype.
Yoshihiro Shimoda [Mon, 7 Jan 2008 05:40:07 +0000 (14:40 +0900)]
sh: Add support for SH7763 CPU subtype.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Fix get_user()/put_user() build error.
Paul Mundt [Wed, 26 Dec 2007 09:37:16 +0000 (18:37 +0900)]
sh: Fix get_user()/put_user() build error.

Fixes the build error caused by -Werror on gcc 3.x compilers:

arch/sh/kernel/signal_32.c: In function `sys_sigaction':
arch/sh/kernel/signal_32.c:66: warning: initialization discards qualifiers from pointer target type
arch/sh/kernel/signal_32.c:67: warning: initialization discards qualifiers from pointer target type
arch/sh/kernel/signal_32.c:69: warning: initialization discards qualifiers from pointer target type
arch/sh/kernel/signal_32.c:70: warning: initialization discards qualifiers from pointer target type

The mismatch in question was introduced by commit-id
9c5a4eec79b3eb8876d2e7fddfa1e040a7650e55.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Add support for SH7721 CPU subtype.
Yoshihiro Shimoda [Wed, 26 Dec 2007 02:45:06 +0000 (11:45 +0900)]
sh: Add support for SH7721 CPU subtype.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Provide a stubbed __set_fixmap() for nommu.
Paul Mundt [Tue, 18 Dec 2007 00:43:35 +0000 (09:43 +0900)]
sh: Provide a stubbed __set_fixmap() for nommu.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
16 years agosh: Always use CONFIG_HZ for HZ.
Paul Mundt [Tue, 18 Dec 2007 00:43:15 +0000 (09:43 +0900)]
sh: Always use CONFIG_HZ for HZ.

Currently the wdt forces HZ=1000 and sidesteps CONFIG_HZ completely. This
is a remnant from when HZ was hardcoded and before CONFIG_HZ was
introduced. Additionally, not all of the timers have this requirement
these days, so it's also an artificial limitation. Just kill it off and
use CONFIG_HZ directly.

Reported-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>