]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
16 years agoftrace, x86: make kernel text writable only for conversions
Steven Rostedt [Tue, 17 Feb 2009 22:57:30 +0000 (17:57 -0500)]
ftrace, x86: make kernel text writable only for conversions

Impact: keep kernel text read only

Because dynamic ftrace converts the calls to mcount into and out of
nops at run time, we needed to always keep the kernel text writable.

But this defeats the point of CONFIG_DEBUG_RODATA. This patch converts
the kernel code to writable before ftrace modifies the text, and converts
it back to read only afterward.

The kernel text is converted to read/write, stop_machine is called to
modify the code, then the kernel text is converted back to read only.

The original version used SYSTEM_STATE to determine when it was OK
or not to change the code to rw or ro. Andrew Morton pointed out that
using SYSTEM_STATE is a bad idea since there is no guarantee to what
its state will actually be.

Instead, I moved the check into the set_kernel_text_* functions
themselves, and use a local variable to determine when it is
OK to change the kernel text RW permissions.

[ Update: Ingo Molnar suggested moving the prototypes to cacheflush.h ]

Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years agoARM: OMAP: Add method to register additional I2C busses on the command line
Jarkko Nikula [Mon, 9 Feb 2009 07:59:57 +0000 (07:59 +0000)]
ARM: OMAP: Add method to register additional I2C busses on the command line

This patch extends command line option "i2c_bus=bus_id,clkrate" so that
it allow to register additional I2C busses that are not registered with
omap_register_i2c_bus from board initialization code.

Purpose of this is to register additional board busses which are routed
to external connectors only without any on board I2C devices.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Add command line option for I2C bus speed
Jarkko Nikula [Mon, 9 Feb 2009 07:59:56 +0000 (07:59 +0000)]
ARM: OMAP: Add command line option for I2C bus speed

This patch adds a new command line option "i2c_bus=bus_id,clkrate" into
I2C bus registration helper. Purpose of the option is to override the
default board specific bus speed which is supplied by the
omap_register_i2c_bus.

The default bus speed is typically set to speed of slowest I2C chip on the
bus and overriding allow to use some experimental configurations or updated
chip versions without any kernel modifications.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoARM: OMAP: Add documentation for function omap_register_i2c_bus
Jarkko Nikula [Mon, 9 Feb 2009 07:59:55 +0000 (07:59 +0000)]
ARM: OMAP: Add documentation for function omap_register_i2c_bus

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoi2c-omap: Fix mismerge
Tony Lindgren [Fri, 20 Feb 2009 18:48:01 +0000 (10:48 -0800)]
i2c-omap: Fix mismerge

Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMAINTAINERS: paravirt-ops maintainers update
Zachary Amsden [Fri, 20 Feb 2009 19:27:46 +0000 (11:27 -0800)]
MAINTAINERS: paravirt-ops maintainers update

Welcome to Alok Kataria, our new paravirt-ops maintainer.

Cc: Chris Wright <chrisw@sous-sol.org>
Cc: Alok Kataria <akataria@vmware.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86, vmi: TSC going backwards check in vmi clocksource, cleanup
Alok Kataria [Fri, 20 Feb 2009 18:23:18 +0000 (10:23 -0800)]
x86, vmi: TSC going backwards check in vmi clocksource, cleanup

clean up vmi_read_cycles to use max()

Reported-b: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Alok N Kataria <akataria@vmware.com>
Cc: Zach Amsden <zach@vmware.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotracing/markers: make markers select tracepoints
Frederic Weisbecker [Fri, 20 Feb 2009 16:34:06 +0000 (17:34 +0100)]
tracing/markers: make markers select tracepoints

Sometimes it happens that KConfig dependencies are not handled
like in the following scenario:

- config A
   bool

- config B
   bool
   depends on A

- config C
   bool
   select B

If one selects C, then it will select B without checking its
dependency to A, if A hasn't been selected elsewhere, it will
result in a build failure.

This is what happens on the following build error:

 kernel/built-in.o: In function `marker_update_probe_range':
 (.text+0x52f64): undefined reference to `tracepoint_probe_register_noupdate'
 kernel/built-in.o: In function `marker_update_probe_range':
 (.text+0x52f74): undefined reference to `tracepoint_probe_unregister_noupdate'
 kernel/built-in.o: In function `marker_update_probe_range':
 (.text+0x52fb9): undefined reference to `tracepoint_probe_unregister_noupdate'
 kernel/built-in.o: In function `marker_update_probes':
 marker.c:(.text+0x530ba): undefined reference to `tracepoint_probe_update_all'

CONFIG_KVM_TRACE will select CONFIG_MARKER, but the latter
depends on CONFIG_TRACEPOINTS which will not be selected.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoftrace: allow archs to preform pre and post process for code modification
Steven Rostedt [Tue, 17 Feb 2009 18:35:06 +0000 (13:35 -0500)]
ftrace: allow archs to preform pre and post process for code modification

This patch creates the weak functions: ftrace_arch_code_modify_prepare
and ftrace_arch_code_modify_post_process that are called before and
after the stop machine is called to modify the kernel text.

If the arch needs to do pre or post processing, it only needs to define
these functions.

[ Update: Ingo Molnar suggested using the name ftrace_arch_code_modify_*
          over using ftrace_arch_modify_* ]

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years agoExport dmtimer functions
Timo Kokkonen [Fri, 30 Jan 2009 09:22:55 +0000 (11:22 +0200)]
Export dmtimer functions

Make the dmtimer function symbols available so modules can take use of
them.

Signed-off-by: Timo Kokkonen <timo.t.kokkonen@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge branch 'tip/x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rosted...
Ingo Molnar [Fri, 20 Feb 2009 17:51:43 +0000 (18:51 +0100)]
Merge branch 'tip/x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into x86/mm

16 years agox86, pat: add large-PAT check to split_large_page()
Ingo Molnar [Fri, 20 Feb 2009 16:44:21 +0000 (17:44 +0100)]
x86, pat: add large-PAT check to split_large_page()

Impact: future-proof the split_large_page() function

Linus noticed that split_large_page() is not safe wrt. the
PAT bit: it is bit 12 on the 1GB and 2MB page table level
(_PAGE_BIT_PAT_LARGE), and it is bit 7 on the 4K page
table level (_PAGE_BIT_PAT).

Currently it is not a problem because we never set
_PAGE_BIT_PAT_LARGE on any of the large-page mappings - but
should this happen in the future the split_large_page() would
silently lift bit 12 into the lowlevel 4K pte and would start
corrupting the physical page frame offset. Not fun.

So add a debug warning, to make sure if something ever sets
the PAT bit then this function gets updated too.

Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: check PMD in spurious_fault handler
Steven Rostedt [Thu, 19 Feb 2009 16:46:36 +0000 (11:46 -0500)]
x86: check PMD in spurious_fault handler

Impact: fix to prevent hard lockup on bad PMD permissions

If the PMD does not have the correct permissions for a page access,
but the PTE does, the spurious fault handler will mistake the fault
as a lazy TLB transaction. This will result in an infinite loop of:

 fault -> spurious_fault check (pass) -> return to code -> fault

This patch adds a check and a warn on if the PTE passes the permissions
but the PMD does not.

[ Updated: Ingo Molnar suggested using WARN_ONCE with some text ]

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
16 years agousb: musb: adding support for registering nop xceiv
Ajay Kumar Gupta [Thu, 8 Jan 2009 10:53:56 +0000 (16:23 +0530)]
usb: musb: adding support for registering nop xceiv

Adding support for registering nop usb transceiver for musb
platforms. Tested with OMAP35xx EVM having OTG phy ISP1504
which is autonomous and doesn't require any phy programming.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoMerge branches 'x86/asm', 'x86/cleanups' and 'x86/headers' into x86/core
Ingo Molnar [Fri, 20 Feb 2009 16:40:50 +0000 (17:40 +0100)]
Merge branches 'x86/asm', 'x86/cleanups' and 'x86/headers' into x86/core

16 years agoMerge branch 'x86/urgent' into x86/core
Ingo Molnar [Fri, 20 Feb 2009 16:40:43 +0000 (17:40 +0100)]
Merge branch 'x86/urgent' into x86/core

16 years agoboard-omap3beagle: set i2c-3 to 100kHz
Koen Kooi [Sun, 25 Jan 2009 08:46:17 +0000 (09:46 +0100)]
board-omap3beagle: set i2c-3 to 100kHz

Changing it do 100kHz is needed to make more devices works properly. Controlling the TI DLP Pico projector[1] doesn't work properly at 400kHz, 100kHz and lower work fine. EDID readout is unaffected by this change.

[1] http://focus.ti.com/dlpdmd/docs/dlpdiscovery.tsp?sectionId=60&tabId=2234

Signed-off-by: Koen Kooi <koen@beagleboard.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
16 years agoBtrfs: try committing transaction before returning ENOSPC
Josef Bacik [Fri, 20 Feb 2009 15:59:53 +0000 (10:59 -0500)]
Btrfs: try committing transaction before returning ENOSPC

This fixes a problem where we could return -ENOSPC when we may actually have
plenty of space, the space is just pinned.  Instead of returning -ENOSPC
immediately, commit the transaction first and then try and do the allocation
again.

This patch also does chunk allocation for metadata if we pass the 80%
threshold for metadata space.  This will help with stack usage since the chunk
allocation will happen early on, instead of when the allocation is happening.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
16 years agoBtrfs: add better -ENOSPC handling
Josef Bacik [Fri, 20 Feb 2009 16:00:09 +0000 (11:00 -0500)]
Btrfs: add better -ENOSPC handling

This is a step in the direction of better -ENOSPC handling.  Instead of
checking the global bytes counter we check the space_info bytes counters to
make sure we have enough space.

If we don't we go ahead and try to allocate a new chunk, and then if that fails
we return -ENOSPC.  This patch adds two counters to btrfs_space_info,
bytes_delalloc and bytes_may_use.

bytes_delalloc account for extents we've actually setup for delalloc and will
be allocated at some point down the line.

bytes_may_use is to keep track of how many bytes we may use for delalloc at
some point.  When we actually set the extent_bit for the delalloc bytes we
subtract the reserved bytes from the bytes_may_use counter.  This keeps us from
not actually being able to allocate space for any delalloc bytes.

Signed-off-by: Josef Bacik <jbacik@redhat.com>
16 years agoBtrfs: check file pointer in btrfs_sync_file
Chris Mason [Fri, 20 Feb 2009 15:55:10 +0000 (10:55 -0500)]
Btrfs: check file pointer in btrfs_sync_file

fsync can be called by NFS with a null file pointer, and btrfs was
oopsing in this case.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
16 years agothermal: use integers rather than strings for thermal values
Matthew Garrett [Thu, 27 Nov 2008 17:48:13 +0000 (17:48 +0000)]
thermal: use integers rather than strings for thermal values

The thermal API currently uses strings to pass values to userspace. This
makes it difficult to use from within the kernel. Change the interface
to use integers and fix up the consumers.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Zhang Rui <rui.zhang@intel.com>
Acked-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
16 years agoALSA: hda - Update documentation for pincfg sysfs entries
Takashi Iwai [Fri, 20 Feb 2009 13:50:35 +0000 (14:50 +0100)]
ALSA: hda - Update documentation for pincfg sysfs entries

Added the brief descriptions of new sysfs entries for pint default
config values.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: hda - Remove codec-specific pin save/restore functions
Takashi Iwai [Fri, 20 Feb 2009 13:37:42 +0000 (14:37 +0100)]
ALSA: hda - Remove codec-specific pin save/restore functions

Replace the accessor to pin defaults with the common code for caching.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: hda - Remove IDT codec-specific pin save/restore functions
Takashi Iwai [Fri, 20 Feb 2009 13:33:36 +0000 (14:33 +0100)]
ALSA: hda - Remove IDT codec-specific pin save/restore functions

Removed its own save/restore functions and replaced with the common code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: hda - Remove realtek codec-specific pin save/restore functions
Takashi Iwai [Fri, 20 Feb 2009 13:13:06 +0000 (14:13 +0100)]
ALSA: hda - Remove realtek codec-specific pin save/restore functions

Now it's done in the common code.
Also use the common access functions for pin defaults.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoALSA: hda - Add generic pincfg initialization
Takashi Iwai [Fri, 20 Feb 2009 13:11:16 +0000 (14:11 +0100)]
ALSA: hda - Add generic pincfg initialization

Added the generic pincfg cache and save/restore functions.
Also introduced the pin-overriding via hwdep sysfs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 20 Feb 2009 15:06:47 +0000 (16:06 +0100)]
Merge branch 'fix/hda' into topic/hda

16 years agoALSA: hda - Fix parse of init_verbs sysfs entry
Takashi Iwai [Fri, 20 Feb 2009 14:59:01 +0000 (15:59 +0100)]
ALSA: hda - Fix parse of init_verbs sysfs entry

Fixed the parse of init_verbs hwdep sysfs entry.
Simplieied using sscanf.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agointegrity: ima scatterlist bug fix
Mimi Zohar [Fri, 20 Feb 2009 02:23:50 +0000 (21:23 -0500)]
integrity: ima scatterlist bug fix

Based on Alexander Beregalov's post http://lkml.org/lkml/2009/2/19/198

- replaced sg_set_buf() with sg_init_one()

 kernel BUG at include/linux/scatterlist.h:65!
 invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
 last sysfs file:
 CPU 2
 Modules linked in:
 Pid: 1, comm: swapper Not tainted 2.6.29-rc5-next-20090219 #5 PowerEdge 1950
 RIP: 0010:[<ffffffff8045ec70>]  [<ffffffff8045ec70>] ima_calc_hash+0xc0/0x160
 RSP: 0018:ffff88007f46bc40  EFLAGS: 00010286
 RAX: ffffe200032c45e8 RBX: 00000000fffffff4 RCX: 0000000087654321
 RDX: 0000000000000002 RSI: 0000000000000001 RDI: ffff88007cf71048
 RBP: ffff88007f46bcd0 R08: 0000000000000000 R09: 0000000000000163
 R10: ffff88007f4707a8 R11: 0000000000000000 R12: ffff88007cf71048
 R13: 0000000000001000 R14: 0000000000000000 R15: 0000000000009d98
 FS:  0000000000000000(0000) GS:ffff8800051ac000(0000) knlGS:0000000000000000
 CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
 CR2: 0000000000000000 CR3: 0000000000201000 CR4: 00000000000006e0
 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
Tested-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: James Morris <jmorris@namei.org>
16 years agoUBI: add fsync capability
Corentin Chary [Thu, 5 Feb 2009 21:25:52 +0000 (22:25 +0100)]
UBI: add fsync capability

Now, we can call fsync() on an UBI volume.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
16 years agoMerge branch 'for-ingo' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg...
Ingo Molnar [Fri, 20 Feb 2009 11:15:30 +0000 (12:15 +0100)]
Merge branch 'for-ingo' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 into tracing/kmemtrace

Conflicts:
mm/slub.c

16 years agox86: use symbolic constants for MSR_IA32_MISC_ENABLE bits
Vegard Nossum [Fri, 20 Feb 2009 10:56:38 +0000 (11:56 +0100)]
x86: use symbolic constants for MSR_IA32_MISC_ENABLE bits

Impact: Cleanup. No functional changes.

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agotracing/function-graph-tracer: make set_graph_function file support ftrace regex
Frederic Weisbecker [Thu, 19 Feb 2009 20:13:12 +0000 (21:13 +0100)]
tracing/function-graph-tracer: make set_graph_function file support ftrace regex

Impact: trace only functions matching a pattern

The set_graph_function file let one to trace only one or several
chosen functions and follow all their code flow.

Currently, only a constant function name is allowed so this patch
allows the ftrace_regex functions:

- matches all functions that end with "name":
  echo *name > set_graph_function

- matches all functions that begin with "name":
  echo name* > set_graph_function

- matches all functions that contains "name":
  echo *name* > set_graph_function

Example:

echo mutex* > set_graph_function

 0)               |  mutex_lock_nested() {
 0)   0.563 us    |    __might_sleep();
 0)   2.072 us    |  }
 0)               |  mutex_unlock() {
 0)   1.036 us    |    __mutex_unlock_slowpath();
 0)   2.433 us    |  }
 0)               |  mutex_unlock() {
 0)   0.691 us    |    __mutex_unlock_slowpath();
 0)   1.787 us    |  }
 0)               |  mutex_lock_interruptible_nested() {
 0)   0.548 us    |    __might_sleep();
 0)   1.945 us    |  }

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agoMerge branches 'tracing/function-graph-tracer' and 'linus' into tracing/core
Ingo Molnar [Fri, 20 Feb 2009 10:35:57 +0000 (11:35 +0100)]
Merge branches 'tracing/function-graph-tracer' and 'linus' into tracing/core

16 years agoSLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants
Christoph Lameter [Tue, 17 Feb 2009 17:05:07 +0000 (12:05 -0500)]
SLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants

As a preparational patch to bump up page allocator pass-through threshold,
introduce two new constants SLUB_MAX_SIZE and SLUB_PAGE_SHIFT and convert
mm/slub.c to use them.

Reported-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Tested-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
16 years agoSLUB: Fix default slab order for big object sizes
Zhang Yanmin [Thu, 12 Feb 2009 16:00:17 +0000 (18:00 +0200)]
SLUB: Fix default slab order for big object sizes

The default order of kmalloc-8192 on 2*4 stoakley is an issue of
calculate_order.

slab_size       order           name
-------------------------------------------------
4096            3               sgpool-128
8192            2               kmalloc-8192
16384           3               kmalloc-16384

kmalloc-8192's default order is smaller than sgpool-128's.

On 4*4 tigerton machine, a similiar issue appears on another kmem_cache.

Function calculate_order uses 'min_objects /= 2;' to shrink. Plus size
calculation/checking in slab_order, sometimes above issue appear.

