commit b66696e3c0d8fc01efdbc701eba1276618332cb3 Merge: 9e74e7c a32f392 Author: Linus Torvalds Date: Mon Apr 5 09:39:11 2010 -0700 Merge branch 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc * 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: eeepc-wmi: include slab.h staging/otus: include slab.h from usbdrv.h percpu: don't implicitly include slab.h from percpu.h kmemcheck: Fix build errors due to missing slab.h include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h iwlwifi: don't include iwl-dev.h from iwl-devtrace.h x86: don't include slab.h from arch/x86/include/asm/pgtable_32.h Fix up trivial conflicts in include/linux/percpu.h due to is_kernel_percpu_address() having been introduced since the slab.h cleanup with the percpu_up.c splitup. commit 9e74e7c81a24aee66024fc477786bd1de84e293b Merge: 4946d54 d5e50da Author: Linus Torvalds Date: Mon Apr 5 09:16:37 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: module: add stub for is_module_percpu_address percpu, module: implement and use is_kernel/module_percpu_address() module: encapsulate percpu handling better and record percpu_size commit 4946d54cb55e86a156216fcfeed5568514b0830f Author: Rik van Riel Date: Mon Apr 5 12:13:33 2010 -0400 rmap: fix anon_vma_fork() memory leak Fix a memory leak in anon_vma_fork(), where we fail to tear down the anon_vmas attached to the new VMA in case setting up the new anon_vma fails. This bug also has the potential to leave behind anon_vma_chain structs with pointers to invalid memory. Reported-by: Minchan Kim Signed-off-by: Rik van Riel Signed-off-by: Linus Torvalds commit a32f3926632e71c8aa23ce32fe2625f8d5f792c2 Author: Tejun Heo Date: Mon Apr 5 11:37:59 2010 +0900 eeepc-wmi: include slab.h eeepc-wmi uses kfree() but doesn't include slab.h. Include it. Signed-off-by: Tejun Heo Cc: Yong Wang commit 336f5899d287f06d8329e208fc14ce50f7ec9698 Merge: a4ab277 db217de Author: Tejun Heo Date: Mon Apr 5 11:37:28 2010 +0900 Merge branch 'master' into export-slabh commit a4ab2773205e8b94c18625455f85e3b6bb9d7ad6 Author: Tejun Heo Date: Mon Apr 5 11:23:16 2010 +0900 staging/otus: include slab.h from usbdrv.h drivers/staging/otus/usbdrv.h users use slab facilities. Include linux/slab.h from usbdrv.h. Signed-off-by: Tejun Heo commit db217dece3003df0841bacf9556b5c06aa097dae Merge: 8ce42c8 bdd32ce Author: Linus Torvalds Date: Sun Apr 4 12:14:44 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sunxvr500: Ignore secondary output PCI devices. sparc64: Implement perf_arch_fetch_caller_regs sparc64: Update defconfig. sparc64: Fix array size reported by vmemmap_populate() sparc: Fix regset register window handling. drivers/serial/sunsu.c: Correct use after free commit 8ce42c8b7fdf4fc008a6fc7349beb8f4dd5cb774 Merge: 0121b0c 6e03bb5 Author: Linus Torvalds Date: Sun Apr 4 12:13:10 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf: Always build the powerpc perf_arch_fetch_caller_regs version perf: Always build the stub perf_arch_fetch_caller_regs version perf, probe-finder: Build fix on Debian perf/scripts: Tuple was set from long in both branches in python_process_event() perf: Fix 'perf sched record' deadlock perf, x86: Fix callgraphs of 32-bit processes on 64-bit kernels perf, x86: Fix AMD hotplug & constraint initialization x86: Move notify_cpu_starting() callback to a later stage x86,kgdb: Always initialize the hw breakpoint attribute perf: Use hot regs with software sched switch/migrate events perf: Correctly align perf event tracing buffer commit 0121b0c771f929bb5298554b70843ab46280c298 Merge: a8941b0 47a7098 Author: Linus Torvalds Date: Sun Apr 4 12:12:31 2010 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: set_cpus_allowed_ptr(): Don't use rq->migration_thread after unlock sched: Fix proc_sched_set_task() commit a8941b0ed0f1e39a4d41560c3a2e7ee37d5b6e10 Merge: d82ef02 292f60c Author: Linus Torvalds Date: Sun Apr 4 12:12:19 2010 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ring-buffer: Add missing unlock tracing: Fix lockdep warning in global_clock() commit d82ef020cf31504c816803b1def94eb5ff173363 Author: KAMEZAWA Hiroyuki Date: Fri Apr 2 09:11:29 2010 +0900 proc: pagemap: Hold mmap_sem during page walk In initial design, walk_page_range() was designed just for walking page table and it didn't require mmap_sem. Now, find_vma() etc.. are used in walk_page_range() and we need mmap_sem around it. This patch adds mmap_sem around walk_page_range(). Because /proc//pagemap's callback routine use put_user(), we have to get rid of it to do sane fix. Changelog: 2010/Apr/2 - fixed start_vaddr and end overflow Changelog: 2010/Apr/1 - fixed start_vaddr calculation - removed unnecessary cast. - removed unnecessary change in smaps. - use GFP_TEMPORARY instead of GFP_KERNEL Signed-off-by: KAMEZAWA Hiroyuki Cc: Matt Mackall Cc: KOSAKI Motohiro Cc: San Mehat Cc: Brian Swetland Cc: Dave Hansen Cc: Andrew Morton [ Fixed kmalloc failure return code as per Matt ] Signed-off-by: Linus Torvalds commit bdd32ce95f79fb5cc964cd789d7ae4500bba7c6f Author: David S. Miller Date: Sun Apr 4 01:12:50 2010 -0700 sunxvr500: Ignore secondary output PCI devices. These just represent the secondary and further heads attached to the card, and they have different sets of PCI bar registers to map. So don't try to drive them in the main driver. Reported-by: Frans van Berckel Tested-by: Frans van Berckel Signed-off-by: David S. Miller commit 954fbc8985328a3b59b5881243d3aa04a8f8da7c Author: David S. Miller Date: Sat Apr 3 23:50:59 2010 -0700 sparc64: Implement perf_arch_fetch_caller_regs We provide regs->tstate, regs->tpc, regs->tnpc and regs->u_regs[UREG_FP]. regs->tstate is necessary for: user_mode() (via perf_exclude_event()) perf_misc_flags() (via perf_prepare_sample()) regs->tpc is necessary for: perf_instruction_pointer() (via perf_prepare_sample()) and regs->u_regs[UREG_FP] is necessary for: perf_callchain() (via perf_prepare_sample()) The regs->tnpc value is provided just to be tidy. Signed-off-by: David S. Miller commit 3f6c148df42d98f0991baf4353497d380a30bc19 Author: David S. Miller Date: Sat Apr 3 16:18:32 2010 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller commit 87e8b821ed8db3dab03d96cd542e29666bf210aa Merge: 33cd9df 5e11611 Author: David S. Miller Date: Sat Apr 3 15:49:14 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 33cd9dfa3a13e3d8e41aef225a9f98169816723b Author: Ben Hutchings Date: Sat Apr 3 13:58:45 2010 -0700 sparc64: Fix array size reported by vmemmap_populate() vmemmap_populate() attempts to report the used index and total size of vmemmap_table, but it wrongly shifts the total size so that it is always shown as 0. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 6e03bb5ad363fdbe4e1e227cfb78f7978c662e18 Author: Frederic Weisbecker Date: Sat Apr 3 12:22:05 2010 +0200 perf: Always build the powerpc perf_arch_fetch_caller_regs version Now that software events use perf_arch_fetch_caller_regs() too, we need the powerpc version to be always built. Fixes the following build error: (.text+0x3210): undefined reference to `perf_arch_fetch_caller_regs' (.text+0x3324): undefined reference to `perf_arch_fetch_caller_regs' (.text+0x33bc): undefined reference to `perf_arch_fetch_caller_regs' (.text+0x33ec): undefined reference to `perf_arch_fetch_caller_regs' (.text+0xd4a0): undefined reference to `perf_arch_fetch_caller_regs' arch/powerpc/kernel/built-in.o:(.text+0xd528): more undefined references to `perf_arch_fetch_caller_regs' follow make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [sub-make] Error 2 Reported-by: Michael Ellerman Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras commit 26d80aa782e708c380a47601779d42d30bf016d6 Author: Frederic Weisbecker Date: Sat Apr 3 12:22:05 2010 +0200 perf: Always build the stub perf_arch_fetch_caller_regs version Now that software events use perf_arch_fetch_caller_regs() too, we need the stub version to be always built in for archs that don't implement it. Fixes the following build error in PARISC: kernel/built-in.o: In function `perf_event_task_sched_out': (.text.perf_event_task_sched_out+0x54): undefined reference to `perf_arch_fetch_caller_regs' Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras commit 5e11611a5d22252f3f9c169a3c9377eac0c32033 Merge: d4509e5 c6c3523 Author: Linus Torvalds Date: Fri Apr 2 19:50:11 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 5965/1: Fix soft lockup in at91 udc driver ARM: 6006/1: ARM: Use the correct NOP size in memmove for Thumb-2 kernel builds ARM: 6005/1: arm: kprobes: fix register corruption with jprobes ARM: 6003/1: removing compilation warning from pl061.h ARM: 6001/1: removing compilation warning comming from clkdev.h ARM: 6000/1: removing compilation warning comming from ARM: 5999/1: Including device.h and resource.h header files in linux/amba/bus.h ARM: 5997/1: ARM: Correct the VFPv3 detection ARM: 5996/1: ARM: Change the mandatory barriers implementation (4/4) ARM: 5995/1: ARM: Add L2x0 outer_sync() support (3/4) ARM: 5994/1: ARM: Add outer_cache_fns.sync function pointer (2/4) ARM: 5993/1: ARM: Move the outer_cache definitions into a separate file (1/4) commit d4509e5a6edf8862c18d887a642ce4994bde297d Merge: 0afa80a ed01f64 Author: Linus Torvalds Date: Fri Apr 2 19:49:50 2010 -0700 Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6 * 'merge' of git://git.secretlab.ca/git/linux-2.6: powerpc/5200: in lpbfifo, flag DMA irqs as enabled after requesting them powerpc/fsl: add device tree binding for QE firmware of/flattree: Fix unhandled OF_DT_NOP tag when unflattening the device tree commit 0afa80ab6ff9aac57f118463699cee306ad6ed8a Merge: 5193d7a b7b7fa4 Author: Linus Torvalds Date: Fri Apr 2 19:48:54 2010 -0700 Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing * 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: reiserfs: Fix locking BUG during mount failure commit 5193d7a7f500cfbbfc0de221e808208199723521 Author: Clemens Ladisch Date: Fri Apr 2 18:46:06 2010 +0200 PCI quirk: RS780/RS880: disable MSI behind the PCI bridge The missing initialization of the nb_cntl.strap_msi_enable does not seem to be the only problem that prevents MSI, so that quirk is not sufficient to enable MSI on all machines. To be safe, disable MSI unconditionally for the internal graphics and HDMI audio on these chipsets. [rjw: Added the PCI_VENDOR_ID_AI quirk.] Signed-off-by: Clemens Ladisch Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 5e123e5d9bf8c4ae44121ffe5e844adeb30ff21b Merge: 24b99d1 4da75b9 Author: Linus Torvalds Date: Fri Apr 2 19:45:05 2010 -0700 Merge branch 'kgdb-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'kgdb-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: Turn off tracing while in the debugger kgdb: use atomic_inc and atomic_dec instead of atomic_set kgdb: eliminate kgdb_wait(), all cpus enter the same way kgdbts,sh: Add in breakpoint pc offset for superh kgdb: have ebin2mem call probe_kernel_write once commit 24b99d1576e6e330c2eba534a793b6e6dcb37f6b Merge: 6da8d86 5a7aadf Author: Linus Torvalds Date: Fri Apr 2 19:44:42 2010 -0700 Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: Freezer: Fix buggy resume test for tasks frozen with cgroup freezer Freezer: Only show the state of tasks refusing to freeze commit 6da8d866d0d39e9509ff826660f6a86a6757c966 Author: Oleg Nesterov Date: Fri Apr 2 18:05:12 2010 +0200 tty: release_one_tty() forgets to put pids release_one_tty(tty) can be called when tty still has a reference to pgrp/session. In this case we leak the pid. Signed-off-by: Oleg Nesterov Reported-by: Catalin Marinas Reported-and-tested-by: Tetsuo Handa Acked-by: Linus Torvalds Acked-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit b0f86f5a169c758a82b0e23eef6795356f6d5a25 Author: Borislav Petkov Date: Mon Mar 29 18:47:55 2010 +0200 perf, probe-finder: Build fix on Debian Building chokes with: In file included from /usr/include/gelf.h:53, from /usr/include/elfutils/libdw.h:53, from util/probe-finder.h:61, from util/probe-finder.c:39: /usr/include/libelf.h:98: error: expected specifier-qualifier-list before 'off64_t' [...] Signed-off-by: Borislav Petkov Acked-by: Masami Hiramatsu LKML-Reference: <20100329164755.GA16034@aftab> Signed-off-by: Ingo Molnar commit 4da75b9ceac6939cd76830ec9581bef5bb398ad3 Author: Jason Wessel Date: Fri Apr 2 11:57:18 2010 -0500 kgdb: Turn off tracing while in the debugger The kernel debugger should turn off kernel tracing any time the debugger is active and restore it on resume. Signed-off-by: Jason Wessel Reviewed-by: Steven Rostedt commit ae6bf53e0255c8ab04b6fe31806e318432570e3c Author: Jason Wessel Date: Fri Apr 2 14:58:18 2010 -0500 kgdb: use atomic_inc and atomic_dec instead of atomic_set Memory barriers should be used for the kgdb cpu synchronization. The atomic_set() does not imply a memory barrier. Reported-by: Will Deacon Signed-off-by: Jason Wessel commit 62fae312197a8fbcd3727261d59f5a6bd0dbf158 Author: Jason Wessel Date: Fri Apr 2 11:47:02 2010 -0500 kgdb: eliminate kgdb_wait(), all cpus enter the same way This is a kgdb architectural change to have all the cpus (master or slave) enter the same function. A cpu that hits an exception (wants to be the master cpu) will call kgdb_handle_exception() from the trap handler and then invoke a kgdb_roundup_cpu() to synchronize the other cpus and bring them into the kgdb_handle_exception() as well. A slave cpu will enter kgdb_handle_exception() from the kgdb_nmicallback() and set the exception state to note that the processor is a slave. Previously the salve cpu would have called kgdb_wait(). This change allows the debug core to change cpus without resuming the system in order to inspect arch specific cpu information. Signed-off-by: Jason Wessel commit cad08acebf4b7d993b0cefb9af67208c48fb9a5e Author: Jason Wessel Date: Fri Apr 2 11:31:35 2010 -0500 kgdbts,sh: Add in breakpoint pc offset for superh The kgdb test suite mimics the behavior of gdb. For the sh architecture the pc must be decremented by 2 for software breakpoint. Signed-off-by: Jason Wessel Acked-by: Paul Mundt commit a0279bd58060ccedbd414edf97d50cfa3778c370 Author: Jason Wessel Date: Fri Apr 2 11:33:29 2010 -0500 kgdb: have ebin2mem call probe_kernel_write once Rather than call probe_kernel_write() one byte at a time, process the whole buffer locally and pass the entire result in one go. This way, architectures that need to do special handling based on the length can do so, or we only end up calling memcpy() once. [sonic.zhang@analog.com: Reported original problem and preliminary patch] Signed-off-by: Jason Wessel Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit b1dcc03cb8ee0f5718491e8c518257238dc64e00 Author: Tom Zanussi Date: Thu Apr 1 23:58:25 2010 -0500 perf/scripts: Tuple was set from long in both branches in python_process_event() This is a fix to the signed/unsigned field handling in the Python scripting engine, based on a patch from Roel Kluin. Basically, Python wants to use a PyInt (which is internally a long) if it can i.e. if the value will fit into that type. If not, it stores it into a PyLong, which isn't actually a long, but an arbitrary-precision integer variable. The code below is similar to to what Python does internally, and it seems to work as expected on the x86 and x86_64 sytems I tested it on. Signed-off-by: Tom Zanussi Cc: Arnaldo Carvalho de Melo Cc: Roel Kluin Cc: Frederic Weisbecker Cc: rostedt@goodmis.org LKML-Reference: <1270184305.6422.10.camel@tropicana> Signed-off-by: Ingo Molnar commit 47a70985e5c093ae03d8ccf633c70a93761d86f2 Author: Oleg Nesterov Date: Tue Mar 30 18:58:29 2010 +0200 sched: set_cpus_allowed_ptr(): Don't use rq->migration_thread after unlock Trivial typo fix. rq->migration_thread can be NULL after task_rq_unlock(), this is why we have "mt" which should be used instead. Signed-off-by: Oleg Nesterov Signed-off-by: Peter Zijlstra LKML-Reference: <20100330165829.GA18284@redhat.com> Signed-off-by: Ingo Molnar commit 269484a492d9177072ee11ec8c9bff71d256837a Author: Mike Galbraith Date: Tue Mar 30 11:09:53 2010 +0200 sched: Fix proc_sched_set_task() Latencytop clearing sum_exec_runtime via proc_sched_set_task() breaks task_times(). Other places in kernel use nvcsw and nivcsw, which are being cleared as well, Clear task statistics only. Reported-by: Török Edwin Signed-off-by: Mike Galbraith Cc: Hidetoshi Seto Cc: Arjan van de Ven Signed-off-by: Peter Zijlstra LKML-Reference: <1269940193.19286.14.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 8bb39f9aa068262732fe44b965d7a6eb5a5a7d67 Author: Mike Galbraith Date: Fri Mar 26 11:11:33 2010 +0100 perf: Fix 'perf sched record' deadlock perf sched record can deadlock a box should the holder of handle->data->lock take an interrupt, and then attempt to acquire an rq lock held by a CPU trying to acquire the same lock. Disable interrupts. CPU0 CPU1 sched event with rq->lock held grab handle->data->lock spin on handle->data->lock interrupt try to grab rq->lock Reported-by: Li Zefan Signed-off-by: Mike Galbraith Tested-by: Li Zefan Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1269598293.6174.8.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 257ef9d21f1b008a6c7425544b36641c4325a922 Author: Torok Edwin Date: Wed Mar 17 12:07:16 2010 +0200 perf, x86: Fix callgraphs of 32-bit processes on 64-bit kernels When profiling a 32-bit process on a 64-bit kernel, callgraph tracing stopped after the first function, because it has seen a garbage memory address (tried to interpret the frame pointer, and return address as a 64-bit pointer). Fix this by using a struct stack_frame with 32-bit pointers when the TIF_IA32 flag is set. Note that TIF_IA32 flag must be used, and not is_compat_task(), because the latter is only set when the 32-bit process is executing a syscall, which may not always be the case (when tracing page fault events for example). Signed-off-by: Török Edwin Signed-off-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: "H. Peter Anvin" Cc: Paul Mackerras Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org LKML-Reference: <1268820436-13145-1-git-send-email-edwintorok@gmail.com> Signed-off-by: Ingo Molnar commit b38b24ead33417146e051453d04bf60b8d2d7e25 Author: Peter Zijlstra Date: Tue Mar 23 19:31:15 2010 +0100 perf, x86: Fix AMD hotplug & constraint initialization Commit 3f6da39 ("perf: Rework and fix the arch CPU-hotplug hooks") moved the amd northbridge allocation from CPUS_ONLINE to CPUS_PREPARE_UP however amd_nb_id() doesn't work yet on prepare so it would simply bail basically reverting to a state where we do not properly track node wide constraints - causing weird perf results. Fix up the AMD NorthBridge initialization code by allocating from CPU_UP_PREPARE and installing it from CPU_STARTING once we have the proper nb_id. It also properly deals with the allocation failing. Signed-off-by: Peter Zijlstra [ robustify using amd_has_nb() ] Signed-off-by: Stephane Eranian LKML-Reference: <1269353485.5109.48.camel@twins> Signed-off-by: Ingo Molnar commit 85257024096a96fc5c00ce59d685f62bbed3ad95 Author: Peter Zijlstra Date: Tue Mar 23 19:30:52 2010 +0100 x86: Move notify_cpu_starting() callback to a later stage Because we need to have cpu identification things done by the time we run CPU_STARTING notifiers. ( This init ordering will be relied on by the next fix. ) Signed-off-by: Peter Zijlstra LKML-Reference: <1269353485.5109.48.camel@twins> Signed-off-by: Ingo Molnar commit 50d11d190afa4e21284b735bb0a092036f298f0b Merge: 42be79e ab310b5 Author: Ingo Molnar Date: Fri Apr 2 19:29:17 2010 +0200 Merge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent commit 483f64c430ad981188d865ee635f3f7a469f0b12 Merge: bc53ba2 c565c54 Author: Linus Torvalds Date: Fri Apr 2 08:18:02 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Add NOGET quirk for Quanta Pixart touchscreen HID: fix oops in gyration_event() commit bc53ba2918bef821dec3528397bc49cd55291e56 Merge: 42be79e be97d75 Author: Linus Torvalds Date: Fri Apr 2 07:33:38 2010 -0700 Merge branch 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix up the SH-3 build for recent TLB changes. sh: export return_address() symbol. sh: Enable the mmu in start_secondary() sh: Fix FDPIC binary loader arch/sh/kernel: Use set_cpus_allowed_ptr sh: Update ecovec_defconfig USB gadget r8a66597-udc.c: duplicated include sh: update the TLB replacement counter for entry wiring. commit be97d758e5728099e95fe229866d5c6c900d3092 Author: Paul Mundt Date: Fri Apr 2 16:13:27 2010 +0900 sh: Fix up the SH-3 build for recent TLB changes. While the MMUCR.URB and ITLB/UTLB differentiation works fine for all SH-4 and later TLBs, these features are absent on SH-3. This splits out local_flush_tlb_all() in to SH-4 and PTEAEX copies while restoring the old SH-3 one, subsequently fixing up the build. This will probably want some further reordering and tidying in the future, but that's out of scope at present. Signed-off-by: Paul Mundt commit 5dd6ef5050c5012267e2b84f3d82ba85cdb5ca32 Author: Paul Mundt Date: Fri Apr 2 16:02:33 2010 +0900 sh: export return_address() symbol. This is needed with some of the tracing code built as modules, so provide the export. Signed-off-by: Paul Mundt commit 42be79e37e264557f12860fa4cc84b4de3685954 Merge: 445c682 d668046 Author: Linus Torvalds Date: Thu Apr 1 09:19:42 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (76 commits) drm/radeon/kms: enable ACPI powermanagement mode on radeon gpus. drm/radeon/kms: rs400/480 should set common registers. drm/radeon/kms: add sanity check to wptr. drm/radeon/kms/evergreen: get DP working drm/radeon/kms: add hw_i2c module option drm/radeon/kms: use new pre/post_xfer i2c bit algo hooks drm/radeon/kms: disable MSI on IGP chips drm/radeon/kms: display watermark updates (v2) drm/radeon/kms/dp: disable training pattern on the sink at the end of link training drm/radeon/kms: minor fixes for eDP with LCD* device tags (v2) drm/radeon/kms/dp: remove extraneous training complete call drm/radeon/kms/atom: minor fixes to transmitter setup drm/radeon/kms: Only restrict BO to visible VRAM size when pinning to VRAM. drm: fix build error when SYSRQ is disabled drm/radeon/kms: fix macbookpro connector quirk drm/radeon/r6xx/r7xx: further safe reg clean up drm/radeon: bump the UMS driver version for r6xx/r7xx const buffer support drm/radeon/kms: bump the version for r6xx/r7xx const buffer support drm/radeon/r6xx/r7xx: CS parser fixes drm/radeon/kms: fix some typos in r6xx/r7xx hpd setup ... Fix up MSI-related conflicts in drivers/gpu/drm/radeon/radeon_irq_kms.c commit 445c682b93479c06d1b062b63ed79202f3ed5503 Merge: c7681f4 ca3865b Author: Linus Torvalds Date: Thu Apr 1 09:14:20 2010 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (35 commits) microblaze: Support word copying in copy_tofrom_user microblaze: Print early printk information to log buffer microblaze: head.S typo fix microblaze: Use MICROBLAZE_TLB_SIZE in asm code microblaze: Kconfig Fix - pci microblaze: Adding likely macros microblaze: Add .type and .size to ASM functions microblaze: Fix TLB macros microblaze: Use instruction with delay slot microblaze: Remove additional resr and rear loading microblaze: Change register usage for ESR and EAR microblaze: Prepare work for optimization in exception code microblaze: Add DEBUG option microblaze: Support systems without lmb bram microblaze: uaccess: Sync strlen, strnlen, copy_to/from_user microblaze: uaccess: Unify __copy_tofrom_user microblaze: uaccess: Move functions to generic location microblaze: uaccess: Fix put_user for noMMU microblaze: uaccess: Fix get_user macro for noMMU microblaze: uaccess: fix clear_user for noMMU kernel ... commit c7681f4637df65082aeee1ea1ff0479607d71982 Merge: b95c35e ee027e4 Author: Linus Torvalds Date: Thu Apr 1 09:13:57 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops asus-laptop: fix warning in asus_handle_init commit b95c35e76b29ba812e5dabdd91592e25ec640e93 Author: Oleg Nesterov Date: Thu Apr 1 15:13:57 2010 +0200 oom: fix the unsafe usage of badness() in proc_oom_score() proc_oom_score(task) has a reference to task_struct, but that is all. If this task was already released before we take tasklist_lock - we can't use task->group_leader, it points to nowhere - it is not safe to call badness() even if this task is ->group_leader, has_intersects_mems_allowed() assumes it is safe to iterate over ->thread_group list. - even worse, badness() can hit ->signal == NULL Add the pid_alive() check to ensure __unhash_process() was not called. Also, use "task" instead of task->group_leader. badness() should return the same result for any sub-thread. Currently this is not true, but this should be changed anyway. Signed-off-by: Oleg Nesterov Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit ca3865bae5ff86f5670edc9beebbd1f58c29de85 Author: Michal Simek Date: Mon Mar 22 20:31:26 2010 +0100 microblaze: Support word copying in copy_tofrom_user Word copying is used only for aligned addresses. Here is space for improving to use any better copying technique. Look at memcpy implementation. Signed-off-by: Michal Simek commit 6059b3cbeb27a38e3ca9ac9d2827f7b5be32e2ba Author: Michal Simek Date: Wed Mar 24 11:07:10 2010 +0100 microblaze: Print early printk information to log buffer If early printk console is not enabled then all messages are written to log buffer. Signed-off-by: Michal Simek commit 3f2189358666b6fa09d41f527be07b3cc8026050 Author: Michal Simek Date: Wed Mar 24 11:06:23 2010 +0100 microblaze: head.S typo fix I forget to change register name in comments. Signed-off-by: Michal Simek commit 0691c97d74cbdfd49333ef01939ecaef158ebe1b Author: Michal Simek Date: Wed Mar 24 10:09:17 2010 +0100 microblaze: Use MICROBLAZE_TLB_SIZE in asm code TLB size was hardcoded in asm code. This patch brings ability to change TLB size only in one place. (mmu.h). Signed-off-by: Michal Simek commit 9373dd6ab140f1e6f2e62a9f0bf473987a0b62dc Author: Michal Simek Date: Tue Mar 23 15:46:10 2010 +0100 microblaze: Kconfig Fix - pci I forget to remove pci Kconfig option. Signed-off-by: Michal Simek commit 78ebfa884bcef125464399f8d1cb05937bfeb6e1 Author: Michal Simek Date: Tue Mar 23 15:37:02 2010 +0100 microblaze: Adding likely macros On the base on GCOV analytics is helpful to add likely/unlikely macros. Signed-off-by: Michal Simek commit 13851966da54be8e37863aa93ee2c8f3d3a3186a Author: Michal Simek Date: Tue Mar 23 08:09:32 2010 +0100 microblaze: Add .type and .size to ASM functions Cachegrind analysis need this fix to be able to log asm functions. Signed-off-by: Michal Simek commit e84452dd9ff517bd3028f6444d000727cd39e783 Author: Michal Simek Date: Mon Mar 22 14:54:35 2010 +0100 microblaze: Fix TLB macros To be able to do trace TLB operations. Signed-off-by: Michal Simek commit 3765d6958dfff34a15588e23c5d1274e1f6ba200 Author: Michal Simek Date: Mon Mar 22 20:43:27 2010 +0100 microblaze: Use instruction with delay slot Sync labels. Signed-off-by: Michal Simek commit bd1637d63e82aaf732ffbe907ba887fa12e82df4 Author: Michal Simek Date: Fri Mar 19 12:50:35 2010 +0100 microblaze: Remove additional resr and rear loading RESR and REAR uses the same regs in whole file. Signed-off-by: Michal Simek commit b175bcfe31cba846d8bfa35a3a4820667f7af383 Author: Michal Simek Date: Fri Mar 19 12:44:40 2010 +0100 microblaze: Change register usage for ESR and EAR This change synchronize register usage in code. ESR = R4 EAR = R3 Signed-off-by: Michal Simek commit 7a6bbdc9304b45cc759e03623cbe63d81aff7337 Author: Michal Simek Date: Mon Mar 22 20:37:23 2010 +0100 microblaze: Prepare work for optimization in exception code Any sync branch must follow mts instructions not mfs. Signed-off-by: Michal Simek commit 708e7153d6fc4d2e5fe15c6ccc5d2907fe8a9c8d Author: Michal Simek Date: Thu Mar 18 07:23:04 2010 +0100 microblaze: Add DEBUG option Disable debug option in asm code. Signed-off-by: Michal Simek commit ee68f1745e7734a55c8bf680f6f464205f1f15da Author: Michal Simek Date: Mon Mar 15 08:48:27 2010 +0100 microblaze: Support systems without lmb bram When the system has no lmb bram, main memory should be start from zero because of microblaze vectors. DTS fragment could look like: DDR2_SDRAM: memory@0 { device_type = "memory"; reg = < 0x0 0x10000000 >; } ; Then you have to setup CONFIG_KERNEL_BASE_ADDR=0 which caused that kernel physical start address will be zero. On reset vector place will be jump to 0x100 and on 0x100 starts kernel text. You have to solve how to load the kernel before cpu starts. Tested with XMD. Signed-off-by: Michal Simek commit 89ae9753aef160c2f7bcecec21a7c4a6bc4c9b9b Author: Michal Simek Date: Mon Mar 22 18:49:45 2010 +0100 microblaze: uaccess: Sync strlen, strnlen, copy_to/from_user Last sync. Signed-off-by: Michal Simek commit 94804a9b3d0e62096a52fb62afcea32b899380c5 Author: Michal Simek Date: Mon Mar 22 18:39:20 2010 +0100 microblaze: uaccess: Unify __copy_tofrom_user Move to generic location. Signed-off-by: Michal Simek commit cca79120c253451220e589a104bdeb57e4901871 Author: Michal Simek Date: Mon Mar 22 18:23:45 2010 +0100 microblaze: uaccess: Move functions to generic location noMMU and MMU use them. Signed-off-by: Michal Simek commit ef4e277b5d86e56db650137de0b1cd16ded32498 Author: Michal Simek Date: Mon Mar 22 16:22:41 2010 +0100 microblaze: uaccess: Fix put_user for noMMU Here is small regression on dhrystone tests and I think that on all benchmarking tests. It is due to better checking mechanism in put_user macro Signed-off-by: Michal Simek commit 3a6d77245efe062993284fd1c2f7510d9a90efe1 Author: Michal Simek Date: Mon Mar 8 10:52:24 2010 +0100 microblaze: uaccess: Fix get_user macro for noMMU Use unified version. Signed-off-by: Michal Simek commit 527bdb52d50ddbc8dd64369e464d7a08bc7eb83c Author: Michal Simek Date: Mon Mar 22 16:02:59 2010 +0100 microblaze: uaccess: fix clear_user for noMMU kernel Previous patches fixed only MMU version and this is the first patch for noMMU kernel Signed-off-by: Michal Simek commit 40e11e3380d4bd14bb3d85c7e7b863075a6a8d86 Author: Michal Simek Date: Mon Mar 8 09:38:02 2010 +0100 microblaze: uaccess: Fix strncpy_from_user function Generic implementation for noMMU and MMU version Signed-off-by: Michal Simek commit 4270690bd4b1420a8d634ea31953a1c4def2a44a Author: Michal Simek Date: Mon Mar 22 15:56:32 2010 +0100 microblaze: uaccess: fix copy_from_user macro copy_from_user macro also use copy_tofrom_user function Signed-off-by: Michal Simek commit cc5a428b7ae9c2d6233b5bf6b3e6fbb24ddd1ed5 Author: Michal Simek Date: Mon Mar 22 15:52:53 2010 +0100 microblaze: uaccess: copy_to_user unification noMMU and MMU kernel will use copy copy_tofrom_user asm implementation. Signed-off-by: Michal Simek commit 0dcb409de73edeb221aed38d9ff8640cf41ff0de Author: Michal Simek Date: Mon Mar 22 15:46:56 2010 +0100 microblaze: uaccess: sync put/get/clear_user macros Add macro description and resort. Signed-off-by: Michal Simek commit 8b651aa4a7c047b848f3a7bdf0aba9449e6dc3d3 Author: Michal Simek Date: Mon Mar 22 15:25:12 2010 +0100 microblaze: uaccess: fix put_user and get_user macros Use FIXUP macros and resort them. Signed-off-by: Michal Simek commit c77a9c4bb7b6e26400853c92d74ccc697c5e2f7e Author: Michal Simek Date: Fri Mar 5 18:03:53 2010 +0100 microblaze: uaccess: fix __get_user_asm macro It is used __FIXUP_SECTION and __EX_TABLE_SECTION macros. Signed-off-by: Michal Simek commit 40b1156db09ab2df48aa4970ddf4a27a17246f1f Author: Michal Simek Date: Fri Mar 5 16:50:01 2010 +0100 microblaze: uaccess: fix clean user macro This is the first patch which does uaccess unification. I choosed to do several patches to be able to use bisect in future if any fault happens. Signed-off-by: Michal Simek commit 60a729f7bb936a9ab82b430de70a1952f560adf3 Author: Michal Simek Date: Fri Mar 5 15:49:53 2010 +0100 microblaze: move noMMU __range_ok function to uaccess.h The same noMMU and MMU functions should be placed in one file. Signed-off-by: Michal Simek commit 357bc3c9284b2fb201786176e8187d2273323bc1 Author: Michal Simek Date: Fri Mar 5 15:37:57 2010 +0100 microblaze: Move exception_table_entry upward Just sort to be able remove whole block. Signed-off-by: Michal Simek commit 40db0834337ef0cde586feeb5588e45f0349098b Author: Michal Simek Date: Fri Mar 5 15:34:12 2010 +0100 microblaze: Remove segment.h I would like to use asm-generic uaccess.h where are segment macros defined. This is just first step. Signed-off-by: Michal Simek commit 4009819cf90c26e3ec7b0ed949d5ff37c568e197 Author: Michal Simek Date: Wed Mar 3 17:03:21 2010 +0100 microblaze: Remove memset in free_init_pages We don't need to do it. Signed-off-by: Michal Simek commit 6fa114e0f18fb33b66fd5ee9037052830198a8c4 Author: Arun Bhanu Date: Wed Mar 17 16:06:04 2010 +0800 microblaze: Makefile cleanups If CONFIG_INITRAMFS_SOURCE is set, "scripts/gen_initramfs_list.sh" checks if the cpio image exists. Remove the duplicate check from the Makefile. Remove the "clean-kernel" variable which is unused in the Makefile and is not used by the Kbuild. Signed-off-by: Arun Bhanu Signed-off-by: Michal Simek commit 8a8804f1ab2d3226bfa9f9a64c4316f9a01f8ee9 Author: Arun Bhanu Date: Wed Mar 17 16:06:03 2010 +0800 microblaze: Fix Makefile to delete build generated files 'make clean' does not to delete the following build generated file: arch/microblaze/boot/linux.bin.ub 'make mrproper' does not to delete the following build generated files: arch/microblaze/boot/simpleImage.* Fix the Makefile to delete these build generated files. See [1] for a discussion on why simpleImage.* files are deleted with 'make mrproper' and not with 'make clean'. [1] http://lkml.org/lkml/2010/3/12/96 Signed-off-by: Arun Bhanu Signed-off-by: Michal Simek commit 699d17bc14edceb710998349fa74e66be3042372 Author: Arun Bhanu Date: Fri Mar 12 16:31:40 2010 +0800 microblaze: Add a missing single quote to make 'make help' happy 'make ARCH=microblaze help' fails with the following error due to a missing single quote. /bin/sh: -c: line 0: unexpected EOF while looking for matching `'' /bin/sh: -c: line 1: syntax error: unexpected end of file make: *** [help] Error 2 Signed-off-by: Arun Bhanu Signed-off-by: Michal Simek commit 0c4ec16b86e6a823bc6e9fbe08a724d517eb3c24 Author: Steven J. Magnani Date: Wed Feb 24 14:54:15 2010 -0600 microblaze: Fix "kstack=" parsing The "kstack=" command line parameter is not parsed correctly. All proper values are interpreted as zero. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit ab310b5edb8b601bcb02491ed6f7676da4fd1757 Author: Jason Wessel Date: Tue Mar 30 14:05:07 2010 -0500 x86,kgdb: Always initialize the hw breakpoint attribute It is required to call hw_breakpoint_init() on an attr before using it in any other calls. This fixes the problem where kgdb will sometimes fail to initialize on x86_64. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: 2.6.33 LKML-Reference: <1269975907-27602-1-git-send-email-jason.wessel@windriver.com> Signed-off-by: Frederic Weisbecker commit e49a5bd38159dfb1928fd25b173bc9de4bbadb21 Author: Frederic Weisbecker Date: Mon Mar 22 19:40:03 2010 +0100 perf: Use hot regs with software sched switch/migrate events Scheduler's task migration events don't work because they always pass NULL regs perf_sw_event(). The event hence gets filtered in perf_swevent_add(). Scheduler's context switches events use task_pt_regs() to get the context when the event occured which is a wrong thing to do as this won't give us the place in the kernel where we went to sleep but the place where we left userspace. The result is even more wrong if we switch from a kernel thread. Use the hot regs snapshot for both events as they belong to the non-interrupt/exception based events family. Unlike page faults or so that provide the regs matching the exact origin of the event, we need to save the current context. This makes the task migration event working and fix the context switch callchains and origin ip. Example: perf record -a -e cs Before: 10.91% ksoftirqd/0 0 [k] 0000000000000000 | --- (nil) perf_callchain perf_prepare_sample __perf_event_overflow perf_swevent_overflow perf_swevent_add perf_swevent_ctx_event do_perf_sw_event __perf_sw_event perf_event_task_sched_out schedule run_ksoftirqd kthread kernel_thread_helper After: 23.77% hald-addon-stor [kernel.kallsyms] [k] schedule | --- schedule | |--60.00%-- schedule_timeout | wait_for_common | wait_for_completion | blk_execute_rq | scsi_execute | scsi_execute_req | sr_test_unit_ready | | | |--66.67%-- sr_media_change | | media_changed | | cdrom_media_changed | | sr_block_media_changed | | check_disk_change | | cdrom_open v2: Always build perf_arch_fetch_caller_regs() now that software events need that too. They don't need it from modules, unlike trace events, so we keep the EXPORT_SYMBOL in trace_event_perf.c Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Ingo Molnar Cc: David Miller commit eb1e79611cc9bfe21978230e3521e77ea2d7874a Author: Frederic Weisbecker Date: Tue Mar 23 00:08:59 2010 +0100 perf: Correctly align perf event tracing buffer The trace event buffer used by perf to record raw sample events is typed as an array of char and may then not be aligned to 8 by alloc_percpu(). But we need it to be aligned to 8 in sparc64 because we cast this buffer into a random structure type built by the TRACE_EVENT() macro to store the traces. So if a random 64 bits field is accessed inside, it may be not under an expected good alignment. Use an array of long instead to force the appropriate alignment, and perform a compile time check to ensure the size in byte of the buffer is a multiple of sizeof(long) so that its actual size doesn't get shrinked under us. This fixes unaligned accesses reported while using perf lock in sparc 64. Suggested-by: David Miller Suggested-by: Tejun Heo Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Ingo Molnar Cc: David Miller Cc: Steven Rostedt commit d668046c13024d74af7d04a124ba55f406380fe7 Author: Dave Airlie Date: Wed Mar 31 13:41:35 2010 +1000 drm/radeon/kms: enable ACPI powermanagement mode on radeon gpus. Some GPUs have an APM/ACPI PM mode selection switch and some BIOSes set this to APM. We really want this in ACPI mode for Linux. Signed-off-by: Dave Airlie commit 08a370fa758fae7e387274ca3571ce625d7f829b Author: Dave Airlie Date: Wed Mar 31 13:42:50 2010 +1000 drm/radeon/kms: rs400/480 should set common registers. These GPUs should be setting these registers up also. Signed-off-by: Dave Airlie commit 9e5786bd14cb9ffe29ebe66d41cedf03311b0d30 Author: Dave Airlie Date: Wed Mar 31 13:38:56 2010 +1000 drm/radeon/kms: add sanity check to wptr. If we resume in a bad way, we'll get 0xffffffff in wptr, and then oops with no console. This just adds a sanity check so that we can avoid the oops and hopefully get more details out of people's systems. Signed-off-by: Dave Airlie commit fb668c2fed628179c7aa409a0de39a2b96bed18c Author: Alex Deucher Date: Wed Mar 31 14:42:11 2010 -0400 drm/radeon/kms/evergreen: get DP working Need to enable the VID stream after link training Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b857bd292223f54aaae3693c82fa7299a99991cd Author: David S. Miller Date: Wed Mar 31 18:05:05 2010 -0700 sparc: Fix regset register window handling. We have to adjust 'reg_window' down by 16 becuase the 'pos' iterator we'll use to index into the stack slots will be between 16 and 32. Signed-off-by: David S. Miller commit ee027e4aed3077c4bb3b585c67528eec0e7222df Author: Yong Wang Date: Sun Mar 21 10:26:34 2010 +0800 eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops Add a WMI driver for Eee PC laptops. Currently it only supports hotkeys. Signed-off-by: Yong Wang Signed-off-by: Matthew Garrett Acked-by: Dmitry Torokhov commit 167215118a88dd56a1ab8c8d33e279d6d40f57b6 Author: Corentin Chary Date: Tue Mar 2 22:24:12 2010 +0100 asus-laptop: fix warning in asus_handle_init In function 'asus_laptop_get_info': warning: passing argument 3 of 'asus_handle_init' from incompatible pointer type note: expected 'char **' but argument is of type 'const char **' Introduced by commit c21085108a02e1b838c34f3650c8cc9fbd178615 ("asus-laptop: fix style problems reported by checkpath.pl"). Signed-off-by: Corentin Chary Signed-off-by: Matthew Garrett commit 30d1872d9eb3663b4cf7bdebcbf5cd465674cced Author: Nikolaus Schulz Date: Thu Apr 1 02:21:10 2010 +0900 fat: fix buffer overflow in vfat_create_shortname() When using the string representation of a random counter as part of the base name, ensure that it is no longer than 4 bytes. Since we are repeatedly decrementing the counter in a loop until we have found a unique base name, the counter may wrap around zero; therefore, it is not enough to mask its higher bits before entering the loop, this must be done inside the loop. [hirofumi@mail.parknet.co.jp: use snprintf()] Signed-off-by: Nikolaus Schulz Cc: stable@kernel.org Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit e2b0a8e1e697dbcd62574a32f4f96151d21bdd36 Author: Alex Deucher Date: Wed Mar 17 02:07:37 2010 -0400 drm/radeon/kms: add hw_i2c module option Turn off hw i2c by default except for mm i2c which is hw only until we sort out the remaining prescale issues on older chips. hw i2c can be enabled with hw_i2c=1. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ac1aade6876465060ebf9a71675dcb7305f0bafa Author: Alex Deucher Date: Sun Mar 14 12:22:44 2010 -0400 drm/radeon/kms: use new pre/post_xfer i2c bit algo hooks This allows us to remove the internal bit algo bus used by the radeon i2c algo. We now register a radeon algo adapter if the gpio line is hw capable and the hw inplementation is available, otherwise we register a bit algo adapter. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3595be778d8cb887f0e0575ef0a0c1a094d120bb Merge: c414a11 220bf99 Author: Dave Airlie Date: Wed Mar 31 14:55:14 2010 +1000 Merge branch 'v2.6.34-rc2' into drm-linus commit c414a117c6094c3f86b533f97beaf45ef9075f03 Author: Alex Deucher Date: Tue Mar 30 17:22:32 2010 -0400 drm/radeon/kms: disable MSI on IGP chips Doesn't seem to work reliably and the pci quirks don't always work. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f46c01208da1881591e3f55ca77d37f54469f8e4 Author: Alex Deucher Date: Wed Mar 31 00:33:27 2010 -0400 drm/radeon/kms: display watermark updates (v2) - Add module option to force the display priority 0 = auto, 1 = normal, 2 = high - Default to high on r3xx/r4xx/rv515 chips Fixes flickering problems during heavy acceleration due to underflow to the display controllers - Fill in minimal support for RS600 v2 - update display priority when bandwidth is updated so the user can change the parameter at runtime and it will take affect on the next modeset. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3b01a1191fe76bd11e5743eceed7c25d8157239e Author: Alex Deucher Date: Tue Mar 30 02:03:48 2010 -0400 drm/radeon/kms/dp: disable training pattern on the sink at the end of link training Seems to have gotten lost in the evergreen merge. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 9f998ad7e92a1653b6b396b1278e75560a8be519 Author: Alex Deucher Date: Mon Mar 29 21:37:08 2010 -0400 drm/radeon/kms: minor fixes for eDP with LCD* device tags (v2) Some systems have LCD* rather than DFP* device tags in the bios for eDP connectors; notably the new apple iMac. This fixes things up so eDP connectors with either tag will work. v2: fix typo Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7f768957f407f7b8c8793eedaf7512049d092f29 Author: Alex Deucher Date: Mon Mar 29 14:06:10 2010 -0400 drm/radeon/kms/dp: remove extraneous training complete call Looks like a copy/paste typo from when evergreen support was added. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d9c9fe3622d15e7e84121ffedef60f4080ab4f03 Author: Alex Deucher Date: Mon Mar 29 17:39:44 2010 -0400 drm/radeon/kms/atom: minor fixes to transmitter setup - 8 lane links are not valid for DP - remove unused num var Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3ca82da3ebe019facd611184385897fa614e6b9e Author: Michel Dänzer Date: Fri Mar 26 19:18:55 2010 +0000 drm/radeon/kms: Only restrict BO to visible VRAM size when pinning to VRAM. This prevented radeon.test=1 from testing transfers from/to GTT beyond the visible VRAM size. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit b8c40d6269d5e515341599b2e395f2dab4490d74 Author: Randy Dunlap Date: Thu Mar 25 18:29:05 2010 +0000 drm: fix build error when SYSRQ is disabled Fix build error when CONFIG_MAGIC_SYSRQ is not enabled: drivers/gpu/drm/drm_fb_helper.c:915: error: 'sysrq_drm_fb_helper_restore_op' undeclared (first use in this function) drivers/gpu/drm/drm_fb_helper.c:929: error: 'sysrq_drm_fb_helper_restore_op' undeclared (first use in this function) Signed-off-by: Randy Dunlap Signed-off-by: Dave Airlie commit e1e8a5dd4faf356b5d31c620c5787eaa83ee831d Author: Alex Deucher Date: Fri Mar 26 17:14:37 2010 -0400 drm/radeon/kms: fix macbookpro connector quirk Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 97586c422b38c4c12e2b5011d59c401d03d09ed6 Author: Alex Deucher Date: Fri Mar 26 19:36:33 2010 -0400 drm/radeon/r6xx/r7xx: further safe reg clean up - remove a few more drm only regs - remove sampler, alu, bool, loop constant regs. They are set via separate packet3's already Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6bb118012ab0462d5ebc3ab17eb278416532cf15 Author: Alex Deucher Date: Fri Mar 26 15:26:51 2010 -0400 drm/radeon: bump the UMS driver version for r6xx/r7xx const buffer support Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit fdb43528d4697b0e81e27a0d6539e744c2965cf2 Author: Alex Deucher Date: Fri Mar 26 15:24:14 2010 -0400 drm/radeon/kms: bump the version for r6xx/r7xx const buffer support Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5f77df368c84d0a4a5913c8c78f0c6fa0b0db674 Author: Alex Deucher Date: Fri Mar 26 14:52:32 2010 -0400 drm/radeon/r6xx/r7xx: CS parser fixes - Drop some more safe regs taht userspace shouldn't hit - Constant base regs need relocs. This allows us to use constant buffers rather than the constant register file. Also we don't want userspace to be able to set arbitrary mc base values for the const caches. - Track SQ_CONFIG so we know whether userspace is using the cfile or constant buffers. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5898b1f33c881fe1352464efd15faf7d26513b98 Author: Alex Deucher Date: Wed Mar 24 13:57:29 2010 -0400 drm/radeon/kms: fix some typos in r6xx/r7xx hpd setup Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d8fe2fa90ea9df694dcc022271391e7547772e1b Author: Alex Deucher Date: Wed Mar 24 18:45:32 2010 -0400 drm/radeon/r600: remove some regs are not safe regs for command buffers Only the drm should be touching them. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit da58405860b992d2bb21ebae5d685fe3204dd3f0 Author: Chris Wilson Date: Thu Mar 18 11:56:54 2010 +0000 drm: Return ENODEV if the inode mapping changes Replace a BUG_ON with an error code in the event that the inode mapping changes between calls to drm_open. This may happen for instance if udev is loaded subsequent to the original opening of the device: [ 644.291870] kernel BUG at drivers/gpu/drm/drm_fops.c:146! [ 644.291876] invalid opcode: 0000 [#1] SMP [ 644.291882] last sysfs file: /sys/kernel/uevent_seqnum [ 644.291888] [ 644.291895] Pid: 7276, comm: lt-cairo-test-s Not tainted 2.6.34-rc1 #2 N150/N210/N220 /N150/N210/N220 [ 644.291903] EIP: 0060:[] EFLAGS: 00210283 CPU: 0 [ 644.291912] EIP is at drm_open+0x4b1/0x4e2 [ 644.291918] EAX: f72d8d18 EBX: f790a400 ECX: f73176b8 EDX: 00000000 [ 644.291923] ESI: f790a414 EDI: f790a414 EBP: f647ae20 ESP: f647adfc [ 644.291929] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 644.291937] Process lt-cairo-test-s (pid: 7276, ti=f647a000 task=f73f5c80 task.ti=f647a000) [ 644.291941] Stack: [ 644.291945] 00000000 f7bb7400 00000080 f6451100 f73176b8 f6479214 f6451100 f73176b8 [ 644.291957] <0> c1297ce0 f647ae34 c11c6c04 f73176b8 f7949800 00000000 f647ae54 c1080ac5 [ 644.291969] <0> f7949800 f6451100 00000000 f6451100 f73176b8 f6452780 f647ae70 c107d1e6 [ 644.291982] Call Trace: [ 644.291991] [] ? drm_stub_open+0x8a/0xb8 [ 644.292000] [] ? chrdev_open+0xef/0x106 [ 644.292008] [] ? __dentry_open+0xd4/0x1a6 [ 644.292015] [] ? nameidata_to_filp+0x31/0x45 [ 644.292022] [] ? chrdev_open+0x0/0x106 [ 644.292030] [] ? do_last+0x346/0x423 [ 644.292037] [] ? do_filp_open+0x190/0x415 [ 644.292046] [] ? handle_mm_fault+0x214/0x710 [ 644.292053] [] ? do_sys_open+0x4d/0xe9 [ 644.292061] [] ? do_page_fault+0x211/0x23f [ 644.292068] [] ? sys_open+0x23/0x2b [ 644.292075] [] ? sysenter_do_call+0x12/0x26 [ 644.292079] Code: 89 f0 89 55 dc e8 8d 96 0a 00 8b 45 e0 8b 55 dc 83 78 04 01 75 28 8b 83 18 02 00 00 85 c0 74 0f 8b 4d ec 3b 81 ac 00 00 00 74 13 <0f> 0b eb fe 8b 4d ec 8b 81 ac 00 00 00 89 83 18 02 00 00 89 f0 [ 644.292143] EIP: [] drm_open+0x4b1/0x4e2 SS:ESP 0068:f647adfc [ 644.292175] ---[ end trace 2ddd476af89a60fa ]--- Signed-off-by: Chris Wilson Cc: stable@kernel.org Signed-off-by: Dave Airlie commit fcbc451ba1948fba967198bd150ecbd10bbb7075 Author: Pauli Nieminen Date: Fri Mar 19 07:44:33 2010 +0000 drm/radeon/kms: Fix NULL pointer dereference if memory allocation failed. When there is allocation failure in radeon_cs_parser_relocs parser->nrelocs is not cleaned. This causes NULL pointer defeference in radeon_cs_parser_fini when clean up code is trying to loop over the relocation array and free the objects. Fix adds a check for a possible NULL pointer in clean up code. Signed-off-by: Pauli Nieminen Cc: stable@kernel.org Signed-off-by: Dave Airlie commit f9274562026558ab54a29331cf13e9ebec8cc890 Author: Jerome Glisse Date: Wed Mar 17 14:44:29 2010 +0000 drm/radeon/kms: avoid possible oops (call gart_fini before gart_disable) radeon_gart_fini might call GART unbind callback function which might try to access GART table but if gart_disable is call first the GART table will be unmapped so any access to it will oops. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 97f23b3d85a4d734a8584dade3a34579931c8f8d Author: Dave Airlie Date: Fri Mar 19 10:33:44 2010 +1000 drm/radeon/kms: don't print error on -ERESTARTSYS. We can get this if the user moves the mouse when we are waiting to move some stuff around in the validate. Don't fail. Cc: stable@kernel.org Signed-off-by: Dave Airlie commit a084e6ee6e64a76f1a9665d527203cdab7d6048f Author: Alex Deucher Date: Thu Mar 18 01:04:01 2010 -0400 drm/radeon/kms/atom: make sure tables are valid (v2) Check that atom cmd and data tables are valid before using them. (v2) - fix some whitespace errors noticed by Rafał Miłecki - check a few more cases Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit c1bcad9d16831859373d8f579fa1e146409f9960 Author: Alex Deucher Date: Wed Mar 17 19:50:59 2010 -0400 drm/radeon/kms: remove lvds quirks - no longer needed with the latest new pll algo fixes. - also don't use lcd pll limits. They don't seem to work well for all systems. If we have a case where they are useful, we can set the flag for that case. fixes fdo bug 27083 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b2f8ccd84059f7d0c3e4f67d577abca391bc1868 Author: Alex Deucher Date: Sun Mar 21 11:09:24 2010 -0400 drm/radeon/kms: fix display bandwidth setup on rs4xx I missed rs4xx in 7f1e613daf0fdd0884316ab25a749db3c671329e Fixes fdo bug 27219. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f95df9ca6896978108201a77422a1ae2cdc595ec Author: Alex Deucher Date: Sun Mar 21 14:02:25 2010 -0400 drm/radeon/kms: never treat rs4xx as AGP RS4xx+ IGP chips use an internal gart, however, some of them have the agp cap bits set in their pci configs. Make sure to clear the AGP flag as AGP will not work with them. Should fix fdo bug 27225 Signed-off-by: Alex Deucher cc: stable@kernel.org Signed-off-by: Dave Airlie commit f47299c55a837af1727bc601e1fc0fa33adaeda5 Author: Alex Deucher Date: Tue Mar 16 20:54:38 2010 -0400 drm/radeon/kms: display watermark fixes - rs780/880 were using the wrong bandwidth functions - convert r1xx-r4xx to use the same pm sclk/mclk structs as r5xx+ - move bandwidth setup to a common function Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d5e50daf92df8afcb701fd717b301985691e802f Author: Randy Dunlap Date: Wed Mar 31 11:33:42 2010 +0900 module: add stub for is_module_percpu_address Fix build for CONFIG_MODULES not enabled by providing a stub for is_module_percpu_address(). kernel/lockdep.c:605: error: implicit declaration of function 'is_module_percpu_address' Signed-off-by: Randy Dunlap Signed-off-by: Tejun Heo commit 9e7b414edbf5e037c1462bbd8676465ed2ae0ac3 Author: Alex Deucher Date: Tue Mar 16 17:08:06 2010 -0400 drm/radeon/kms: init rdev->num_crtc at asic init Replace hardcoded numbers with rdev->num_crtc. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 06abdb0ec6b91f634631404012c4d646389e9e0b Author: Alex Deucher Date: Mon Mar 15 01:36:32 2010 -0400 drm/radeon/kms/pm: fix typo in power table parsing Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f867c60def7a8dcd86657fd38a8920a4354f305e Author: Alex Deucher Date: Fri Mar 5 14:50:37 2010 -0500 drm/radeon/kms: gfx init fixes for r6xx/r7xx This fixes some issues with the last gfx init patch. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 57f50d70e27f99a9a785c760b2123cdf6a68e2de Author: Alex Deucher Date: Sun Mar 14 16:31:36 2010 -0400 drm/radeon/kms/pm: fix segfault in clock code Make sure we have a crtc assigned to the encoder before dereferencing it. Signed-off-by: Alex Deucher commit 29fb52ca78b4e265ec6c626b0c7b2927953949cf Author: Alex Deucher Date: Thu Mar 11 10:01:17 2010 -0500 drm/radeon/kms: expose thermal/fan i2c buses Look up i2c bus in the power table and expose it. You'll need to load a hwmon driver for any chips on the bus, this patch just exposes the bus. Signed-off-by: Alex Deucher commit b7b7fa43103a9fb30dbcc60cbd5161fdfc25f904 Author: Jeff Mahoney Date: Mon Mar 29 15:12:39 2010 -0400 reiserfs: Fix locking BUG during mount failure Commit 8ebc423238341b52912c7295b045a32477b33f09 (reiserfs: kill-the-BKL) introduced a bug in the mount failure case. The error label releases the lock before calling journal_release_error, but it requires that the lock be held. do_journal_release unlocks and retakes it. When it releases it without it held, we trigger a BUG(). The error_alloc label skips the unlock since the lock isn't held yet but none of the other conditions that are clean up exist yet either. This patch returns immediately after the kzalloc failure and moves the reiserfs_write_unlock after the journal_release_error call. This was reported in https://bugzilla.novell.com/show_bug.cgi?id=591807 Reported-by: Thomas Siedentopf Signed-off-by: Jeff Mahoney Cc: Thomas Siedentopf Cc: Andrew Morton Cc: 2.6.33.x Signed-off-by: Frederic Weisbecker commit de380b55f92986c1a84198149cb71b7228d15fbd Author: Tejun Heo Date: Wed Mar 24 17:06:43 2010 +0900 percpu: don't implicitly include slab.h from percpu.h percpu.h has always been including slab.h to get k[mz]alloc/free() for UP inline implementation. percpu.h being used by very low level headers including module.h and sched.h, this meant that a lot files unintentionally got slab.h inclusion. Lee Schermerhorn was trying to make topology.h use percpu.h and got bitten by this implicit inclusion. The right thing to do is break this ultimately unnecessary dependency. The previous patch added explicit inclusion of either gfp.h or slab.h to the source files using them. This patch updates percpu.h such that slab.h is no longer included from percpu.h. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Cc: Ingo Molnar Cc: Lee Schermerhorn commit ea5a9f0c3447889abceb7482c391bb977472eab9 Author: Randy Dunlap Date: Tue Mar 30 03:01:14 2010 +0900 kmemcheck: Fix build errors due to missing slab.h mm/kmemcheck.c:69: error: dereferencing pointer to incomplete type mm/kmemcheck.c:69: error: 'SLAB_NOTRACK' undeclared (first use in this function) mm/kmemcheck.c:82: error: dereferencing pointer to incomplete type mm/kmemcheck.c:94: error: dereferencing pointer to incomplete type mm/kmemcheck.c:94: error: dereferencing pointer to incomplete type mm/kmemcheck.c:94: error: 'SLAB_DESTROY_BY_RCU' undeclared (first use in this function) Signed-off-by: Randy Dunlap Signed-off-by: Tejun Heo commit 5a0e3ad6af8660be21ca98a971cd00f331318c05 Author: Tejun Heo Date: Wed Mar 24 17:04:11 2010 +0900 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo Guess-its-ok-by: Christoph Lameter Cc: Ingo Molnar Cc: Lee Schermerhorn commit ed391f4ebf8f701d3566423ce8f17e614cde9806 Author: Tejun Heo Date: Tue Mar 23 15:55:39 2010 +0900 iwlwifi: don't include iwl-dev.h from iwl-devtrace.h iwl-devtrace.h is used to declare and define trace points and including iwl-dev.h from the file, which in turn includes other generic headers, can lead to problems like generating duplicate copies of generic trace points depending on the order of includes. Don't include iwl-dev.h from iwl-devtrace.h but include it from its users - iwl-io.h and iwl-devtrace.c. Signed-off-by: Tejun Heo Acked-by: Reinette Chatre Cc: Zhu Yi Cc: Intel Linux Wireless Cc: Ingo Molnar commit 57f4c226d1e095a2db20c691c3cf089188fe1c5d Author: Tejun Heo Date: Tue Mar 23 15:32:53 2010 +0900 x86: don't include slab.h from arch/x86/include/asm/pgtable_32.h Including slab.h from x86 pgtable_32.h creates a troublesome dependency chain w/ ftrace enabled. The following chain leads to inclusion of pgtable_32.h from define_trace.h. trace/define_trace.h trace/ftrace.h linux/ftrace_event.h linux/ring_buffer.h linux/mm.h asm/pgtable.h asm/pgtable_32.h slab.h itself defines trace hooks via linux/sl[aou]b_def.h linux/kmemtrace.h trace/events/kmem.h If slab.h is not included before define_trace.h is included, this leads to duplicate definitions of kmemtrace hooks or other include dependency problems. pgtable_32.h doesn't need slab.h to begin with. Don't include it from there. Signed-off-by: Tejun Heo Acked-by: Pekka Enberg Acked-by: Christoph Lameter Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin commit c4a3987fa075b2d15ebc3d59b01fb7ed403cd3e1 Author: Julia Lawall Date: Mon Mar 29 22:33:28 2010 -0700 drivers/serial/sunsu.c: Correct use after free The of_iounmap is at the out_unmap label, but at that point up has already been freed. The free cannot be moved to the out_unmap label, because that label is reachable from cases where up should not be freed. So the call to of_iounmap is just duplicated, and the goto converted to a return. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression x,e; identifier f; iterator I; statement S; @@ *kfree(x); ... when != &x when != x = e when != I(x,...) S *x->f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 292f60c0c4ab44aa2d589ba03c12e64a3b3c5e38 Author: Julia Lawall Date: Mon Mar 29 17:37:02 2010 +0200 ring-buffer: Add missing unlock In some error handling cases the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irq (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall LKML-Reference: Signed-off-by: Steven Rostedt commit e36673ec5126f15a8cddf6049aede7bdcf484c26 Author: Li Zefan Date: Wed Mar 24 10:57:37 2010 +0800 tracing: Fix lockdep warning in global_clock() # echo 1 > events/enable # echo global > trace_clock ------------[ cut here ]------------ WARNING: at kernel/lockdep.c:3162 check_flags+0xb2/0x190() ... ---[ end trace 3f86734a89416623 ]--- possible reason: unannotated irqs-on. ... There's no reason to use the raw_local_irq_save() in trace_clock_global. The local_irq_save() version is fine, and does not cause the bug in lockdep. Acked-by: Peter Zijlstra Signed-off-by: Li Zefan LKML-Reference: <4BA97FA1.7030606@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit c6c352371c1ce486a62f4eb92e545b05cfcef76b Author: Harro Haan Date: Mon Mar 1 17:38:37 2010 +0100 ARM: 5965/1: Fix soft lockup in at91 udc driver Fix a potential soft lockup in the AT91 UDC driver by ensuring that the UDC clock is enabled inside the interrupt handler. If the UDC clock is not enabled then the UDC registers cannot be written to and the interrupt cannot be cleared or masked. Note that this patch (and other parts of the existing AT91 UDC driver) is potentially racy for preempt-rt kernels, but is okay for mainline. For more info see: http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/09cdb3b4/attachment.el http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/8443a1e4/attachment.el Signed-off-by: Ryan Mallon Acked-by: Harro Haan Tested-by: Remy Bohmer Acked-by: Andrew Victor Cc: David Brownell Signed-off-by: Russell King commit fd522a8dec11a08b5fdd23982193808e268be19e Author: Catalin Marinas Date: Mon Mar 29 10:29:46 2010 +0100 ARM: 6006/1: ARM: Use the correct NOP size in memmove for Thumb-2 kernel builds When compiling the kernel to Thumb-2, using a 16-bit NOP in the memmove() implementation causes the preceding ADD PC instruction to branch incorrectly in the middle of a 32-bit LDR or STR instruction. The memmove() code is now similar to the memcpy() template. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 782a0fd16723bfc0e765d789e82853d5dc424e76 Author: Mika Westerberg Date: Mon Mar 29 06:59:16 2010 +0100 ARM: 6005/1: arm: kprobes: fix register corruption with jprobes Current implementation of jprobes allocates empty pt_regs from the stack which is then passed to kprobe_handler() and eventually to singlestep(). Now when instruction being simulated is STMFD (like in normal function prologues without CONFIG_FRAME_POINTER), stores using SP actually write over top of the fabricated pt_regs structure. This can be reproduced for example by using LKDTM module: # modprobe lkdtm # mount -t debugfs none /sys/kernel/debug # echo PANIC > /sys/kernel/debug/provoke-crash/INT_HW_IRQ_EN after this, it fails with corrupted registers (before the requested crash would occur): lkdtm: Crash point INT_HW_IRQ_EN of type PANIC hit, trigger in 9 rounds lkdtm: Crash point INT_HW_IRQ_EN of type PANIC hit, trigger in 8 rounds Internal error: Oops - undefined instruction: 0 [#1] last sysfs file: /sys/devices/platform/serial8250.0/sleep_timeout Modules linked in: lkdtm CPU: 0 Not tainted (2.6.34-rc2 #69) PC is at irq_desc+0x1638/0xeeb0 LR is at 0x25 pc : [] lr : [<00000025>] psr: c80a0013 sp : ce94bd60 ip : c050b3e8 fp : a0000013 r10: c0aa453c r9 : cf5d4000 r8 : ce9a1822 r7 : c050b424 r6 : 00000025 r5 : c039d8f8 r4 : c050b3e8 r3 : 00000001 r2 : cf4d0440 r1 : c039d8f8 r0 : 00000020 Flags: NZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c5387d Table: 8e804019 DAC: 00000015 Process sh (pid: 496, stack limit = 0xce94a2e8) Stack: (0xce94bd60 to 0xce94c000) [...] Code: 000002cd 00000000 00000000 00000001 (dead4ead) ---[ end trace 2b46d5f2b682f370 ]--- Kernel panic - not syncing: Fatal exception in interrupt This patch allocates enough space (2 * sizeof(struct pt_regs)) from the stack to prevent such corruption. Signed-off-by: Mika Westerberg Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 367d6acceaacff1adc44f121543effb9c060e575 Author: viresh kumar Date: Mon Mar 29 05:29:56 2010 +0100 ARM: 6003/1: removing compilation warning from pl061.h pl061.h is using u8 type. including in pl061.h to avoid warning. Signed-off-by: Viresh Kumar Acked-by: Baruch Siach Signed-off-by: Russell King commit 55a07517edbf15b83f323644edf346726eccd7e0 Author: viresh kumar Date: Mon Mar 29 05:58:51 2010 +0100 ARM: 6001/1: removing compilation warning comming from clkdev.h clkdev.h is using struct device *. Due to this compilation warning is comming. Removing this warning. Signed-off-by: Viresh Kumar Signed-off-by: Russell King commit aedceb2a490bae56f9d7e80be480421e1cf22ce0 Author: viresh kumar Date: Mon Mar 29 05:29:57 2010 +0100 ARM: 6000/1: removing compilation warning comming from irq.h is using struct pt_regs *. Due to this compilation warning is comming. Removing this warning by adding declaration of struct pt_regs. Signed-off-by: Viresh Kumar Signed-off-by: Russell King commit c36207a4624f15020f2918324405c1c88a5d4cbc Author: viresh kumar Date: Mon Mar 29 05:28:32 2010 +0100 ARM: 5999/1: Including device.h and resource.h header files in linux/amba/bus.h linux/amba/bus.h have dependencies on linux/device.h and linux/resource.h, but it doesn't include them. We get compilation errors in our files which include bus.h but doesn't include device.h and resource.h. This patch includes device.h and resource.h in linux/amba/bus.h file. Signed-off-by: Viresh Kumar Acked-by: Linux Walleij Signed-off-by: Russell King commit c565c54d9bf336ec9cd22288d3aa4fb6e372e727 Author: Anisse Astier Date: Mon Mar 29 16:20:06 2010 +0200 HID: Add NOGET quirk for Quanta Pixart touchscreen Add the NOGET quirk for the Quanta optical touchscreen present on MSI AE2220, Otherwise, the hid-quanta driver timeouts at load time: drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed quanta-touch 0003:0408:3001.0003: timeout initializing reports input: PixArt Imaging Inc. Optical Touch Screen as /class/input/input7 quanta-touch 0003:0408:3001.0003: input: USB HID v1.10 Device [PixArt Imaging Inc. Optical Touch Screen] on usb-0000:00:06.0-2/input0 Signed-off-by: Anisse Astier Signed-off-by: Jiri Kosina commit 10fad5e46f6c7bdfb01b1a012380a38e3c6ab346 Author: Tejun Heo Date: Wed Mar 10 18:57:54 2010 +0900 percpu, module: implement and use is_kernel/module_percpu_address() lockdep has custom code to check whether a pointer belongs to static percpu area which is somewhat broken. Implement proper is_kernel/module_percpu_address() and replace the custom code. On UP, percpu variables are regular static variables and can't be distinguished from them. Always return %false on UP. Signed-off-by: Tejun Heo Acked-by: Peter Zijlstra Cc: Rusty Russell Cc: Ingo Molnar commit 259354deaaf03d49a02dbb9975d6ec2a54675672 Author: Tejun Heo Date: Wed Mar 10 18:56:10 2010 +0900 module: encapsulate percpu handling better and record percpu_size Better encapsulate module static percpu area handling so that code outsidef of CONFIG_SMP ifdef doesn't deal with mod->percpu directly and add mod->percpu_size and record percpu_size in it. Both percpu fields are compiled out on UP. While at it, mark mod->percpu w/ __percpu. This is to prepare for is_module_percpu_address(). Signed-off-by: Tejun Heo Acked-by: Rusty Russell commit 4bea3418c737891894b9d3d3e9f8bbd67d66fa38 Author: Matt Fleming Date: Sun Mar 28 20:08:25 2010 +0000 sh: Enable the mmu in start_secondary() For the boot, enable_mmu() is called from setup_arch() but we don't call setup_arch() for any of the other cpus. So turn on the non-boot cpu's mmu inside of start_secondary(). I noticed this bug on an SMP board when trying to map I/O memory (smsc911x registers) into the kernel address space. Since the Address Translation bit in MMUCR wasn't set, accessing the virtual address where the smsc911x registers were supposedly mapped actually performed a physical address access. Signed-off-by: Matt Fleming Cc: stable@kernel.org Signed-off-by: Paul Mundt commit d5ab780305bb6d60a7b5a74f18cf84eb6ad153b1 Author: Andrew Stubbs Date: Mon Mar 29 12:04:19 2010 +0900 sh: Fix FDPIC binary loader Ensure that the aux table is properly initialized, even when optional features are missing. Without this, the FDPIC loader did not work. Signed-off-by: Andrew Stubbs Cc: stable@kernel.org Signed-off-by: Paul Mundt commit 59a2f7d9fd41c68b7013797e82b8f40fc154ccae Author: Julia Lawall Date: Fri Mar 26 22:03:49 2010 +0000 arch/sh/kernel: Use set_cpus_allowed_ptr Use set_cpus_allowed_ptr rather than set_cpus_allowed. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression E1,E2; @@ - set_cpus_allowed(E1, cpumask_of_cpu(E2)) + set_cpus_allowed_ptr(E1, cpumask_of(E2)) @@ expression E; identifier I; @@ - set_cpus_allowed(E, I) + set_cpus_allowed_ptr(E, &I) // Signed-off-by: Julia Lawall Signed-off-by: Paul Mundt commit 5f6c477a35852c6bfa42474537c582f65bdcf9db Author: Yusuke Goda Date: Mon Mar 29 02:36:54 2010 +0000 sh: Update ecovec_defconfig Signed-off-by: Yusuke Goda Signed-off-by: Paul Mundt commit 325ffc3633f1c30ef89d98d619f7e1497366e77c Author: Catalin Marinas Date: Fri Mar 26 15:44:57 2010 +0100 ARM: 5997/1: ARM: Correct the VFPv3 detection A CPU has VFPv3 hardware if the FPSID[19:16] bits are 2 or more. Currently Linux was only checking for 3 or more. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit ed01f64b831481762437c8eedddcca8481dc7f67 Author: Roman Fietze Date: Fri Mar 26 22:09:57 2010 -0600 powerpc/5200: in lpbfifo, flag DMA irqs as enabled after requesting them This patch avoids unbalanced enable/disable messages for the DMA interrupts when running the 5200 platform SCLPC/BestComm driver in DMA mode. Signed-off-by: Roman Fietze Signed-off-by: Grant Likely commit 95d2c8ef08a902953d1ea2cad14928909e91e5d1 Author: Timur Tabi Date: Fri Mar 26 22:09:57 2010 -0600 powerpc/fsl: add device tree binding for QE firmware Define a binding for embedding a QE firmware blob into the device tree. Also define a new property for the QE node that links to a firmware node. Signed-off-by: Timur Tabi Signed-off-by: Grant Likely commit 7f809e1f8e2f46c486bfe529579a16a28daacd62 Author: Jason Gunthorpe Date: Fri Mar 26 22:09:56 2010 -0600 of/flattree: Fix unhandled OF_DT_NOP tag when unflattening the device tree NOPs within the property section are skipped, but NOPs between OF_DT_END_NODE and OF_DT_BEGIN_NODE were not. My firmware NOPs out entire nodes depending on various environment parameters. of_scan_flat_dt already handles NOP more generally. Signed-off-by: Jason Gunthorpe Signed-off-by: Grant Likely commit 5a7aadfe2fcb0f69e2acc1fbefe22a096e792fc9 Author: Matt Helsley Date: Fri Mar 26 23:51:44 2010 +0100 Freezer: Fix buggy resume test for tasks frozen with cgroup freezer When the cgroup freezer is used to freeze tasks we do not want to thaw those tasks during resume. Currently we test the cgroup freezer state of the resuming tasks to see if the cgroup is FROZEN. If so then we don't thaw the task. However, the FREEZING state also indicates that the task should remain frozen. This also avoids a problem pointed out by Oren Ladaan: the freezer state transition from FREEZING to FROZEN is updated lazily when userspace reads or writes the freezer.state file in the cgroup filesystem. This means that resume will thaw tasks in cgroups which should be in the FROZEN state if there is no read/write of the freezer.state file to trigger this transition before suspend. NOTE: Another "simple" solution would be to always update the cgroup freezer state during resume. However it's a bad choice for several reasons: Updating the cgroup freezer state is somewhat expensive because it requires walking all the tasks in the cgroup and checking if they are each frozen. Worse, this could easily make resume run in N^2 time where N is the number of tasks in the cgroup. Finally, updating the freezer state from this code path requires trickier locking because of the way locks must be ordered. Instead of updating the freezer state we rely on the fact that lazy updates only manage the transition from FREEZING to FROZEN. We know that a cgroup with the FREEZING state may actually be FROZEN so test for that state too. This makes sense in the resume path even for partially-frozen cgroups -- those that really are FREEZING but not FROZEN. Reported-by: Oren Ladaan Signed-off-by: Matt Helsley Cc: stable@kernel.org Signed-off-by: Rafael J. Wysocki commit 4f598458ea4450f53e8ed929ee4e66b3404a7286 Author: Xiaotian Feng Date: Wed Mar 10 22:59:13 2010 +0100 Freezer: Only show the state of tasks refusing to freeze show_state will dump all tasks state, so if freezer failed to freeze any task, kernel will dump all tasks state and flood the dmesg log. This patch makes freezer only show state of tasks refusing to freeze. Signed-off-by: Xiaotian Feng Acked-by: Pavel Machek Acked-by: David Rientjes Signed-off-by: Rafael J. Wysocki commit 72f878cc6f324ecc2ca00ff2f9c0dc2c168cd4cc Author: Andrea Gelmini Date: Thu Mar 25 18:22:40 2010 +0100 USB gadget r8a66597-udc.c: duplicated include drivers/usb/gadget/r8a66597-udc.c: linux/err.h is included more than once. Signed-off-by: Andrea Gelmini Signed-off-by: Paul Mundt commit 4539282dbc20fe612113c8f267d51a90d46a7f50 Author: Matt Fleming Date: Fri Mar 26 11:37:16 2010 +0900 sh: update the TLB replacement counter for entry wiring. Presently the TLB wiring code depends on MMUCR.URB for working out where to place the wired entry, but fails to take the replacment counter in to consideration. This fixes up the wiring logic and ensures that wired entries remain so. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e7c5650f6067f65f8e961394f376d4862808d0d2 Author: Catalin Marinas Date: Wed Mar 24 16:49:54 2010 +0100 ARM: 5996/1: ARM: Change the mandatory barriers implementation (4/4) The mandatory barriers (mb, rmb, wmb) are used even on uniprocessor systems for things like ordering Normal Non-cacheable memory accesses with DMA transfer (via Device memory writes). The current implementation uses dmb() for mb() and friends but this is not sufficient. The DMB only ensures the relative ordering of the observability of accesses by other processors or devices acting as masters. In case of DMA transfers started by writes to device memory, the relative ordering is not ensured because accesses to slave ports of a device are not considered observable by the DMB definition. A DSB is required for the data to reach the main memory (even if mapped as Normal Non-cacheable) before the device receives the notification to begin the transfer. Furthermore, some L2 cache controllers (like L2x0 or PL310) buffer stores to Normal Non-cacheable memory and this would need to be drained with the outer_sync() function call. The patch also allows platforms to define their own mandatory barriers implementation by selecting CONFIG_ARCH_HAS_BARRIERS and providing a mach/barriers.h file. Note that the SMP barriers are unchanged (being DMBs as before) since they are only guaranteed to work with Normal Cacheable memory. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 23107c542068b2b94390aa333f6b330af64961e4 Author: Catalin Marinas Date: Wed Mar 24 16:48:53 2010 +0100 ARM: 5995/1: ARM: Add L2x0 outer_sync() support (3/4) The L2x0 cache controllers need to explicitly drain their write buffer even for Normal Noncacheable memory accesses. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 319f551a0a167b49b5bbb4a9ff4802046a572bc5 Author: Catalin Marinas Date: Wed Mar 24 16:47:53 2010 +0100 ARM: 5994/1: ARM: Add outer_cache_fns.sync function pointer (2/4) This patch introduces the outer_cache_fns.sync function pointer together with the OUTER_CACHE_SYNC config option that can be used to drain the write buffer of the outer cache. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 33f663ff9186da1bcc88dc7830b3a632bd472da5 Author: Catalin Marinas Date: Wed Mar 24 16:46:52 2010 +0100 ARM: 5993/1: ARM: Move the outer_cache definitions into a separate file (1/4) To avoid #include collisions with subsequent patches in the series, this patch moves the outer_cache definitions to a separate asm/outercache.h file. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit d8e4ebf8b603bdcd091540e6b5bddf0dec10d516 Author: Jiri Kosina Date: Tue Mar 23 16:32:37 2010 +0100 HID: fix oops in gyration_event() Fix oops caused by dereferencing field->hidinput in cases where the device hasn't been claimed by hid-input. Reported-by: Andreas Demmer Signed-off-by: Jiri Kosina commit 2b497502b7cef167288a08737403a5a6cec697f0 Author: Daniel Vetter Date: Thu Mar 11 21:19:18 2010 +0000 drm/radeon: collect r100 asic related declarations in radeon_asic.h This just an example to show what radeon_asic.h might be good for. Before Jerome kills it ;) Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit e6990375ef4ec449994991034238f1ffab8a3a1a Author: Daniel Vetter Date: Thu Mar 11 21:19:17 2010 +0000 drm/radeon: include radeon_asic.h in the asic specific files In essence this creates a home for all asic specific declarations in radeon_asic.h Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 9479c54f0dfa63dad1ecfca897f51693c7c2fa65 Author: Daniel Vetter Date: Thu Mar 11 21:19:16 2010 +0000 drm/radeon: unconfuse return value of radeon_asic->clear_surface_reg No one cares about it, so set it to void. Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 48e7a5f19fe0c10ebb35be7acf383366d139ee0a Author: Daniel Vetter Date: Thu Mar 11 21:19:15 2010 +0000 drm/radeon: move asic structs to radeon_asic.c With these static structs gone, radeon_asic.h is a real header file and can be used as such. Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 0a10c85129c2d53cfd6db81677628e2fe58b5928 Author: Daniel Vetter Date: Thu Mar 11 21:19:14 2010 +0000 drm/radeon: create radeon_asic.c And move asic init plus a few related functions from radeon_device.c to it. This file will hold all the asic structures in the future, but atm they're still stuck in radeon_asic.h. Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 1fc59eda33e55f8787901e3501d695bf5ecec48b Merge: d5e5ded d0d6cb8 Author: Dave Airlie Date: Mon Mar 15 11:08:56 2010 +1000 Merge branch 'radeon-for-airlied' of ../linux-2.6 into drm-linus * 'radeon-for-airlied' of ../linux-2.6: drm/radeon/kms: prepare for more reclocking operations drm/radeon/kms: switch to condition waiting for reclocking drm/radeon/r600: add missing license and comments to r600_blit_shaders.c drm/radeon/kms: improve coding style a little drm/radeon/kms: remove dead audio/HDMI code drm/radeon/kms: enable audio engine on DCE32 drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUs drm/radeon/kms: clean assigning HDMI blocks to encoders drm/radeon/kms: clean HDMI definitions drm/radeon/kms/rs4xx: make sure crtcs are enabled when setting timing drm/radeon/kms/r1xx: enable hw i2c drm/radeon/kms: fix i2c prescale calc on older radeons drm/radeon/kms: fix for hw i2c drm/radeon/kms: fix pal tv-out support on legacy IGP chips drm/radeon/kms: further spread spectrum fixes drm/radeon/kms: use lcd pll limits when available drm/radeon/kms/atom: spread spectrum fix drm/radeon/kms: catch atombios infinite loop and break out of it drm/radeon: add new RS880 pci id commit d5e5deddf67389eabc3d9b13004c108120d397e1 Merge: 44fef22 f405350 Author: Dave Airlie Date: Mon Mar 15 11:07:33 2010 +1000 Merge remote branch 'nouveau/for-airlied' into drm-linus * nouveau/for-airlied: drm/nouveau: add module option to disable TV detection drm/nouveau: Never evict VRAM buffers to system. drm/nv50: fix connector table parsing for some cards drm/nv50: add a memory barrier to pushbuf submission drm/nouveau: print a message very early during suspend drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay. drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI drm/nouveau: add option to allow override of dcb connector table types drm/nv50: Improve PGRAPH interrupt handling. drm/nv50: Make ctxprog wait until interrupt handler is done. drm/nouveau: Fix fbcon corruption with font width not divisible by 8 drm/nv50: Remove redundant/incorrect ctxvals initialisation. commit 44fef22416886a04d432043f741a6faf2c6ffefd Author: Ben Skeggs Date: Thu Feb 18 09:12:09 2010 +1000 drm/edid: allow certain bogus edids to hit a fixup path rather than fail Signed-off-by: Ben Skeggs Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 725398322d05486109375fbb85c3404108881e17 Author: Zhao Yakui Date: Thu Mar 4 08:25:55 2010 +0000 drm: remove the EDID blob stored in the EDID property when it is disconnected Now the EDID property will be updated when the corresponding EDID can be obtained from the external display device. But after the external device is plugged-out, the EDID property is not updated. In such case we still get the corresponding EDID property although it is already detected as disconnected. https://bugs.freedesktop.org/show_bug.cgi?id=26743 Signed-off-by: Zhao Yakui Signed-off-by: Zhenyu Wang Cc: stable@kernel.org Signed-off-by: Dave Airlie commit ae6445ac7475ff0526b019560793e50bad9cf78d Author: Randy Dunlap Date: Thu Mar 11 22:01:39 2010 +0000 drm/vmwgfx: depends on FB vmwfgx uses framebuffer interfaces, so it should depend on FB. Otherwise it has these build errors (e.g., when CONFIG_FB=m): drivers/built-in.o: In function `vmw_fb_close': (.text+0x97713): undefined reference to `unregister_framebuffer' drivers/built-in.o: In function `vmw_fb_close': (.text+0x97754): undefined reference to `framebuffer_release' drivers/built-in.o: In function `vmw_fb_init': (.text+0x97e1c): undefined reference to `framebuffer_alloc' drivers/built-in.o: In function `vmw_fb_init': (.text+0x9838d): undefined reference to `register_framebuffer' drivers/built-in.o: In function `vmw_fb_init': (.text+0x9842a): undefined reference to `framebuffer_release' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Acked-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit b642ed06f2fccf62534f5269358776e0cba28f3c Author: Robert P. J. Day Date: Sat Mar 13 10:36:32 2010 +0000 drm: "kobject_init/kobject_add" -> "kobject_init_and_add". Replace sequential calls to kobject_init() and kobject_add() with the combo wrapper kobject_init_and_add(), which provides the same semantics. Signed-off-by: Robert P. J. Day Signed-off-by: Dave Airlie commit 72e942dd846f98e2d35aad5436d77a878ef05c5e Author: Dave Airlie Date: Tue Mar 9 06:33:26 2010 +0000 drm/ttm: use drm calloc large and free large Now that the drm core can do this, lets just use it, split the code out so TTM doesn't have to drag all of drmP.h in. Signed-off-by: Dave Airlie commit d0d6cb81e7eb34d83461070ca3e919fba1db437c Author: Rafał Miłecki Date: Tue Mar 2 22:06:52 2010 +0100 drm/radeon/kms: prepare for more reclocking operations Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 839461d3b0e3082eb382f17a3e3899372f28649a Author: Rafał Miłecki Date: Tue Mar 2 22:06:51 2010 +0100 drm/radeon/kms: switch to condition waiting for reclocking We tried to implement interruptible waiting with timeout (it was broken anyway) which was not a good idea as explained by Andrew. It's possible to avoid using additional variable but actually it inroduces using more complex in-kernel tools. So simply add one variable for condition. Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 65388342d66a63a29c76058e94a00d7bc0c6423b Author: Alex Deucher Date: Fri Mar 5 19:22:24 2010 -0500 drm/radeon/r600: add missing license and comments to r600_blit_shaders.c R6xx+ cards need to use the 3D engine to blit data which requires quite a bit of hw state setup. Rather than pull the whole 3D driver (which normally generates the 3D state) into the DRM, we opt to use statically generated state tables. The regsiter state and shaders were hand generated to support blitting functionality. See the 3D driver or documentation for descriptions of the registers and shader instructions. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3fe373d98cdb35c494517b0954b76f8094f4c59d Author: Rafał Miłecki Date: Sat Mar 6 13:03:38 2010 +0000 drm/radeon/kms: improve coding style a little We still have many magic numbers in HDMI/audio to define Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 0a7d934e6022a12e3f428b2adcb4b531e86170dd Author: Rafał Miłecki Date: Sat Mar 6 13:03:37 2010 +0000 drm/radeon/kms: remove dead audio/HDMI code Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 8a8c6e7cfb63cc5e04d5c247ab8d6253200fd425 Author: Rafał Miłecki Date: Sat Mar 6 13:03:36 2010 +0000 drm/radeon/kms: enable audio engine on DCE32 Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 5715f67cecee3617c7a6ff84ee44da46d525559e Author: Rafał Miłecki Date: Sat Mar 6 13:03:35 2010 +0000 drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUs Older GPUs are little different, HDMI blocks are not hard-wired, but routable. We should just find some free HDMI block and route it to choosen encoder. In case of RS6x0 there is only one HDMI block, we don't enable HDMI on RS6x00 yet however. Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 2cd6218cb8043ef4360b561e726cd081f8a380cc Author: Rafał Miłecki Date: Mon Mar 8 22:14:01 2010 +0000 drm/radeon/kms: clean assigning HDMI blocks to encoders We almost always used first HDMI block for first encoder and second for sencod. Exception was KLDSCP_LVTMA. Analyzing code picking DIG encoder shows the same behaviour. It shows HDMI block are related to DIGs, which relation we now use. Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 808032ee296ee7b37a6df090be40a330e09ae30e Author: Rafał Miłecki Date: Sat Mar 6 13:03:33 2010 +0000 drm/radeon/kms: clean HDMI definitions We already know same offsets are used for different encoders/transmitters, so just numeric them instead naming incorrectly. Additionaly we found additional registers needed for RV770+ Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit d805f50aa1d9eef63fec356b2be557e2da3cd643 Author: Alex Deucher Date: Thu Mar 11 10:38:07 2010 -0500 drm/radeon/kms/rs4xx: make sure crtcs are enabled when setting timing based on ddx patch from Matthias Hopf. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b28ea41164dc36110dafcdc63783e9b7fb865784 Author: Alex Deucher Date: Fri Mar 12 13:30:49 2010 -0500 drm/radeon/kms/r1xx: enable hw i2c fixing the i2c prescale in the last patch gets it working on r1xx. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 96a4c8d50de20da865296a380b996f73204d6b34 Author: Alex Deucher Date: Fri Mar 12 12:55:34 2010 -0500 drm/radeon/kms: fix i2c prescale calc on older radeons Should fix fdo bug 26430 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ae08819c2a4729444676f1bb55e5e28263f6f5a1 Author: Alex Deucher Date: Thu Mar 11 13:28:14 2010 -0500 drm/radeon/kms: fix for hw i2c use the i2c pads to drive SDA Possible fix for fdo bug 26430 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 15f7207761cfcf8f53fb6e5cacffe060478782c3 Author: Alex Deucher Date: Wed Mar 10 18:33:03 2010 -0500 drm/radeon/kms: fix pal tv-out support on legacy IGP chips Based on ddx patch by Andrzej Hajda. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 267364ac17f6474c69b03034340f769b22f46105 Author: Alex Deucher Date: Mon Mar 8 17:10:41 2010 -0500 drm/radeon/kms: further spread spectrum fixes Adjust modeset ordering to fix spread spectrum. The spread spectrum command table relies on the crtc routing to already be set in order to work properly on some asics. Should fix fdo bug 25741. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 86cb2bbfda2cf402aee46779ee90bbb7d915482b Author: Alex Deucher Date: Mon Mar 8 12:55:16 2010 -0500 drm/radeon/kms: use lcd pll limits when available The bios has alternate pll output limits for LCD panels. If available, use these for pll divider calculations. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b792210e7d1f9fb102061e2016da96cf2ad5cdbd Author: Alex Deucher Date: Sat Mar 6 10:57:30 2010 -0500 drm/radeon/kms/atom: spread spectrum fix The atom spread spectrum table does not always disable ss. Explicitly disable it and then use the atom table to enable later if needed (currently only used for LVDS). Fixes display issues on some systems. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit f4053509669f904aec70c51e2ff75563ba7ae823 Author: Ben Skeggs Date: Mon Mar 15 09:43:51 2010 +1000 drm/nouveau: add module option to disable TV detection Intended to be used as a workaround in cases where we falsely detect that a TV is connected when it's not. Signed-off-by: Ben Skeggs commit 965cf68e8797932e9cd49238a6dd39423ac9b256 Author: Francisco Jerez Date: Sat Mar 6 13:42:45 2010 +0100 drm/nouveau: Never evict VRAM buffers to system. VRAM->system is a synchronous operation: it involves scheduling a VRAM->TT DMA transfer and stalling the CPU until it's finished so that we can unbind the new memory from the translation tables. VRAM->TT can always be performed asynchronously, even if TT is already full and we have to move something out of it. Additionally, allowing VRAM->system behaves badly under heavy memory pressure because once we run out of TT, stuff starts to be moved back and forth between VRAM and system, and the TT contents are hardly renewed. Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit c21b0fe6de3912f53087b4f3991942529f03eef6 Author: Jerome Glisse Date: Tue Mar 2 20:37:52 2010 +0100 drm/radeon/kms: catch atombios infinite loop and break out of it In somecase the atombios code might lead to infinite loop because the GPU is in broken state, this patch track the jump history and will abort atombios execution if we are stuck executing the same jump for more than 1sec. Note that otherwise in some case we might enter an infinite loop in the kernel context which is bad. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 338e2b1d571e4873908b199c90d6a31f65137fe3 Author: Alex Deucher Date: Wed Mar 3 13:39:13 2010 -0500 drm/radeon: add new RS880 pci id This should go to 2.6.33 stable as well. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit d544d623c5ef3ca14407e8bc042fdf938a966b04 Author: Ben Skeggs Date: Wed Mar 10 15:52:43 2010 +1000 drm/nv50: fix connector table parsing for some cards The connector table index in the DCB entry for each output type is an index into the connector table, and does *not* necessarily match up with what was previously called "index" in the connector table entries themselves. Not real sure what that index is exactly, renamed to "index2" as we still use it to prevent creating multiple TV connectors. Signed-off-by: Ben Skeggs commit ce48fa93a6f5cadd4141a921dfb4129c8850374e Author: Maarten Maathuis Date: Thu Feb 25 20:00:38 2010 +0100 drm/nv50: add a memory barrier to pushbuf submission - This is useful for vram pushbuffers that are write combined. - pre-nv50 has one too (in WRITE_PUT). Signed-off-by: Maarten Maathuis Signed-off-by: Ben Skeggs commit 81441570c9cbf453891d90f5725adbbfe5a9cc69 Author: Maarten Maathuis Date: Sun Feb 21 13:28:35 2010 +0100 drm/nouveau: print a message very early during suspend - In case of suspend lockups it's nice to know it happened in nouveau. Signed-off-by: Maarten Maathuis Signed-off-by: Ben Skeggs commit e5ec882cfc18007c6076236ac33a713bcc1d35aa Author: Francisco Jerez Date: Fri Mar 5 15:15:39 2010 +0100 drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay. The calculated values were a little bit off (~16 clocks), the only effect it could have had is a slightly offset image with respect to the blob on analog outputs (bug 26790). Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 53c44c3a065ac48c4ccb38f811cf7c5d305c9d4e Author: Ben Skeggs Date: Thu Mar 4 12:12:22 2010 +1000 drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI Signed-off-by: Ben Skeggs commit da647d5bf3c0a4b7ad150803910cb1d737ac522e Author: Ben Skeggs Date: Thu Mar 4 12:00:39 2010 +1000 drm/nouveau: add option to allow override of dcb connector table types Signed-off-by: Ben Skeggs commit 304424e17dd904cef048ef8966d9f54618a915cc Author: Marcin Kościelnicki Date: Mon Mar 1 00:18:39 2010 +0000 drm/nv50: Improve PGRAPH interrupt handling. This makes nouveau recognise and report more kinds of PGRAPH errors, as well as prevent GPU lockups resulting from some of them. Lots of guesswork was involved and some part of this is probably incorrect. Some potential-lockuop situations are handled by just resetting a whole PGRAPH subunit, which doesn't sound like a "proper" solution, but seems to work just fine... for now. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit 3bf777bf0ab112527cea103c3681934a9f41c03d Author: Marcin Kościelnicki Date: Sun Feb 28 23:45:38 2010 +0000 drm/nv50: Make ctxprog wait until interrupt handler is done. This will fix races between generated ctxprogs and interrupt handler. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit c82b88d578847909797945824851a6a9a84f9c20 Author: Marcin Kościelnicki Date: Sat Feb 27 18:13:35 2010 +0000 drm/nouveau: Fix fbcon corruption with font width not divisible by 8 NV50 is nice and has a switch that autoaligns stuff for us. Pre-NV50, we need to align input bitmap width manually. Signed-off-by: Marcin Kościelnicki Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 37000d275721e25af6b49fbb2dbcd04022091276 Author: Marcin Kościelnicki Date: Thu Feb 25 18:53:37 2010 +0000 drm/nv50: Remove redundant/incorrect ctxvals initialisation. 11c/004 offset corresponds to PGRAPH reg 0x400828, and is initialised earlier anyway by both our ctxprog generator and blob ctxvals. It's actually incorrect with the generator, since we use different layout on pre-NVA0. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs