]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
12 years agoMerge remote-tracking branch 'sysctl/master'
Stephen Rothwell [Fri, 25 Nov 2011 04:05:32 +0000 (15:05 +1100)]
Merge remote-tracking branch 'sysctl/master'

12 years agoMerge remote-tracking branch 'percpu/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 04:04:03 +0000 (15:04 +1100)]
Merge remote-tracking branch 'percpu/for-next'

12 years agoMerge remote-tracking branch 'xen-two/linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 03:58:17 +0000 (14:58 +1100)]
Merge remote-tracking branch 'xen-two/linux-next'

Conflicts:
arch/x86/xen/Kconfig

12 years agoMerge remote-tracking branch 'xen/upstream/xen'
Stephen Rothwell [Fri, 25 Nov 2011 03:56:55 +0000 (14:56 +1100)]
Merge remote-tracking branch 'xen/upstream/xen'

Conflicts:
arch/x86/xen/Kconfig

12 years agoMerge remote-tracking branch 'kmemleak/kmemleak'
Stephen Rothwell [Fri, 25 Nov 2011 03:50:20 +0000 (14:50 +1100)]
Merge remote-tracking branch 'kmemleak/kmemleak'

12 years agoMerge commit 'refs/next/20111124/cgroup'
Stephen Rothwell [Fri, 25 Nov 2011 03:47:49 +0000 (14:47 +1100)]
Merge commit 'refs/next/20111124/cgroup'

Conflicts:
kernel/cgroup_freezer.c

12 years agoMerge remote-tracking branch 'uprobes/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 02:23:26 +0000 (13:23 +1100)]
Merge remote-tracking branch 'uprobes/for-next'

12 years agoMerge remote-tracking branch 'tip/auto-latest'
Stephen Rothwell [Fri, 25 Nov 2011 02:16:41 +0000 (13:16 +1100)]
Merge remote-tracking branch 'tip/auto-latest'

Conflicts:
arch/mips/kernel/perf_event_mipsxx.c

12 years agoMerge remote-tracking branch 'fsnotify/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 02:13:26 +0000 (13:13 +1100)]
Merge remote-tracking branch 'fsnotify/for-next'

12 years agoMerge remote-tracking branch 'apm/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 02:12:02 +0000 (13:12 +1100)]
Merge remote-tracking branch 'apm/for-next'

12 years agoMerge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 02:05:17 +0000 (13:05 +1100)]
Merge remote-tracking branch 'pm/linux-next'

12 years agoMerge remote-tracking branch 'trivial/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 02:02:45 +0000 (13:02 +1100)]
Merge remote-tracking branch 'trivial/for-next'

12 years agoMerge remote-tracking branch 'osd/linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 02:02:37 +0000 (13:02 +1100)]
Merge remote-tracking branch 'osd/linux-next'

12 years agoMerge remote-tracking branch 'cputime/cputime'
Stephen Rothwell [Fri, 25 Nov 2011 01:56:27 +0000 (12:56 +1100)]
Merge remote-tracking branch 'cputime/cputime'

12 years agoMerge remote-tracking branch 'iommu/next'
Stephen Rothwell [Fri, 25 Nov 2011 01:55:09 +0000 (12:55 +1100)]
Merge remote-tracking branch 'iommu/next'

12 years agoMerge remote-tracking branch 'security/next'
Stephen Rothwell [Fri, 25 Nov 2011 01:52:19 +0000 (12:52 +1100)]
Merge remote-tracking branch 'security/next'

12 years agoMerge remote-tracking branch 'regulator/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:50:55 +0000 (12:50 +1100)]
Merge remote-tracking branch 'regulator/for-next'

12 years agoMerge remote-tracking branch 'fbdev/fbdev-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:49:33 +0000 (12:49 +1100)]
Merge remote-tracking branch 'fbdev/fbdev-next'

12 years agoMerge remote-tracking branch 'md/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:44:18 +0000 (12:44 +1100)]
Merge remote-tracking branch 'md/for-next'