Below patch against 2.6.29-rc2 fixes it.

I checked the default orders of all kmem_cache and they don't become
smaller than before. So the patch wouldn't hurt performance.

Signed-off-by Zhang Yanmin <yanmin.zhang@linux.intel.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
16 years agoSLUB: Do not pass 8k objects through to the page allocator
Pekka Enberg [Fri, 20 Feb 2009 10:21:33 +0000 (12:21 +0200)]
SLUB: Do not pass 8k objects through to the page allocator

Increase the maximum object size in SLUB so that 8k objects are not
passed through to the page allocator anymore. The network stack uses 8k
objects for performance critical operations.

The patch is motivated by a SLAB vs. SLUB regression in the netperf
benchmark. The problem is that the kfree(skb->head) call in
skb_release_data() that is subject to page allocator pass-through as the
size passed to __alloc_skb() is larger than 4 KB in this test.

As explained by Yanmin Zhang:

  I use 2.6.29-rc2 kernel to run netperf UDP-U-4k CPU_NUM client/server
  pair loopback testing on x86-64 machines. Comparing with SLUB, SLAB's
  result is about 2.3 times of SLUB's. After applying the reverting patch,
  the result difference between SLUB and SLAB becomes 1% which we might
  consider as fluctuation.

[ penberg@cs.helsinki.fi: fix oops in kmalloc() ]
Reported-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Tested-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
16 years agoSLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants
Christoph Lameter [Tue, 17 Feb 2009 17:05:07 +0000 (12:05 -0500)]
SLUB: Introduce and use SLUB_MAX_SIZE and SLUB_PAGE_SHIFT constants

As a preparational patch to bump up page allocator pass-through threshold,
introduce two new constants SLUB_MAX_SIZE and SLUB_PAGE_SHIFT and convert
mm/slub.c to use them.

Reported-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Tested-by: "Zhang, Yanmin" <yanmin_zhang@linux.intel.com>
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
16 years agosound: usb-audio: remove MIN_PACKS_URB
Clemens Ladisch [Fri, 20 Feb 2009 08:32:40 +0000 (09:32 +0100)]
sound: usb-audio: remove MIN_PACKS_URB

Remove the MIN_PACKS_URB symbol because other limits can force the
number of packets down to one, regardless of the value of this symbol,
and nobody has ever changed it anyway.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agosound: virtuoso: increase minimum volume to -60 dB
Clemens Ladisch [Fri, 20 Feb 2009 08:33:40 +0000 (09:33 +0100)]
sound: virtuoso: increase minimum volume to -60 dB

Use -60 dB as the minimum value of the master volume mixer control.
While the DACs would support ranges down to about -120 dB, such
attenuations are not useful in practice.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agosound: oxygen: handle AK5385 ADC on Claro halo cards
Clemens Ladisch [Fri, 20 Feb 2009 08:31:14 +0000 (09:31 +0100)]
sound: oxygen: handle AK5385 ADC on Claro halo cards

The HT-Omega Claro halo's ADC is an AK5385 instead of a WM8785, so we
should handle the ADC parameters as we do with the X-Meridian.

Using the code for the wrong ADC does not seem to have any audible
effects, and the Windows driver does it, but it is nonetheless a good
idea to run the AK5385 with an oversampling ratio that is not outside
the documented limits.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agonetfilter: ip_tables: unfold two critical loops in ip_packet_match()
Eric Dumazet [Fri, 20 Feb 2009 10:03:33 +0000 (11:03 +0100)]
netfilter: ip_tables: unfold two critical loops in ip_packet_match()

While doing oprofile tests I noticed two loops are not properly unrolled by gcc

Using a hand coded unrolled loop provides nice speedup : ipt_do_table
credited of 2.52 % of cpu instead of 3.29 % in tbench.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
16 years agonetfilter: x_tables: add LED trigger target
Adam Nielsen [Fri, 20 Feb 2009 09:55:14 +0000 (10:55 +0100)]
netfilter: x_tables: add LED trigger target

Kernel module providing implementation of LED netfilter target.  Each
instance of the target appears as a led-trigger device, which can be
associated with one or more LEDs in /sys/class/leds/

Signed-off-by: Adam Nielsen <a.nielsen@shikadi.net>
Acked-by: Richard Purdie <rpurdie@linux.intel.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
16 years agonetfilter: fix hardcoded size assumptions
Hagen Paul Pfeifer [Fri, 20 Feb 2009 09:48:06 +0000 (10:48 +0100)]
netfilter: fix hardcoded size assumptions

get_random_bytes() is sometimes called with a hard coded size assumption
of an integer. This could not be true for next centuries. This patch
replace it with a compile time statement.

Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
Signed-off-by: Patrick McHardy <kaber@trash.net>
16 years agonetfilter: nf_conntrack: table max size should hold at least table size
Hagen Paul Pfeifer [Fri, 20 Feb 2009 09:47:09 +0000 (10:47 +0100)]
netfilter: nf_conntrack: table max size should hold at least table size

Table size is defined as unsigned, wheres the table maximum size is
defined as a signed integer. The calculation of max is 8 or 4,
multiplied the table size. Therefore the max value is aligned to
unsigned.

Signed-off-by: Hagen Paul Pfeifer <hagen@jauu.net>
Signed-off-by: Patrick McHardy <kaber@trash.net>
16 years agonetfilter: iptables: lock free counters
Stephen Hemminger [Fri, 20 Feb 2009 09:35:32 +0000 (10:35 +0100)]
netfilter: iptables: lock free counters

The reader/writer lock in ip_tables is acquired in the critical path of
processing packets and is one of the reasons just loading iptables can cause
a 20% performance loss. The rwlock serves two functions:

1) it prevents changes to table state (xt_replace) while table is in use.
   This is now handled by doing rcu on the xt_table. When table is
   replaced, the new table(s) are put in and the old one table(s) are freed
   after RCU period.

2) it provides synchronization when accesing the counter values.
   This is now handled by swapping in new table_info entries for each cpu
   then summing the old values, and putting the result back onto one
   cpu.  On a busy system it may cause sampling to occur at different
   times on each cpu, but no packet/byte counts are lost in the process.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Sucessfully tested on my dual quad core machine too, but iptables only (no ipv6 here)
BTW, my new "tbench 8" result is 2450 MB/s, (it was 2150 MB/s not so long ago)

Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
16 years agosungem: another error printed one too early
roel kluin [Mon, 16 Feb 2009 04:02:04 +0000 (04:02 +0000)]
sungem: another error printed one too early

Another error was printed one too early.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetlink: add NETLINK_BROADCAST_ERROR socket option
Pablo Neira Ayuso [Wed, 18 Feb 2009 01:40:43 +0000 (01:40 +0000)]
netlink: add NETLINK_BROADCAST_ERROR socket option

This patch adds NETLINK_BROADCAST_ERROR which is a netlink
socket option that the listener can set to make netlink_broadcast()
return errors in the delivery to the caller. This option is useful
if the caller of netlink_broadcast() do something with the result
of the message delivery, like in ctnetlink where it drops a network
packet if the event delivery failed, this is used to enable reliable
logging and state-synchronization. If this socket option is not set,
netlink_broadcast() only reports ESRCH errors and silently ignore
ENOBUFS errors, which is what most netlink_broadcast() callers
should do.

This socket option is based on a suggestion from Patrick McHardy.
Patrick McHardy can exchange this patch for a beer from me ;).

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoniu: Add TCAM classification configuration
Santwona Behera [Fri, 20 Feb 2009 08:58:45 +0000 (00:58 -0800)]
niu: Add TCAM classification configuration

Signed-off-by: Santwona Behera <santwona.behera@sun.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoethtool: Add RX pkt classification interface
Santwona Behera [Fri, 20 Feb 2009 08:58:13 +0000 (00:58 -0800)]
ethtool: Add RX pkt classification interface

Signed-off-by: Santwona Behera <santwona.behera@sun.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoISDN: fix sc/shmem printk format warning
Randy Dunlap [Fri, 20 Feb 2009 08:54:44 +0000 (00:54 -0800)]
ISDN: fix sc/shmem printk format warning

Fix isdn/sc/shmem.c printk format warning:

drivers/isdn/sc/shmem.c:57: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoSMSC: timeout reaches -1
Roel Kluin [Fri, 20 Feb 2009 08:52:19 +0000 (00:52 -0800)]
SMSC: timeout reaches -1

With a postfix decrement timeouts will reach -1 rather than 0, so
the error path does not appear.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoehea: Fix memory hotplug handling
Thomas Klein [Fri, 20 Feb 2009 08:42:01 +0000 (00:42 -0800)]
ehea: Fix memory hotplug handling

Added missing set_bit() to disable data transfer when a memchange
notification is handled

Signed-off-by: Thomas Klein <tklein@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosmsc9420: handle magic field of ethtool_eeprom
Steve Glendinning [Sun, 15 Feb 2009 22:55:01 +0000 (22:55 +0000)]
smsc9420: handle magic field of ethtool_eeprom

ethtool.h says the driver should set the magic field in get_eeprom and
verify it in set_eeprom.  This patch adds this functionality using an
arbitary driver-specific magic value constant (0x9420).

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosundance: missing parentheses?
Roel Kluin [Wed, 18 Feb 2009 09:19:50 +0000 (10:19 +0100)]
sundance: missing parentheses?

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosmsc9420: fix another postfixed timeout
Steve Glendinning [Mon, 16 Feb 2009 07:46:06 +0000 (07:46 +0000)]
smsc9420: fix another postfixed timeout

Roel Kluin recently fixed several instances where variables reach -1,
but 0 is tested afterwards.  This patch fixes another, so the timeout
will be correctly detected and a warning printed.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowimax/i2400m: driver loads firmware v1.4 instead of v1.3
Inaky Perez-Gonzalez [Thu, 19 Feb 2009 22:40:29 +0000 (14:40 -0800)]
wimax/i2400m: driver loads firmware v1.4 instead of v1.3

This is a one liner change to have the driver use by default the v1.4
of the i2400m firmware instead of v1.3. The v1.4 version of the
firmware has been submitted to David Woodhouse for inclusion in the
linux-firmware tree and it is already available at
http://linuxwimax.org/Download.

The reason for this change is that the 1.3 release of the user space
software and firmware has a few issues that will make it difficult to
use with currently deployed commercial networks such as Xohm and
Clearwire.

As well, the new 1.4 release of the user space software (which matches
the 1.4 firmware) has intermitent issues with the 1.3 firmware.

The 1.4 release in http://linuxwimax.org/Download has been widely
deployed and tested with the codebase in 2.6.29-rc, the 1.4 firmware
and the 1.4 user space components.

We understand it is quite late in the rc process for such a change,
but would like to ask for the change to be taken into consideration.

Alternatively, a user could always force feed a 1.4 firmware into a
driver that doesn't have this modification by:

$ cd /lib/firmware
$ mv i2400m-fw-usb-1.3.sbcf i2400m-fw-usb-1.3.real.sbcf
$ ln -sf i2400m-fw-usb-1.4.sbc i2400m-fw-usb-1.3.sbcf

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoigb: this patch addes the sr-iov enablement option via num_vfs parameter
Alexander Duyck [Fri, 20 Feb 2009 04:40:30 +0000 (20:40 -0800)]
igb: this patch addes the sr-iov enablement option via num_vfs parameter

This code adds a module parameter called num_vfs which defines if the
driver should attempt to use sr-iov and if so how many VFs should be
enabled.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoigb: Add support for enabling VFs to PF driver.
Alexander Duyck [Fri, 20 Feb 2009 04:40:07 +0000 (20:40 -0800)]
igb: Add support for enabling VFs to PF driver.

This patch adds the support to handle requests from the VF to perform
operations such as completing resets, setting/reading mac address, adding
vlans, adding multicast addresses, setting rlpml, and general
communications between the PF and all VFs.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoigb: add pf side of VMDq support
Alexander Duyck [Fri, 20 Feb 2009 04:39:44 +0000 (20:39 -0800)]
igb: add pf side of VMDq support