12 years agoMerge remote-tracking branch 'slab/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:42:56 +0000 (12:42 +1100)]
Merge remote-tracking branch 'slab/for-next'

12 years agoMerge remote-tracking branch 'kgdb/kgdb-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:42:47 +0000 (12:42 +1100)]
Merge remote-tracking branch 'kgdb/kgdb-next'

12 years agoMerge remote-tracking branch 'mmc/mmc-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:41:18 +0000 (12:41 +1100)]
Merge remote-tracking branch 'mmc/mmc-next'

12 years agoMerge remote-tracking branch 'battery/master'
Stephen Rothwell [Fri, 25 Nov 2011 01:39:54 +0000 (12:39 +1100)]
Merge remote-tracking branch 'battery/master'

12 years agoMerge remote-tracking branch 'block/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:38:22 +0000 (12:38 +1100)]
Merge remote-tracking branch 'block/for-next'

12 years agoMerge remote-tracking branch 'input/next'
Stephen Rothwell [Fri, 25 Nov 2011 01:36:56 +0000 (12:36 +1100)]
Merge remote-tracking branch 'input/next'

Conflicts:
drivers/input/keyboard/samsung-keypad.c

12 years agoMerge branch 'quilt/rr'
Stephen Rothwell [Fri, 25 Nov 2011 01:35:29 +0000 (12:35 +1100)]
Merge branch 'quilt/rr'

12 years agoMerge remote-tracking branch 'cpufreq/next'
Stephen Rothwell [Fri, 25 Nov 2011 01:35:20 +0000 (12:35 +1100)]
Merge remote-tracking branch 'cpufreq/next'

12 years agoMerge remote-tracking branch 'sound-asoc/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:33:54 +0000 (12:33 +1100)]
Merge remote-tracking branch 'sound-asoc/for-next'

12 years agoMerge remote-tracking branch 'sound/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:32:28 +0000 (12:32 +1100)]
Merge remote-tracking branch 'sound/for-next'

12 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Fri, 25 Nov 2011 01:30:59 +0000 (12:30 +1100)]
Merge remote-tracking branch 'crypto/master'

12 years agoMerge remote-tracking branch 'l2-mtd/master'
Stephen Rothwell [Fri, 25 Nov 2011 01:29:32 +0000 (12:29 +1100)]
Merge remote-tracking branch 'l2-mtd/master'

12 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Fri, 25 Nov 2011 01:28:02 +0000 (12:28 +1100)]
Merge remote-tracking branch 'bluetooth/master'

12 years agoMerge remote-tracking branch 'wireless-next/master'
Stephen Rothwell [Fri, 25 Nov 2011 01:26:19 +0000 (12:26 +1100)]
Merge remote-tracking branch 'wireless-next/master'

12 years agoMerge remote-tracking branch 'net-next/master'
Stephen Rothwell [Fri, 25 Nov 2011 01:20:30 +0000 (12:20 +1100)]
Merge remote-tracking branch 'net-next/master'

Conflicts:
net/ipv4/inet_diag.c

12 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Fri, 25 Nov 2011 01:16:50 +0000 (12:16 +1100)]
Merge remote-tracking branch 'slave-dma/next'

Conflicts:
drivers/dma/pl330.c

12 years agoMerge remote-tracking branch 'target-merge/for-next-merge'
Stephen Rothwell [Fri, 25 Nov 2011 01:15:27 +0000 (12:15 +1100)]
Merge remote-tracking branch 'target-merge/for-next-merge'

12 years agoMerge remote-tracking branch 'dlm/next'
Stephen Rothwell [Fri, 25 Nov 2011 01:14:01 +0000 (12:14 +1100)]
Merge remote-tracking branch 'dlm/next'

12 years agoMerge remote-tracking branch 'infiniband/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:12:36 +0000 (12:12 +1100)]
Merge remote-tracking branch 'infiniband/for-next'

12 years agoMerge remote-tracking branch 'libata/NEXT'
Stephen Rothwell [Fri, 25 Nov 2011 01:11:16 +0000 (12:11 +1100)]
Merge remote-tracking branch 'libata/NEXT'

12 years agoMerge remote-tracking branch 'kconfig/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:11:12 +0000 (12:11 +1100)]
Merge remote-tracking branch 'kconfig/for-next'

12 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:09:46 +0000 (12:09 +1100)]
Merge remote-tracking branch 'kbuild/for-next'

12 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Fri, 25 Nov 2011 01:06:28 +0000 (12:06 +1100)]
Merge remote-tracking branch 'v4l-dvb/master'

Conflicts:
drivers/staging/media/as102/as102_drv.h

12 years agoMerge branch 'quilt/jdelvare-hwmon'
Stephen Rothwell [Fri, 25 Nov 2011 01:05:09 +0000 (12:05 +1100)]
Merge branch 'quilt/jdelvare-hwmon'

12 years agoMerge remote-tracking branch 'bjdooks-i2c/next-i2c'
Stephen Rothwell [Fri, 25 Nov 2011 01:03:51 +0000 (12:03 +1100)]
Merge remote-tracking branch 'bjdooks-i2c/next-i2c'

Conflicts:
drivers/i2c/busses/i2c-designware-platdrv.c

12 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 01:02:19 +0000 (12:02 +1100)]
Merge remote-tracking branch 'hid/for-next'

12 years agoMerge remote-tracking branch 'pci/linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:59:16 +0000 (11:59 +1100)]
Merge remote-tracking branch 'pci/linux-next'

12 years agoMerge remote-tracking branch 'ubifs/linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:57:56 +0000 (11:57 +1100)]
Merge remote-tracking branch 'ubifs/linux-next'

12 years agoMerge remote-tracking branch 'ocfs2/linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:56:26 +0000 (11:56 +1100)]
Merge remote-tracking branch 'ocfs2/linux-next'

12 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:55:10 +0000 (11:55 +1100)]
Merge remote-tracking branch 'nfsd/nfsd-next'

12 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:53:53 +0000 (11:53 +1100)]
Merge remote-tracking branch 'nfs/linux-next'

12 years agoMerge remote-tracking branch 'logfs/master'
Stephen Rothwell [Fri, 25 Nov 2011 00:52:37 +0000 (11:52 +1100)]
Merge remote-tracking branch 'logfs/master'

Conflicts:
fs/logfs/file.c

12 years agoMerge remote-tracking branch 'gfs2/master'
Stephen Rothwell [Fri, 25 Nov 2011 00:51:07 +0000 (11:51 +1100)]
Merge remote-tracking branch 'gfs2/master'

12 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Fri, 25 Nov 2011 00:51:02 +0000 (11:51 +1100)]
Merge remote-tracking branch 'ecryptfs/next'

12 years agoMerge remote-tracking branch 'cifs/master'
Stephen Rothwell [Fri, 25 Nov 2011 00:49:44 +0000 (11:49 +1100)]
Merge remote-tracking branch 'cifs/master'

12 years agoMerge remote-tracking branch 'xtensa/master'
Stephen Rothwell [Fri, 25 Nov 2011 00:48:24 +0000 (11:48 +1100)]
Merge remote-tracking branch 'xtensa/master'

12 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Fri, 25 Nov 2011 00:47:04 +0000 (11:47 +1100)]
Merge remote-tracking branch 's390/features'

12 years agoMerge remote-tracking branch 'galak/next'
Stephen Rothwell [Fri, 25 Nov 2011 00:45:48 +0000 (11:45 +1100)]
Merge remote-tracking branch 'galak/next'

12 years agoMerge remote-tracking branch '52xx-and-virtex/powerpc/next'
Stephen Rothwell [Fri, 25 Nov 2011 00:45:32 +0000 (11:45 +1100)]
Merge remote-tracking branch '52xx-and-virtex/powerpc/next'

12 years agoMerge remote-tracking branch 'parisc/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:44:10 +0000 (11:44 +1100)]
Merge remote-tracking branch 'parisc/for-next'