Add the pf portion of vmdq support.  This provides enough support so that
VMDq is enabled, and the pf is functional without enabling vfs.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoigb: add vfs_allocated_count as placeholder for number of vfs
Alexander Duyck [Fri, 20 Feb 2009 04:39:23 +0000 (20:39 -0800)]
igb: add vfs_allocated_count as placeholder for number of vfs

This is the first step in supporting sr-iov.  The vf_allocated_count value
will be 0 until we actually have vfs present.  In the meantime it
represents an offset value for the start of the queues.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoigb: update napi polling to consolidate function and return correct values
Alexander Duyck [Fri, 20 Feb 2009 04:39:04 +0000 (20:39 -0800)]
igb: update napi polling to consolidate function and return correct values

igb is currently not returning the correct values for napi.  In addition it
is doing more work than necessary since it will not exit polling until
work_done is equal to zero.

This patch makes the following changes:
1.  Consolidates msi-x and non-msi polling routines.
2.  Corrects return values for polling routines.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agox86: use the right protections for split-up pagetables
Ingo Molnar [Fri, 20 Feb 2009 07:04:13 +0000 (08:04 +0100)]
x86: use the right protections for split-up pagetables

Steven Rostedt found a bug in where in his modified kernel
ftrace was unable to modify the kernel text, due to the PMD
itself having been marked read-only as well in
split_large_page().

The fix, suggested by Linus, is to not try to 'clone' the
reference protection of a huge-page, but to use the standard
(and permissive) page protection bits of KERNPG_TABLE.

The 'cloning' makes sense for the ptes but it's a confused and
incorrect concept at the page table level - because the
pagetable entry is a set of all ptes and hence cannot
'clone' any single protection attribute - the ptes can be any
mixture of protections.

With the permissive KERNPG_TABLE, even if the pte protections
get changed after this point (due to ftrace doing code-patching
or other similar activities like kprobes), the resulting combined
protections will still be correct and the pte's restrictive
(or permissive) protections will control it.

Also update the comment.

This bug was there for a long time but has not caused visible
problems before as it needs a rather large read-only area to
trigger. Steve possibly hacked his kernel with some really
large arrays or so. Anyway, the bug is definitely worth fixing.

[ Huang Ying also experienced problems in this area when writing
  the EFI code, but the real bug in split_large_page() was not
  realized back then. ]

Reported-by: Steven Rostedt <rostedt@goodmis.org>
Reported-by: Huang Ying <ying.huang@intel.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
16 years agox86: convert to the new dynamic percpu allocator
Tejun Heo [Fri, 20 Feb 2009 07:29:09 +0000 (16:29 +0900)]
x86: convert to the new dynamic percpu allocator

Impact: use new dynamic allocator, unified access to static/dynamic
        percpu memory

Convert to the new dynamic percpu allocator.

* implement populate_extra_pte() for both 32 and 64
* update setup_per_cpu_areas() to use pcpu_setup_static()
* define __addr_to_pcpu_ptr() and __pcpu_ptr_to_addr()
* define config HAVE_DYNAMIC_PER_CPU_AREA

Signed-off-by: Tejun Heo <tj@kernel.org>
16 years agopercpu: implement new dynamic percpu allocator
Tejun Heo [Fri, 20 Feb 2009 07:29:08 +0000 (16:29 +0900)]
percpu: implement new dynamic percpu allocator

Impact: new scalable dynamic percpu allocator which allows dynamic
        percpu areas to be accessed the same way as static ones

Implement scalable dynamic percpu allocator which can be used for both
static and dynamic percpu areas.  This will allow static and dynamic
areas to share faster direct access methods.  This feature is optional
and enabled only when CONFIG_HAVE_DYNAMIC_PER_CPU_AREA is defined by
arch.  Please read comment on top of mm/percpu.c for details.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
16 years agovmalloc: add un/map_kernel_range_noflush()
Tejun Heo [Fri, 20 Feb 2009 07:29:08 +0000 (16:29 +0900)]
vmalloc: add un/map_kernel_range_noflush()

Impact: two more public map/unmap functions

Implement map_kernel_range_noflush() and unmap_kernel_range_noflush().
These functions respectively map and unmap address range in kernel VM
area but doesn't do any vcache or tlb flushing.  These will be used by
new percpu allocator.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
16 years agovmalloc: implement vm_area_register_early()
Tejun Heo [Fri, 20 Feb 2009 07:29:08 +0000 (16:29 +0900)]
vmalloc: implement vm_area_register_early()

Impact: allow multiple early vm areas

There are places where kernel VM area needs to be allocated before
vmalloc is initialized.  This is done by allocating static vm_struct,
initializing several fields and linking it to vmlist and later vmalloc
initialization picking up these from vmlist.  This is currently done
manually and if there's more than one such areas, there's no defined
way to arbitrate who gets which address.

This patch implements vm_area_register_early(), which takes vm_area
struct with flags and size initialized, assigns address to it and puts
it on the vmlist.  This way, multiple early vm areas can determine
which addresses they should use.  The only current user - alpha mm
init - is converted to use it.

Signed-off-by: Tejun Heo <tj@kernel.org>
16 years agopercpu: kill percpu_alloc() and friends
Tejun Heo [Fri, 20 Feb 2009 07:29:08 +0000 (16:29 +0900)]
percpu: kill percpu_alloc() and friends

Impact: kill unused functions

percpu_alloc() and its friends never saw much action.  It was supposed
to replace the cpu-mask unaware __alloc_percpu() but it never happened
and in fact __percpu_alloc_mask() itself never really grew proper
up/down handling interface either (no exported interface for
populate/depopulate).

percpu allocation is about to go through major reimplementation and
there's no reason to carry this unused interface around.  Replace it
with __alloc_percpu() and free_percpu().

Signed-off-by: Tejun Heo <tj@kernel.org>
16 years agoalloc_percpu: add align argument to __alloc_percpu.
Rusty Russell [Fri, 20 Feb 2009 07:29:08 +0000 (16:29 +0900)]
alloc_percpu: add align argument to __alloc_percpu.