12 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:42:22 +0000 (11:42 +1100)]
Merge remote-tracking branch 'mips/mips-for-linux-next'

12 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:41:02 +0000 (11:41 +1100)]
Merge remote-tracking branch 'm68knommu/for-next'

Conflicts:
arch/m68k/Kconfig.debug

12 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:39:38 +0000 (11:39 +1100)]
Merge remote-tracking branch 'm68k/for-next'

12 years agoMerge remote-tracking branch 'ia64/next'
Stephen Rothwell [Fri, 25 Nov 2011 00:38:22 +0000 (11:38 +1100)]
Merge remote-tracking branch 'ia64/next'

12 years agoMerge branch 'quilt/hexagon'
Stephen Rothwell [Fri, 25 Nov 2011 00:37:08 +0000 (11:37 +1100)]
Merge branch 'quilt/hexagon'

12 years agoMerge remote-tracking branch 'cris/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:35:36 +0000 (11:35 +1100)]
Merge remote-tracking branch 'cris/for-next'

12 years agoMerge remote-tracking branch 'c6x/for-linux-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:30:19 +0000 (11:30 +1100)]
Merge remote-tracking branch 'c6x/for-linux-next'

12 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:28:58 +0000 (11:28 +1100)]
Merge remote-tracking branch 'tegra/for-next'

12 years agoMerge remote-tracking branch 's5p/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:27:44 +0000 (11:27 +1100)]
Merge remote-tracking branch 's5p/for-next'

Conflicts:
arch/arm/mach-exynos/cpu.c
arch/arm/mach-exynos/include/mach/entry-macro.S

12 years agoMerge remote-tracking branch 'i.MX/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:26:21 +0000 (11:26 +1100)]
Merge remote-tracking branch 'i.MX/for-next'

Conflicts:
arch/arm/mach-imx/clock-mx51-mx53.c
arch/arm/mach-imx/devices-imx53.h
arch/arm/mach-imx/mm-imx5.c
arch/arm/mach-mx5/Kconfig
arch/arm/mach-mx5/Makefile
arch/arm/mach-mx5/pm-imx5.c
arch/arm/plat-mxc/include/mach/hardware.h

12 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:22:01 +0000 (11:22 +1100)]
Merge remote-tracking branch 'at91/at91-next'

Conflicts:
arch/arm/mach-at91/at91cap9.c
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9261.c
arch/arm/mach-at91/at91sam9263.c
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/at91sam9rl.c
arch/arm/mach-at91/board-cap9adk.c
arch/arm/mach-at91/board-cpu9krea.c
arch/arm/mach-at91/board-cpuat91.c
arch/arm/mach-at91/board-snapper9260.c
arch/arm/mach-at91/include/mach/board.h
arch/arm/mach-at91/setup.c
drivers/net/ethernet/cadence/Kconfig

12 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Fri, 25 Nov 2011 00:20:46 +0000 (11:20 +1100)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

12 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:19:28 +0000 (11:19 +1100)]
Merge remote-tracking branch 'arm-soc/for-next'

Conflicts:
arch/arm/tools/mach-types
drivers/net/ethernet/cadence/Kconfig

12 years agoMerge remote-tracking branch 'arm-lpae/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:18:08 +0000 (11:18 +1100)]
Merge remote-tracking branch 'arm-lpae/for-next'

Conflicts:
arch/arm/include/asm/pgalloc.h
arch/arm/include/asm/pgtable.h
arch/arm/include/asm/tlb.h
arch/arm/mm/ioremap.c

12 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Fri, 25 Nov 2011 00:12:18 +0000 (11:12 +1100)]
Merge remote-tracking branch 'arm/for-next'

12 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Fri, 25 Nov 2011 00:10:01 +0000 (11:10 +1100)]
Merge remote-tracking branch 'crypto-current/master'

12 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Fri, 25 Nov 2011 00:09:54 +0000 (11:09 +1100)]
Merge remote-tracking branch 'sound-current/for-linus'