This prepares for a real __alloc_percpu, by adding an alignment argument.
Only one place uses __alloc_percpu directly, and that's for a string.

tj: af_inet also uses __alloc_percpu(), update it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Jens Axboe <axboe@kernel.dk>
16 years agoalloc_percpu: change percpu_ptr to per_cpu_ptr
Rusty Russell [Fri, 20 Feb 2009 07:29:08 +0000 (16:29 +0900)]
alloc_percpu: change percpu_ptr to per_cpu_ptr

Impact: cleanup

There are two allocated per-cpu accessor macros with almost identical
spelling.  The original and far more popular is per_cpu_ptr (44
files), so change over the other 4 files.

tj: kill percpu_ptr() and update UP too

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: mingo@redhat.com
Cc: lenb@kernel.org
Cc: cpufreq@vger.kernel.org
Signed-off-by: Tejun Heo <tj@kernel.org>
16 years agomodule: reorder module pcpu related functions
Tejun Heo [Fri, 20 Feb 2009 07:29:07 +0000 (16:29 +0900)]
module: reorder module pcpu related functions

Impact: cleanup

Move percpu_modinit() upwards.  This is to ease further changes.

Signed-off-by: Tejun Heo <tj@kernel.org>
16 years agovmalloc: call flush_cache_vunmap() from unmap_kernel_range()
Tejun Heo [Fri, 20 Feb 2009 07:29:07 +0000 (16:29 +0900)]
vmalloc: call flush_cache_vunmap() from unmap_kernel_range()

Impact: proper vcache flush on unmap_kernel_range()

flush_cache_vunmap() should be called before pages are unmapped.  Add
a call to it in unmap_kernel_range().

Signed-off-by: Tejun Heo <tj@kernel.org>
16 years agox86: use percpu data for 4k hardirq and softirq stacks
Lai Jiangshan [Tue, 17 Feb 2009 03:46:42 +0000 (11:46 +0800)]
x86: use percpu data for 4k hardirq and softirq stacks

Impact: economize memory for large NR_CPUS

percpu data is setup earlier than irq, we can use percpu data
to economize memory.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
16 years agoALSA: pcxhr.h replace signed one-bit bitfields
Harvey Harrison [Thu, 19 Feb 2009 19:58:37 +0000 (11:58 -0800)]
ALSA: pcxhr.h replace signed one-bit bitfields

The usage and comments make it clear values of 1/0 were intended
rather than -1/0

Noticed by sparse:
sound/pci/pcxhr/pcxhr.h:100:20: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:101:22: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:102:24: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:103:21: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:104:25: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:105:20: error: dubious one-bit signed bitfield

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agox86, vmi: TSC going backwards check in vmi clocksource
Alok N Kataria [Wed, 18 Feb 2009 20:33:55 +0000 (12:33 -0800)]
x86, vmi: TSC going backwards check in vmi clocksource

Impact: fix time warps under vmware

Similar to the check for TSC going backwards in the TSC clocksource,
we also need this check for VMI clocksource.

Signed-off-by: Alok N Kataria <akataria@vmware.com>
Cc: Zachary Amsden <zach@vmware.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: stable@kernel.org
16 years ago[ARM] mv78xx0: enable eth2/eth3 on the mv78xx0 A0 development board
Lennert Buytenhek [Fri, 20 Feb 2009 01:32:30 +0000 (02:32 +0100)]
[ARM] mv78xx0: enable eth2/eth3 on the mv78xx0 A0 development board

The A0 revision of the mv78xx0 development board has four ethernet
ports, with PHY IDs 8-11, whereas the Z0 version has two, with PHY
addresses 8-9.  This patch configures the third and fourth ethernet
port to use the PHY addresses on the A0 board to enable use of those
ports -- if we are running on a Z0 board, the ge10/11 setup code in
common.c will force these back to PHYless mode.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years ago[ARM] mv78xx0: force eth2/eth3 to PHYless mode on pre-A0 silicon
Lennert Buytenhek [Fri, 20 Feb 2009 01:31:58 +0000 (02:31 +0100)]
[ARM] mv78xx0: force eth2/eth3 to PHYless mode on pre-A0 silicon

On pre-A0 revisions of the mv78xx0 SoC, the third and fourth
ethernet interface are not brought out to pins, but are internally
cross-connected, so if we run on pre-A0 silicon, we'll force eth2
and eth3 to PHYless mode.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years ago[ARM] mv78xx0: distinguish between different chip steppings
Lennert Buytenhek [Fri, 20 Feb 2009 01:31:35 +0000 (02:31 +0100)]
[ARM] mv78xx0: distinguish between different chip steppings

During boot, identify which chip stepping we're running on (determined
by looking at the first PCIe unit's device ID and revision registers),
and print a message with the details about what we found.

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years ago[ARM] Kirkwood: enable both XOR engines on the 6281 RD board
Lennert Buytenhek [Tue, 10 Feb 2009 01:11:43 +0000 (02:11 +0100)]
[ARM] Kirkwood: enable both XOR engines on the 6281 RD board

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
16 years ago[ARM] Kirkwood: MPP initialization code
Nicolas Pitre [Sat, 31 Jan 2009 03:44:20 +0000 (22:44 -0500)]
[ARM] Kirkwood: MPP initialization code

This allows for board support code to set up their MPP config if the
bootloader didn't do it all or did it wrong.  This also allows to
register usable GPIOs.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
16 years ago[ARM] Orion: make gpio /input/output validation separate
Nicolas Pitre [Mon, 2 Feb 2009 20:27:55 +0000 (15:27 -0500)]
[ARM] Orion: make gpio /input/output validation separate

Especially on Kirkwood, a couple GPIOs are actually only output capable.
Let's separate the ability to configure a GPIO as input or output to
accommodate this restriction.

Signed-off-by: Nicolas Pitre <nico@marvell.com>
16 years agoMerge branch 'for-np' of git://git.wormnet.eu/alex/ts78xx into orion/master
Nicolas Pitre [Fri, 20 Feb 2009 03:16:36 +0000 (22:16 -0500)]
Merge branch 'for-np' of git://git.wormnet.eu/alex/ts78xx into orion/master