12 years agoMerge remote-tracking branch 'net/master'
Stephen Rothwell [Fri, 25 Nov 2011 00:09:53 +0000 (11:09 +1100)]
Merge remote-tracking branch 'net/master'

12 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Fri, 25 Nov 2011 00:09:50 +0000 (11:09 +1100)]
Merge remote-tracking branch 'arm-current/fixes'

12 years agoiio: Fix build error in industrialio-core.c
Sasha Levin [Wed, 23 Nov 2011 10:13:59 +0000 (12:13 +0200)]
iio: Fix build error in industrialio-core.c

The error was introduced in commit b4641336 ("iio: fix a leak due to
improper use of anon_inode_getfd()").

Looks like the code wasn't even compile tested. Instead of just fixing the
error I changed the function a bit to make it nicer.

Cc: Jonathan Cameron <jic23@cam.ac.uk>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: linux-iio@vger.kernel.org
Cc: devel@driverdev.osuosl.org
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
12 years agoMerge branch 'pm-freezer' into linux-next
Rafael J. Wysocki [Thu, 24 Nov 2011 23:45:31 +0000 (00:45 +0100)]
Merge branch 'pm-freezer' into linux-next

* pm-freezer:
  Freezer: fix more fallout from the thaw_process rename

12 years agoFreezer: fix more fallout from the thaw_process rename
Stephen Rothwell [Thu, 24 Nov 2011 23:44:55 +0000 (00:44 +0100)]
Freezer: fix more fallout from the thaw_process rename

Commit 944e192db53c "freezer: rename thaw_process() to __thaw_task()
and simplify the implementation" did not create a !CONFIG_FREEZER version
of __thaw_task().

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
12 years agolguest: switch segment-voodoo-numbers to readable symbols
Jacek Galowicz [Thu, 24 Nov 2011 23:13:15 +0000 (10:13 +1100)]
lguest: switch segment-voodoo-numbers to readable symbols

When studying lguest's x86 segment descriptor code, it is not longer
necessary to have the Intel x86 architecture manual open on the page
with the segment descriptor illustration to understand the crazy
numbers assigned to both descriptor structure halves a/b.
Now the struct desc_struct's fields, like suggested by
Glauber de Oliveira Costa in 2008, are used.

Signed-off-by: Jacek Galowicz <jacek@galowicz.de>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agomodule: Fix performance regression on modules with large symbol tables
Kevin Cernekee [Thu, 24 Nov 2011 23:13:15 +0000 (10:13 +1100)]
module: Fix performance regression on modules with large symbol tables

Looking at /proc/kallsyms, one starts to ponder whether all of the extra
strtab-related complexity in module.c is worth the memory savings.

Instead of making the add_kallsyms() loop even more complex, I tried the
other route of deleting the strmap logic and naively copying each string
into core_strtab with no consideration for consolidating duplicates.

Performance on an "already exists" insmod of nvidia.ko (runs
add_kallsyms() but does not actually initialize the module):

Original scheme: 1.230s
With naive copying: 0.058s

Extra space used: 35k (of a 408k module).

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
LKML-Reference: <73defb5e4bca04a6431392cc341112b1@localhost>

12 years agomodule: Add comments describing how the "strmap" logic works
Kevin Cernekee [Sun, 13 Nov 2011 03:08:55 +0000 (19:08 -0800)]
module: Add comments describing how the "strmap" logic works

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: add debugging if driver doesn't kick.
Rusty Russell [Thu, 24 Nov 2011 23:13:14 +0000 (10:13 +1100)]
virtio: add debugging if driver doesn't kick.

Under the existing #ifdef DEBUG, check that they don't have more than
1/10 of a second between an add_buf() and a
virtqueue_notify()/virtqueue_kick_prepare() call.

We could get false positives on a really busy system, but good for
development.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: expose added descriptors immediately.
Rusty Russell [Thu, 24 Nov 2011 23:13:14 +0000 (10:13 +1100)]
virtio: expose added descriptors immediately.

A virtio driver does virtqueue_add_buf() multiple times before finally
calling virtqueue_kick(); previously we only exposed the added buffers
in the virtqueue_kick() call.  This means we don't need a memory
barrier in virtqueue_add_buf(), but it reduces concurrency as the
device (ie. host) can't see the buffers until the kick.

In the unusual (but now possible) case where a driver does add_buf()
and get_buf() without doing a kick, we do need to insert one before
our counter wraps.  Otherwise we could wrap num_added, and later on
not realize that we have passed the marker where we should have
kicked.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: avoid modulus operation.
Rusty Russell [Thu, 24 Nov 2011 23:13:13 +0000 (10:13 +1100)]
virtio: avoid modulus operation.

Since we know vq->vring.num is a power of 2, modulus is lazy (it's asserted
in vring_new_virtqueue()).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: support unlocked queue kick
Rusty Russell [Thu, 24 Nov 2011 23:13:13 +0000 (10:13 +1100)]
virtio: support unlocked queue kick

Based on patch by Christoph for virtio_blk speedup:

Split virtqueue_kick to be able to do the actual notification
outside the lock protecting the virtqueue.  This patch was
originally done by Stefan Hajnoczi, but I can't find the
original one anymore and had to recreated it from memory.
Pointers to the original or corrections for the commit message
are welcome.

Stefan's patch was here:

https://github.com/stefanha/linux/commit/a6d06644e3a58e57a774e77d7dc34c4a5a2e7496
http://www.spinics.net/lists/linux-virtualization/msg14616.html

Third time's the charm!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: rename virtqueue_add_buf_gfp to virtqueue_add_buf
Rusty Russell [Thu, 24 Nov 2011 23:13:12 +0000 (10:13 +1100)]
virtio: rename virtqueue_add_buf_gfp to virtqueue_add_buf

Remove wrapper functions. This makes the allocation type explicit in
all callers; I used GPF_KERNEL where it seemed obvious, left it at
GFP_ATOMIC otherwise.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reviewed-by: Christoph Hellwig <hch@lst.de>
12 years agovirtio: document functions better.
Rusty Russell [Thu, 24 Nov 2011 23:13:12 +0000 (10:13 +1100)]
virtio: document functions better.

The old documentation is left over from when we used a structure with
strategy pointers.

And move the documentation to the C file as per kernel practice.
Though I disagree...

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Reviewed-by: Christoph Hellwig <hch@lst.de>
12 years agovirtio-balloon: Trivial cleanups
Sasha Levin [Thu, 3 Nov 2011 08:20:04 +0000 (10:20 +0200)]
virtio-balloon: Trivial cleanups

Trivial changes to remove forgotten junk, format comments, and correct names.

Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtualization@lists.linux-foundation.org
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio-pci: make reset operation safer
Michael S. Tsirkin [Thu, 17 Nov 2011 15:41:15 +0000 (17:41 +0200)]
virtio-pci: make reset operation safer

virtio pci device reset actually just does an I/O
write, which in PCI is really posted, that is it
can complete on CPU before the device has received it.

Further, interrupts might have been pending on
another CPU, so device callback might get invoked after reset.

This conflicts with how drivers use reset, which is typically:
reset
unregister
a callback running after reset completed can race with
unregister, potentially leading to use after free bugs.

Fix by flushing out the write, and flushing pending interrupts.

This assumes that device is never reset from
its vq/config callbacks, or in parallel with being
added/removed, document this assumption.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio-mmio: Correct the name of the guest features selector
Sasha Levin [Tue, 15 Nov 2011 14:17:18 +0000 (16:17 +0200)]
virtio-mmio: Correct the name of the guest features selector

Guest features selector spelling mistake.

Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: virtualization@lists.linux-foundation.org
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agovirtio: add HAS_IOMEM dependency to MMIO platform bus driver
Heiko Carstens [Tue, 15 Nov 2011 09:13:24 +0000 (10:13 +0100)]
virtio: add HAS_IOMEM dependency to MMIO platform bus driver

Fix this compile error on s390:

  CC [M]  drivers/virtio/virtio_mmio.o
drivers/virtio/virtio_mmio.c: In function 'vm_get_features':
drivers/virtio/virtio_mmio.c:107:2: error: implicit declaration of function 'writel'

Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
12 years agomtd/docg3: add protection areas sysfs access
Robert Jarzmik [Sat, 19 Nov 2011 15:02:58 +0000 (16:02 +0100)]
mtd/docg3: add protection areas sysfs access

As each docg3 chip has 2 protection areas (DPS0 and DPS1),
and because theses areas can prevent user access to the chip
data, add for each floor the sysfs entries which insert the
protection key into the right DPS.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Ivan Djelic <ivan.djelic@parrot.com>
Reviewed-by: Mike Dunn <mikedunn@newsguy.com>
12 years agomtd/docg3: add fast mode
Robert Jarzmik [Sat, 19 Nov 2011 15:02:57 +0000 (16:02 +0100)]
mtd/docg3: add fast mode

Docg3 chips can work in 3 modes : normal MLC mode, fast
mode and reliable mode. Normally, as docg3 is a MLC chip, it
should be configured to work in normal mode.

In both normal mode, each page is distinct. This
means that writing to page 12 of blocks 14,15 writes only to
that page, and reading from page 12 of blocks 14,15 reads
only from that page.

In reliable and fast modes, pages are coupled by pairs, and
are clones one of each other. This means that the available
capacity of the chip is halved. Pages are coupled in each
block, and page of index 2*n contains the same data as page
2*n+1 of the same block.

In fast mode, the reads occur a bit faster, but are a bit
less reliable that in normal mode.

When reading from page 2*n, the chip reads bytes from both
page 2*n and page 2*n+1, makes a logical and for each byte,
and returns the result. As programming a page means
"clearing bits", even if a bit was not cleared on one page
because the flash is worn out, the other page has the bit
cleared, and the result of the "AND" gives a correct result.

When writing to page 2*n, the chip writes data to both page
2*n and page 2*n+1.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Ivan Djelic <ivan.djelic@parrot.com>
Reviewed-by: Mike Dunn <mikedunn@newsguy.com>
12 years agomtd/docg3: add suspend and resume
Robert Jarzmik [Sat, 19 Nov 2011 15:02:56 +0000 (16:02 +0100)]
mtd/docg3: add suspend and resume

Add functions to powerdown and powerup from suspend, in
order to save power.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Ivan Djelic <ivan.djelic@parrot.com>
Reviewed-by: Mike Dunn <mikedunn@newsguy.com>
12 years agomtd/docg3: add ECC correction code
Robert Jarzmik [Sat, 19 Nov 2011 15:02:55 +0000 (16:02 +0100)]
mtd/docg3: add ECC correction code

Credit for discovering the BCH algorith parameters, and bit
reversing algorithm is to be give to Mike Dunn and Ivan
Djelic.

The BCH correction code relied upon the BCH library, where
all data and ECC is bit-reversed. The BCH library works
correctly when each input byte is bit-reversed, and
accordingly ECC output is also bit-reversed.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Ivan Djelic <ivan.djelic@parrot.com>
Reviewed-by: Mike Dunn <mikedunn@newsguy.com>
12 years agomtd/docg3: map erase and write functions
Robert Jarzmik [Sat, 19 Nov 2011 15:02:54 +0000 (16:02 +0100)]
mtd/docg3: map erase and write functions

Map the developped write and erase functions into the mtd
structure.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Ivan Djelic <ivan.djelic@parrot.com>
Reviewed-by: Mike Dunn <mikedunn@newsguy.com>
12 years agomtd/docg3: add erase functions
Robert Jarzmik [Sat, 19 Nov 2011 15:02:53 +0000 (16:02 +0100)]
mtd/docg3: add erase functions

Add erase capability to the docg3 driver. The erase block is
made of 2 physical blocks, as both share all 64 pages. That
makes an erase block of at least 64 kBytes.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Ivan Djelic <ivan.djelic@parrot.com>
Reviewed-by: Mike Dunn <mikedunn@newsguy.com>