16 years agodrm/radeon: update sarea copies of last_ variables on resume.
etienne [Thu, 19 Feb 2009 23:44:45 +0000 (09:44 +1000)]
drm/radeon: update sarea copies of last_ variables on resume.

This fixes a regression reported in bug #12613.

[airlied: not I tweaked the patch slightly and fixed it by etienne did
all the hardwork so gets authorship]

Signed-off-by: etienne <etienne.basset@numericable.fr>
Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agodrm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap.
Jesse Barnes [Wed, 11 Feb 2009 22:01:46 +0000 (14:01 -0800)]
drm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap.

This fixes potential fault at fault time if the object was unreferenced
while the mapping still existed.  Now, while the mmap_offset only lives
for the lifetime of the object, the object also stays alive while a vma
exists that needs it.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agodrm/i915: take struct mutex around fb unref
Jesse Barnes [Wed, 11 Feb 2009 21:28:14 +0000 (13:28 -0800)]
drm/i915: take struct mutex around fb unref

Need to do this in case the unref ends up doing a free.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agodrm: Use spread spectrum when the bios tells us it's ok.
Kristian Høgsberg [Sat, 14 Feb 2009 01:56:52 +0000 (20:56 -0500)]
drm: Use spread spectrum when the bios tells us it's ok.

Lifted from the DDX modesetting.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agodrm: Collapse identical i8xx_clock() and i9xx_clock().
Kristian Høgsberg [Sat, 14 Feb 2009 01:56:51 +0000 (20:56 -0500)]
drm: Collapse identical i8xx_clock() and i9xx_clock().

They used to be different.  Now they're identical.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agodrm: Bring PLL limits in sync with DDX values.
Kristian Høgsberg [Sat, 14 Feb 2009 01:56:50 +0000 (20:56 -0500)]
drm: Bring PLL limits in sync with DDX values.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agodrm: Add locking around cursor gem operations.
Kristian Høgsberg [Sat, 14 Feb 2009 01:56:49 +0000 (20:56 -0500)]
drm: Add locking around cursor gem operations.

We need to hold the struct_mutex around pinning and the phys object
operations.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
16 years agodrm: Propagate failure from setting crtc base.
Chris Wilson [Wed, 11 Feb 2009 13:25:09 +0000 (13:25 +0000)]
drm: Propagate failure from setting crtc base.

Check the error paths within intel_pipe_set_base() to first cleanup and
then report back the error.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm: Check for a NULL encoder when reverting on error path
Chris Wilson [Wed, 11 Feb 2009 16:39:21 +0000 (16:39 +0000)]
drm: Check for a NULL encoder when reverting on error path

We need to skip the connectors with a NULL encoder to match the success
path and avoid an OOPS.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: Cleanup the hws on ringbuffer constrution failure.
Chris Wilson [Wed, 11 Feb 2009 14:52:44 +0000 (14:52 +0000)]
drm/i915: Cleanup the hws on ringbuffer constrution failure.

If we fail to create the ringbuffer, then we need to cleanup the allocated
hws.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init.
Steve Aarnio [Thu, 12 Feb 2009 19:34:02 +0000 (11:34 -0800)]
drm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init.

In the case where no EDID data is read from the device, adding the
panel_fixed_mode pointer to the probed modes list causes data corruption.

If the panel_fixed_mode pointer is added to the probed modes list at
init time, a copy of the mode is added again at drm_get_modes() request
time.  Then, the panel_fixed_mode pointer is freed because it is seen as
a duplicate mode.  Unfortunately, this pointer is still stored and used
in mode_fixup().

Because the panel_fixed_mode data is copied and returned at
drm_get_modes() time, it is unnecessary to add this information at init
time.

Signed-off-by: Steve Aarnio <steve.j.aarnio@intel.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm: Release user fbs in drm_release
Kristian Høgsberg [Thu, 12 Feb 2009 19:37:56 +0000 (14:37 -0500)]
drm: Release user fbs in drm_release

Avoids leaking fbs and associated buffers on release.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Tested-by: Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: Unpin the fb on error during construction.
Chris Wilson [Wed, 11 Feb 2009 14:26:36 +0000 (14:26 +0000)]
drm/i915: Unpin the fb on error during construction.

If we fail whilst constructing the fb, then we need to unpin it as well.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: Unpin the hws if we fail to kmap.
Chris Wilson [Wed, 11 Feb 2009 14:26:34 +0000 (14:26 +0000)]
drm/i915: Unpin the hws if we fail to kmap.

A missing unpin on the error path.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: Unpin the ringbuffer if we fail to ioremap it.
Chris Wilson [Wed, 11 Feb 2009 14:26:33 +0000 (14:26 +0000)]
drm/i915: Unpin the ringbuffer if we fail to ioremap it.

A missing unpin on the error path.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: unpin for an invalid memory domain.
Chris Wilson [Wed, 11 Feb 2009 14:26:32 +0000 (14:26 +0000)]
drm/i915: unpin for an invalid memory domain.

A missing unreference and unpin after rejecting the relocation for an
invalid memory domain.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: Release and unlock on mmap_gtt error path.
Chris Wilson [Wed, 11 Feb 2009 14:26:31 +0000 (14:26 +0000)]
drm/i915: Release and unlock on mmap_gtt error path.

We failed to unlock the mutex after failing to create the mmap offset.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>
16 years agodrm/i915: Set framebuffer alignment based upon the fence constraints.
Chris Wilson [Wed, 11 Feb 2009 14:26:30 +0000 (14:26 +0000)]
drm/i915: Set framebuffer alignment based upon the fence constraints.

Set the request alignment to 0, and leave it up to i915_gem_object_pin()
to set the appropriate alignment to match the fence covering the object.

Eric Anholt mentioned that the pinning code is meant to choose the
maximum of the request alignment and that of the fence covering the
object... However currently, the pinning code will only apply the fence
constraints if the supplied alignment is 0.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@linux.ie>