commit 30ff056c42c665b9ea535d8515890857ae382540 Merge: 6f5621c 99659a9 Author: Linus Torvalds Date: Sun Feb 28 11:00:55 2010 -0800 Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, uv: Remove recursion in uv_heartbeat_enable() x86, uv: uv_global_gru_mmr_address() macro fix x86, uv: Add serial number parameter to uv_bios_get_sn_info() commit 6f5621cb160fada5bc52c2961ddc86e69e478912 Merge: c7e1589 6dbbe14 Author: Linus Torvalds Date: Sun Feb 28 10:59:44 2010 -0800 Merge branch 'x86-ptrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-ptrace-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, ptrace: Remove set_stopped_child_used_math() in [x]fpregs_set x86, ptrace: Simplify xstateregs_get() ptrace: Fix ptrace_regset() comments and diagnose errors specifically parisc: Disable CONFIG_HAVE_ARCH_TRACEHOOK ptrace: Add support for generic PTRACE_GETREGSET/PTRACE_SETREGSET x86, ptrace: regset extensions to support xstate commit c7e15899d07c9813c1aa96b21699d2d9c8314c4b Merge: f6a0b5c 78c0617 Author: Linus Torvalds Date: Sun Feb 28 10:59:18 2010 -0800 Merge branch 'x86-pci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-pci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Enable NMI on all cpus on UV vgaarb: Add user selectability of the number of GPUS in a system vgaarb: Fix VGA arbiter to accept PCI domains other than 0 x86, uv: Update UV arch to target Legacy VGA I/O correctly. pci: Update pci_set_vga_state() to call arch functions commit f6a0b5cd34d6e922cc7258c5429fb0f17508ceb6 Merge: d6cd471 8e92dc7 Author: Linus Torvalds Date: Sun Feb 28 10:43:53 2010 -0800 Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, setup: Don't skip mode setting for the standard VGA modes x86-64, setup: Inhibit decompressor output if video info is invalid x86, setup: When restoring the screen, update boot_params.screen_info commit d6cd4715e21508bebbb1928c91d628bd65f5de5f Merge: 1eca9ac 0d1622d Author: Linus Torvalds Date: Sun Feb 28 10:41:35 2010 -0800 Merge branch 'x86-rwsem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-rwsem-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write x86-64, rwsem: 64-bit xadd rwsem implementation x86: Fix breakage of UML from the changes in the rwsem system x86-64: support native xadd rwsem implementation x86: clean up rwsem type system commit 1eca9acbf9cda6437db7de1097c7a18014b1289d Merge: 0091945 ca2107c Author: Linus Torvalds Date: Sun Feb 28 10:39:36 2010 -0800 Merge branch 'x86-numa-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-numa-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, numa: Remove configurable node size support for numa emulation x86, numa: Add fixed node size option for numa emulation x86, numa: Fix numa emulation calculation of big nodes x86, acpi: Map hotadded cpu to correct node. commit 0091945b4732469bb39bbb4556ce08a25d89d1c2 Merge: 46bbffa 40d6753 Author: Linus Torvalds Date: Sun Feb 28 10:39:16 2010 -0800 Merge branch 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mtrr-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Convert set_atomicity_lock to raw_spinlock x86, mtrr: Kill over the top warn x86, mtrr: Constify struct mtrr_ops commit 46bbffad54bd48bb809f2691c1970a79a588976b Merge: 85fe20b c1fd1b4 Author: Linus Torvalds Date: Sun Feb 28 10:38:45 2010 -0800 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mm: Unify kernel_physical_mapping_init() API x86, mm: Allow highmem user page tables to be disabled at boot time x86: Do not reserve brk for DMI if it's not going to be used x86: Convert tlbstate_lock to raw_spinlock x86: Use the generic page_is_ram() x86: Remove BIOS data range from e820 Move page_is_ram() declaration to mm.h Generic page_is_ram: use __weak resources: introduce generic page_is_ram() commit 85fe20bfd415af0a2e93bd1166533d4a6eb591ea Merge: 58f02db 1c5b906 Author: Linus Torvalds Date: Sun Feb 28 10:37:40 2010 -0800 Merge branch 'x86-io-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-io-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Merge io.h x86: Simplify flush_write_buffers() x86: Clean up mem*io functions. x86-64: Use BUILDIO in io_64.h x86-64: Reorganize io_64.h x86-32: Remove _local variants of in/out from io_32.h x86-32: Move XQUAD definitions to numaq.h commit 58f02db466900003b801bdfdeddc4d96ce42b7d5 Merge: 43a834d cb19060 Author: Linus Torvalds Date: Sun Feb 28 10:37:06 2010 -0800 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, cacheinfo: Enable L3 CID only on AMD x86, cacheinfo: Remove NUMA dependency, fix for AMD Fam10h rev D1 x86, cpu: Print AMD virtualization features in /proc/cpuinfo x86, cacheinfo: Calculate L3 indices x86, cacheinfo: Add cache index disable sysfs attrs only to L3 caches x86, cacheinfo: Fix disabling of L3 cache indices intel-agp: Switch to wbinvd_on_all_cpus x86, lib: Add wbinvd smp helpers commit 43a834d86c136b31ef6ad796725eb474a55a908d Merge: a7f16d1 3235dc3 Author: Linus Torvalds Date: Sun Feb 28 10:36:48 2010 -0800 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Remove trailing spaces in messages x86, mtrr: Remove unused mtrr/state.c x86, trivial: Fix grammo in tsc comment about Geode TSC reliability commit a7f16d10b510f9ee3500af7831f2e3094fab3dca Merge: f66ffde 17c0e71 Author: Linus Torvalds Date: Sun Feb 28 10:35:09 2010 -0800 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Mark atomic irq ops raw for 32bit legacy x86: Merge show_regs() x86: Macroise x86 cache descriptors x86-32: clean up rwsem inline asm statements x86: Merge asm/atomic_{32,64}.h x86: Sync asm/atomic_32.h and asm/atomic_64.h x86: Split atomic64_t functions into seperate headers x86-64: Modify memcpy()/memset() alternatives mechanism x86-64: Modify copy_user_generic() alternatives mechanism x86: Lift restriction on the location of FIX_BTMAP_* x86, core: Optimize hweight32() commit f66ffdedbf0fc059a92219bb08c1dbcac88f074b Merge: 2531216 dd5feea Author: Linus Torvalds Date: Sun Feb 28 10:31:01 2010 -0800 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits) sched: Fix SCHED_MC regression caused by change in sched cpu_power sched: Don't use possibly stale sched_class kthread, sched: Remove reference to kthread_create_on_cpu sched: cpuacct: Use bigger percpu counter batch values for stats counters percpu_counter: Make __percpu_counter_add an inline function on UP sched: Remove member rt_se from struct rt_rq sched: Change usage of rt_rq->rt_se to rt_rq->tg->rt_se[cpu] sched: Remove unused update_shares_locked() sched: Use for_each_bit sched: Queue a deboosted task to the head of the RT prio queue sched: Implement head queueing for sched_rt sched: Extend enqueue_task to allow head queueing sched: Remove USER_SCHED sched: Fix the place where group powers are updated sched: Assume *balance is valid sched: Remove load_balance_newidle() sched: Unify load_balance{,_newidle}() sched: Add a lock break for PREEMPT=y sched: Remove from fwd decls sched: Remove rq_iterator from move_one_task ... Fix up trivial conflicts in kernel/sched.c commit 2531216f236cb2a1f39ffa12a4a9339541e52191 Merge: 6556a67 0970d29 Author: Linus Torvalds Date: Sun Feb 28 10:23:41 2010 -0800 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: Fix race between ttwu() and task_rq_lock() sched: Fix SMT scheduler regression in find_busiest_queue() sched: Fix sched_mv_power_savings for !SMT kernel/sched.c: Suppress unused var warning commit 6556a6743549defc32e5f90ee2cb1ecd833a44c3 Merge: e0d2724 1dd2980 Author: Linus Torvalds Date: Sun Feb 28 10:20:25 2010 -0800 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (172 commits) perf_event, amd: Fix spinlock initialization perf_event: Fix preempt warning in perf_clock() perf tools: Flush maps on COMM events perf_events, x86: Split PMU definitions into separate files perf annotate: Handle samples not at objdump output addr boundaries perf_events, x86: Remove superflous MSR writes perf_events: Simplify code by removing cpu argument to hw_perf_group_sched_in() perf_events, x86: AMD event scheduling perf_events: Add new start/stop PMU callbacks perf_events: Report the MMAP pgoff value in bytes perf annotate: Defer allocating sym_priv->hist array perf symbols: Improve debugging information about symtab origins perf top: Use a macro instead of a constant variable perf symbols: Check the right return variable perf/scripts: Tag syscall_name helper as not yet available perf/scripts: Add perf-trace-python Documentation perf/scripts: Remove unnecessary PyTuple resizes perf/scripts: Add syscall tracing scripts perf/scripts: Add Python scripting engine perf/scripts: Remove check-perf-trace from listed scripts ... Fix trivial conflict in tools/perf/util/probe-event.c commit e0d272429a34ff143bfa04ee8e29dd4eed2964c7 Merge: d25e8db 4809174 Author: Linus Torvalds Date: Sun Feb 28 10:17:55 2010 -0800 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits) ftrace: Add function names to dangling } in function graph tracer tracing: Simplify memory recycle of trace_define_field tracing: Remove unnecessary variable in print_graph_return tracing: Fix typo of info text in trace_kprobe.c tracing: Fix typo in prof_sysexit_enable() tracing: Remove CONFIG_TRACE_POWER from kernel config tracing: Fix ftrace_event_call alignment for use with gcc 4.5 ftrace: Remove memory barriers from NMI code when not needed tracing/kprobes: Add short documentation for HAVE_REGS_AND_STACK_ACCESS_API s390: Add pt_regs register and stack access API tracing/kprobes: Make Kconfig dependencies generic tracing: Unify arch_syscall_addr() implementations tracing: Add notrace to TRACE_EVENT implementation functions ftrace: Allow to remove a single function from function graph filter tracing: Add correct/incorrect to sort keys for branch annotation output tracing: Simplify test for function_graph tracing start point tracing: Drop the tr check from the graph tracing path tracing: Add stack dump to trace_printk if stacktrace option is set tracing: Use appropriate perl constructs in recordmcount.pl tracing: optimize recordmcount.pl for offsets-handling ... commit d25e8dbdab203ed8b4fd0a174bb5259e35ecd87c Merge: 642c4c7 cfc9c0b Author: Linus Torvalds Date: Sun Feb 28 10:15:31 2010 -0800 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: oprofile/x86: fix msr access to reserved counters oprofile/x86: use kzalloc() instead of kmalloc() oprofile/x86: fix perfctr nmi reservation for mulitplexing oprofile/x86: add comment to counter-in-use warning oprofile/x86: warn user if a counter is already active oprofile/x86: implement randomization for IBS periodic op counter oprofile/x86: implement lsfr pseudo-random number generator for IBS oprofile/x86: implement IBS cpuid feature detection oprofile/x86: remove node check in AMD IBS initialization oprofile/x86: remove OPROFILE_IBS config option oprofile: remove EXPERIMENTAL from the config option description oprofile: remove tracing build dependency commit 642c4c75a765d7a3244ab39c8e6fb09be21eca5b Merge: f91b22c 71da813 Author: Linus Torvalds Date: Sun Feb 28 10:13:16 2010 -0800 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (44 commits) rcu: Fix accelerated GPs for last non-dynticked CPU rcu: Make non-RCU_PROVE_LOCKING rcu_read_lock_sched_held() understand boot rcu: Fix accelerated grace periods for last non-dynticked CPU rcu: Export rcu_scheduler_active rcu: Make rcu_read_lock_sched_held() take boot time into account rcu: Make lockdep_rcu_dereference() message less alarmist sched, cgroups: Fix module export rcu: Add RCU_CPU_STALL_VERBOSE to dump detailed per-task information rcu: Fix rcutorture mod_timer argument to delay one jiffy rcu: Fix deadlock in TREE_PREEMPT_RCU CPU stall detection rcu: Convert to raw_spinlocks rcu: Stop overflowing signed integers rcu: Use canonical URL for Mathieu's dissertation rcu: Accelerate grace period if last non-dynticked CPU rcu: Fix citation of Mathieu's dissertation rcu: Documentation update for CONFIG_PROVE_RCU security: Apply lockdep-based checking to rcu_dereference() uses idr: Apply lockdep-based diagnostics to rcu_dereference() uses radix-tree: Disable RCU lockdep checking in radix tree vfs: Abstract rcu_dereference_check for files-fdtable use ... commit f91b22c35f6b0ae06ec5b67922eca1999c3b6e0a Merge: 847f9c6 e03bcb6 9ca94d7 8b833c5 f266d7f 016ddd9 477346f 2854e72 Author: Linus Torvalds Date: Sun Feb 28 10:04:02 2010 -0800 Merge branches 'core-ipi-for-linus', 'core-locking-for-linus', 'tracing-fixes-for-linus', 'x86-debug-for-linus', 'x86-doc-for-linus', 'x86-gpu-for-linus' and 'x86-rlimit-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-ipi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: generic-ipi: Optimize accesses by using DEFINE_PER_CPU_SHARED_ALIGNED for IPI data * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: plist: Fix grammar mistake, and c-style mistake * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: kprobes: Add mcount to the kprobes blacklist * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86_64: Print modules like i386 does * 'x86-doc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Put 'nopat' in kernel-parameters * 'x86-gpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64: Allow fbdev primary video code * 'x86-rlimit-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Use helpers for rlimits commit 847f9c606cad121cebf984639e3eeee1c4db82f8 Merge: 7981164 00ebfe5 Author: Linus Torvalds Date: Sat Feb 27 16:22:47 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (24 commits) m68k: Define sigcontext ABI of ColdFire m68knommu: NPTL support for uClinux m68k: Add NPTL support m68k: Eliminate unused variable in page_to_phys() m68k: Switch to generic siginfo layout macfb: fix 24-bit visual and stuff macfb: cleanup fbdev: add some missing mac modes mac68k: start CUDA early valkyriefb: various fixes fbdev: mac_var_to_mode() fix mac68k: move macsonic and macmace platform devices mac68k: move mac_esp platform device mac68k: replace mac68k SCC code with platform device pmac-zilog: add platform driver pmac-zilog: cleanup mac68k: rework SWIM platform device mac68k: cleanup ataflop: Killl warning about unused variable flags m68k: Use DIV_ROUND_CLOSEST ... commit 7981164791d18d5ed1dcdfa9598949ed158a5333 Merge: f1dd6ad a8d6356 Author: Linus Torvalds Date: Sat Feb 27 16:20:17 2010 -0800 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (35 commits) [S390] time: remove unused code [S390] zcore: Add prefix registers to dump header [S390] correct vdso version string [S390] add support for compressed kernels [S390] Define new s390 ELF note sections in elf.h [S390] codepage conversion of kernel parameter line [S390] seq_file: convert drivers/s390/ [S390] add z9-ec/z10 instruction to kernel disassembler [S390] dasd: correct offline processing [S390] dasd: fix refcounting. [S390] dasd: fix online/offline race [S390] use kprobes_built_in() in mm/fault code [S390] bug: use relative pointers in bug table entries [S390] Cleanup struct _lowcore usage and defines. [S390] free_initmem: reduce code duplication [S390] Replace ENOTSUPP usage with EOPNOTSUPP [S390] spinlock: check virtual cpu running status [S390] sysinfo: fix SYSIB 3,2,2 structure [S390] add MACHINE_IS_LPAR flag [S390] qdio: optimize cache line usage of struct qdio_irq ... commit f1dd6ad599732fc89f36fdd65a2c2cf3c63a8711 Merge: 8d37a37 e10b234 Author: Linus Torvalds Date: Sat Feb 27 16:19:22 2010 -0800 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (141 commits) MIPS: Alchemy: defconfig updates MIPS: Alchemy: Fix Au1100 ethernet build failure MIPS: Alchemy: Repair db1500/bosporus builds MIPS: ARC: Cleanup unused definitions from sgialib.h MIPS: Cobalt: convert legacy port addresses to GT-64111 bus addresses MIPS: Alchemy: use 36bit addresses for PCMCIA resources. MIPS: Cobalt: Fix theoretical port aliasing issue MIPS: Use ALIGN(x, bytes) instead of __ALIGN_MASK(x, bytes - 1) MIPS: Crazy spinlock speed test. MIPS: Optimize spinlocks. MIPS: Alchemy: devboard PM needs to save CPLD registers. MIPS: PowerTV: Eliminate duplicate opcode definition macros MIPS: Lemote 2F: Move printks out of port_access_lock. MIPS: PNX833x: Convert IRQ controller locks to raw spinlocks. MIPS: Octeon: Replace spinlock with raw_spinlocks in dma-octeon.c. MIPS: Octeon: Replace rwlocks in irq_chip handlers with raw_spinlocks. MIPS: Octeon: Convert octeon_irq_msi_lock to raw spinlock. MIPS: Loongson: Remove pointless sample_lock from oprofile code. MIPS: SNI: Convert sni_rm200_i8259A_lock to raw spinlock. MIPS: i8259: Convert IRQ controller lock to raw spinlock. ... commit 8d37a371b6869920e6c40c495c68eabba1ef3909 Merge: ef1a8de 7b4884c Author: Linus Torvalds Date: Sat Feb 27 16:18:30 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (49 commits) pcmcia: validate late-added resources pcmcia: allow for extension of resource interval pcmcia: remove useless msleep in ds.c pcmcia: use read_cis_mem return value pcmcia: handle error in serial_cs config calls pcmcia: add locking to pcmcia_{read,write}_cis_mem pcmcia: avoid prod_id memleak pcmcia: avoid sysfs-related lockup for cardbus pcmcia: use state machine for extended requery pcmcia: delay re-scanning and re-querying of PCMCIA bus pcmcia: use pccardd to handle eject, insert, suspend and resume requests pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking pcmcia: use mutex for dynid lock pcmcia: assert locking to struct pcmcia_device pcmcia: add locking documentation pcmcia: simplify locking pcmcia: add locking to struct pcmcia_socket->pcmcia_state() pcmcia: protect s->device_count pcmcia: properly lock skt->irq, skt->irq_mask pcmcia: lock ops->set_socket ... commit ef1a8de8ea004a689b2aa9f5cefcba2b1a0262f2 Merge: 1c32fd0 3d98ffb Author: Linus Torvalds Date: Sat Feb 27 13:26:18 2010 -0800 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (88 commits) powerpc: Fix lwsync feature fixup vs. modules on 64-bit powerpc: Convert pmc_owner_lock to raw_spinlock powerpc: Convert die.lock to raw_spinlock powerpc: Convert tlbivax_lock to raw_spinlock powerpc: Convert mpic locks to raw_spinlock powerpc: Convert pmac_pic_lock to raw_spinlock powerpc: Convert big_irq_lock to raw_spinlock powerpc: Convert feature_lock to raw_spinlock powerpc: Convert i8259_lock to raw_spinlock powerpc: Convert beat_htab_lock to raw_spinlock powerpc: Convert confirm_error_lock to raw_spinlock powerpc: Convert ipic_lock to raw_spinlock powerpc: Convert native_tlbie_lock to raw_spinlock powerpc: Convert beatic_irq_mask_lock to raw_spinlock powerpc: Convert nv_lock to raw_spinlock powerpc: Convert context_lock to raw_spinlock powerpc/85xx: Add NOR, LEDs and PIB support for MPC8568E-MDS boards powerpc/86xx: Enable VME driver on the GE SBC610 powerpc/86xx: Enable VME driver on the GE PPC9A powerpc/86xx: Add MSI section to GE PPC9A DTS ... commit 00ebfe58b002f0ff387f60c7cd23bc2b274fce1a Author: Maxim Kuvyrkov Date: Wed Sep 23 01:22:43 2009 +0400 m68k: Define sigcontext ABI of ColdFire The following patch defines sigcontext ABI of ColdFire. Due to ISA restrictions ColdFire needs different rt_sigreturn trampoline. And due to ColdFire FP registers being 8-bytes instead of 12-bytes on m68k, sigcontext and fpregset structures should be updated. Regarding the sc_fpstate[16+6*8] field, it would've been enough 16 bytes to store ColdFire's FP state. To accomodate GLIBC's libSegFault it would'be been enough 6*8 bytes (room for the 6 non-call-clobbered FP registers). I set it to 16+6*8 to provide some extra space for any future changes in the ColdFire FPU. Signed-off-by: Maxim Kuvyrkov Signed-off-by: Geert Uytterhoeven commit a58f75349063f60949614de39390df594ba1418d Author: Maxim Kuvyrkov Date: Sun Dec 6 10:08:14 2009 -0800 m68knommu: NPTL support for uClinux Port syscalls for NPTL support to m68knommu. Signed-off-by: Maxim Kuvyrkov Acked-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit 9674cdc74d63f346870943ef966a034f8c71ee57 Author: Maxim Kuvyrkov Date: Mon Dec 7 00:24:27 2009 -0800 m68k: Add NPTL support This patch adds several syscalls, that provide necessary functionality to support NPTL on m68k/ColdFire. The syscalls are get_thread_area, set_thread_area, atomic_cmpxchg_32 and atomic_barrier. The cmpxchg syscall is required for ColdFire as it doesn't support 'cas' instruction. Also a ptrace call PTRACE_GET_THREAD_AREA is added to allow debugger to inspect the TLS storage. Signed-off-by: Maxim Kuvyrkov Signed-off-by: Geert Uytterhoeven commit f54bcdc2b81558a2b7e624cfeb4992422d9265f9 Author: Geert Uytterhoeven Date: Tue Jan 12 08:32:18 2010 +0100 m68k: Eliminate unused variable in page_to_phys() "pgdat" is unused, so we can eliminate it and turn page_to_phys() into a single-line macro. Signed-off-by: Geert Uytterhoeven commit 5da3a65d2d1ba333d61999640ef241f150c69c6b Author: Maxim Kuvyrkov Date: Wed Dec 23 11:28:42 2009 -0800 m68k: Switch to generic siginfo layout This patch switches m68k to generic siginfo layout. The custom layout of m68k's `struct siginfo' had several issues due to not considering aliasing of members in the union, e.g., _uid32 was at different offsets in ._kill, ._rt and ._sigchld. Signed-off-by: Maxim Kuvyrkov Signed-off-by: Geert Uytterhoeven commit 99e11ab20b26b3236490ae687ab309c2601d180b Author: Finn Thain Date: Wed Nov 4 00:51:18 2009 +1100 macfb: fix 24-bit visual and stuff Lots of changes. Remove volatile keywords. Take the advice in the comments and change video_slot to slot_addr. Factor out fifteen or so "channel >> 8" shifts into three shifts higher up the call graph. Make csc_setpalette() atomic, pass the correct color values. Check for ioremap() failure. Add missing break statement, thus fixing 24 bit console visual (blue background bug). Remove some uninformative printk() noise. Add a description for powerbook 140/170 graphics. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 34c41d0ab8c2a96bb3db89a209c1dd7e8c44fe13 Author: Finn Thain Date: Wed Nov 4 00:47:28 2009 +1100 macfb: cleanup Cleanup whitespace and code style. Remove unused #includes and prototypes. Remove obsolete, redundant or misleading comments. Remove dead code and redundant initialisers. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 1bb63845d122750124807e5aeb733d2276e5fb7d Author: Finn Thain Date: Wed Nov 4 00:47:02 2009 +1100 fbdev: add some missing mac modes Add the missing mac video modes for the Portrait and 12" RGB displays. The specs come from the Mac LC III developer note. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 18814ee846357509ceb13d4351eec71acd007480 Author: Finn Thain Date: Tue Nov 17 20:03:05 2009 +1100 mac68k: start CUDA early The valkyriefb driver needs the CUDA to work in order to set the video mode at boot. So initialise the device earlier, and bring the m68k code closer to the powermac code. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 11e8faca2e501c25d2f98c1b9534776a9a9704c5 Author: Finn Thain Date: Wed Nov 4 00:43:52 2009 +1100 valkyriefb: various fixes Valkyriefb and macfb will adopt the same card if they get the chance, so remove valkyrie support from macfb. Also fix the "valkyriefb: can't do 832x624x8" problem reported by Raylynn Knight some time ago, by adding vmode 13 support for CONFIG_MAC. Also add vmode 11 since that works too. Make use of the monitor sense lines on 68k Macs too. Also some cleanups. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit d876c11a0fd40993136f5cc1e81371ccc6c21a63 Author: Finn Thain Date: Wed Nov 4 00:43:16 2009 +1100 fbdev: mac_var_to_mode() fix The valkyriefb driver assumes that this logic holds: mac_vmode_to_var(X, cmode, &var); mac_var_to_vmode(&var, &vmode, &cmode); assert(vmode == X); But it doesn't hold because mac_var_to_vmode() can return a mode with a slower pixel clock, even when a match is available. So we end up with this failure: using video mode 11 and color mode 0. valkyriefb: vmode 12 not valid. valkyriefb: can't set default video mode valkyriefb: vmode 12 not valid. Rather than have mac_var_to_mode() return the first reasonable mode it finds, have it return the mode that is closest to the requested one (or the mode with the closest longer pixel clock period if there is no exact match). Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit eeb9c182a6ad8bc130377adb0a4cd7b95dd15f49 Author: Finn Thain Date: Wed Nov 4 00:42:02 2009 +1100 mac68k: move macsonic and macmace platform devices Move platform device code from the drivers to the platform init function. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit cff75f1fb1f28eba3facb7dbe9b40a892912578a Author: Finn Thain Date: Wed Nov 4 00:41:35 2009 +1100 mac68k: move mac_esp platform device Move platform device code from the driver to the platform init function. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 80614e5ab1458ff3ccced4d6ba2fa386575c8d5c Author: Finn Thain Date: Tue Nov 17 20:06:48 2009 +1100 mac68k: replace mac68k SCC code with platform device Remove the old 68k Mac serial port code and a lot of related cruft. Add new SCC platform devices to mac 68k platform. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit ec9cbe09899e36b5f216c3232215520dcf0320ab Author: Finn Thain Date: Tue Nov 17 20:04:44 2009 +1100 pmac-zilog: add platform driver Add platform driver support to the pmac-zilog driver, for m68k macs. Place the powermac-specific code inside #ifdef CONFIG_PPC_PMAC. Signed-off-by: Finn Thain Acked-by: Benjamin Herrenschmidt Signed-off-by: Geert Uytterhoeven commit 1f7b5fff505232521a7a770a639b63cd17636549 Author: Finn Thain Date: Wed Nov 4 00:40:23 2009 +1100 pmac-zilog: cleanup Whitespace cleanups and comment typo fix. Signed-off-by: Finn Thain Acked-by: Benjamin Herrenschmidt Signed-off-by: Geert Uytterhoeven commit 2724daf439d9f4e9f25c9fb8de8602ba61758478 Author: Finn Thain Date: Wed Nov 4 00:39:56 2009 +1100 mac68k: rework SWIM platform device Adjust the platform device code to conform with the code style used in the rest of this patch series. No need to name resources nor to register devices which are not applicable. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 53aac0ad7cb32af5c25d432454f936b57bf8c11f Author: Finn Thain Date: Wed Nov 4 00:39:09 2009 +1100 mac68k: cleanup Cleanup whitespace and comments. Remove some dead code. Signed-off-by: Finn Thain Signed-off-by: Geert Uytterhoeven commit 41fb11ca90fe5a115b663340290311c7f5aab0f6 Author: Geert Uytterhoeven Date: Fri Dec 11 17:12:09 2009 +0100 ataflop: Killl warning about unused variable flags After commit e0c0978699a83f26f2341f7eedc1463b79e31aff ("ataflop: remove buggy/commented-out IRQ disable from do_fd_request()") the `flags' variable became unused: drivers/block/ataflop.c:1473: warning: unused variable 'flags' Hence remove it. Signed-off-by: Geert Uytterhoeven commit 1a0caf41c061868eff05a054ff2b0ffe26baf4e0 Author: Julia Lawall Date: Sun Aug 2 10:47:47 2009 +0200 m68k: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: Geert Uytterhoeven commit eb054e3b3d531e311e9a34b902fe29247b00f724 Author: Peter Huewe Date: Thu Aug 20 22:42:31 2009 +0200 m68k: vme_scc - __init annotations Trivial patch which adds the __init macro to the module_init function and all of its helper functions of drivers/char/vme_scc.c Signed-off-by: Peter Huewe Signed-off-by: Geert Uytterhoeven commit f351d4bb3ce5a86f75cf297e38f87c4e437593d7 Author: Philippe De Muyter Date: Thu Oct 22 16:07:17 2009 +0200 m68k{,nommu}/h8300: Remove obsolete comment about map_chunk Remove the comments referring to a function map_chunk that no longer exists. Signed-off-by: Philippe De Muyter Signed-off-by: Geert Uytterhoeven commit 88cb773c5f8e45e48f3a89480610448974337cb0 Author: Philippe De Muyter Date: Sun Dec 6 20:28:41 2009 +0100 m68k: Allow ioremapping top of memory The test in __ioremap to reject memory ranges crossing the 0 boundary rejects also memory ranges ending at the end of the memory. Fix that. Signed-off-by: Philippe De Muyter Signed-off-by: Geert Uytterhoeven commit 145452649d035e4e5152f6c4e6798c41960cad3e Author: Maxim Kuvyrkov Date: Fri Oct 2 12:32:18 2009 +0400 m68k: Fix asm/swab.h for ColdFire Make asm/swab.h compatible with ColdFire ISA_B CPUs. Signed-off-by: Maxim Kuvyrkov Acked-by: Greg Ungerer Signed-off-by: Geert Uytterhoeven commit e10b234b3c4e255d3300a486c4ac15b43253ac6d Author: Manuel Lauss Date: Fri Feb 26 17:32:45 2010 +0100 MIPS: Alchemy: defconfig updates Updated, leaner defconfig for the alchemy development boards. Signed-off-by: Manuel Lauss To: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/1005/ Signed-off-by: Ralf Baechle commit acc4d245a70615755cab8bace7f0f87870fc99d9 Author: Manuel Lauss Date: Fri Feb 26 17:22:02 2010 +0100 MIPS: Alchemy: Fix Au1100 ethernet build failure Don't define platform info for second mac on au1100 (which only has a single mac). Signed-off-by: Manuel Lauss To: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/1004/ Signed-off-by: Ralf Baechle commit 570cb456efbd1f1e761869881ae72177595de356 Author: Manuel Lauss Date: Fri Feb 26 17:22:01 2010 +0100 MIPS: Alchemy: Repair db1500/bosporus builds A few hunks somehow ended up outside their #ifdef/endif blocks, leading to -Werror-induces build failures. Signed-off-by: Manuel Lauss To: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/1003/ Signed-off-by: Ralf Baechle commit d891a5399242579857701c2b1185b64d7bf7936f Author: Yoichi Yuasa Date: Sat Feb 20 21:20:34 2010 +0900 MIPS: ARC: Cleanup unused definitions from sgialib.h Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/979/ Signed-off-by: Ralf Baechle commit 8190471087b59ff63a8db125953ae612b7a8b8b5 Author: Bjorn Helgaas Date: Wed Feb 24 13:53:27 2010 -0700 MIPS: Cobalt: convert legacy port addresses to GT-64111 bus addresses The GT-64111 PCI host bridge has no address translation mechanism, so it can't generate legacy port accesses. This quirk fixes legacy device port resources to contain the bus addresses actually generated by the GT-64111. I think this is the approach Ben Herrenschmidt suggested long ago: http://marc.info/?l=linux-kernel&m=119733290624544&w=2 This allows us to remove the IORESOURCE_PCI_FIXED hack from pcibios_fixup_device_resources(), which converts bus addresses to CPU addresses. IORESOURCE_PCI_FIXED denotes resources that can't be moved; it has nothing to do with converting bus to CPU addresses. Signed-off-by: Bjorn Helgaas Cc: Yoichi Yuasa Cc: Thomas Bogendoerfer Cc: Benjamin Herrenschmidt Cc: linux-mips@linux-mips.org Tested-by: Yoichi Yuasa Patchwork: http://patchwork.linux-mips.org/patch/998/ Signed-off-by: Ralf Baechle commit 11b897cf84c37e6522db914793677e933ef311fb Author: Manuel Lauss Date: Wed Feb 24 17:40:21 2010 +0100 MIPS: Alchemy: use 36bit addresses for PCMCIA resources. On Alchemy the PCMCIA area lies at the end of the chips 36bit system bus area. Currently, addresses at the far end of the 32bit area are assumed to belong to the PCMCIA area and fixed up to the real 36bit address before being passed to ioremap(). A previous commit enabled 64 bit physical size for the resource datatype on Alchemy and this allows to use the correct 36bit addresses when registering the PCMCIA sockets. This patch removes the 32-to-36bit address fixup and registers the Alchemy demo board pcmcia socket with the correct 36bit physical addresses. Tested on DB1200, with a CF card (ide-cs driver) and a 3c589 PCMCIA ethernet card. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Manuel Lauss Patchwork: http://patchwork.linux-mips.org/patch/994/ Signed-off-by: Ralf Baechle commit b9b37787d24cca9fbd63f767663e9439fa69aa22 Author: Ralf Baechle Date: Wed Feb 24 17:41:00 2010 +0100 MIPS: Cobalt: Fix theoretical port aliasing issue Because the VIA SuperIO chip only decodes 24 bits of address space but port address space currently being configured as 32MB there is the theoretical possibility of aliases within the I/O port address range. The complicated solution is to reserve all address range that potencially could cause such aliases. But with the PCI spec limiting port allocations for devices to a maximum of 256 bytes 16MB of port address space already is way more than one would ever expect to be used so we just reduce the port space to 16MB. Signed-off-by: Ralf Baechle To: Yoichi Yuasa Cc: Bjorn Helgaas Cc: linux-mips@linux-mips.org Cc: Benjamin Herrenschmidt Patchwork: http://patchwork.linux-mips.org/patch/995/ commit 2a5d66511a6adc0546a92d33734e3ebf7ab0d10c Author: Matt Turner Date: Wed Feb 24 23:30:14 2010 -0500 MIPS: Use ALIGN(x, bytes) instead of __ALIGN_MASK(x, bytes - 1) ALIGN(x, bytes) expands to __ALIGN_MASK(x, bytes - 1), so use the one that is most clear. Signed-off-by: Matt Turner To: linux-mips@linux-mips.org Cc: David Daney Patchwork: http://patchwork.linux-mips.org/patch/999/ Signed-off-by: Ralf Baechle commit bba90760582d2563b28a4738fb785185a59e9e71 Author: David Daney Date: Tue Feb 16 15:26:35 2010 -0800 MIPS: Crazy spinlock speed test. This is just a test program for raw_spinlocks. The main reason I wrote it is to validate my spinlock changes that I sent in a previous patch. To use it enable CONFIG_DEBUG_FS and CONFIG_SPINLOCK_TEST then at run time do: # mount -t debugfs none /sys/kernel/debug/ # cat /sys/kernel/debug/mips/spin_single # cat /sys/kernel/debug/mips/spin_multi On my 600MHz octeon cn5860 (16 CPUs) I get spin_single spin_multi base 106885 247941 spinlock_patch 75194 219465 This shows that for uncontended locks the spinlock patch gives 41% improvement and for contended locks 12% improvement (1/time). Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/969/ Signed-off-by: Ralf Baechle commit 500c2e1fdbcc2b273bd4c695a9b8ac8196f61614 Author: David Daney Date: Thu Feb 4 11:31:49 2010 -0800 MIPS: Optimize spinlocks. The current locking mechanism uses a ll/sc sequence to release a spinlock. This is slower than a wmb() followed by a store to unlock. The branching forward to .subsection 2 on sc failure slows down the contended case. So we get rid of that part too. Since we are now working on naturally aligned u16 values, we can get rid of a masking operation as the LHU already does the right thing. The ANDI are reversed for better scheduling on multi-issue CPUs On a 12 CPU 750MHz Octeon cn5750 this patch improves ipv4 UDP packet forwarding rates from 3.58*10^6 PPS to 3.99*10^6 PPS, or about 11%. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/937/ Signed-off-by: Ralf Baechle commit e275ed5ee94b358964a0dae1c8b49f0bff260b60 Author: Manuel Lauss Date: Tue Feb 23 18:57:43 2010 +0100 MIPS: Alchemy: devboard PM needs to save CPLD registers. Save/restore CPLD registers when doing suspend-to-ram; this fixes issues with harddisk and ethernet not working correctly when resuming on DB1200. Signed-off-by: Manuel Lauss To: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/986/ Signed-off-by: Ralf Baechle commit 81fc0179541dd52763cf62a52f0c09a05bcc6439 Author: David VomLehn Date: Mon Feb 22 16:31:13 2010 -0800 MIPS: PowerTV: Eliminate duplicate opcode definition macros Change to different macros for assembler macros since the old names in powertv_setup.c were co-opted for use in asm/asm.h. This broken the build for the powertv platform. This patch introduces new macros based on the new macros in asm.h to take the place of the old macro values. Signed-off-by: David VomLehn Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/985/ Signed-off-by: Ralf Baechle commit 3b439470e360931ad65234f94aa92cd7362f635a Author: Ralf Baechle Date: Sat Feb 27 12:53:41 2010 +0100 MIPS: Lemote 2F: Move printks out of port_access_lock. No point in protecting them and printks are sloow. Signed-off-by: Ralf Baechle commit 7fe2d9c41de132b51e550212aa5709fc4e132c2c Author: Ralf Baechle Date: Sat Feb 27 12:53:41 2010 +0100 MIPS: PNX833x: Convert IRQ controller locks to raw spinlocks. Signed-off-by: Ralf Baechle commit 541247f4d26f90ce0d277082d108feb121b6ae03 Author: David Daney Date: Thu Feb 18 11:48:20 2010 -0800 MIPS: Octeon: Replace spinlock with raw_spinlocks in dma-octeon.c. Signed-off-by: David Daney Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/973/ Signed-off-by: Ralf Baechle commit 399614226cfa45ffaba45b269e8af9ddc26de537 Author: David Daney Date: Thu Feb 18 11:47:40 2010 -0800 MIPS: Octeon: Replace rwlocks in irq_chip handlers with raw_spinlocks. Signed-off-by: David Daney Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/972/ Signed-off-by: Ralf Baechle commit 4837a661a52dd9e02cd1cdb08a7ebdc5ed028ee4 Author: Ralf Baechle Date: Sat Feb 27 12:53:40 2010 +0100 MIPS: Octeon: Convert octeon_irq_msi_lock to raw spinlock. Signed-off-by: Ralf Baechle commit f1d39e6ed7ad71048db3b2835dccf3a5a01fab69 Author: Ralf Baechle Date: Sat Feb 27 12:53:39 2010 +0100 MIPS: Loongson: Remove pointless sample_lock from oprofile code. Signed-off-by: Ralf Baechle commit 36946d7387ee6f3a331563a1d839240924b65798 Author: Ralf Baechle Date: Sat Feb 27 12:53:39 2010 +0100 MIPS: SNI: Convert sni_rm200_i8259A_lock to raw spinlock. Signed-off-by: Ralf Baechle commit 896508705561bea24656680cdaf3b4095c4d7473 Author: Ralf Baechle Date: Sat Feb 27 12:53:38 2010 +0100 MIPS: i8259: Convert IRQ controller lock to raw spinlock. Signed-off-by: Ralf Baechle commit 598c5abad7f3e162a01c87a480f8d2cd57643acb Author: Ralf Baechle Date: Sat Feb 27 12:53:38 2010 +0100 MIPS: IP27: Convert nmi_lock lock to arch spinlock; Signed-off-by: Ralf Baechle commit 2ba53e37120fba00fa10bebc13b9723f25e1f845 Author: Ralf Baechle Date: Sat Feb 27 12:53:38 2010 +0100 MIPS: IP27: Remove code obfuscation by enter_panic_mode(). Signed-off-by: Ralf Baechle commit 34ee4148472996c5fd25fbb5697982914cfe955a Author: Ralf Baechle Date: Sat Feb 27 12:53:37 2010 +0100 MIPS: GT641xx: Convert timer lock to raw spinlock. Signed-off-by: Ralf Baechle commit da4afffc1d03c4f0334dabd28ce4c2325ee8f092 Author: Ralf Baechle Date: Sat Feb 27 12:53:37 2010 +0100 MIPS: Alchemy: Simplify DMA channel allocation code. Signed-off-by: Ralf Baechle Cc: Manuel Lauss commit 2bd0073656963f7683275dbda600bf5dfc05232a Author: Ralf Baechle Date: Sat Feb 27 12:53:37 2010 +0100 MIPS: Yosemite: Convert SMP startup lock to arch spinlock. Signed-off-by: Ralf Baechle commit 1a73f0478a289ee5bb2e4f44a6ecf1d6d6410eab Author: Ralf Baechle Date: Sat Feb 27 12:53:36 2010 +0100 MIPS: Alchemy: Remove time_lock. The sole user is au1xxx_calc_clock() which is only used in early bootup where the is no paralellism thus no race condition to protect against. Signed-off-by: Ralf Baechle Cc: Manuel Lauss commit 32baba2fb7149ac262be1dca39291b55d846a075 Author: Ralf Baechle Date: Sat Feb 27 12:53:36 2010 +0100 MIPS: DEC: Convert KN01 lock to raw spinlock. Signed-off-by: Ralf Baechle commit d8d607d59e78a865e0b55c60e84412519a83022c Author: Ralf Baechle Date: Sat Feb 27 12:53:35 2010 +0100 MIPS: BCM63xx: Convert timer locks to raw spinlocks. Signed-off-by: Ralf Baechle commit c45ef44f474a82fdec96704bece192e487dca373 Author: Ralf Baechle Date: Sat Feb 27 12:53:34 2010 +0100 MIPS: PowerTV: Convert IRQ controller lock to raw spinlock. Signed-off-by: Ralf Baechle Cc: David VomLehn commit a963dc70a286898c91d021e53317ba3d485e0b93 Author: Ralf Baechle Date: Sat Feb 27 12:53:32 2010 +0100 MIPS: Malta: Convert IRQ controller lock to raw spinlock. Signed-off-by: Ralf Baechle commit ed14bbb24e62830c2b4c59f4cea3696651d502f0 Author: Ralf Baechle Date: Sat Feb 27 12:53:32 2010 +0100 MIPS: SB1480: Convert IRQ controller lock to raw spinlock. Signed-off-by: Ralf Baechle commit 5772f6deb6214a94248e5429869e99e8b7b9cf25 Author: Ralf Baechle Date: Sat Feb 27 12:53:32 2010 +0100 MIPS: SB1250: Convert IRQ controller lock to raw spinlock. Signed-off-by: Ralf Baechle commit f2c194a00516f8ea4340975c25276fd0dfd47c31 Author: Ralf Baechle Date: Sat Feb 27 12:53:31 2010 +0100 MIPS: GT641xx: Convert IRQ controller lock to raw spinlock. Signed-off-by: Ralf Baechle commit 4a41abe5960b6a4d496aab94264beee06bc0ab7e Author: Ralf Baechle Date: Sat Feb 27 12:53:31 2010 +0100 MIPS: Jazz: Convert irq controller lock to raw spinlock. Signed-off-by: Ralf Baechle commit 4a8a738de637dc7141de5228d2d722573a329b95 Author: Ralf Baechle Date: Sat Feb 27 12:53:30 2010 +0100 MIPS: Make various locks static. Signed-off-by: Ralf Baechle commit 559e25a5e3efe60a22b7f96ea4ad2eb09d996e97 Author: David Daney Date: Tue Feb 16 17:25:33 2010 -0800 Staging: Octeon: Remove /proc/octeon_ethernet_stats This file shouldn't be in /proc, so we remove it. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/970/ Signed-off-by: Ralf Baechle commit ec977c5b473e29dbfdac8f2c7477eccc2142e3bc Author: David Daney Date: Tue Feb 16 17:25:32 2010 -0800 Staging: Octeon: Reformat a bunch of comments. Many of the comments didn't follow kerneldoc guidlines. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/971/ Signed-off-by: Ralf Baechle commit 4898c560103fb8075c10a8e9d70e0ca26873075e Author: David Daney Date: Mon Feb 15 15:06:47 2010 -0800 Staging: Octeon: Free transmit SKBs in a timely manner If we wait for the once-per-second cleanup to free transmit SKBs, sockets with small transmit buffer sizes might spend most of their time blocked waiting for the cleanup. Normally we do a cleanup for each transmitted packet. We add a watchdog type timer so that we also schedule a timeout for 150uS after a packet is transmitted. The watchdog is reset for each transmitted packet, so for high packet rates, it never expires. At these high rates, the cleanups are done for each packet so the extra watchdog initiated cleanups are neither needed nor triggered. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Cc: Eric Dumazet Patchwork: http://patchwork.linux-mips.org/patch/968/ Signed-off-by: Ralf Baechle This version has spelling and comment changes based on feedback from Eric Dumazet. commit 86568dc41e8c7edcf6d014a64d143536d24b6a5d Author: David Daney Date: Mon Feb 15 12:13:18 2010 -0800 MIPS: Octeon: Do proper acknowledgment of CIU timer interrupts. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/967/ Signed-off-by: Ralf Baechle commit f8c2648666b5a1b5ba9bbb662ae569bafd3cc830 Author: David Daney Date: Mon Feb 15 12:13:17 2010 -0800 Staging: Octeon: Run phy bus accesses on a workqueue. When directly accessing a phy, we must acquire the mdio bus lock. To do that we cannot be in interrupt context, so we need to move these operations to a workqueue. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/965/ Signed-off-by: Ralf Baechle commit 1d08f00d576c62f1c7a96900a14648df33b3939a Author: David Daney Date: Mon Feb 15 12:13:16 2010 -0800 Staging: octeon: remove unneeded includes Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/964/ Signed-off-by: Ralf Baechle commit d007f991a82ed159979b7662a4ca20e978221cdb Author: Yoichi Yuasa Date: Fri Feb 12 21:35:04 2010 +0900 MIPS: Use generic ucontext.h Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/959/ Signed-off-by: Ralf Baechle commit 7b012cee6173cef8598a4cf27fe80b4430e1ed7f Author: Yoichi Yuasa Date: Fri Feb 12 21:33:56 2010 +0900 MIPS: Use generic serial.h Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/960/ Signed-off-by: Ralf Baechle commit f51e5a07728d33b7ad59a84d1a7a0a34d4f58765 Author: Yoichi Yuasa Date: Fri Feb 12 21:29:14 2010 +0900 MIPS: Use generic parport.h Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/958/ Signed-off-by: Ralf Baechle commit 1a6e8963e07f126a7fa3e9b446f86205cd4e81fe Author: Yoichi Yuasa Date: Fri Feb 12 21:27:59 2010 +0900 MIPS: Use generic current.h Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/957/ Signed-off-by: Ralf Baechle commit 27a5bd6457c8ce38151250530152e15f76b697a8 Author: David Daney Date: Wed Feb 10 15:12:49 2010 -0800 MIPS: Enable Read Inhibit/eXecute Inhibit for Octeon+ CPUs Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/955/ Signed-off-by: Ralf Baechle commit 6f329468f3086e9d8f3832930fdb09ab3769176b Author: David Daney Date: Wed Feb 10 15:12:48 2010 -0800 MIPS: Give Octeon+ CPUs their own cputype. This allows us to treat them differently at runtime. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/951/ Patchwork: http://patchwork.linux-mips.org/patch/987/ Signed-off-by: Ralf Baechle commit 6dd9344cfc41bcc60a01cdc828cb278be7a10e01 Author: David Daney Date: Wed Feb 10 15:12:47 2010 -0800 MIPS: Implement Read Inhibit/eXecute Inhibit The SmartMIPS ASE specifies how Read Inhibit (RI) and eXecute Inhibit (XI) bits in the page tables work. The upper two bits of EntryLo{0,1} are RI and XI when the feature is enabled in the PageGrain register. SmartMIPS only covers 32-bit systems. Cavium Octeon+ extends this to 64-bit systems by continuing to place the RI and XI bits in the top of EntryLo even when EntryLo is 64-bits wide. Because we need to carry the RI and XI bits in the PTE, the layout of the PTE is changed. There is a two instruction overhead in the TLB refill hot path to get the EntryLo bits into the proper position. Also the TLB load exception has to probe the TLB to check if RI or XI caused the exception. Also of note is that the layout of the PTE bits is done at compile and runtime rather than statically. In the 32-bit case this allows for the same number of PFN bits as before the patch as the _PAGE_HUGE is not supported in 32-bit kernels (we have _PAGE_NO_EXEC and _PAGE_NO_READ instead of _PAGE_READ and _PAGE_HUGE). The patch is tested on Cavium Octeon+, but should also work on 32-bit systems with the Smart-MIPS ASE. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/952/ Patchwork: http://patchwork.linux-mips.org/patch/956/ Patchwork: http://patchwork.linux-mips.org/patch/962/ Signed-off-by: Ralf Baechle commit 32546f38fab839eee6f62b3f06c2774eade4188a Author: David Daney Date: Wed Feb 10 15:12:46 2010 -0800 MIPS: Add TLBR and ROTR to uasm. The soon to follow Read Inhibit/eXecute Inhibit patch needs TLBR and ROTR support in uasm. We also add a UASM_i_ROTR macro. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/953/ Signed-off-by: Ralf Baechle commit 9fe2e9d6f5390d7151a0b9d8c100f0da26eaa2b7 Author: David Daney Date: Wed Feb 10 15:12:45 2010 -0800 MIPS: Add accessor functions and bit definitions for c0_PageGrain Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/950/ Signed-off-by: Ralf Baechle commit 9b8c38917b8e083a6343bb5a0c6bbaea78ebff7a Author: David Daney Date: Wed Feb 10 15:12:44 2010 -0800 MIPS: Use 64-bit stores to c0_entrylo on 64-bit kernels. 64-bit CPUs have 64-bit c0_entrylo{0,1} registers. We should use the 64-bit dmtc0 instruction to set them. This becomes important if we want to set the RI and XI bits present in some processors. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/954/ Signed-off-by: Ralf Baechle commit 52d7ecd033316b0540a6ac4af70574fae4aba295 Author: Frans Pop Date: Sat Feb 6 18:47:13 2010 +0100 MIPS: Remove trailing space in messages Signed-off-by: Frans Pop To: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/946/ Signed-off-by: Ralf Baechle commit f86a69b15f60965a224e7e2516ad41070692cc19 Author: Wu Zhangjin Date: Sun Jan 31 20:39:40 2010 +0800 MIPS: Make the debugging of compressed kernel configurable This patch adds a new DEBUG_ZBOOT option to allow the users to enable it to debug the compressed kernel support for a new board and this optoin should be disabled to reduce the kernel image size and speed up the kernel booting procedure when the compressed kernel support is stable. Signed-off-by: Wu Zhangjin To: Ralf Baechle Cc: Manuel Lauss Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/918/ Signed-off-by: Ralf Baechle commit b66bb6090d9aa36931911e34d3f069932934b6fe Author: David Daney Date: Tue Feb 2 17:19:38 2010 -0800 MIPS: Remove #if 0 r4k_update_mmu_cache_hwbug The function is #if 0ed out. There are no other occurrences of its name in the tree. It is safe to remove. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/936/ Signed-off-by: Ralf Baechle commit ab4ba291683d07038c7ddf1eec191d3d09e1f468 Author: Yoichi Yuasa Date: Tue Feb 2 18:40:04 2010 +0900 MIPS: TXx9: Remove forced serial console setting It is not always used, even if it is available. Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/933/ Acked-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 7084338eb8eb0cc021ba86c340157bad397f3f0b Author: Alexander Clouter Date: Sun Jan 31 19:39:57 2010 +0000 MIPS: AR7: Make ar7_register_devices much more durable [Ralf: Fixed up the rejects and changed all the new printk(KERN_...); to pr_xxx() as suggested by Wu.] Signed-off-by: Alexander Clouter To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/920/ Signed-off-by: Ralf Baechle commit 632b629c0c4b0f8caaf7f2b448911d03859fda59 Author: Alexander Clouter Date: Sun Jan 31 19:38:52 2010 +0000 MIPS: AR7: Fix USB slave mem range typo Signed-off-by: Alexander Clouter To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/919/ Signed-off-by: Ralf Baechle commit 4d1da8c2961da46abd85a71d20f2b169bf80618e Author: Alexander Clouter Date: Sun Jan 31 19:38:19 2010 +0000 MIPS: AR7: Whitespace hacking [Ralf: Fixed up reject and Wu's complaints about comment style.] Signed-off-by: Alexander Clouter To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/921/ Signed-off-by: Ralf Baechle commit 10229f3761fdc1050f972bf3a4c4623bde20002f Author: Yoichi Yuasa Date: Mon Feb 1 22:06:56 2010 +0900 MIPS: Alchemy: Use strlcat() for the command line arguments Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/928/ Signed-off-by: Ralf Baechle commit ae7cbef5e5789e2ee6855222a3b83eb94591ef0b Author: Yoichi Yuasa Date: Mon Feb 1 22:05:57 2010 +0900 MIPS: Alchemy: Remove prom_getcmdline() Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/927/ Signed-off-by: Ralf Baechle commit c63d0cb5feedbc2cc456b6ea2105c15b563217cf Author: Yoichi Yuasa Date: Fri Jan 29 17:49:52 2010 +0900 MIPS: Alchemy: Remove forced command line setting It is not always used, even if it is available. Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/893/ Signed-off-by: Ralf Baechle commit 368bf8ef304f426be0a8a0be5b0e437747598c10 Author: David Daney Date: Thu Jan 28 16:52:13 2010 -0800 MIPS: Set __elf_platform for Octeon. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/892/ Signed-off-by: Ralf Baechle commit 874fd3b5acc20f2a464409045aef3b2288069787 Author: David Daney Date: Thu Jan 28 16:52:12 2010 -0800 MIPS: Allow the auxv's elf_platform entry to be set. The userspace runtime linker uses the elf_platform to find the libraries optimized for the current CPU archecture variant. First we need to allow it to be set to something other than NULL. Follow-on patches will set some values for specific CPUs. GLIBC already does the right thing. The kernel just needs to supply good data. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/891/ Signed-off-by: Ralf Baechle commit 3b839070f11295735ce8d9ef580c5eb23417aabf Author: Manuel Lauss Date: Wed Oct 14 09:38:06 2009 +0200 MMC: AU1xMMC: Allow platforms to disable host capabilities Although the hardware supports a 4/8bit SD interface and the driver unconditionally advertises all hardware caps to the MMC core, not all datalines may actually be wired up. This patch introduces another field to au1xmmc platform data allowing platforms to disable certain advanced host controller features. Signed-off-by: Manuel Lauss To: linux-mmc@vger.kernel.org CC: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/460/ Signed-off-by: Ralf Baechle commit 92bbe1b988d3d6fa6348e3e376ff6d27e0712147 Author: Florian Fainelli Date: Thu Jan 28 15:22:37 2010 +0100 MIPS: Deal with larger physical offsets AR7 has a larger physical offset than other MIPS based systems and therefore needs to setup its handlers beyond the usual KSEG0 range. When running the kernel in mapped mode this modification is also required. Remove function comment which is now incorrect. Signed-off-by: David Daney Signed-off-by: Eugene Konev Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org To: Thomas Bogendoerfer Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/889/ Patchwork: http://patchwork.linux-mips.org/patch/932/ Signed-off-by: Ralf Baechle commit 2d1b6e95515d63030b6e002125799f2aa52a9d27 Author: Florian Fainelli Date: Thu Jan 28 15:21:42 2010 +0100 MIPS: Annotate set_except_vector with __init All call sites of set_except_vector are already annotated with __init, so annotate that one too. Signed-off-by: Regards, Florian Fainelli To: linux-mips@linux-mips.org To: David Daney Patchwork: http://patchwork.linux-mips.org/patch/888/ Signed-off-by: Ralf Baechle commit 3482d713a91befb8c96722cb8d55aed36c212d9e Author: Florian Fainelli Date: Thu Jan 28 15:21:24 2010 +0100 MIPS: Move arch/mips/mm/uasm.h to arch/mips/include/asm/uasm.h Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org To: David Daney Patchwork: http://patchwork.linux-mips.org/patch/887/ Signed-off-by: Ralf Baechle commit fcf6735e9cf08343bef9ff43205d91ef102af52f Author: Yoichi Yuasa Date: Thu Jan 28 22:52:50 2010 +0900 MIPS: PNX8550: Remove unnecessary export prom_getcmdline() Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/886/ Signed-off-by: Ralf Baechle commit 5eb1df86c279b00ee476d0a2bc30059a527e6f4e Author: Yoichi Yuasa Date: Thu Jan 28 22:51:50 2010 +0900 MIPS: PNX833x: Remove unused prom_getcmdline() Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/885/ Signed-off-by: Ralf Baechle commit 60ec6571c5072cdea9e518d1dac8147b85ca93a2 Author: pascal@pabr.org Date: Sun Jan 3 13:39:12 2010 +0100 MIPS: Support 36-bit iomem on 32-bit Au1x00 I believe these changes are needed on Alchemy SoCs in order to use iomem above 4G with the usual platform_device machinery: - Set CONFIG_ARCH_PHYS_ADDR_T_64BIT to make resource_size_t 64-bit. - Increase IOMEM_RESOURCE_END so that platforms can register resources. To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/814/ Signed-off-by: Ralf Baechle commit fc48c41af81b953578a54f80ad07d2f1efa81378 Author: Wu Zhangjin Date: Wed Jan 27 22:39:46 2010 +0800 MIPS: Loongson: Cleanup the halt and poweroff action In the old source code, I have let halt and poweroff do the same action, but in reality, they have different meanings. As the manpage of shutdown shows: -r Reboot after shutdown. -H Halt action is to halt or drop into boot monitor on systems that support it. -P Halt action is to turn off the power. and in the real world, some machines(e.g. NAS) did not provide a power button and the shutdown works as reset, so, we need to provide a mechanism to let the users turn off the power safely without breaking the system, such a mechanism is "halt", which only put the system into a dead loop or a power-save mode and print some information to the screen to tell the users to turn off the power safely. $ shutdown -hH now /* loongson_halt, not turn off the power */ $ shutdown -hP now /* loongson_poweroff, work as poweroff */ Signed-off-by: Wu Zhangjin Tested-by: Liu Shiwei Cc: Liu Shiwei Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/883/ Signed-off-by: Ralf Baechle commit e52dd9fc6b9e0c17b220bd38371ff15032a1a155 Author: Wu Zhangjin Date: Tue Jan 26 23:02:34 2010 +0800 MIPS: Simplify the weak annotation with __weak Found by $ find arch/mips/ -name "*.c" | xargs -i grep -H weak {} | grep -v __weak [Ralf: Made this bulletproof by including ] Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/874/ Signed-off-by: Ralf Baechle commit aae7e8da806e1536fdee0632a40aaaeed97a2f1b Author: Manuel Lauss Date: Wed Jan 13 18:46:58 2010 +0100 MIPS: Alchemy: debug output for compressed kernels Hook up the compressed debug output for all Alchemy systems supported by current kernel codebase. Signed-off-by: Manuel Lauss To: Linux-MIPS Cc: Wu Zhangjin Patchwork: http://patchwork.linux-mips.org/patch/879/ Signed-off-by: Ralf Baechle commit 780019ddf02f214ad61e641b57b8ac30c837e2a7 Author: Florian Fainelli Date: Wed Jan 27 09:10:06 2010 +0100 MIPS: AR7: Implement clock API This patch makes the ar7 clock code implement the Linux clk API. Drivers using the various clocks available in the SoC are updated accordingly. Signed-off-by: Florian Fainelli Acked-by: Wim Van Sebroeck To: linux-mips@linux-mips.org Cc: Wim Van Sebroeck Cc: netdev@vger.kernel.org Cc: David Miller Patchwork: http://patchwork.linux-mips.org/patch/881/ Signed-off-by: Ralf Baechle commit 5f3c909881d5deebb9a3ddc836a15937e76daefc Author: Florian Fainelli Date: Sun Jan 3 21:16:51 2010 +0100 MIPS: AR7: Implement gpiolib This patch implements gpiolib for the AR7 SoC. Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/816/ Signed-off-by: Ralf Baechle commit 69b427cd23b6f637763bf49e3e166c1236313f69 Author: Yoichi Yuasa Date: Tue Jan 26 18:02:58 2010 +0900 MIPS: msp71xx: remove unused prom_getcmdline() Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/868/ Signed-off-by: Ralf Baechle commit dac2965c434b22b5f8acd5634b842cf8a77a06b3 Author: Wu Zhangjin Date: Tue Jan 26 17:04:02 2010 +0800 MIPS: Cleanup the Makefile of compressed kernel support This patch removes a useless "\" (line break) and tunes the format of a long line. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/869/ Signed-off-by: Ralf Baechle commit 9fd4c4f40fecbe3923331eac045af06f369a86f2 Author: Yoichi Yuasa Date: Tue Jan 26 18:08:34 2010 +0900 MIPS: AR7: replace prom_getcmdline() to arcs_cmdline[] Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/872/ Signed-off-by: Ralf Baechle commit 9feb8367999265b8a300cb96e7a66f79b651c820 Author: Yoichi Yuasa Date: Tue Jan 26 18:07:02 2010 +0900 MIPS: AR7: use strlcat() for the command line arguments Signed-off-by: Yoichi Yuasa Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/871/ Signed-off-by: Ralf Baechle commit e0e53dee69e07e9446eb16ceabd55a1116611696 Author: Ralf Baechle Date: Sat Feb 27 12:53:14 2010 +0100 MIPS: Nuke trailing blank lines Recent git versions now warn about those and they've always been a bit of an annoyance. Signed-off-by: Ralf Baechle commit 2fe062608086f9b74a80f16272c5a59a3e05722f Author: Roel Kluin Date: Wed Jan 20 00:59:27 2010 +0100 MIPS: Cleanup switches with cases that can be merged Signed-off-by: Roel Kluin To: linux-mips@linux-mips.org To: Andrew Morton To: LKML Patchwork: http://patchwork.linux-mips.org/patch/860/ Signed-off-by: Ralf Baechle commit 1b362e3e350f72c6cb4b3346f6ba92a529082a09 Author: David Daney Date: Fri Jan 22 14:41:15 2010 -0800 MIPS: Decode c0_config4 for large TLBs. For processors that have more than 64 TLBs, we need to decode both config1 and config4 to determine the total number TLBs. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/866/ Signed-off-by: Ralf Baechle commit 2a880986d899f556f5a327bc77cc8760d5bb9c64 Author: David Daney Date: Fri Jan 22 14:41:14 2010 -0800 MIPS: Remove probe_tlb(). The function probe_tlb() only does anything for processors that are not PRID_COMP_LEGACY. This is precisely the set of processors for which decode_configs() is called to do identical tlbsize probing calculations. Therefore probe_tlb() is completely redundant and may be removed. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/865/ Signed-off-by: Ralf Baechle commit f868ba29723be46e0981226d7455090d515b08ef Author: Florian Fainelli Date: Wed Dec 16 11:29:06 2009 +0100 MIPS: add readl/write_be accessors MIPS currently lacks the readl_be and writel_be accessors which are required by BCM63xx for OHCI and EHCI support. Let's define them globally for MIPS. This also fixes the compilation of the bcm63xx defconfig against USB. Signed-off-by: Florian Fainelli Cc: Geert Uytterhoeven Cc: Thomas Bogendoerfer Cc: linux-mips@linux-mips.org Cc: Maxime Bizon Patchwork: http://patchwork.linux-mips.org/patch/793/ Signed-off-by: Ralf Baechle commit 9df7d1647fdd729c5bf3f087ae69d07fecf60bdd Author: Wu Zhangjin Date: Mon Jan 4 17:16:52 2010 +0800 MIPS: Loongson: Lemote-2F: update defconfig Changes: o Serial port related configuration Disable EARLY_PRINTK, CONFIG_SYS_SUPPORTS_ZBOOT_UART16550 Enable the serial port support as module. o PM related support Enable CPUFreq as module, use the external timer(MFGPT) instead of r4k timer. Enable Suspend support Enable Run Time PM support o Enable SM7XX Video Driver Disable the buggy 2d acceleration o Enable CONFIG_OPROFILE as module o Use GZIP instead of LZMA, which need less decompression time o Enable more USB devices support o Enable initrd support(needed by gNewsense) o Enable more crypto support Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/830/ Signed-off-by: Ralf Baechle commit f7a904dffe30a02636053d8022498ced7e44d31c Author: Wu Zhangjin Date: Mon Jan 4 17:16:51 2010 +0800 MIPS: Loongson: Change the Email address of Wu Zhangjin Currently wuzj@lemote.com is not usable; change it to wuzhangjin@gmail.com. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/829/ Signed-off-by: Ralf Baechle commit 50549bda2d47f419758dac9bc72e2b0eb9077d83 Author: Wu Zhangjin Date: Mon Jan 4 17:16:50 2010 +0800 MIPS: Loongson: Fixup mem.c indentation Replace whitespace by tabs. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/828/ Signed-off-by: Ralf Baechle commit 1ae86a67326741b35339c548838f16cceaa77222 Author: Wu Zhangjin Date: Mon Jan 4 17:16:49 2010 +0800 MIPS: Loongson: arch/mips/Makefile: Add missing whitespace This patch add missing whitespace after every "+=" in the loongson related part of arch/mips/Makefile. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/827/ Signed-off-by: Ralf Baechle commit eb11df472d8491fcb28534b59017e1b5465997fa Author: Wu Zhangjin Date: Mon Jan 4 17:16:48 2010 +0800 MIPS: Loongson: Cleanup of the environment variables Changes: o Move bus_clock into prom_init_env() o Initialize the cpu_clock_freq to the default values for the correspoding processor revisions if no such environment variable passed by BIOS/Bootloader. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/826/ Signed-off-by: Ralf Baechle commit 97e6a89634befaf5bd66d3044d36961c887cd98c Author: Wu Zhangjin Date: Mon Jan 4 17:16:47 2010 +0800 MIPS: Loongson: Move prom_argc and prom_argv into prom_init_cmdline() prom_argc and prom_argv are only used by prom_init_cmdline(), move them into the function. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/825/ Signed-off-by: Ralf Baechle commit c7e8c668b09a27879e8b45d2a613fb5acdf9f8a3 Author: Wu Zhangjin Date: Mon Jan 4 17:16:46 2010 +0800 MIPS: Loongson: Remove the serial port output of compressed kernel support The compressed kernel support on loongson family machines is stable now, so, remove the debug information via using SYS_SUPPORTS_ZBOOT instead of SYS_SUPPORTS_ZBOOT_UART16550. This may reduce the image size and speedup the booting. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/824/ Signed-off-by: Ralf Baechle commit 6f3209659833e3ed653840d19b2f624f6db07823 Author: Wu Zhangjin Date: Mon Jan 4 17:16:45 2010 +0800 MIPS: Loongson: Convert loongson_halt() to use unreachable() Use the new unreachable() macro instead of while(1); Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/823/ Signed-off-by: Ralf Baechle commit c70798f132818eaa79c48a08d0f19a7d61db8822 Author: Wu Zhangjin Date: Mon Jan 4 17:16:44 2010 +0800 MIPS: Loongson: Lemote-2F: USB: Not Emulate Non-Posted Writes Without this patch, when copying large amounts of data between the USB storage devices and the hard disk, the USB device will disconnect regularly. Signed-off-by: Hu Hongbing Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Patchwork: http://patchwork.linux-mips.org/patch/822/ Signed-off-by: Ralf Baechle commit 1b39a0bad50779177ebca818c6c3380463bfca7d Author: Wu Zhangjin Date: Mon Jan 4 17:16:43 2010 +0800 MIPS: Loongson: Lemote-2F: Get the machine type from PMON_VER Lemote have used the PMON_VER strings to indicate the loongson-2f machine series: PMON_VER=LM8089 Lemote 8.9'' netbook LM8101 Lemote 10.1'' netbook (The above two netbooks have the same kernel support) LM6XXX Lemote FuLoong(2F) box series LM9XXX Lemote LynLoong PC series Before the machtype is supported by the PMON, we can get the machine type from the PMON_VER for these machines, this will help the users a lot. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: yanh@lemote.com Cc: huhb@lemote.com Cc: zhangfx@lemote.com Cc: Wu Zhangjin Patchwork: http://patchwork.linux-mips.org/patch/821/ Patchwork: http://patchwork.linux-mips.org/patch/908/ Signed-off-by: Ralf Baechle commit 081f6749ae33f72b4fafea4c02976e163ef6ef37 Author: David Daney Date: Thu Jan 7 11:05:06 2010 -0800 Staging: Octeon Ethernet: Use constants from in.h Signed-off-by: David Daney To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/837/ Signed-off-by: Ralf Baechle commit 924cc2680fbe181066ec138d369691d28d913ea2 Author: David Daney Date: Thu Jan 7 11:05:05 2010 -0800 Staging: Octeon Ethernet: Enable scatter-gather. Octeon ethernet hardware can handle NETIF_F_SG, so we enable it. A gather list of up to six fragments will fit in the SKB's CB structure, so no extra memory is required. If a SKB has more than six fragments, we must linearize it. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/838/ Signed-off-by: Ralf Baechle commit 3368c784bcf77124aaf39372e627016c36bd4472 Author: David Daney Date: Thu Jan 7 11:05:04 2010 -0800 Staging: Octeon Ethernet: Convert to NAPI. Convert the driver to be a reasonably well behaved NAPI citizen. There is one NAPI instance per CPU shared between all input ports. As receive backlog increases, NAPI is scheduled on additional CPUs. Receive buffer refill code factored out so it can also be called from the periodic timer. This is needed to recover from temporary buffer starvation conditions. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/839/ Signed-off-by: Ralf Baechle commit 6888fc87768eaa218b6244f2e78c55416706981a Author: David Daney Date: Thu Jan 7 11:05:03 2010 -0800 Staging: Octeon Ethernet: Rewrite transmit code. Stop the queue if too many packets are queued. Restart it from a high resolution timer. Rearrange and simplify locking and SKB freeing code Signed-off-by: David Daney To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/843/ Signed-off-by: Ralf Baechle commit 166bdaa9aad9903bf4330ef68feb37f220c9eac8 Author: David Daney Date: Wed Jan 27 13:22:53 2010 -0800 Staging: Octeon Ethernet: Fix memory allocation. After aligning the blocks returned by kmalloc, we need to save the original pointer so they can be correctly freed. There are no guarantees about the alignment of SKB data, so we need to handle worst case alignment. Since right shifts over subtraction have no distributive property, we need to fix the back pointer calculation. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/884/ Signed-off-by: Ralf Baechle commit 6568a234363978e1aebb5b7c9840ed87eed20362 Author: David Daney Date: Thu Jan 7 11:05:01 2010 -0800 Staging: Octeon Ethernet: Remove unused code. Remove unused code, reindent, and join some spilt strings. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/842/ Signed-off-by: Ralf Baechle commit dbb103b243e09475c84df2b8ef17615975593761 Author: David Daney Date: Thu Jan 7 11:05:00 2010 -0800 MIPS: Octeon: Fix EOI handling. If an interrupt handler disables interrupts, the EOI function will just reenable them. This will put us in an endless loop when the upcoming Ethernet driver patches are applied. Only reenable the interrupt on EOI if it is not IRQ_DISABLED. This requires that the EOI function be separate from the ENABLE function. We also rename the ACK functions to correspond with their function. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/840/ Signed-off-by: Ralf Baechle commit 6b07d38aaa520cee922fadfeaf90c97faf217045 Author: David Daney Date: Fri Jan 8 17:17:44 2010 -0800 MIPS: Octeon: Use optimized memory barrier primitives. In order to achieve correct synchronization semantics, the Octeon port had defined CONFIG_WEAK_REORDERING_BEYOND_LLSC. This resulted in code that looks like: sync ll ... . . . sc ... . . sync The second SYNC was redundant, but harmless. Octeon has a SYNCW instruction that acts as a write-memory-barrier (due to an erratum in some parts two SYNCW are used). It is much faster than SYNC because it imposes ordering on the writes, but doesn't otherwise stall the execution pipeline. On Octeon, SYNC stalls execution until all preceeding writes are committed to the coherent memory system. Using: syncw;syncw ll . . . sc . . Has identical semantics to the first sequence, but is much faster. The SYNCW orders the writes, and the SC will not complete successfully until the write is committed to the coherent memory system. So at the end all preceeding writes have been committed. Since Octeon does not do speculative reads, this functions as a full barrier. The patch removes CONFIG_WEAK_REORDERING_BEYOND_LLSC, and substitutes SYNCW for SYNC in write-memory-barriers. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/850/ Signed-off-by: Ralf Baechle commit f252ffd50c97dae87b45f1dbad24f71358ccfbd6 Author: David Daney Date: Fri Jan 8 17:17:43 2010 -0800 MIPS: New macro smp_mb__before_llsc. Replace some instances of smp_llsc_mb() with a new macro smp_mb__before_llsc(). It is used before ll/sc sequences that are documented as needing write barrier semantics. The default implementation of smp_mb__before_llsc() is just smp_llsc_mb(), so there are no changes in semantics. Also simplify definition of smp_mb(), smp_rmb(), and smp_wmb() to be just barrier() in the non-SMP case. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/851/ Signed-off-by: Ralf Baechle commit ec5380c768864c7afd92aa886dd4bb6d38497a01 Author: David Daney Date: Thu Jan 7 14:33:30 2010 -0800 MIPS: Remove unused macros from barrier.h The smp_llsc_rmb() and smp_llsc_wmb() macros are not used in the tree, remove them. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/848/ Signed-off-by: Ralf Baechle commit d95770544604299402e481771a964b0f10d46978 Author: David Daney Date: Thu Jan 7 11:54:21 2010 -0800 MIPS: Octeon: Register some devices on the I2C bus. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: linux-i2c@vger.kernel.org To: ben-linux@fluff.org To: khali@linux-fr.org Cc: Rade Bozic Patchwork: http://patchwork.linux-mips.org/patch/845/ Signed-off-by: Ralf Baechle commit 85660f43a308cc601b243c1f4dc18a63545c5cfa Author: Rade Bozic Date: Thu Jan 28 12:47:07 2010 -0800 MIPS: I2C: Add driver for Cavium OCTEON I2C ports. Signed-off-by: Rade Bozic Signed-off-by: David Daney Cc: Michael Lawnick To: linux-mips@linux-mips.org To: linux-i2c@vger.kernel.org To: ben-linux@fluff.org To: khali@linux-fr.org Cc: rade.bozic.ext@nsn.com Cc: Michael Lawnick Patchwork: http://patchwork.linux-mips.org/patch/890/ Signed-off-by: Ralf Baechle commit f41c3c1b3ed53440b37445712f8e1048a39d7001 Author: David Daney Date: Thu Jan 7 13:23:41 2010 -0800 MIPS: Octeon: Add I2C platform device. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: linux-i2c@vger.kernel.org To: ben-linux@fluff.org To: khali@linux-fr.org Cc: Rade Bozic Patchwork: http://patchwork.linux-mips.org/patch/847/ Signed-off-by: Ralf Baechle commit d38760ccdf879a8648be53488227bf7fe597792d Author: Robert P. J. Day Date: Thu Dec 31 15:39:00 2009 -0500 MIPS: Simplify param.h by using Signed-off-by: Robert P. J. Day To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/810/ Signed-off-by: Ralf Baechle commit 32fd6901a6d8d19f94e4de6be4e4b552ab078620 Author: Manuel Lauss Date: Tue Dec 8 19:18:13 2009 +0100 MIPS: Alchemy: get rid of common/reset.c Implement reset / poweroff in the board code instead. The peripheral reset code is gone too since YAMON which all in-tree boards use does the same work when it boots. Signed-off-by: Manuel Lauss Signed-off-by: Yoichi Yuasa Cc: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/783/ Patchwork: http://patchwork.linux-mips.org/patch/882/ Signed-off-by: Ralf Baechle commit 325f8a0a31df567dbafafc48f8e60f3c1f101a46 Author: David Daney Date: Fri Dec 4 13:52:36 2009 -0800 MIPS: Two-level pagetables for 64-bit kernels with 64KB pages. For 64-bit kernels with 64KB pages and two level page tables, there are 42 bits worth of virtual address space This is larger than the 40 bits of virtual address space obtained with the default 4KB Page size and three levels, so there are no draw backs for using two level tables with this configuration. Signed-off-by: David Daney Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/761/ Signed-off-by: Ralf Baechle commit ef6c1fd662d18c0e2ed92825c8837e94b5ec3a1f Author: Manuel Lauss Date: Mon Nov 23 20:40:02 2009 +0100 MIPS: Alchemy: irq: use runtime CPU type detection Use runtime CPU detection instead of relying on preprocessor symbols. Signed-off-by: Manuel Lauss Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/701/ Signed-off-by: Ralf Baechle commit 5d400f5c59df3ed2c3682a7409c8e81a7c4e650c Author: Manuel Lauss Date: Mon Nov 23 20:40:01 2009 +0100 MIPS: Alchemy: Only build AU1000 INTC code for compatible cpus Use the GPIO config symbol to only build Au1000 interrupt code on chips with compatible hw. Signed-off-by: Manuel Lauss Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/670/ Signed-off-by: Ralf Baechle commit 70f82f2c59be86fad915a2ee62673fe1aad6c2bd Author: Manuel Lauss Date: Mon Nov 23 20:40:00 2009 +0100 MIPS: Alchemy: use runtime cpu detection in GPIO code. Remove the cpu subtype cpp macros in favor of runtime detection, to improve compile coverage of the alchemy common code. (Increases kernel size by 700 bytes). Signed-off-by: Manuel Lauss Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/699/ Signed-off-by: Ralf Baechle commit bd2302c220566cffd0756e1ac5f65705f9e3d8e7 Author: Florian Fainelli Date: Tue Nov 10 01:13:38 2009 +0100 NET: au1000-eth: Convert to platform_driver model This patch converts the au1000-eth driver to become a full platform-driver as it ought to be. We now pass PHY-speficic configurations through platform_data but for compatibility the driver still assumes the default settings (search for PHY1 on MAC0) when no platform_data is passed. Tested on my MTX-1 board. Signed-off-by: Florian Fainelli Cc: linux-mips@linux-mips.org Cc: netdev@vger.kernel.org Acked-by: David S. Miller Patchwork: http://patchwork.linux-mips.org/patch/619/ Patchwork: http://patchwork.linux-mips.org/patch/963/ Signed-off-by: Ralf Baechle commit 66f75ccb856304c190fde9c26e651c2b754e3e72 Author: Florian Fainelli Date: Tue Nov 10 01:13:30 2009 +0100 MIPS: Alchemy: Add au1000-eth platform device This patch makes the board code register the au1000-eth platform device. The au1000-eth platform data can be overriden with the au1xxx_override_eth_cfg function like it has to be done for the Bosporus board which uses a different MAC/PHY setup. Signed-off-by: Florian Fainelli Cc: David Miller Cc: linux-mips@linux-mips.org Cc: netdev@vger.kernel.org Patchwork: http://patchwork.linux-mips.org/patch/618/ Signed-off-by: Ralf Baechle commit cf6e47e03239059bcf2942b1b3242e835231ab75 Author: Manuel Lauss Date: Mon Nov 2 21:21:45 2009 +0100 MIPS: Alchemy: DB1200 defconfig update Signed-off-by: Manuel Lauss Cc: Linux-MIPS Signed-off-by: Ralf Baechle commit 05ae3231801df8fdb4e1c0aa4aa6b8d7278eddde Author: Manuel Lauss Date: Mon Nov 2 21:21:44 2009 +0100 MIPS/SOUND: Alchemy: DB1200 AC97+I2S audio support. Machine driver for DB1200 AC97 and I2S audio systems, intended as a proper reference asoc machine for Alchemy-based systems. AC97/I2S can be selected at boot time by setting switch S6.7. Signed-off-by: Manuel Lauss Cc: Linux-MIPS Cc: alsa-devel@alsa-project.org Cc: Mark Brown Acked-by: Mark Brown Signed-off-by: Ralf Baechle commit 63323ec54a7e922a232c82070727e44eb1a5b43c Author: Manuel Lauss Date: Mon Nov 2 21:21:43 2009 +0100 MIPS: Alchemy: Extended DB1200 board support. Create own directory for DB1200 code and update it with new features. - SPI support: - tmp121 temperature sensor - SPI flash on DB1200 - I2C support - NE1619 sensor - AT24 eeprom - I2C/SPI can be selected at boot time via switch S6.8 - Carddetect IRQs for SD cards. - gen_nand based NAND support. - hexleds count sleep/wake transitions. Signed-off-by: Manuel Lauss Cc: Linux-MIPS Signed-off-by: Ralf Baechle commit 206aa6cdadad8bbedee5649f1346fe47e922a039 Author: Manuel Lauss Date: Mon Oct 19 12:53:37 2009 +0200 MIPS: Alchemy: physmap-flash for all devboards Replace the devboard NOR MTD mapping driver with physmap-flash support. Also honor the "swapboot" switch settings wrt. to the layout of the NOR partitions. Signed-off-by: Manuel Lauss Cc: Linux-MIPS Acked-By: David Woodhouse Signed-off-by: Ralf Baechle commit 8facefd0907ae16f96a35bef7ce654206d87c2fc Author: Ralf Baechle Date: Sat Feb 27 12:52:57 2010 +0100 MIPS: Don't include unnecessarily. Signed-off-by: Ralf Baechle commit b2b13cdfd05ec331e1be3bbdd593d66840c0b688 Author: Manuel Lauss Date: Wed Oct 28 21:37:28 2009 +0100 SERIAL 8250: Fixes for Alchemy UARTs. Limit the amount of address space claimed for Alchemy serial ports to 0x1000. On the Au1300, ports are only 0x1000 apart, and the registers only extend to 0x110 at most on all supported alchemy models. On the Au1300 the autodetect logic no longer works and this makes it necessary to specify the port type through platform data. Because of this the MSR quirk needs to be moved outside the autoconfig() function which will no longer be called when UPF_FIXED_TYPE is specified. Signed-off-by: Manuel Lauss Cc: Andrew Morton , Cc: linux-serial@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Signed-off-by: Ralf Baechle commit 63ea336b7942214edce1ae79725f28593dc84eaa Author: Manuel Lauss Date: Wed Oct 28 21:49:46 2009 +0100 MIPS: Alchemy: UARTs are of type 16550A UART autodetection breaks on the Au1300 but the IP blocks are identical, at least according to the datasheets. Help the 8250 driver by passing on uart type information via platform data. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit c55736af449ad2b2cd1a9471dc6e5413d89a1ece Author: Florian Fainelli Date: Sun Oct 18 16:04:41 2009 +0200 MIPS: Alchemy: Turn on -Werror for devboards and xss1500 Warnings being suppressed, we can now turn on -Werror for boards which did not have it already (devboards and xss1500). Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 32fc0adeb89c7e1e592bf31b7158ddc154298207 Author: Florian Fainelli Date: Sun Oct 18 16:04:09 2009 +0200 MIPS: Alchemy: Fix warnings in DB1x00 / PB1000 / PB1550 board setup code This patch fixes warnings due to potentially unused variables in board setup code or mixed variables declaration and code (forbidden by ISO C90). Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 66a1d9baf4962defb3fc41439e3a22e752182f9f Author: Manuel Lauss Date: Thu Oct 15 19:32:01 2009 +0200 MIPS: Alchemy: remove unused SYS area structure Nothing in-tree uses it, so get rid of it. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit b6e6d120c8dd9c9cd888645b01299e2a55d873a4 Author: Manuel Lauss Date: Thu Oct 15 19:07:34 2009 +0200 MIPS: Alchemy: get rid of superfluous UART definitions Remove unused uart bit definitions and base macros. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 8402a1588a4f63465079e98481dd83d1d9cc9a98 Author: Manuel Lauss Date: Thu Oct 15 18:49:27 2009 +0200 MIPS: Alchemy: prom_putchar is board dependent This patch replaces the general alchemy prom_putchar() implementation in favor of board-specific versions: The UART where the output of prom_putchar is directed to really depends on the board, the current implementation hardcodes this on a per-SoC basis which is just wrong. So a generic uart tx function is provided in the alchemy headers, and the boards can provide their own prom_putchar with custom destination uart, and all in-kernel alchemy boards support early printk. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 963accbc82a0912b39de39d59e2fd6741db3aa4b Author: Manuel Lauss Date: Tue Oct 13 20:22:35 2009 +0200 MIPS: Alchemy: change dbdma to accept physical memory addresses DMA can only be done from physical addresses; move the "virt_to_phys" source/destination buffer address translation from the dbdma queueing functions (since the hardware can only DMA to/from physical addresses) to their respective users. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit ea071cc705e8bfba0c8bf84be8d4f9f4e9da6962 Author: Manuel Lauss Date: Tue Oct 13 20:22:34 2009 +0200 MIPS: Alchemy: remove dbdma compat macros Remove dbdma compat macros, move remaining users over to default queueing functions and -flags. (Queueing function signature has changed in order to give a build failure instead of silent functional changes due to the no longer implicitly specified DDMA_FLAGS_IE flag) Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit f1fc6645a4d2cb944320ce8ed1e40f88059779e1 Author: Manuel Lauss Date: Tue Oct 13 20:26:31 2009 +0200 MIPS: Alchemy: reduce size of irq dispatcher By replacing an extra do_IRQ with a goto, the assembly shrinks from 260 to 212 bytes (gcc-4.3.4). Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 788144656b8a862e724a1296e64ab6375eb541ed Author: Manuel Lauss Date: Wed Oct 7 20:15:15 2009 +0200 MIPS: Alchemy: Stop IRQ name sharing Eliminate the sharing of IRQ names among the differenct Alchemy variants. IRQ numbers need no longer be hidden behind a CONFIG_SOC_AU1XXX symbol: step 1 in my quest to make the Alchemy code less reliant on a hardcoded subtype. This patch also renames the GPIO irq number constants. It's really an interrupt line, NOT a GPIO number! Code which relied on certain irq numbers to have the same name across all supported cpu subtypes is changed to determine current cpu subtype at runtime; in some places this isn't possible so a "compat" symbol is used. Run-tested on DB1200. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 93e9cd8485b31e5a33f1040bff4d15e65c0b2d19 Author: Manuel Lauss Date: Wed Oct 7 20:15:14 2009 +0200 MIPS: Alchemy: Simple cpu subtype detector Extract the alchemy chip variant from c0_prid register. Signed-off-by: Manuel Lauss Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/14/ Patchwork: http://patchwork.linux-mips.org/patch/707/ Signed-off-by: Ralf Baechle commit 0a0b1295ef26a5f8387771c148fb63dccf897869 Author: Manuel Lauss Date: Wed Oct 7 20:15:13 2009 +0200 MIPS: Alchemy: higher priority for system timer. Raise RTCMATCH2 interrupt priority in case it is used as the system timer tick. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 5047201b56ce8671cc19f426e2951de9f29b3485 Author: Manuel Lauss Date: Wed Oct 7 20:15:12 2009 +0200 MIPS: Alchemy: Remove USB_DEV_REQ_INT prioritization hack The Alchemy hardware provides a method to prioritize interrupts on a controller by assigning them to a differenct core request line. Assign usb device request interrupt to IC0 Request 0 (which has highest priority in the core and the dispatcher) and others to Request 1. The explicit check for usb device request occurrence should be obsolete now. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 0273b4efccd3bc2b2ef5ea9778e71d8efbbb7ac7 Author: Manuel Lauss Date: Sun Oct 4 14:55:29 2009 +0200 MIPS: Alchemy: XXS1500 PCMCIA driver rewrite Rewritten XXS1500 PCMCIA socket driver, standalone (doesn't depend on au1000_generic.c) and added carddetect IRQ support. Signed-off-by: Manuel Lauss Cc: Florian Fainelli Cc: Linux-PCMCIA Signed-off-by: Ralf Baechle commit 27dd65ac9afabc8e67ab73f7c2f575eddbb47167 Author: Manuel Lauss Date: Sun Oct 4 14:55:28 2009 +0200 MIPS: Alchemy: devboards: wire up new PCMCIA driver. Register the PCMCIA driver on all boards supported by it, get rid of now-unused pcmcia macros in the board headers (and subsequently empty pb1100/pb1500 ones). Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 66213b3ccfc770704025ce9465fa3aaedde21b55 Author: Manuel Lauss Date: Sun Oct 4 14:55:27 2009 +0200 MIPS: PCMCIA: new socket driver for Au1000 demoboards. New PCMCIA socket driver for all Db/Pb1xxx boards (except Pb1000), which replaces au1000_db1x00.c and (most of) au1000_pb1x00.c. Notable improvements: - supports Db1000, DB/PB1100/1500/1550/1200. - support for carddetect and statuschange IRQs. - pcmcia socket mem/io/attr areas and irqs passed through platform resource information. - doesn't freeze system during card insertion/ejection like the one it replaces. - boardtype is automatically detected using BCSR ID register. Run-tested on the DB1200. Cc: Linux-PCMCIA Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 7e50b2b741bb4f9dbddc9f56972ef82a7d4b33ed Author: Manuel Lauss Date: Sun Oct 4 14:55:26 2009 +0200 MIPS: Alchemy: remove board_init_irq() function. remove board_init_irq(): On all in-kernel boards it is sufficient to initialize board interrupts in an arch_initcall by using the default linux irq functions. Some small irqmap.c files have been folded into board_setup files. Run-tested on DB1200; compile-tested on all other affected boards. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 95a437966dba642870a93d16bf82af8926bb2082 Author: Manuel Lauss Date: Sun Oct 4 14:55:25 2009 +0200 MIPS: Alchemy: devboards: factor out PB1200 IRQ cascade code. Move the PB1200 IRQ cascade code out to the BCSR support code: upcoming DB1300 support can use it too. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 9bdcf336d0c061e77f4c45c7b2bc32e3ed6b57e3 Author: Manuel Lauss Date: Sun Oct 4 14:55:24 2009 +0200 MIPS: Alchemy: devboard register abstraction All Alchemy development boards have external CPLDs with a few registers in them. They all share an identical register layout with only a few minor differences (except the PB1000) in bit functions and base addresses. This patch - adds a primitive facility to initialize and use these external registers, - replaces all occurrences of bcsr->xxx accesses with calls to the new functions (the pb1200 cascade irq handling code is special). - collects BCSR register information scattered throughout the board headers in a central place. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit ebc89718a4b3fa0e440151fb4484541700828a5d Author: Ralf Baechle Date: Fri Feb 26 13:57:12 2010 +0100 MIPS: Fix build error for uncompressed non-plain vmlinux kernels Seen on rm200_defconfig for example: CC arch/mips/boot/compressed/decompress.o /home/ralf/src/linux/upstream-linus/arch/mips/boot/compressed/decompress.c: In function ‘decompress_kernel’: /home/ralf/src/linux/upstream-linus/arch/mips/boot/compressed/decompress.c:116: error: implicit declaration of function ‘decompress’ make[3]: *** [arch/mips/boot/compressed/decompress.o] Error 1 make[2]: *** [vmlinuz.ecoff] Error 2 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 Signed-off-by: Ralf Baechle commit 78c06176466cbd1b3f0f67709d3023c40dbebcbd Author: Russ Anderson Date: Fri Feb 26 10:49:12 2010 -0600 x86: Enable NMI on all cpus on UV Enable NMI on all cpus in UV system and add an NMI handler to dump_stack on each cpu. By default on x86 all the cpus except the boot cpu have NMI masked off. This patch enables NMI on all cpus in UV system and adds an NMI handler to dump_stack on each cpu. This way if a system hangs we can NMI the machine and get a backtrace from all the cpus. Version 2: Use x86_platform driver mechanism for nmi init, per Ingo's suggestion. Version 3: Clean up Ingo's nits. Signed-off-by: Russ Anderson LKML-Reference: <20100226164912.GA24439@sgi.com> Signed-off-by: Ingo Molnar commit 480917427b0b6ff39de55ffc81391055472e6c26 Merge: 6fb8302 f1c7f51 Author: Ingo Molnar Date: Sat Feb 27 10:41:16 2010 +0100 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit 6fb83029db161141d68cf019760a893d03d0682b Merge: 281b371 e01292b Author: Ingo Molnar Date: Sat Feb 27 10:06:10 2010 +0100 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit 71da81324c83ef65bb196c7f874ac1c6996d8287 Author: Paul E. McKenney Date: Fri Feb 26 16:38:58 2010 -0800 rcu: Fix accelerated GPs for last non-dynticked CPU This patch disables irqs across the call to rcu_needs_cpu(). It also enforces a hold-off period so that the idle loop doesn't softirq itself to death when there are lots of RCU callbacks in flight on the last non-dynticked CPU. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267231138-27856-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 0b1c87278a8c7e394022ec184a0b44a3886b6fde Author: Paul E. McKenney Date: Fri Feb 26 16:38:57 2010 -0800 rcu: Make non-RCU_PROVE_LOCKING rcu_read_lock_sched_held() understand boot Before the scheduler starts, all tasks are non-preemptible by definition. So, during that time, rcu_read_lock_sched_held() needs to always return "true". This patch makes that be so for RCU_PROVE_LOCKING=n. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267231138-27856-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit a47cd880b50e14b0b6f5e9d426ae9a2676c9c474 Author: Paul E. McKenney Date: Fri Feb 26 16:38:56 2010 -0800 rcu: Fix accelerated grace periods for last non-dynticked CPU It is invalid to invoke __rcu_process_callbacks() with irqs disabled, so do it indirectly via raise_softirq(). This requires a state-machine implementation to cycle through the grace-period machinery the required number of times. Located-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267231138-27856-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1c32fd0c5ac1ccbdc37a1a392a5d75cbe059b401 Author: Ilya Dryomov Date: Fri Feb 26 13:06:03 2010 -0800 kernel-doc: drop the -filelist option, it doesn't work I also found the -filelist option, but apparently the implementation is broken, and it was broken from the very first git commit. For the -filelist option I suggest the removal (I wasn't able to find any users of it, moreover it's not even listed in the usage() output, so presumably nobody knows about it). Signed-off-by: Ilya Dryomov Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit a9e7314b7940cee00b80995b360dbc06f995cc6e Author: Ilya Dryomov Date: Fri Feb 26 13:05:47 2010 -0800 kernel-doc: track line numbers for each file separately The problem is that $. keeps track of the current record number (which is line number by default). But if you pass it multiple files, it does not wrap at the end of file, and therefore contains the *total* number of processed lines. I suppose we can fix line numbering by introducing a simple assignment $. = 1 before processing every new file. Signed-off-by: Ilya Dryomov Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 06a79b82b2a3e4bebb9a20638ca208c780e9e507 Merge: 4912002 a9c9b44 Author: Linus Torvalds Date: Fri Feb 26 17:22:53 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Hibernate: Fix preallocating of memory PM / Hibernate: Remove swsusp.c finally PM / Hibernate: Remove trailing space in message PM: Allow SCSI devices to suspend/resume asynchronously PM: Allow USB devices to suspend/resume asynchronously USB: implement non-tree resume ordering constraints for PCI host controllers PM: Allow PCI devices to suspend/resume asynchronously PM / Hibernate: Swap, remove useless check from swsusp_read() PM / Hibernate: Really deprecate deprecated user ioctls PM: Allow device drivers to use dpm_wait() PM: Start asynchronous resume threads upfront PM: Add facility for advanced testing of async suspend/resume PM: Add a switch for disabling/enabling asynchronous suspend/resume PM: Asynchronous suspend and resume of devices PM: Add parent information to timing messages PM: Document device power attributes in sysfs PM / Runtime: Add sysfs switch for disabling device run-time PM commit 4912002fffa377e66c5caefc2c311732a4ad5fb8 Author: Christian Kujau Date: Fri Feb 26 17:25:14 2010 +0000 Remove EXPERIMENTAL from NFS_FSCACHE There's currently an open Ubuntu bug[0], with the intent to compile NFS_FSCACHE (and possibly AFS_FSCACHE, 9P_FSCACHE) into the standard Ubuntu kernel. However, since *_FSCACHE still depends on EXPERIMENTAL, this won't happen. As Arjan van de Ven pointed out[1], the EXPERIMENTAL flag doesn't mean that much any more, I propose the following patch to fs/nfs/Kconfig. I'd do the same for fs/9p/Kconfig and fs/afs/Kconfig, but as I did not test 9p or AFS, I feel it would not be appropriate for me to remove the flag. [0] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/440522/comments/5 [1] http://lkml.org/lkml/2010/1/23/145 Signed-off-by: Christian Kujau Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 98723153dc32106e5be701da15551853c9f785a9 Merge: 4cbd551 6335e4d Author: Linus Torvalds Date: Fri Feb 26 17:20:18 2010 -0800 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: toshiba_acpi: Add full hotkey support hp-wmi: Add support for tablet rotation key dell-laptop: Add another Dell laptop to the DMI whitelist classmate-laptop: use a single MODULE_DEVICE_TABLE to get correct aliases dell-laptop: Pay attention to which devices the hardware switch controls dell-laptop: Use buffer with 32-bit physical address dell-laptop: Blacklist machines not supporting dell-laptop dell-laptop: Block software state changes when rfkill hard blocked dell-laptop: Fix small memory leak dell-laptop: Fix platform device unregistration dell-laptop: Update rfkill state on kill switch compal-laptop: Replace sysfs support with rfkill support compal-laptop: Add support for known Compal made Dell laptops MAINTAINERS: update drivers/platform/x86 information commit 4cbd55188fe01f22783815cbb6d4f55a0ebf5969 Merge: b305956 b6fa879 Author: Linus Torvalds Date: Fri Feb 26 17:19:30 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: use bastmode in debugfs output dlm: Send lockspace name with uevents dlm: send reply before bast dlm: fix ordering of bast and cast commit b305956abc3c50c52598bbf39b7a5f4850058ba8 Merge: 4163095 398007f Author: Linus Torvalds Date: Fri Feb 26 17:18:52 2010 -0800 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (52 commits) fs/xfs: Correct NULL test xfs: optimize log flushing in xfs_fsync xfs: only clear the suid bit once in xfs_write xfs: kill xfs_bawrite xfs: log changed inodes instead of writing them synchronously xfs: remove invalid barrier optimization from xfs_fsync xfs: kill the unused XFS_QMOPT_* flush flags V2 xfs: Use delay write promotion for dquot flushing xfs: Sort delayed write buffers before dispatch xfs: Don't issue buffer IO direct from AIL push V2 xfs: Use delayed write for inodes rather than async V2 xfs: Make inode reclaim states explicit xfs: more reserved blocks fixups xfs: turn off sign warnings xfs: don't hold onto reserved blocks on remount,ro xfs: quota limit statvfs available blocks xfs: replace KM_LARGE with explicit vmalloc use xfs: cleanup up xfs_log_force calling conventions xfs: kill XLOG_VEC_SET_TYPE xfs: remove duplicate buffer flags ... commit 41630959ed5ce694ec2e8c0f3c69743e011394c8 Merge: 2b8c70b c4d1409 Author: Linus Torvalds Date: Fri Feb 26 17:18:11 2010 -0800 Merge branch 'ibft-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6 * 'ibft-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6: ibft: Update MAINTAINERS file. drivers/firmware/iscsi_ibft.c: remove NIPQUAD_FMT, use %pI4 commit 2b8c70b2174402ca3dec13310ce56597233392d7 Merge: 29e1fa3 3621263 Author: Linus Torvalds Date: Fri Feb 26 17:16:20 2010 -0800 Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (362 commits) V4L-DVB: cx88-dvb: remove extra attribution for core V4L/DVB: v4l: soc_camera: fix bound checking of mbus_fmt[] index V4L/DVB: Add support for SMT7020 to cx88 V4L/DVB: radio-si470x: Use UTF-8 encoding on a comment V4L/DVB: MAINTAINERS: Telegent tlg2300 section fix V4L/DVB: gspca_stv06xx: Add support for camera button V4L/DVB: gspca_ov519: add support for the button on ov511 based cams V4L/DVB: gspca_ov519: Add support for the button on ov518 based cams V4L/DVB: gspca_ov519: add support for the button on ov519 based cams V4L/DVB: gspca_main: Fix a compile error when CONFIG_INPUT is not set V4L/DVB: gspca_main: some input error handling fixes V4L/DVB: gspca_main: Allow use of input device creation code for non int. inputs V4L/DVB: gspca_pac7302: much improved exposure control V4L/DVB: gspca_sonixb: Make sonixb driver handle pas106 and pas202 cameras V4L/DVB: gspca_sonixb: pas106: fixup bright ctrl and add gain and exposure ctrls V4L/DVB: Documentation: gspca.txt: update known mr97310a cams V4L/DVB: gspca_mr97310a: add support for the Sakar 1638x CyberPix V4L/DVB: gscpa_sonixb: limit ov7630 max framerate at 640x480 V4L/DVB: gspca_sonixb: pas202: fixup brightness ctrl and add gain and exposure ctrls V4L/DVB: gscpa_sonixb: Differentiate between sensors with a coarse and fine expo ctrl ... commit 29e1fa3565a7951cc415c634eb2b78dbdbee151d Author: Ang Way Chuang Date: Thu Feb 25 09:45:03 2010 +0800 dvb-core: Fix DoS bug in ULE decapsulation code that can be triggered by an invalid Payload Pointer ULE (Unidirectional Lightweight Encapsulation RFC 4326) decapsulation has a bug that causes endless loop when Payload Pointer of MPEG2-TS frame is 182 or 183. Anyone who sends malicious MPEG2-TS frame will cause the receiver of ULE SNDU to go into endless loop. This patch was generated and tested against linux-2.6.32.9 and should apply cleanly to linux-2.6.33 as well because there was only one typo fix to dvb_net.c since v2.6.32. This bug was brought to you by modern day Santa Claus who decided to shower the satellite dish at Keio University with heavy snow causing huge burst of errors. We, receiver end, received Santa Claus's gift in the form of kernel bug. Care has been taken not to introduce more bug by fixing this bug, but please scrutinize the code for I always produces buggy code. Signed-off-by: Ang Way Chuang Acked-by: Mauro Carvalho Chehab Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 2594a57a13f1a6c32d90d73d7ebe51d4b8d88421 Merge: f24407d 6adad2d Author: Linus Torvalds Date: Fri Feb 26 17:11:11 2010 -0800 Merge branch 'kmemcheck-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'kmemcheck-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: kmemcheck: Test the full object in kmemcheck_is_obj_initialized() commit f24407d2bde27a4eb75ce5e52069bf4f1ba0e8a5 Merge: 6544517 73c77e2 Author: Linus Torvalds Date: Fri Feb 26 17:05:10 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/xfs-vipt * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/xfs-vipt: xfs: fix xfs to work with Virtually Indexed architectures sh: add mm API for DMA to vmalloc/vmap areas arm: add mm API for DMA to vmalloc/vmap areas parisc: add mm API for DMA to vmalloc/vmap areas mm: add coherence API for DMA to vmalloc/vmap areas commit 654451748b779b28077d9058442d0f354251870d Merge: 64d497f 77c9cfc Author: Linus Torvalds Date: Fri Feb 26 16:55:27 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (158 commits) [SCSI] Fix printing of failed 32-byte commands [SCSI] Fix printing of variable length commands [SCSI] libsrp: fix bug in ADDITIONAL CDB LENGTH interpretation [SCSI] scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list [SCSI] scsi_dh_alua: add netapp to dev list [SCSI] qla2xxx: Update version number to 8.03.02-k1. [SCSI] qla2xxx: EEH: Restore PCI saved state during pci slot reset. [SCSI] qla2xxx: Add firmware ETS burst support. [SCSI] qla2xxx: Correct loop-resync issues during SNS scans. [SCSI] qla2xxx: Correct use-after-free issue in terminate_rport_io callback. [SCSI] qla2xxx: Correct EH bus-reset handling. [SCSI] qla2xxx: Proper clean-up of BSG requests when request times out. [SCSI] qla2xxx: Initialize payload receive length in failure path of vendor commands [SCSI] fix duplicate removal on error path in scsi_sysfs_add_sdev [SCSI] fix refcounting bug in scsi_get_host_dev [SCSI] fix memory leak in scsi_report_lun_scan [SCSI] lpfc: correct PPC build failure [SCSI] raid_class: add raid1e [SCSI] mpt2sas: Do not call sas_is_tlr_enabled for RAID volumes. [SCSI] zfcp: Introduce header file for qdio structs and inline functions ... commit 64d497f55379b1e320a08ec2426468d96f5642ec Merge: 37d4008 b5f5fe8 Author: Linus Torvalds Date: Fri Feb 26 16:54:27 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (187 commits) sh: remove dead LED code for migo-r and ms7724se sh: ecovec build fix for CONFIG_I2C=n sh: ecovec r-standby support sh: ms7724se r-standby support sh: SH-Mobile R-standby register save/restore clocksource: Fix up a registration/IRQ race in the sh drivers. sh: ms7724: modify scan_timing for KEYSC sh: ms7724: Add sh_sir support sh: mach-ecovec24: Add sh_sir support sh: wire up SET/GET_UNALIGN_CTL. sh: allow alignment fault mode to be configured at kernel boot. sh: sh7724: Update FSI/SPU2 clock sh: always enable sh7724 vpu_clk and set to 166MHz on Ecovec sh: add sh7724 kick callback to clk_div4_table sh: introduce struct clk_div4_table sh: clock-cpg div4 set_rate() shift fix sh: Turn on speculative return for SH7785 and SH7786 sh: Merge legacy and dynamic PMB modes. sh: Use uncached I/O helpers in PMB setup. sh: Provide uncached I/O helpers. ... commit 37d4008484977f60d5d37499a2670c79b214dd46 Merge: 68c6b85 8d0c123 Author: Linus Torvalds Date: Fri Feb 26 16:50:02 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (31 commits) crypto: aes_generic - Fix checkpatch errors crypto: fcrypt - Fix checkpatch errors crypto: ecb - Fix checkpatch errors crypto: des_generic - Fix checkpatch errors crypto: deflate - Fix checkpatch errors crypto: crypto_null - Fix checkpatch errors crypto: cipher - Fix checkpatch errors crypto: crc32 - Fix checkpatch errors crypto: compress - Fix checkpatch errors crypto: cast6 - Fix checkpatch errors crypto: cast5 - Fix checkpatch errors crypto: camellia - Fix checkpatch errors crypto: authenc - Fix checkpatch errors crypto: api - Fix checkpatch errors crypto: anubis - Fix checkpatch errors crypto: algapi - Fix checkpatch errors crypto: blowfish - Fix checkpatch errors crypto: aead - Fix checkpatch errors crypto: ablkcipher - Fix checkpatch errors crypto: pcrypt - call the complete function on error ... commit f1c7f517a5dc23bce07efa5ed55e2c074ed9d4ba Author: Steven Rostedt Date: Fri Feb 26 17:08:16 2010 -0500 ftrace: Add function names to dangling } in function graph tracer The function graph tracer is currently the most invasive tracer in the ftrace family. It can easily overflow the buffer even with 10megs per CPU. This means that events can often be lost. On start up, or after events are lost, if the function return is recorded but the function enter was lost, all we get to see is the exiting '}'. Here is how a typical trace output starts: [tracing] cat trace # tracer: function_graph # # CPU DURATION FUNCTION CALLS # | | | | | | | 0) + 91.897 us | } 0) ! 567.961 us | } 0) <========== | 0) ! 579.083 us | _raw_spin_lock_irqsave(); 0) 4.694 us | _raw_spin_unlock_irqrestore(); 0) ! 594.862 us | } 0) ! 603.361 us | } 0) ! 613.574 us | } 0) ! 623.554 us | } 0) 3.653 us | fget_light(); 0) | sock_poll() { There are a series of '}' with no matching "func() {". There's no information to what functions these ending brackets belong to. This patch adds a stack on the per cpu structure used in outputting the function graph tracer to keep track of what function was outputted. Then on a function exit event, it checks the depth to see if the function exit has a matching entry event. If it does, then it only prints the '}', otherwise it adds the function name after the '}'. This allows function exit events to show what function they belong to at trace output startup, when the entry was lost due to ring buffer overflow, or even after a new task is scheduled in. Here is what the above trace will look like after this patch: [tracing] cat trace # tracer: function_graph # # CPU DURATION FUNCTION CALLS # | | | | | | | 0) + 91.897 us | } (irq_exit) 0) ! 567.961 us | } (smp_apic_timer_interrupt) 0) <========== | 0) ! 579.083 us | _raw_spin_lock_irqsave(); 0) 4.694 us | _raw_spin_unlock_irqrestore(); 0) ! 594.862 us | } (add_wait_queue) 0) ! 603.361 us | } (__pollwait) 0) ! 613.574 us | } (tcp_poll) 0) ! 623.554 us | } (sock_poll) 0) 3.653 us | fget_light(); 0) | sock_poll() { Signed-off-by: Steven Rostedt commit a8d6356cdabf4495aaae7d3e89eb058b1909761c Author: Heiko Carstens Date: Fri Feb 26 22:37:56 2010 +0100 [S390] time: remove unused code Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0cbde8ee60c883b246fb50dfed8bcd968239702b Author: Michael Holzheu Date: Fri Feb 26 22:37:55 2010 +0100 [S390] zcore: Add prefix registers to dump header With this patch the prefix registers of all online CPUs are stored in the the zcore dump header. This allows dump analysis tools to access the register information that is stored in the prefix pages without using the System.map. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 13c6680acb3df25722858566b42759215ea5d2e0 Author: Martin Schwidefsky Date: Fri Feb 26 22:37:54 2010 +0100 [S390] correct vdso version string The glibc vdso code for s390 uses the version string 2.6.29, the kernel uses the version string 2.6.26. No wonder the vdso code is never used. The first kernel version to contain the vdso code is 2.6.29 which makes this the correct version. Signed-off-by: Martin Schwidefsky commit 1844c9bc0b2fed3023551c1affe033ab38e90b9a Author: Martin Schwidefsky Date: Fri Feb 26 22:37:53 2010 +0100 [S390] add support for compressed kernels Add the "bzImage" compile target and the necessary code to generate compressed kernel images. The old style uncompressed "image" target is preserved, a simple make will build them both. Signed-off-by: Martin Schwidefsky commit 73bfa5f2f71efcdcaad8d18cbed96b9d7ed86948 Author: Michael Holzheu Date: Fri Feb 26 22:37:52 2010 +0100 [S390] Define new s390 ELF note sections in elf.h S390 ELF core dump currently only contains the PSW, the general purpose registers, the floating point registers and the access registers stored in PRSTATUS/PRFPREG note sections. For analyzing s390 kernel problems additional registers are important. In order to be able to include these registers to a kernel ELF core dump, this patch adds the following five new note sections to elf.h: * NT_S390_TIMER: S390 timer register * NT_S390_TODCMP: S390 TOD comparator register * NT_S390_TODPREG: S390 TOD programmable register * NT_S390_CTRS: S390 control registers * NT_S390_PREFIX: S390 prefix register The new note sections have been already defined and accepted in the upstream binutils package. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 61fd330dee1606a6bdb741f9c156bca386a4e438 Author: Martin Schwidefsky Date: Fri Feb 26 22:37:51 2010 +0100 [S390] codepage conversion of kernel parameter line Move the ebcdic to ascii conversion of the kernel parameter line from head.S to early.c and convert the assembler code to C. Signed-off-by: Martin Schwidefsky commit 34b9243a300736c08dc32eaeb2f359401fcf9c0a Author: Alexey Dobriyan Date: Fri Feb 26 22:37:50 2010 +0100 [S390] seq_file: convert drivers/s390/ Signed-off-by: Alexey Dobriyan Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 618708ff04f3a7b74f54210bd518aa1d827d8e65 Author: Martin Schwidefsky Date: Fri Feb 26 22:37:49 2010 +0100 [S390] add z9-ec/z10 instruction to kernel disassembler Add the instruction of the z9-ec and z10 machines to the kernel disassembler. Add the missing "ptff" instruction of z9-109 and the missing "sqd" of g5. Remove useless comments with instruction examples from format table. Signed-off-by: Martin Schwidefsky commit b695adfaa118fd7c50eca8990e348dd7372ee0aa Author: Stefan Haberland Date: Fri Feb 26 22:37:48 2010 +0100 [S390] dasd: correct offline processing Flushing the dasd ccw request queue may stop the processing of the block device request queue. Destroy partitions may wait for outstanding requests and thus hang. Swapping dasd_destroy_partitions and dasd_flush_request_queue so that the request queue is empty before dasd_destroy_partitions is called. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 589c74d5076dd1bde13a5a36d97ca79be8bd72b2 Author: Stefan Haberland Date: Fri Feb 26 22:37:47 2010 +0100 [S390] dasd: fix refcounting. The function dasd_device_from_cdev returns a reference to the dasd device and increases the refcount by one. If an exception occurs, the refcount was not decreased in all cases e.g. in dasd_discipline_show. Prevent the offline processing from hang by correcting two functions to decrease the refcount even if an error occured. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 9eb251225ab4dbea3119cfcf4c5194eed223a740 Author: Stefan Haberland Date: Fri Feb 26 22:37:46 2010 +0100 [S390] dasd: fix online/offline race Setting a DASD online and offline in quick succession may cause a kernel panic or let the chhccwdev command wait forever. The Online process is split into two parts. After the first part is finished the offline process may be called. This may result in a situation where the second online processing part tries to set the DASD offline as well. Use a mutex to protect online and offline against each other. Also correct some checking. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 22e0a0467292222214d1974d9bc2664a6c05980d Author: Heiko Carstens Date: Fri Feb 26 22:37:45 2010 +0100 [S390] use kprobes_built_in() in mm/fault code Use kprobes_built_in() to avoid ifdefs like most other architectures do. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 52499f40267e1178b3b2c887aee85c0c9fd01ec0 Author: Heiko Carstens Date: Fri Feb 26 22:37:44 2010 +0100 [S390] bug: use relative pointers in bug table entries Reduces the size of the bug table entries by 50% on 64bit kernels. Saves around 30kb on a defconfig kernel. s390 version of b93a531e "allow bug table entries to use relative pointers (and use it on x86-64)". Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit cbb870c8221147ae337612e04b2bb0211f31a74b Author: Heiko Carstens Date: Fri Feb 26 22:37:43 2010 +0100 [S390] Cleanup struct _lowcore usage and defines. Use asm offsets to make sure the offset defines to struct _lowcore and its layout don't get out of sync. Also add a BUILD_BUG_ON() which checks that the size of the structure is sane. And while being at it change those sites which use odd casts to access the current lowcore. These should use S390_lowcore instead. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d96221ab1e7d86dc0d4666466979117cd1915386 Author: Heiko Carstens Date: Fri Feb 26 22:37:42 2010 +0100 [S390] free_initmem: reduce code duplication free_initmem() and free_initrd_mem() are nearly identical. So make them call a common function. Also fixes a bug: if the initrd wouldn't start on a page boundary also memory after the initrd would be initialized with the poison value. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b8e660b83d505148c83ddc6d5ba69c29d0eab1e3 Author: Heiko Carstens Date: Fri Feb 26 22:37:41 2010 +0100 [S390] Replace ENOTSUPP usage with EOPNOTSUPP ENOTSUPP is not supposed to leak to userspace so lets just use EOPNOTSUPP everywhere. Doesn't fix a bug, but makes future reviews easier. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 59b697874529f5c3cbcaf5816b3d6c584af521e8 Author: Gerald Schaefer Date: Fri Feb 26 22:37:40 2010 +0100 [S390] spinlock: check virtual cpu running status This patch introduces a new function that checks the running status of a cpu in a hypervisor. This status is not virtualized, so the check is only correct if running in an LPAR. On acquiring a spinlock, if the cpu holding the lock is scheduled by the hypervisor, we do a busy wait on the lock. If it is not scheduled, we yield over to that cpu. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 8387c736fcbaec17890b8d075ee4f4623518b54a Author: Heiko Carstens Date: Fri Feb 26 22:37:39 2010 +0100 [S390] sysinfo: fix SYSIB 3,2,2 structure The size of the field that contains the description block count is only four bits instead of eight bits. The first four bits are reserved but this might change and break. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 27d71602b4a605fbb31088e69ac12187e69a9443 Author: Martin Schwidefsky Date: Fri Feb 26 22:37:38 2010 +0100 [S390] add MACHINE_IS_LPAR flag Introduce the MACHINE_IS_LPAR flag for code that should only be executed if Linux is running in an LPAR. Signed-off-by: Martin Schwidefsky commit 432ac5e04b931df8376e0858d4bf0fd41436a271 Author: Jan Glauber Date: Fri Feb 26 22:37:37 2010 +0100 [S390] qdio: optimize cache line usage of struct qdio_irq Remove a memset hack that relied on the internal layout of the qdio_irq struct and move the per device statistics data into an own cache line to avoid cache line bashing between the inbound and the outbound queue tasklets. Also reduce the number of allocated queues from 32 to 4 which is the current maximum. That saves a cache line in struct qdio_irq. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit d307297f73077b4dc8110eb998108ffc467e8e6c Author: Jan Glauber Date: Fri Feb 26 22:37:36 2010 +0100 [S390] qdio: account processed SBAL during queue scan Add counters for the number of processed SBALs. The numbers summarize how many SBALs were processed at each queue scan and indicate the utilization of the queue. Furthermore the number of unsuccessfull queue scans, SBAL errors and the total number of processed SBALs are accounted. Also regroup struct qdio_q to move read-mostly and write-mostly data into different cachelines. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit a93b8ec1df1f0ad75d036dbc0fdef2e0ccb7be02 Author: Heiko Carstens Date: Fri Feb 26 22:37:35 2010 +0100 [S390] smp: rework sigp code Rename signal_processor* functions to sigp*. Add raw variants of each version, so we can get rid of the hacks played in smp code which establish temporary cpu logical mappings so they could call the sigp functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2c2df118a6440748e6fd71a510a66ee708c31494 Author: Heiko Carstens Date: Fri Feb 26 22:37:34 2010 +0100 [S390] smp: always reboot on cpu 0 Always reboot on logical cpu 0. This makes sure that the IPL cpu is always the same and usually avoids strange numbering schemes between physical and logical cpus. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit abd1ecf209b30a0ed43f0aae50f8b8ce1be2c3d1 Author: Heiko Carstens Date: Fri Feb 26 22:37:33 2010 +0100 [S390] smp: rename and add lowcore defines Rename __LC_RESTART_PSW to __LC_RST_NEW_PSW, add a define for the missing 32 bit variant and the missing old PSWs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f64ca21714f114a78b6c19ceabc7745b29913efc Author: Heiko Carstens Date: Fri Feb 26 22:37:32 2010 +0100 [S390] zfcpdump: remove cross arch dump support Remove support to be able to dump 31 bit systems with a 64 bit dumper. This is mostly useless since no distro ships 31 bit kernels together with a 64 bit dumper. We also get rid of a bit of hacky code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 987bcdacb18a3adc2a48d85c9b005069c2f4dd7b Author: Martin Schwidefsky Date: Fri Feb 26 22:37:31 2010 +0100 [S390] use inline assembly contraints available with gcc 3.3.3 Drop support to compile the kernel with gcc versions older than 3.3.3. This allows us to use the "Q" inline assembly contraint on some more inline assemblies without duplicating a lot of complex code (e.g. __xchg and __cmpxchg). The distinction for older gcc versions can be removed which saves a few lines and simplifies the code. Reviewed-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit d1bf85902c28dd990c08f1703ea94109223549a7 Author: Heiko Carstens Date: Fri Feb 26 22:37:30 2010 +0100 [S390] cio: fix storage key handling Some parts of cio do not shift PAGE_DEFAULT_KEY correctly and end up with an incorrect key in their data structures. Since the default key is zero this doesn't really matter. However if somebody would use key-controlled protection for debugging purposes it would be quite helpful if all of this would work as expected. Also remove a stale declaration. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0d01bb89220490763d89571d27e7ee3f13f9b372 Author: Sebastian Ott Date: Fri Feb 26 22:37:29 2010 +0100 [S390] cio: trigger subchannel event at resume time ccw_device_pm_restore: trigger subchannel event to better handle changes to the subchannel device. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 76e6fb4b86446e4605379b99ad3dd3f96bb1696f Author: Sebastian Ott Date: Fri Feb 26 22:37:28 2010 +0100 [S390] ccw_device_notify: improve return codes Callers of ccw_device_notify could not distinguish between a driver who has no notifier registered and a driver who doesn't want to keep a device after a certain event. Change this by adding proper return codes. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit b4c707214c987da021d4d5c4ed54612cf73d80d6 Author: Sebastian Ott Date: Fri Feb 26 22:37:27 2010 +0100 [S390] cio: make wait_events interruptible Make the potentially long blocking wait_event's used by the cio settle mechanism interruptible. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit b4563e891a043fe521e62f6f621b928641474ff3 Author: Sebastian Ott Date: Fri Feb 26 22:37:26 2010 +0100 [S390] cio: wait for channel report To fetch a pending channel report word (crw) we use a kernel thread which triggers stcrw and sleeps on a semaphore. The s390 machine check handler uses crw_handle_channel_report to handle one crw if needed. This patch replaces the semaphore with a waitqueue (to block the kernel thread) and an atomic_t (to count the number of pending requests). By this we achieve the ability to force this thread to check for a pending crw (independent on when it is triggered by the machine check handler) and wait for this action to finish. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 879acca58a904c25487c89ab11e23eb556fb13d3 Author: Sebastian Ott Date: Fri Feb 26 22:37:25 2010 +0100 [S390] cio: introduce cio_settle This patch introduces a proc file cio_settle. A write request to this file is blocked until all queued cio actions are handled. This will allow userspace to wait for pending work affecting device availability after changing cio_ignore or the hardware configuration. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit be5d3823f29c09676abd2eeea4f9767bc4a1a531 Author: Sebastian Ott Date: Fri Feb 26 22:37:24 2010 +0100 [S390] cio: consolidate workqueues We used to maintain 2 singlethreaded workqueues for synchronization and to trigger work from interrupt context. Since our latest cio changes we only use one of these workqueues. So get rid of the unused workqueue, rename the remaining one to "cio_work_q" and move its ownership to the channel subsystem driver. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 6f5d09a0e9731a39a4d52a5902daec72c1e43692 Author: Ursula Braun Date: Fri Feb 26 22:37:23 2010 +0100 [S390] adapt text to cu3088-removal cu3088 layer for lcs and ctcm has been removed. Thus the reference to cu3088 in this text is to be removed as well. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 1dcec254afe5bc700a4cacf810b71a28bd994ea9 Author: Heiko Carstens Date: Fri Feb 26 22:37:22 2010 +0100 [S390] uaccess: implement strict user copy checks Same as on x86 and sparc, besides the fact that enabling the option will just emit compile time warnings instead of errors. Keeps allyesconfig kernels compiling. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c4d1409bbed8cf2a11b48ce3a075e142f686a588 Author: Konrad Rzeszutek Wilk Date: Fri Feb 26 03:53:00 2010 +0000 ibft: Update MAINTAINERS file. Provide the right e-mail and names for me and Peter. Signed-off-by: Konrad Rzeszutek Wilk commit 00e7825b943f486e80ff1305cd0594d8791870f8 Author: Joe Perches Date: Thu Jan 14 11:34:19 2010 -0500 drivers/firmware/iscsi_ibft.c: remove NIPQUAD_FMT, use %pI4 Convert netmask to __be32 and format it with %pI4 Signed-off-by: Joe Perches Signed-off-by: Konrad Rzeszutek Reviewed-by: Mike Christie Cc: Peter Jones Cc: James Bottomley Signed-off-by: Andrew Morton commit 398007f863a4af2b4a5a07219c5a617f1a098115 Merge: d67b1b0 60b341b Author: Alex Elder Date: Fri Feb 26 14:34:02 2010 -0600 Merge branch 'linux-2.6.33' commit a9c9b4429df437982d2fbfab1f4b46b01329e9ed Author: Rafael J. Wysocki Date: Thu Feb 25 22:32:37 2010 +0100 PM / Hibernate: Fix preallocating of memory The hibernate memory preallocation code allocates memory to push some user space data out of physical RAM, so that the hibernation image is not too large. It allocates more memory than necessary for creating the image, so it has to release some pages to make room for allocations made while suspending devices and disabling nonboot CPUs, or the system will hang due to the lack of free pages to allocate from. Unfortunately, the function used for freeing these pages, free_unnecessary_pages(), contains a bug that prevents it from doing the job on all systems without highmem. Fix this problem, which is a regression from the 2.6.30 kernel, by using the right condition for the termination of the loop in free_unnecessary_pages(). Signed-off-by: Rafael J. Wysocki Reported-and-tested-by: Alan Jenkins Cc: stable@kernel.org commit f8bb0db8188c7ef9ef08515883dae9f9eb980984 Author: Jiri Slaby Date: Sun Feb 21 22:14:44 2010 +0100 PM / Hibernate: Remove swsusp.c finally Its contents and entry in Makefile were already removed in 8e60c6a1348e17e68ad73589a52a03876e7059be (Shift remaining code from swsusp.c to hibernate.c) but somehow it remained in-place (rjw: which most likely was my mistake). Signed-off-by: Jiri Slaby Acked-by: Nigel Cunningham Signed-off-by: Rafael J. Wysocki commit 07c3bb5797d0a9a48524cca17ceb95711b48890b Author: Frans Pop Date: Thu Feb 11 23:09:08 2010 +0100 PM / Hibernate: Remove trailing space in message Remove a trailing space from a message in swsusp_save(). Signed-off-by: Frans Pop Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 4cb077d93a57fb8bb64c277ec4ce637823cd76f4 Author: Rafael J. Wysocki Date: Mon Feb 8 19:18:26 2010 +0100 PM: Allow SCSI devices to suspend/resume asynchronously Set power.async_suspend for all SCSI devices, targets and hosts, so that they can be suspended and resumed in parallel with the main suspend/resume thread and possibly with other devices they don't depend on in a known way (i.e. devices which are not their parents or children). The power.async_suspend flag is also set for devices that don't have suspend or resume callbacks, because otherwise they would make the main suspend/resume thread wait for their "asynchronous" children (during suspend) or parents (during resume), effectively negating the possible gains from executing these devices' suspend and resume callbacks asynchronously. Signed-off-by: Rafael J. Wysocki commit 927bc9165d3cd01054b472f9b25d91a8707209c8 Author: Rafael J. Wysocki Date: Mon Feb 8 19:18:16 2010 +0100 PM: Allow USB devices to suspend/resume asynchronously Set power.async_suspend for USB devices, endpoints and interfaces, allowing them to be suspended and resumed asynchronously during system sleep transitions. The power.async_suspend flag is also set for devices that don't have suspend or resume callbacks, because otherwise they would make the main suspend/resume thread wait for their "asynchronous" children (during suspend) or parents (during resume), effectively negating the possible gains from executing these devices' suspend and resume callbacks asynchronously. Signed-off-by: Rafael J. Wysocki commit 6d19c009cc780c63de25a046509ebc9473809fd6 Author: Alan Stern Date: Fri Feb 12 12:21:11 2010 +0100 USB: implement non-tree resume ordering constraints for PCI host controllers This patch (as1331) adds non-tree ordering constraints needed for proper resume of PCI USB host controllers from hibernation. The main issue is that non-high-speed devices must not be resumed before the high-speed root hub, because it is the ehci_bus_resume() routine which takes care of handing the device connection over to the companion controller. If the device resume is attempted before the handover then the device won't be found and it will be treated as though it had disconnected. The patch adds a new field to the usb_bus structure; for each full/low-speed bus this field will contain a pointer to the companion high-speed bus (if one exists). It is used during normal device resume; if the hs_companion pointer isn't NULL then we wait for the root-hub device on the hs_companion bus. A secondary issue is that an EHCI controlller shouldn't be resumed before any of its companions. On some machines I have observed handovers failing if the companion controller is reinitialized after the handover. Thus, the EHCI resume routine must wait for the companion controllers to be resumed. The patch also fixes a small bug in usb_hcd_pci_probe(); an error path jumps to the wrong label, causing a memory leak. [rjw: Fixed compilation for CONFIG_PM_SLEEP unset.] Signed-off-by: Alan Stern Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit a1e4d72cd3024999bfb6703092ea271438805c89 Author: Rafael J. Wysocki Date: Mon Feb 8 19:16:33 2010 +0100 PM: Allow PCI devices to suspend/resume asynchronously Set power.async_suspend for all PCI devices and PCIe port services, so that they can be suspended and resumed in parallel with other devices they don't depend on in a known way (i.e. devices which are not their parents or children). This only affects the "regular" suspend and resume stages, which means in particular that the restoration of the PCI devices' standard configuration registers during resume will still be carried out synchronously (at the "early" resume stage). Signed-off-by: Rafael J. Wysocki commit 09c09bc618a4ceec387c57542031b4fc35826e16 Author: Jiri Slaby Date: Wed Jan 27 23:47:56 2010 +0100 PM / Hibernate: Swap, remove useless check from swsusp_read() It will never reach here if the sws_resume_bdev is erratic. swsusp_read() is called only from software_resume(), but after swsusp_check() which would catch the error state. Signed-off-by: Jiri Slaby Signed-off-by: Rafael J. Wysocki commit b694e52ebdd439e4591d4a6651658026196174f6 Author: Jiri Slaby Date: Wed Jan 27 23:47:50 2010 +0100 PM / Hibernate: Really deprecate deprecated user ioctls They were deprecated and removed from exported headers more than 2 years ago. Inform users about their removal in the future now. (Switch cases needed to be reorderded for an easy fall through.) And add an entry to feature-removal-schedule. Signed-off-by: Jiri Slaby Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit f8824cee405c62ba465b85365201166d9cf86a14 Author: Rafael J. Wysocki Date: Wed Jan 27 23:47:38 2010 +0100 PM: Allow device drivers to use dpm_wait() There are some dependencies between devices (in particular, between EHCI USB controllers and their OHCI/UHCI siblings) which are not reflected by the structure of the device tree. With synchronous suspend and resume these dependencies are taken into accout automatically, because the devices in question are always registered in the right order, but to meet these constraints with asynchronous suspend and resume the drivers of these devices will need to use dpm_wait() in their suspend/resume routines, so introduce a helper function allowing them to do that. Signed-off-by: Rafael J. Wysocki commit 97df8c12995c5bac73e3bfeea4c5be155c1f4401 Author: Rafael J. Wysocki Date: Sat Jan 23 22:25:31 2010 +0100 PM: Start asynchronous resume threads upfront It has been shown by testing that total device resume time can be reduced significantly (by as much as 50% or more) if the async threads executing some devices' resume routines are all started before the main resume thread starts to handle the "synchronous" devices. This is a consequence of the fact that the slowest devices tend to be located at the end of dpm_list, so their resume routines are started very late. Consequently, they have to wait for all the preceding "synchronous" devices before their resume routines can be started by the main resume thread, even if they are "asynchronous". By starting their async threads upfront we effectively move those devices towards the beginning of dpm_list, without breaking their ordering with respect to their parents and children. As a result, their resume routines are started much earlier and we are able to save much more device resume time this way. Signed-off-by: Rafael J. Wysocki commit 5a2eb8585f3b38e01e30aacaa8b985a1520a993d Author: Rafael J. Wysocki Date: Sat Jan 23 22:25:23 2010 +0100 PM: Add facility for advanced testing of async suspend/resume Add configuration switch CONFIG_PM_ADVANCED_DEBUG for compiling in extra PM debugging/testing code allowing one to access some PM-related attributes of devices from the user space via sysfs. If CONFIG_PM_ADVANCED_DEBUG is set, add sysfs attribute power/async for every device allowing the user space to access the device's power.async_suspend flag and modify it, if desired. Signed-off-by: Rafael J. Wysocki commit 0e06b4a891c6a108412fe24b4500f499da2cf8a1 Author: Rafael J. Wysocki Date: Sat Jan 23 22:25:15 2010 +0100 PM: Add a switch for disabling/enabling asynchronous suspend/resume Add sysfs attribute /sys/power/pm_async allowing the user space to disable/enable asynchronous suspend/resume of devices. Signed-off-by: Rafael J. Wysocki commit 5af84b82701a96be4b033aaa51d86c72e2ded061 Author: Rafael J. Wysocki Date: Sat Jan 23 22:23:32 2010 +0100 PM: Asynchronous suspend and resume of devices Theoretically, the total time of system sleep transitions (suspend to RAM, hibernation) can be reduced by running suspend and resume callbacks of device drivers in parallel with each other. However, there are dependencies between devices such that we're not allowed to suspend the parent of a device before suspending the device itself. Analogously, we're not allowed to resume a device before resuming its parent. The most straightforward way to take these dependencies into accout is to start the async threads used for suspending and resuming devices at the core level, so that async_schedule() is called for each suspend and resume callback supposed to be executed asynchronously. For this purpose, introduce a new device flag, power.async_suspend, used to mark the devices whose suspend and resume callbacks are to be executed asynchronously (ie. in parallel with the main suspend/resume thread and possibly in parallel with each other) and helper function device_enable_async_suspend() allowing one to set power.async_suspend for given device (power.async_suspend is unset by default for all devices). For each device with the power.async_suspend flag set the PM core will use async_schedule() to execute its suspend and resume callbacks. The async threads started for different devices as a result of calling async_schedule() are synchronized with each other and with the main suspend/resume thread with the help of completions, in the following way: (1) There is a completion, power.completion, for each device object. (2) Each device's completion is reset before calling async_schedule() for the device or, in the case of devices with the power.async_suspend flags unset, before executing the device's suspend and resume callbacks. (3) During suspend, right before running the bus type, device type and device class suspend callbacks for the device, the PM core waits for the completions of all the device's children to be completed. (4) During resume, right before running the bus type, device type and device class resume callbacks for the device, the PM core waits for the completion of the device's parent to be completed. (5) The PM core completes power.completion for each device right after the bus type, device type and device class suspend (or resume) callbacks executed for the device have returned. Signed-off-by: Rafael J. Wysocki commit 8cc6b39ff36b4bbce2d7471da088df122b0e9033 Author: Rafael J. Wysocki Date: Sat Jan 23 22:03:29 2010 +0100 PM: Add parent information to timing messages Add parent information to the messages printed by the suspend/resume core when initcall_debug is set. Signed-off-by: Rafael J. Wysocki commit 971cb7fba0c84dd74c39020f4596b08398f58199 Author: Rafael J. Wysocki Date: Sat Jan 23 22:03:22 2010 +0100 PM: Document device power attributes in sysfs There are sysfs attributes in /sys/devices/.../power/ that haven't been documented yet in Documentation/ABI/. Document them as appropriate. Signed-off-by: Rafael J. Wysocki commit 53823639173cc9e9a261f68f4abefe62364b86c6 Author: Rafael J. Wysocki Date: Sat Jan 23 22:02:51 2010 +0100 PM / Runtime: Add sysfs switch for disabling device run-time PM Add new device sysfs attribute, power/control, allowing the user space to block the run-time power management of the devices. If this attribute is set to "on", the driver of the device won't be able to power manage it at run time (without breaking the rules) and the device will always be in the full power state (except when the entire system goes into a sleep state). Signed-off-by: Rafael J. Wysocki Acked-by: Alan Stern commit 3621263a4d9679726b7bc1e2546c1c03941a59b4 Author: Mauro Carvalho Chehab Date: Fri Feb 26 15:58:11 2010 -0300 V4L-DVB: cx88-dvb: remove extra attribution for core This is not needed, since the function already do it. Also, it causes a warning at the compilation, since a new var is declared in the middle of the code. Signed-off-by: Mauro Carvalho Chehab commit 68c6b859846bd078b37c6ca5f3882032f129e72d Merge: a4a47bc bb8d413 Author: Linus Torvalds Date: Fri Feb 26 10:35:27 2010 -0800 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (48 commits) x86/PCI: Prevent mmconfig memory corruption ACPI: Use GPE reference counting to support shared GPEs x86/PCI: use host bridge _CRS info by default on 2008 and newer machines PCI: augment bus resource table with a list PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs PCI: read bridge windows before filling in subtractive decode resources PCI: split up pci_read_bridge_bases() PCIe PME: use pci_pcie_cap() PCI PM: Run-time callbacks for PCI bus type PCIe PME: use pci_is_pcie() PCI / ACPI / PM: Platform support for PCI PME wake-up ACPI / ACPICA: Multiple system notify handlers per device ACPI / PM: Add more run-time wake-up fields ACPI: Use GPE reference counting to support shared GPEs PCI PM: Make it possible to force using INTx for PCIe PME signaling PCI PM: PCIe PME root port service driver PCI PM: Add function for checking PME status of devices PCI: mark is_pcie obsolete PCI: set PCI_PREF_RANGE_TYPE_64 in pci_bridge_check_ranges PCI: pciehp: second try to get big range for pcie devices ... commit b6fa8796b2da0390e9f4115e8789a01004fc1c9b Author: David Teigland Date: Thu Feb 25 12:20:57 2010 -0600 dlm: use bastmode in debugfs output The bast mode that appears in the debugfs output should be useful on both master and process nodes. lkb_highbast is currently printed, and is only useful on the master node. lkb_bastmode is only useful on the process node. This patch sets lkb_bastmode on the master node as well, and uses that value in the debugfs print. Signed-off-by: David Teigland commit b4a5d4bc377e49239374f266f0a0e2772c29749c Author: Steven Whitehouse Date: Wed Feb 17 09:41:34 2010 +0000 dlm: Send lockspace name with uevents Although it is possible to get this information from the path, its much easier to provide the lockspace as a seperate env variable. Signed-off-by: Steven Whitehouse Signed-off-by: David Teigland commit 84f3751d6a6f766780dee509433bf7b3dfcdf465 Author: Baruch Siach Date: Fri Feb 19 14:09:25 2010 -0300 V4L/DVB: v4l: soc_camera: fix bound checking of mbus_fmt[] index When code <= V4L2_MBUS_FMT_FIXED soc_mbus_get_fmtdesc returns a pointer to mbus_fmt[x], where x < 0. Fix this. Signed-off-by: Baruch Siach Signed-off-by: Guennadi Liakhovetski CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit 4f3ca2f152844c5f6ea853077f56d0db877d1f7a Author: Dirk Herrendoerfer Date: Thu Feb 11 18:06:34 2010 -0300 V4L/DVB: Add support for SMT7020 to cx88 This patch adds support for the built-in dvb device of a Samsung SMT7020s (x86 based STB) to the cx88 family. Signed-off-by: Dirk Herrendoerfer Signed-off-by: Helmut Auer Signed-off-by: Mauro Carvalho Chehab commit 144dcdceb6ca320d7b3dffa6eea6c0a57cbfbb18 Author: Tobias Lorenz Date: Thu Feb 18 16:33:46 2010 -0300 V4L/DVB: radio-si470x: Use UTF-8 encoding on a comment This cosmetic patch corrects a wrong unicode "micro" character in a comment. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit d2fa21876147005ba942cef1d9e5a5039b4326bd Author: Joe Perches Date: Tue Feb 23 14:08:20 2010 -0300 V4L/DVB: MAINTAINERS: Telegent tlg2300 section fix linux-next commit 2ff8223957d901999bf76aaf2c6183e33a6ad14e exposes an infinite loop defect in scripts/get_maintainer.pl Fix the incorrect format of the MAINTAINERS "M:" entries. Signed-off-by: Joe Perches Acked-by: Huang Shijie Signed-off-by: Mauro Carvalho Chehab commit 0158e98fa15f6980568d7c3f67f035d3783319cd Author: Hans de Goede Date: Sat Feb 20 11:26:07 2010 -0300 V4L/DVB: gspca_stv06xx: Add support for camera button Only tested with an stv6422 based cam, as that is the only stv06xx cam I have with a button. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 88e8d20a8c7c84533e1aa89dd45354cb5edded37 Author: Hans de Goede Date: Sat Feb 20 04:45:49 2010 -0300 V4L/DVB: gspca_ov519: add support for the button on ov511 based cams Due to hardware limitations this only works while the camera is streaming. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 92e232acd61f610e09449dad3f6ff6d3c78887e9 Author: Hans de Goede Date: Sat Feb 20 04:30:45 2010 -0300 V4L/DVB: gspca_ov519: Add support for the button on ov518 based cams Due to hardware limitations this only works while the camera is streaming. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 417a4d26591e3f2b7784791246048ed315f3fdce Author: Hans de Goede Date: Fri Feb 19 07:37:08 2010 -0300 V4L/DVB: gspca_ov519: add support for the button on ov519 based cams Note due to hardware limitiations (no interrupt endpoint), this only works when the camera is streaming. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit e7637521ac92ce99045b8f8a9c1419bb7814ff9a Author: Hans de Goede Date: Fri Feb 19 05:11:09 2010 -0300 V4L/DVB: gspca_main: Fix a compile error when CONFIG_INPUT is not set gspca_main: Fix a compile error when CONFIG_INPUT is not set. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 10ee2402004d03b31555aad7badf7e499fa686d3 Author: Hans de Goede Date: Fri Feb 19 04:41:40 2010 -0300 V4L/DVB: gspca_main: some input error handling fixes 2 small changes to input device error handling: 1) Make it fatal when we fail to create an input device (it is either this or add checks for gspca_dev->input_dev being NULL in a lot of places) 2) Since we allow gspca_input_create_urb() to fail everywhere we call it, and thus never check its return value, make it void. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit ac82f59f9cc6aae3300430fcc3422e59f83d89ae Author: Hans de Goede Date: Fri Feb 19 04:28:39 2010 -0300 V4L/DVB: gspca_main: Allow use of input device creation code for non int. inputs Allow use of the gspca core input device creation code by subdrivers which have non interrupt driven camera buttons. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 5fb2dde28122e74bbab9dae3cc04bcbc8c08b332 Author: Hans de Goede Date: Wed Feb 17 11:59:19 2010 -0300 V4L/DVB: gspca_pac7302: much improved exposure control My experience with fixing up the controls for the PAS sensors in sonixb, has lead me to re-investigate the exposure control for the pac7302. I've now found a regular exposure register in register bank 3 (which seems to be the sensor registers bank), and with this added a proper fine grained exposure control. This patch also updates the do_autogain function to work properly with this new finer grained control. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 0e4b91c30605ae030d4ff63c5160e54c1bc2682c Author: Hans de Goede Date: Wed Feb 10 20:29:43 2010 -0300 V4L/DVB: gspca_sonixb: Make sonixb driver handle pas106 and pas202 cameras Make the sonixb driver handle pas106 and pas202 cameras, when both it and the sn9c102 driver are enabled in the kernel configuration. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 421763e7764e424dcb14ef17ef72ae1eb4ec79fe Author: Hans de Goede Date: Wed Feb 10 18:57:40 2010 -0300 V4L/DVB: gspca_sonixb: pas106: fixup bright ctrl and add gain and exposure ctrls Fixup brightness ctrl and add gain and exposure ctrls for PAS106B sensors, this allows enabling autogain (done), and makes the cam usable in low light conditions. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 606f8428ca1c2fbc665f726b4f810b8d50b87954 Author: Hans de Goede Date: Wed Feb 10 06:49:23 2010 -0300 V4L/DVB: Documentation: gspca.txt: update known mr97310a cams Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9d3103d061224e939272d05d54192038f66ffd54 Author: Theodore Kilgore Date: Tue Feb 9 18:05:25 2010 -0300 V4L/DVB: gspca_mr97310a: add support for the Sakar 1638x CyberPix This camera has a sensor type we did not support sofar, this patch adds support for the new sensor type found in the Sakar 1638x CyberPix. Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 10bb7530108cc11fedd0d615467a54f341079778 Author: Hans de Goede Date: Thu Feb 4 06:10:55 2010 -0300 V4L/DVB: gscpa_sonixb: limit ov7630 max framerate at 640x480 In 640x480, if the reg11 has less than 4, the image is unstable (the bridge goes into a higher compression mode which we have not reverse engineered yet). Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 82e839c9c5f79c4e55dc1b6ecb2cf1c055f753c5 Author: Hans de Goede Date: Wed Feb 3 14:37:30 2010 -0300 V4L/DVB: gspca_sonixb: pas202: fixup brightness ctrl and add gain and exposure ctrls Fixup brightness ctrl and add gain and exposure ctrls for PAS202BCB sensors, this allows enabling autogain (done), and makes the cam usable in low light conditions. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 26984b09952d01afabaa38e747fbee083dde0374 Author: Hans de Goede Date: Mon Feb 1 13:18:37 2010 -0300 V4L/DVB: gscpa_sonixb: Differentiate between sensors with a coarse and fine expo ctrl Some sensors only allow controlling the exposure by changing the clockdiv, which means that exposure takes pretty large jumps (for example when going from a div of 1 to 2, the exposure doubles). Use 2 different entries in the controls array for these 2 different types of exposure (always disabling one), and; Add a new autogain algorithm for the coarse exposure case, which normally changes the gain setting, only touching the exposure setting if the desired luminance cannot be reached with gain, and after an exposure change once more first tries gain, etc. Thus avoiding exposure changes, and the resulting oscilation because of the huge steps these exposure controls take. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 4efcfa0af11d75fa6311ef62180eefcd654be3c1 Author: Hans de Goede Date: Mon Feb 1 07:48:17 2010 -0300 V4L/DVB: gspca_sonixb: leave bridge gain at 1.0 when we have a sensor gain Leave bridge gain at 1.0 when we have a sensor gain, while at it also change the bridge gain setting code to write both registers in one go saving us a usb transaction. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9712a8be6b842ba9ffbd1b74a8d9b04c785b8ac1 Author: Hans de Goede Date: Sun Jan 31 12:54:29 2010 -0300 V4L/DVB: gspca_sonixj: Add camera button support gspca_sonixj: Add camera button support Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit f65e93d60050ae4cf281b55b59864e7e7a08eb58 Author: Hans de Goede Date: Sun Jan 31 10:35:15 2010 -0300 V4L/DVB: gspca_sonixb: Add support for camera button gspca_sonixb: Add support for camera button Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 1a3510265b45e2d7f55879c7ff576b947e0b1bd7 Author: Hans de Goede Date: Fri Jan 29 11:05:25 2010 -0300 V4L/DVB: gscpa_zc3xx: Add support for camera button gscpa_zc3xx: Add support for camera button Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 32ea3e44b9d9125960e23f56ce86c39700447717 Author: Hans de Goede Date: Fri Jan 29 11:04:19 2010 -0300 V4L/DVB: gscpa_pac7311: Add support for camera button gscpa_pac7311: Add support for camera button Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 937a6f54e31f3899c93cbe975d2ea7599dadd666 Author: Hans de Goede Date: Fri Jan 29 11:02:10 2010 -0300 V4L/DVB: gscpa_pac207: Add support for camera button gscpa_pac207: Add support for camera button Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 4f3a89e48a9975ab3f777ea15ac161267e4b8794 Author: Hans de Goede Date: Sun Jan 17 10:45:13 2010 -0300 V4L/DVB: gscpa Documentation: add cpia1 cameras gscpa Documentation: add cpia1 cameras Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit eb900690519e2a8f18076bc821baccc6f6236c74 Author: Hans de Goede Date: Sun Jan 17 10:42:55 2010 -0300 V4L/DVB: gspca_sq905c: Add an additional USB-ID gspca_sq905c: Add an additional USB-ID Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit c260fe936de6a52010a3247f9c3e8da47d9726e8 Author: Theodore Kilgore Date: Fri Jan 15 05:54:36 2010 -0300 V4L/DVB: gspca_mr97310a: Simplify sensor detection Simplify sensor detection a bit (share more of the code between cif and vga cameras). Also remove an unnecessary write from zero_the_pointer(). Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit c1ea5b7424e4d1d3f56de1504a257ec2419259e8 Author: Andy Walls Date: Sat Feb 20 21:28:39 2010 -0300 V4L/DVB: ivtv: Tweak Sony GigaPocket Kikyou card entry based on experiments Based on experiments by Eric Wescott, edit the Sony GigaPocket (Kikyou) card entry video and audio mux settings. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7c12167bae57994e30cc5258e8aaa6fb06258f46 Author: Eric Anderson Date: Wed Feb 10 22:14:54 2010 -0300 V4L/DVB: ivtv: Add initial entry for Sony VAIO Giga Pocket (Kikyou) cards This is a slightly modified version of Eric Anderson's original patch for the Sony Giga Pocket board. It has been updated to apply to the latest ivtv driver version by Hans Verkuil and Andy Walls . Also Andy Walls modified the patch to use a new Sony BTF-Pnx01Z tuner entry based on Eric Anderson's experimental findings for the bandswitch. >From Eric Anderson's original email: 1. The tuner on the card doesn't seem to match any standard ones. I modified an existing tuner entry. Ideally a new tuner entry should be created. (The only difference from the one I modified is that the low-to-mid range frequency cut-off is slightly different, as are the bit config settings.) 2. It wasn't obvious how to choose a second audio input other than using "radio" as an option. Basically there's two GPIO audio inputs. Using radio allowed me to avoid major restructuring to the code. (perhaps other cards don't have this often...) 3. It's not clear that there's a mute setting that works. Not sure why. 4. I haven't had a chance to test the two Svideo inputs. I set them to COMPOSITE1 and SVIDEO2, but I'm not sure those are the correct settings. The standard composite video inputs seem to work. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit dbb9de9bc137e08dc47db960d5730e3251932e2b Author: Andy Walls Date: Wed Feb 10 19:02:58 2010 -0300 V4L/DVB: tuner-types: Add Sony BTF-Pxn01Z tuner type used on GigaPocket cards Sony makes custome tuners for its GigaPocket line of ivtv based capture cards. This adds an entry to the tuner-types list for such tuners. Parameters are based on experiments by Eric Anderson . Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 587808d5f59e842f9258a15e88ad530fcf6e6763 Author: Andy Walls Date: Wed Feb 10 15:34:46 2010 -0300 V4L/DVB: ivtv: Fix ivtv_api_get_data() to avoid unneeded IO during IRQ handling ivtv_api_get_data() was performing more PCI MMIO than needed, resulting often in it accounting for more than half the total time spent in ivtv_irq_handler(). Now it only reads at most 7 of the 16 mailbox data words over the PCI bus, and in some instances only 2 or 3 data words as needed. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 00cb9f6920aaeb34bcef146085ae57e363641a85 Author: Murali Karicheri Date: Sun Feb 21 15:52:45 2010 -0300 V4L/DVB: V4L - vpfe capture - build environment for isif driver Adding Makefile and Kconfig for ISIF driver Reviewed-by: Hans Verkuil Reviewed-by: Sergei Shtylyov Signed-off-by: Hans Verkuil Signed-off-by: Murali Karicheri Signed-off-by: Mauro Carvalho Chehab commit 85b848caf77a0cc6a9df0a0f40d876211b394682 Author: Murali Karicheri Date: Sun Feb 21 15:51:14 2010 -0300 V4L/DVB: V4L - vpfe capture - vpss driver enhancements for DM365 Enhancements to support DM365 ISP5 and VPSS module configuration. Also cleaned up the driver by removing redundant variables. Reviewed-by: Hans Verkuil Signed-off-by: Hans Verkuil Signed-off-by: Murali Karicheri Signed-off-by: Mauro Carvalho Chehab commit 63e3ab142fa3f46c290891655681c6a6304bd2b3 Author: Murali Karicheri Date: Sun Feb 21 15:48:27 2010 -0300 V4L/DVB: V4L - vpfe capture - source for ISIF driver on DM365 This is the source file for ISIF driver on DM365. ISIF driver is equivalent to CCDC driver on DM355 and DM644x. This driver is tested for YUV capture from TVP514x driver. This patch contains the header files required for this driver. Reviewed-by: Nori, Sekhar Reviewed-by: Hans Verkuil Signed-off-by: Hans Verkuil Signed-off-by: Murali Karicheri Signed-off-by: Mauro Carvalho Chehab commit e8417683eb15f05941f4c2aad7d358472eaf8a32 Author: Murali Karicheri Date: Sun Feb 21 15:46:01 2010 -0300 V4L/DVB: V4L - vpfe capture - header files for ISIF driver This is the header file for ISIF driver on DM365. ISIF driver is equivalent to CCDC driver on DM355 and DM644x. This driver is tested for YUV capture from TVP514x driver. This patch contains the header files required for this driver. Reviewed-by: Nori, Sekhar Reviewed-by: Hans Verkuil Signed-off-by: Hans Verkuil Signed-off-by: Murali Karicheri Signed-off-by: Mauro Carvalho Chehab commit a30d6744cf3bfc62d5cdcc9756e7e8e97fe39f17 Author: Murali Karicheri Date: Mon Feb 1 19:36:19 2010 -0300 V4L/DVB: DaVinci - Adding platform & board changes for vpfe capture on DM365 This patch adds following changes:- 1) add sub device configuration data for TVP5146 used by vpfe capture 2) registers platform devices for vpfe_capture, isif and vpss 3) defines hardware resources for the devices listed under 2) 4) defines clock aliase for isif driver 5) adding setup_pinmux() for isif Reviewed-by: Kevin Hilman Signed-off-by: Murali Karicheri Signed-off-by: Kevin Hilman Signed-off-by: Mauro Carvalho Chehab commit fb640224ad9e4e33726b8762bcfed2a266243b4e Author: Mike Isely Date: Sat Feb 6 02:17:17 2010 -0300 V4L/DVB: pvrusb2: Adjust 300msec digitizer wait to be more selective We know that the 300msec settling time after starting the digitizer is only really needed when the digitizer is a SAA7115. So if we're not using a SAA7115, skip the delay. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 91b5b489c5ea0fb206922f1bfbd0bd843b6f326f Author: Mike Isely Date: Sat Feb 6 02:12:33 2010 -0300 V4L/DVB: pvrusb2: Reduce encoder quiet period After implementing a 300msec wait between digitizer start and encoder start, it has been determined that we don't need to wait quite as long before configuring the encoder. This reduces the wait period from 100msec back to 50msec. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6e9313755aacdb9fd4eec58cbd9653212e2e2cdc Author: Mike Isely Date: Sat Feb 6 02:10:38 2010 -0300 V4L/DVB: pvrusb2: Enforce a 300msec stabilization interval during stream strart Martin Dauskardt has determined that the encoder has a much better chance of starting cleanly if we deliberately hold off starting it util the video digitizer has had a chance to run for at least 300msec first. These changes implement an enforced 300msec wait in the state machine that orchestrates streaming start / stop. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 7cae112ebe10e186c3bdae1f20865941717e37a2 Author: Mauro Carvalho Chehab Date: Mon Feb 22 18:55:00 2010 -0300 V4L/DVB: V4L2 docs: replace spaces by tabs CC: Jonathan Corbet CC: Reviewed-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 4b586a38b048b0d78874721e5b26cb6476fafb60 Author: Jonathan Corbet Date: Mon Feb 22 17:47:46 2010 -0300 V4L/DVB: V4L2: Add a document describing the videobuf layer Videobuf is a moderately complex API which most V4L2 drivers should use, but its documentation is...sparse. This document attempts to improve the situation. Signed-off-by: Jonathan Corbet Reviewed-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 995f5fefb0c6abba3688b3aadf40e422b64b814a Author: Hans Verkuil Date: Sat Feb 20 09:41:03 2010 -0300 V4L/DVB: media-spec: Fix documentation mistakes regarding I/O streaming The media spec contains several errors in the description of the I/O streaming ioctls, in particular with respect to the userptr I/O method. The most important change is that you really need to set count and index in v4l2_requestbuffer and v4l2_buffer when dealing with user pointer streaming. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 340dde817a4f68af79453ed295ca0e8de7232669 Author: Hans Verkuil Date: Sat Feb 20 08:07:51 2010 -0300 V4L/DVB: saa7115: fix saa7111a support When the saa7111 driver was merged into saa7115 several bugs were introduced, in particular with the saa7111a support as is used in the mxb.c driver. This patch fixes the saa7111a support. This was tested with the mxb driver. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit cd7d9beb09d89d62bc3c6336e4cb9a2ee3da6163 Author: Hans Verkuil Date: Sat Feb 20 07:56:25 2010 -0300 V4L/DVB: saa7146_vv: fix regression where v4l2_device was registered too late v4l2_device_register needs to be called before the i2c subdevs are loaded. However, it was called afterwards in the saa7146 driver. This caused an oops when loading the mxb and hexium drivers. The vv_init function is now split into two: one registers the v4l2_device, the other does the rest of the initialization. The three drivers that depend on this have been updated to call the new vv_devinit function. Thanks to Michael Hunold for reporting this. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8d55662512127c84ac90873fb68ba44842e2c426 Author: Laurent Pinchart Date: Thu Feb 4 21:43:37 2010 -0300 V4L/DVB: uvcvideo: Check uvc_ctrl_begin return value in VIDIOC_S_CTRL The function return value wasn't checked due to a missing variable assignment. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 9405e3cbd5dd6767875c573574672cb85c4d7374 Author: Laurent Pinchart Date: Wed Feb 3 06:49:35 2010 -0300 V4L/DVB: uvcvideo: Blacklist gain control for Asus EeePC T91 integrated webcam The Asus EeePC T91 integrated webcam exposes a gain control in the processing unit but stalls when the control is queried. Blacklist the gain control for that camera. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit e54532e591cd5b9ce77dbc8d9786ae9f600f101a Author: Laurent Pinchart Date: Sat Jan 23 07:07:53 2010 -0300 V4L/DVB: uvcvideo: Clamp control values to the minimum and maximum values When setting a control, the V4L2 specification requires drivers to either clamp the control value to the [minimum, maximum] range or return the -ERANGE error. Fix the driver to clamp control values to the valid range in uvc_ctrl_set() and make sure the value differs from the minimum by an integer multiple of step. Signed-off-by: Laurent Pinchart Tested-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 59529081e092506edb81a42d914e2d0522f65ca7 Author: Laurent Pinchart Date: Sat Jan 23 06:30:20 2010 -0300 V4L/DVB: uvcvideo: Cache control min, max, res and def query results Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 8a4e76c14cbe0609fdb5c558f867fe7c556bb1c7 Author: Laurent Pinchart Date: Thu Jan 21 16:53:11 2010 -0300 V4L/DVB: uvcvideo: Return -ERANGE when setting a control to an out-of-range menu index The V4L2 specification states that out of bounds control values must either be clamped to the valid range or result in a -ERANGE error code. Fix the driver to return -ERANGE instead of -EINVAL when setting a menu control to an invalid value. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 36bd883ef98ac6003ab6ec7b91f66d3fb2159318 Author: Laurent Pinchart Date: Tue Jan 19 09:06:22 2010 -0300 V4L/DVB: uvcvideo: Use %pUl printk format specifier to print GUIDs Replace the UVC_GUID_FORMAT and UVC_GUID_ARGS macros with the new %pUl printk format specifier. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 56d15cd313d0d0d7a16c1a2e2cc519f18ab4725a Author: Laurent Pinchart Date: Tue Jan 19 08:59:21 2010 -0300 V4L/DVB: uvcvideo: Increase the streaming control timeout to 5 seconds This fixes timeout issues with some Logitech webcams. The timeout value seems to match the one used in the Logitech Windows driver, so no further increase should be necessary. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit e070bf9ef85e293d9dc586fbfabc008795564c0e Author: Jean-François Moine Date: Thu Feb 18 15:02:51 2010 -0300 V4L/DVB: gspca - main: Fix a compile error when CONFIG_INPUT is not set Reported-by: Randy Dunlap Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit 1e5eb1133aac7982dd941b473e23cd396acb2706 Author: Jean-François Moine Date: Thu Feb 18 14:56:33 2010 -0300 V4L/DVB: gspca - sonixj: Set the vertical flip at capture start for all sensors Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit f6b22e5e8e93d03046d3878664a9ba375ccded96 Author: Jean-François Moine Date: Thu Feb 18 04:12:06 2010 -0300 V4L/DVB: gspca - sonixj: Add vertical flip control for sensor hv7131r Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit bee527f97963ece5e3f6e6587402197af889865b Author: Pawel Osciak Date: Mon Feb 22 13:10:06 2010 -0300 V4L/DVB: videobuf: add missing checks for kzalloc returning NULL Signed-off-by: Pawel Osciak Signed-off-by: Mauro Carvalho Chehab commit cca80b973244cf7cf721b05b33178ba4826dbc5e Author: Clemens Ladisch Date: Mon Feb 22 06:45:07 2010 -0300 V4L/DVB: cx88-alsa: prevent out-of-range volume setting Ensure that volume values are always in the allowed range. Otherwise, it would be possible to set other bits in the AUD_VOL_CTL register or to get a wrong sign in the AUD_BAL_CTL register. Signed-off-by: Clemens Ladisch Signed-off-by: Mauro Carvalho Chehab commit 071193ff4182c8f785e770c54e35f3ea2bb98b84 Author: Richard Röjfors Date: Fri Feb 19 19:41:54 2010 -0300 V4L/DVB: mfd: Add timb-radio to the timberdale MFD This patch addes timb-radio to all configurations of the timberdale MFD. Connected to the FPGA is a TEF6862 tuner and a SAA7706H DSP, the I2C board info of these devices is passed via the timb-radio platform data. Signed-off-by: Richard Röjfors Cc: sameo@linux.intel.com Signed-off-by: Mauro Carvalho Chehab commit 1f39b5834a3c6c9f107b869d38dca0622e913a3d Author: Roel Kluin Date: Mon Feb 15 19:30:38 2010 -0300 V4L/DVB: dvb-usb/opera1: misplaced parenthesis The parenthesis was misplaced, tmp is set to 0 or break occurs, while debugging opera1_usb_i2c_msgxfer() retval was not shown. Signed-off-by: Roel Kluin CC: Marco Gittler Signed-off-by: Mauro Carvalho Chehab commit 7d3502844609df0985932365197f905e4ea95d22 Author: Mauro Carvalho Chehab Date: Fri Feb 19 20:08:06 2010 -0200 V4L/DVB: tuner-xc2028: Fix demod breakage for XC3028L A small mistake on the last patch broke demod s-code setup for XC3028L (firmware 3.2 and upper). Fix it. Thanks-to: Stefan Ringel Signed-off-by: Mauro Carvalho Chehab commit 7f2199c03b4946f1b79514b3411e3dbf130a6bba Author: Mauro Carvalho Chehab Date: Fri Feb 19 02:45:00 2010 -0200 V4L/DVB: tuner-xc2028: fix tuning logic to solve a regression in Australia There's one reported regression in Australia (DTV7) and some reported troubles with newer firmwares found on xc3028l chips. Rework the logic to improve tuner on those cases. Thanks-to: Robert Lowery Thanks-to: Stefan Ringel Tested-by: Robert Lowery CC: stable.kernel.org Signed-off-by: Mauro Carvalho Chehab commit d90a4ae4ae5a5e535782ab090507898e042db81a Author: Jean Delvare Date: Tue Feb 16 14:22:37 2010 -0300 V4L/DVB: bttv: Let the user disable IR support Add a new module parameter "disable_ir" to disable IR support. Several other drivers do that already, and this can be very handy for debugging purposes. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 656380118d1a1c0176e58e4e3e46d736d0dd2000 Author: Catimimi Date: Thu Feb 18 18:06:32 2010 -0300 V4L/DVB: em28xx : Terratec Cinergy Hybrid T USB XS FR is working I succeeded in running Cinergy Hybrid T USB XS FR in both modes. Signed-off-by: Mauro Carvalho Chehab commit 7ccf1eea972177064b4df9d5ba68958604781db6 Author: Randy Dunlap Date: Sun Feb 14 23:39:32 2010 -0300 V4L/DVB: dvb: fix sparse warnings Fix sparse warnings in media/dvb/frontends: drivers/media/dvb/frontends/dibx000_common.c:177:13: warning: non-ANSI function declaration of function 'systime' drivers/media/dvb/frontends/tda665x.c:136:55: warning: right shift by bigger than source value [mchehab@redhat.com: removed the change at dib0090 since it got fixed by a previous patch] Signed-off-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 18718c96e3e10e6b821d32c50adde9fa5cc6565a Author: Jiri Slaby Date: Sun Feb 14 17:36:25 2010 -0300 V4L/DVB: V4L: dvb-usb, add extra sync to down-up input events Userspace is allowed to coalesce events between SYNCs. And since the code emits UP right after DOWN for the same key, it may be missed (up+down=nothing). Add an extra sync in between UP and DOWN events to disable the coalesce. Signed-off-by: Jiri Slaby Cc: Patrick Boettcher Acked-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit fdd70c3399fc448a87487b287f4f0dcfb2e9c52c Author: Lars Hanisch Date: Sun Feb 14 08:57:39 2010 -0300 V4L/DVB: add missing 'p' at card name 'Hauppauge HD PVR' I don't know if there are applications which rely on this name, but after all it's a spelling mistake. Signed-off-by: Lars Hanisch CC: Janne Granau Signed-off-by: Mauro Carvalho Chehab commit 9a0a75a5abb2806969a599e10b0fb287befcb3a7 Author: Franklin Meng Date: Sat Feb 13 02:37:15 2010 -0300 V4L/DVB: Add an entry for Kworld 315U remote Signed-off-by: Franklin Meng Signed-off-by: Mauro Carvalho Chehab commit 536004403d35b707bbac43d629586ee9c944084f Author: Randy Dunlap Date: Fri Feb 12 18:02:35 2010 -0300 V4L/DVB: radio_timberdale: depends on I2c RADIO_TIMBERDALE selects RADIO_SAA7706H, but RADIO_SAA7706H depends on I2C, so make RADIO_TIMBERDALE depend on I2C also; otherwise there are build errors: drivers/media/radio/saa7706h.c:139: error: implicit declaration of function 'i2c_master_send' drivers/media/radio/saa7706h.c:148: error: implicit declaration of function 'i2c_transfer' drivers/media/radio/saa7706h.c:372: error: implicit declaration of function 'i2c_check_functionality' drivers/media/radio/saa7706h.c:375: error: implicit declaration of function 'i2c_adapter_id' drivers/media/radio/saa7706h.c:438: error: implicit declaration of function 'i2c_add_driver' drivers/media/radio/saa7706h.c:443: error: implicit declaration of function 'i2c_del_driver' Signed-off-by: Randy Dunlap Cc: Mocean Laboratories Signed-off-by: Mauro Carvalho Chehab commit 08cf8a57c51da7db9633c2827b3dbabfb7df51fd Author: Randy Dunlap Date: Fri Feb 12 18:02:29 2010 -0300 V4L/DVB: media/video/tlg2300: fix build when CONFIG_PM=n When CONFIG_PM is not enabled, tlg2300 has build errors, so handle that case, mostly via stubs. drivers/media/video/tlg2300/pd-alsa.c:237: error: 'struct poseidon' has no member named 'msg' drivers/media/video/tlg2300/pd-main.c:412: error: implicit declaration of function 'find_old_poseidon' drivers/media/video/tlg2300/pd-main.c:418: error: implicit declaration of function 'set_map_flags' drivers/media/video/tlg2300/pd-main.c:462: error: implicit declaration of function 'get_pd' Cc: linux-next@vger.kernel.org, LKML , linux-media@vger.kernel.org Signed-off-by: Randy Dunlap Cc: Huang Shijie Cc: Kang Yong Cc: Zhang Xiaobing Signed-off-by: Mauro Carvalho Chehab commit 546e29b66a1aeec3b6a710aceeb2149871570416 Author: Randy Dunlap Date: Fri Feb 12 12:30:55 2010 -0300 V4L/DVB: timberdale: fix mfd build Fix mfd/timberdale build error -- add depends GPIOLIB. include/linux/spi/max7301.h:14: error: field 'chip' has incomplete type build-r7353.out:make[3]: *** [drivers/mfd/timberdale.o] Error 1 Repairs commit ff7a26e08a16bb31158d830dbf60db2ff47019ab Author: Richard Rjfors AuthorDate: Thu Feb 4 08:18:52 2010 -0300 Commit: Mauro Carvalho Chehab CommitDate: Fri Feb 5 12:25:37 2010 -0200 V4L/DVB: mfd: Add support for the timberdale FPGA Signed-off-by: Randy Dunlap Cc: Richard Rojfors Cc: Samuel Ortiz Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 1952c9bd5d75e65453bfb823098bd63e11723b05 Author: Santiago Nunez-Corrales Date: Fri Dec 18 14:07:57 2009 -0300 V4L/DVB: Kbuild addition for TVP7002 driver This patch provides menu configuration options for the TVP7002 decoder driver in DM365. Includes only TVP7002. Signed-off-by: Santiago Nunez-Corrales Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dfbd5d4d324e630aedc40b7519351a9c0fe94dc9 Author: Hans Verkuil Date: Thu Feb 25 17:34:09 2010 -0300 V4L/DVB: tvp7002: fix compilation breakage when advanced debug is enabled > On Mon, 22 Feb 2010 08:21:44 -0800 Randy Dunlap wrote: > drivers/media/video/tvp7002.c:896: error: 'struct tvp7002' has no member named 'registers' > > so where are these registers?? Hmm, that code is a remnant from older revisions of this driver. Unfortunately, when I compiled this driver before creating my pull request I forgot to turn on the CONFIG_VIDEO_ADV_DEBUG option and so I never saw it. Also fixed the g_register function: it never returned a register value in the original code. Signed-off-by: Hans Verkuil Acked-by: Randy Dunlap Signed-off-by: Mauro Carvalho Chehab commit 0b67553657330b5ad5c78a974ce84273a515fe4e Author: Santiago Nunez-Corrales Date: Mon Dec 21 16:14:04 2009 -0300 V4L/DVB: TVP7002 driver for DM365 This patch provides the implementation of the TVP7002 decoder driver for DM365. Implemented using the V4L2 DV presets API. Removed shadow register values. Testing shows that the device needs not to be powered down and up for correct behaviour. Improved readability. Uses helper function for preset information. [mchehab@redhat.com: Fix bad Whitespacing] Signed-off-by: Santiago Nunez-Corrales Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d2da2611cc7641a194a868f41fbe4a83cb46964c Author: Santiago Nunez-Corrales Date: Fri Dec 18 14:07:39 2009 -0300 V4L/DVB: Definitions for TVP7002 in DM365 This patch provides the required definitions for the TVP7002 driver in DM365. Signed-off-by: Santiago Nunez-Corrales Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ff9118a516cd4d58f984dded2e39937395867a4b Author: Santiago Nunez-Corrales Date: Fri Dec 18 14:07:29 2009 -0300 V4L/DVB: Support for TVP7002 in v4l2 definitions This patch provides required chip identification definitions within v4l2. Included only definitions for TVP7002. Signed-off-by: Santiago Nunez-Corrales Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4105ed5df1e16afbbea4c96f8d513bda21248308 Author: Manu Abraham Date: Sun Feb 14 17:07:28 2010 -0300 V4L/DVB: AZ6027: Fix build warnings drivers/media/dvb/dvb-usb/az6027.c:390: warning: excess elements in struct initializer drivers/media/dvb/dvb-usb/az6027.c:390: warning: (near initialization for ‘az6027_rc_keys[0]’) drivers/media/dvb/dvb-usb/az6027.c:391: warning: excess elements in struct initializer drivers/media/dvb/dvb-usb/az6027.c:391: warning: (near initialization for ‘az6027_rc_keys[1]’) drivers/media/dvb/dvb-usb/az6027.c:759: warning: ‘az6027_read_mac_addr’ defined but not used Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 32f8aca4affc9cc5699a8e45b3ce08e76d7b847b Author: Mauro Carvalho Chehab Date: Wed Feb 17 23:54:07 2010 -0200 Revert "V4L/DVB: az6027: az6027_read_mac_addr is currently unused" This reverts commit 1e08370814e8902074d59cc57f2b4c1a62f00ee8. Patch were wrongly applied. Signed-off-by: Mauro Carvalho Chehab commit b00380fcb760070d5bfdc69ed7273084a629db4d Author: Mauro Carvalho Chehab Date: Wed Feb 17 23:53:04 2010 -0200 Revert "V4L/DVB: az6027: IR RC keys are using the old struct with 3 parameters, instead of 2" This reverts commit 234497b022c464532976b8a12614819bcf67f41b. Patch were wrongly applied. Signed-off-by: Mauro Carvalho Chehab commit d07602a07acfb9f6d1dbc24fd0416fed5d194bbc Author: Guennadi Liakhovetski Date: Tue Feb 9 18:00:38 2010 +0100 sh_mobile_ceu_camera: pass .set_parm and .get_parm down to subdevices Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c9f6ef69865ede81265c808227fc4fe9c925319a Author: Guennadi Liakhovetski Date: Tue Feb 9 18:00:30 2010 +0100 soc-camera: add support for VIDIOC_S_PARM and VIDIOC_G_PARM ioctls Just pass VIDIOC_S_PARM and VIDIOC_G_PARM down to host drivers. So far no special handling in soc-camera core. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit d74f841c32f0b00a513d87bba646d019ef7d1f67 Author: Magnus Damm Date: Tue Feb 9 17:40:40 2010 +0900 soc-camera: return -ENODEV if sensor is missing Update the soc-camera i2c code to return -ENODEV if a camera sensor is missing instead of -ENOMEM. Signed-off-by: Magnus Damm Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6b727c68ea7083acd008da7c9734a19a4cdd52dc Author: Antonio Ospite Date: Tue Nov 17 23:04:23 2009 +0100 pxa_camera: remove init() callback pxa_camera init() callback is sometimes abused to setup MFP for PXA CIF, or even to request GPIOs to be used by the camera *sensor*. These initializations can be performed statically in machine init functions. The current semantics for this init() callback is ambiguous anyways, it is invoked in pxa_camera_activate(), hence at device node open, but its users use it like a generic initialization to be done at module init time (configure MFP, request GPIOs for *sensor* control). Signed-off-by: Antonio Ospite Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 81355e40826acea76274c2ef5ff7d156ff28d183 Author: Guennadi Liakhovetski Date: Thu Dec 24 14:12:15 2009 +0100 soc-camera: adjust coding style to match V4L preferences Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 3675c750cf2effc6a2d9582cd1b9d3043aded3b6 Author: Kuninori Morimoto Date: Wed Jan 6 18:42:16 2010 +0900 soc-camera: ov772x: Modify buswidth control This patch removes "buswidth" struct member, and sets the default buswidth to the natively supported 10 bit. You can select 8 bit buswidth by new flag. This patch also modify ap325rxa/migor setup.c Signed-off-by: Kuninori Morimoto Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 906b101886b1b3d9e4d374aa84a67b7dbd349f16 Author: Guennadi Liakhovetski Date: Thu Feb 4 11:24:00 2010 +0100 tw9910: use TABs for indentation Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 4a9ce75516982b0a349df55f326bc0cee572ffc1 Author: Guennadi Liakhovetski Date: Thu Feb 4 11:17:48 2010 +0100 soc-camera: update mt9v022 to take into account board signal routing Use soc_camera_apply_sensor_flags() in mt9v022 to account for any inverters in video signal paths. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 917c50090ea3daa4c048b824a2dcb4730b3d7656 Author: Mauro Carvalho Chehab Date: Wed Feb 17 21:13:19 2010 -0200 V4L/DVB: az6027: az6027_read_mac_addr is currently unused drivers/media/dvb/dvb-usb/az6027.c:759: warning: ‘az6027_read_mac_addr’ defined but not used While there's some code that uses it, it is currently commented. So, comment also the function itself. CC: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2ed3f0c625faaace7a4dcfbb4e11baa17d993c5f Author: Mauro Carvalho Chehab Date: Wed Feb 17 21:11:06 2010 -0200 V4L/DVB: az6027: IR RC keys are using the old struct with 3 parameters, instead of 2 drivers/media/dvb/dvb-usb/az6027.c:390: warning: excess elements in struct initializer drivers/media/dvb/dvb-usb/az6027.c:390: warning: (near initialization for ‘az6027_rc_keys[0]’) drivers/media/dvb/dvb-usb/az6027.c:391: warning: excess elements in struct initializer drivers/media/dvb/dvb-usb/az6027.c:391: warning: (near initialization for ‘az6027_rc_keys[1]’) CC: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 5f0e1cff5d19935bef1a6a2cdbd7f39b92031726 Author: Manu Abraham Date: Sun Feb 14 16:58:10 2010 -0300 V4L/DVB: AZ6027: Fix checkpatch violations Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 3c3233ec76118634cfd74d35c45d984e74acfc37 Author: Manu Abraham Date: Sun Feb 14 15:10:54 2010 -0300 V4L/DVB: AZ6027: Add driver supported ID's Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit bafa50ffb11eca44496332f3ee742144f097f29b Author: Manu Abraham Date: Sun Feb 14 15:03:39 2010 -0300 V4L/DVB: AZ6027: Update Build Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 91d8f7ae6eb8cc1c0f701e6afd0f7095c8091b2a Author: Manu Abraham Date: Sun Feb 14 14:59:39 2010 -0300 V4L/DVB: AZ6027: Add driver supported ID's Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 76f9a820c8672ada12ffa0903652c9e6f2429462 Author: Adams Xu Date: Sun Feb 14 14:34:07 2010 -0300 V4L/DVB: AZ6027: Initial import of the driver Signed-off-by: Manu Abaraham Signed-off-by: Mauro Carvalho Chehab commit 007ad830364e795316d2825f1ab68b3a53a3d56c Author: Huang Shijie Date: Thu Feb 11 03:53:51 2010 -0300 V4L/DVB: tlg2300: remove the country code for analog tv and radio video : use the V4L2_STD macros to select the proper audio setting. radio : add preemphasis ctr. test it by the command: v4l2-ctl -d /dev/radio0 --set-ctrl=pre_emphasis_settings=1 [mchehab@redhat.com: folded documentation patch] Signed-off-by: Huang Shijie Signed-off-by: Mauro Carvalho Chehab commit 5b3f03f044ad6dffc8cd8c9c50bc5d7769cbd89f Author: Huang Shijie Date: Tue Feb 2 04:07:47 2010 -0300 V4L/DVB: Add driver for Telegent tlg2300 pd-common.h contains the common data structures, while vendorcmds.h contains the vendor commands for firmware. [mchehab@redhat.com: Folded the 10 patches with the driver] Signed-off-by: Huang Shijie Signed-off-by: Mauro Carvalho Chehab commit 433763faec55e5f0e3aeb084da504c566134a934 Author: Franklin Meng Date: Thu Feb 11 02:50:56 2010 -0300 V4L/DVB: Kworld 315U remote support Adds remote support for the Kworld 315U device I have added the change for the IR_TYPE_NEC that Mauro suggested. Note: I believe I got most of the mappings correct. Though the source and shutdown button probably could be mapped to something better. [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Franklin Meng Signed-off-by: Mauro Carvalho Chehab commit 96dd6de3d058a454a5bc4ce2f561a053dd90bfae Author: Darren Jenkins Date: Thu Feb 11 08:07:53 2010 -0300 V4L/DVB: drivers/media/radio/si470x/radio-si470x-usb.c fix use after free In si470x_usb_driver_disconnect() radio->disconnect_lock is accessed after it is freed. This fixes the problem. Coverity CID: 2530 Signed-off-by: Darren Jenkins Signed-off-by: Mauro Carvalho Chehab commit 8ef4c21130832cb51d5a5940ad3d4b7140720218 Author: Antti Palosaari Date: Wed Feb 10 21:33:12 2010 -0300 V4L/DVB: af901x: inform NXP TDA18218 tuner as know but not supported There is no driver for new NXP TDA18218 tuner which is used by few recent af9015 designs. af9015 uses number 179 as ID for that tuner. Inform this tuner is not supported when device using that tuner is meet. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 58c811df63a7c494639b4fe49d7af8fd0b32019b Author: Antti Palosaari Date: Wed Feb 10 20:44:12 2010 -0300 V4L/DVB: af9015: MYGICTV U718 remote autodetection Autodetect MYGICTV U718 from eeprom hash and select remote automatically. Remove old iManufacturer string compare based remote selection logic. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit db02d9dc544be25330fe491eddd2766d1fb7e325 Author: Antti Palosaari Date: Wed Feb 10 20:20:41 2010 -0300 V4L/DVB: af9015: A-Link DTU(m) remote autodetection Autodetect A-Link DTU(m) based eeprom hash and select correct remote. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 809c1e8ae8310a863b147c8571adfb6addeddd43 Author: Antti Palosaari Date: Wed Feb 10 20:07:30 2010 -0300 V4L/DVB: af9015: support for Leadtek WinFast DTV2000DS Add USB ID 0413:6a04 for Leadtek WinFast DTV2000DS. Thanks to Gavin Ramm for reporting this. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit fa1df55c3f99d32eccf3eeb3c9dad4456ebcf1f4 Author: Antti Palosaari Date: Wed Feb 10 20:05:48 2010 -0300 V4L/DVB: af9015: support for DigitalNow TinyTwin v2 Add USB ID 1b80:e402 for DigitalNow TinyTwin version 2. Thanks to Trevor Phillips for reporting this. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit fd9be0dc9b0b2baf203cfef8c8109859d05d0e01 Author: Jiri Slaby Date: Wed Feb 10 20:32:42 2010 -0300 V4L/DVB: DVB: ngene, fix memset parameters Switch second and third memset parameter to stamp the length buffer bytes by 0xff's, not 255 bytes by low 8 bits of Length. Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, jirislaby@gmail.com, Matthias Benesch , Ralph Metzler , Oliver Endriss Signed-off-by: Jiri Slaby Cc: Matthias Benesch Cc: Ralph Metzler Cc: Oliver Endriss Cc: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab commit 7ca7ef6011e92b52a365ddc78f6668e01793c572 Author: Andrea.Amorosi76@gmail.com Date: Tue Feb 9 17:53:38 2010 -0300 V4L/DVB: em28xx: add Dikom DK300 hybrid USB tuner Adds digital and analogue tv support for Dikom DK300 hybrid usb card. Not working: remote controller To be done: it seems that with the proposed patch the digital demodulator remains activated if the tuner is switched from digital to analogue mode. Workaround is to unplug and replug the device when switching from digital to analogue. If someone can explain how to verify the gpio settings using the usbsnoop, the above issue perhaps can be resolved. Signed-off-by: Andrea Amorosi Signed-off-by: Mauro Carvalho Chehab commit 62bdbb735c0415c2ffdddc2269a860a76f7f716a Author: Julia Lawall Date: Sat Feb 6 05:43:58 2010 -0300 V4L/DVB: drivers/media: Correct NULL test In each case, the NULL test has been performed already. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ expression *x; expression e; identifier l; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != goto l; when != x = e when != &x *x == NULL // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit f0289efa1938eac27a98883bf33af946b13e1110 Author: Klaas de Waal Date: Sun Feb 7 14:09:16 2010 -0300 V4L/DVB: dst: fixes for DVB-C Twinhan VP2031 Remove check "state->dst_type == DST_DTYPE_IS_CABLE" in function dst_get_tuna (around line 1352) to select the correct checksum computation Fill in the .caps field in struct dst_dvbc_ops (around line 1824) with all the supported QAM modulation methods to match the capabilities of the card as implemented in function dst_set_modulation (around line 502). Note that beginning with linux kernel version 2.6.32 the modulation method is checked (by function dvb_frontend_check_parameters in file drivers/media/dvb/dvb-core/dvb_frontend.c) and thus tuning fails if you use a modulation method that is not present in the .caps field. This patch has been tested on a Twinhan VP2031A DVB-C card with the 2.6.32.2 kernel. Signed-off-by: Klaas de Waal Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit dd6ed861d64f86493e7a6bf92c6fcd99d5e3391c Author: Sean Young Date: Sat Feb 6 10:58:41 2010 -0300 V4L/DVB: saa7134 can capture 720x480 when capturing NTSC When capturing NTSC, the saa7134 can capture 720x480. While doing Laserdisc captures using this card, I noticed that right side was truncated/cropped. The highest geometry the driver allows is 704x480, even though in Windows XP it is 720x480. This results in no cropping and the same results as in Windows. Tested on an AverMedia GO 007 FM Plus. Signed-off-by: Sean Young Signed-off-by: Mauro Carvalho Chehab commit fad93fdb14f13e7b869a878c0fba3b6e0f91e0b6 Author: Abylay Ospan Date: Sat Feb 6 05:55:47 2010 -0300 V4L/DVB: STV0900 Cut 3.0 AGC2 fix for NetUP Dual DVB-S2-CI card if the AGC2 > 1400 then no signal on this frequency for STV0900 Cut 3.0. For Cut 2.0 this value is 700. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 0a71102f105870a4a245edd1b291fa723a8f3a48 Author: Douglas Schilling Landgraf Date: Fri Feb 5 14:33:38 2010 -0200 V4L/DVB: Fix logic for Leadtek winfast tv usbii deluxe As pointed by Magnus Alm , commit 99dbd128bb applied a hunk at the wrong place. This patch moves the code to the right place. Signed-off-by: Mauro Carvalho Chehab commit 87147ff03a8aa27b9cc94872b195e6f8bb922feb Author: Oliver Endriss Date: Fri Feb 5 07:57:58 2010 -0300 V4L/DVB: get_dvb_firmware: Fix typo, sort list of components Commiter: Oliver Endriss Fix typo. Sort list of components for better readability. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit e7e41d3b59877475e4c19ddd0d33cb3ef5298f87 Author: Oliver Endriss Date: Fri Feb 5 07:52:44 2010 -0300 V4L/DVB: get_dvb_firmware: Add function to retrieve nGene firmwares Commiter: Oliver Endriss Use 'get_dvb_firmware ngene' to download 'ngene_15.fw' and 'ngene_17.fw'. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 6fd2d0f924e352e50a35ac9d9534ccc91b5c9bb9 Author: Stephen Rothwell Date: Fri Feb 5 02:46:47 2010 -0300 V4L/DVB: using vmalloc requires include linux/vmalloc.h After merging the scsi-post-merge tree, today's linux-next build (powerpc allyesconfig) failed like this: drivers/media/dvb/ngene/ngene-core.c: In function 'ngene_release_buffers': drivers/media/dvb/ngene/ngene-core.c:1443: error: implicit declaration of function 'vfree' drivers/media/dvb/ngene/ngene-core.c: In function 'ngene_get_buffers': drivers/media/dvb/ngene/ngene-core.c:1454: error: implicit declaration of function 'vmalloc' drivers/media/dvb/ngene/ngene-core.c:1454: warning: assignment makes pointer from integer without a cast drivers/media/dvb/ngene/ngene-core.c:1461: warning: assignment makes pointer from integer without a cast drivers/media/dvb/ngene/ngene-core.c:1467: warning: assignment makes pointer from integer without a cast drivers/media/dvb/ngene/ngene-core.c: In function 'ngene_probe': drivers/media/dvb/ngene/ngene-core.c:1836: warning: assignment makes pointer from integer without a cast Caused by commit b54c755d6263efe376f3dfc8c72c8e7b4fb4f4c1 ("V4L/DVB: ngene: Initial check-in"). Signed-off-by: Stephen Rothwell Signed-off-by: Mauro Carvalho Chehab commit 8edbede9ebf5959ec9951175a239925225440f5f Author: Richard Röjfors Date: Thu Feb 4 08:18:52 2010 -0300 V4L/DVB: mfd: Add support for the timberdale FPGA The timberdale FPGA is found on the Intel in-Vehicle Infotainment reference board russelville. The driver is a PCI driver which chunks up the I/O memory and distributes interrupts to a number of platform devices for each IP inside the FPGA. Signed-off-by: Richard Röjfors Signed-off-by: Samuel Ortiz Signed-off-by: Mauro Carvalho Chehab commit d44d1f3bfaef71ce27b4fd2284ec528b52617977 Author: Richard Röjfors Date: Wed Feb 3 12:59:39 2010 -0300 V4L/DVB: radio: Add radio-timb This patch add supports for the radio system on the Intel Russellville board. It's a In-Vehicle Infotainment board with a radio tuner and DSP. This umbrella driver has the DSP and tuner as V4L2 subdevs and calls them when needed. Signed-off-by: Richard Röjfors Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6525e67c01d303153272c26cb8118a3c314f4a1f Author: Oliver Endriss Date: Wed Feb 3 22:06:15 2010 -0300 V4L/DVB: ngene: Fix I2C initialisation Use I2C_CLASS_TV_DIGITAL, not I2C_ADAP_CLASS_TV_DIGITAL. Remove initialisation of bus_lock mutex. Thanks to Mauro for pointing out. Signed-off-by: Oliver Endriss Thanks-to: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab commit 684688d87d697724c46be77858641ee2e8885b02 Author: Oliver Endriss Date: Wed Feb 3 18:59:20 2010 -0300 V4L/DVB: ngene: Make checkpatch.pl happy Make checkpatch.pl happy. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit e890e7c0426ab99b032d5b387b1ca9fad6928895 Author: Oliver Endriss Date: Wed Feb 3 13:57:58 2010 -0300 V4L/DVB: ngene: Use correct name for cineS2 cards Cards 18c3:abc3/18c3:abc4 should be displayed as 'Linux4Media cineS2'. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit ace30f74ac1b3f20ab8f98995510a5e0d643c42c Author: Oliver Endriss Date: Wed Jan 20 19:03:22 2010 -0300 V4L/DVB: ngene: Take care of late interrupts Request might already have been processed when the interrupt arrives. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit b1ec9532341fafacfce8b1951c5f388eae014e16 Author: Oliver Endriss Date: Wed Jan 20 18:06:51 2010 -0300 V4L/DVB: ngene: Workaround for command timeout Implement workaround for comamnd timeout. Use FW15 and avoid switching DMA on and off. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 589816c61b74d8f16218a5ffdb95b1bf1897f65c Author: Oliver Endriss Date: Wed Jan 20 17:53:06 2010 -0300 V4L/DVB: ngene: Set ADC ranges to 1Vpp Set ADC1 and ADC2 range of the stv0900 to 1Vpp. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 83e74554d4b1c6f4906c8a4fff270fcd42978987 Author: Oliver Endriss Date: Mon Feb 1 22:01:31 2010 -0300 V4L/DVB: ngene: Adapt to current frontend drivers Adapt to current stv090x + stv6110 drivers. [mchehab@redhat.com: removed compilation hack added by me on a prev patch] Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit edad22a7b0e5899ee503794543ce4c77cfb34d58 Author: Matthias Benesch Date: Fri Jan 8 17:38:03 2010 -0300 V4L/DVB: ngene: Mystique SaTiX-S2 Dual Identify card 18c3:db01 as 'Mystique SaTiX-S2 Dual'. Signed-off-by: Matthias Benesch Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c58b5ecd46bf1b4a54b769d4a17afd97af23188d Author: Manu Abraham Date: Sat Dec 26 16:56:26 2009 -0300 V4L/DVB: [nGene] Trivial I2C related fixes/cleanups Trivial I2C related fixes/cleanups - Remove Unused I2C ID - point the I2C device to the physical device Signed-off-by: Manu Abraham Acked-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 9fdd797659de7a989025c64c336542ac9c15d4d1 Author: Oliver Endriss Date: Wed Dec 23 16:26:17 2009 -0300 V4L/DVB: ngene: Code cleanup Remove/comment-out unused code, make some functions/declarations static. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit cf1b12f2b355a29c44dad426f545db8fa26bd81c Author: Matthias Benesch Date: Wed Dec 23 05:55:02 2009 -0300 V4L/DVB: ngene: Added module parameter "one_adapter" If parameter "one_adapter" is set, only one adapter per device will be attached. Otherwise an adapter for every frontend will be attached. Signed-off-by: Matthias Benesch Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 126cd4bc5fa9cdbedb89bbe7e568140c94900ca7 Author: Oliver Endriss Date: Tue Dec 22 04:37:53 2009 -0300 V4L/DVB: DVB: Export dvb_ringbuffer_flush() again Add EXPORT_SYMBOL(dvb_ringbuffer_flush) again, replace my_dvb_ringbuffer_flush() in ngene driver. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 948a119547cf5043b40c2151d6f6913fbcf65e38 Author: Oliver Endriss Date: Tue Dec 22 03:34:29 2009 -0300 V4L/DVB: ngene: Remove kernel version check for dvb_[un]register_adapter Remove kernel version check for dvb_[un]register_adapter. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 44cdd064aa698c033e0a345ed187db7c24134d93 Author: Oliver Endriss Date: Sun Dec 20 02:30:52 2009 -0300 V4L/DVB: ngene: Change severity of some diagnostic messages Changed severity of some diagnostic messages. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 236fa316baf6bb89b2f361230d570093a2a79794 Author: Oliver Endriss Date: Sat Dec 19 22:55:59 2009 -0300 V4L/DVB: ngene: Speed-up tuning Remove stray mleep() which prevented fast tuning. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit dc35c9ae193564af2003117857848d69af24d534 Author: Roland Praml Date: Sat Dec 19 22:48:14 2009 -0300 V4L/DVB: ngene: Fix unloading of module Fixed unloading of module ngene. Signed-off-by: Roland Praml Signed-off-by: Matthias Benesch Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit adc1d21eec74afbd38a9099f4aff4bcd5b9eaea2 Author: Matthias Benesch Date: Sat Dec 19 12:57:16 2009 -0300 V4L/DVB: ngene: Remove firmware debugging Remove firmware debugging, because setting ngene_fw_debug and requesting firmware from file causes a kernel error. Signed-off-by: Matthias Benesch Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 8bba2607f1927cf3166a64dfd4e4c38a2e3af990 Author: Matthias Benesch Date: Sat Dec 19 12:48:22 2009 -0300 V4L/DVB: ngene: Added Media-Pointer MP-S2/CineS2 DVB-S2 Twin Tuner Added support for nGene based Media-Pointer DVB-S2 twin tuner cards. [mchehab@redhat.com: Fix compilation error: unknown field ‘ref_clk’] Signed-off-by: Matthias Benesch Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 6ed36e6670635b162cc59e40cdb0fbcc51d59d1e Author: Matthias Benesch Date: Sat Dec 19 22:18:53 2009 -0300 V4L/DVB: ngene: Additional clean-up Remove and disable unnecessary code. Disable define ONE_ADAPTER. Signed-off-by: Matthias Benesch Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 0027ebb73eff5bf0709f016edcad2be0605a3e4f Author: Oliver Endriss Date: Sat Dec 19 06:38:05 2009 -0300 V4L/DVB: ngene: Always use firmware loader Always use firmware loader. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 83f3c7157e087ace8fc67fd759bc3d7b3b64531e Author: Oliver Endriss Date: Sat Dec 19 04:54:44 2009 -0300 V4L/DVB: ngene: Driver compiles now Remove LNBH21 routines, disable code which broke compilation. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit dae52d009fc950b5c209260d50fcc000f5becd3c Author: Matthias Benesch Date: Fri Dec 18 22:13:26 2009 -0300 V4L/DVB: ngene: Initial check-in Add Micronas nGene PCIe bridge driver. The source code was provided by Micronas / Ralph Metzler, and has been reformatted to comply with Linux Codingstyle. Signed-off-by: Matthias Benesch Signed-off-by: Ralph Metzler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit c22425ffa10792e2e8aba321dded98a5867d2a86 Author: Janne Grunau Date: Wed Feb 3 15:51:23 2010 +0100 V4L/DVB: hdpvr: add new USB product id Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 85d682b9ee1a89a82c2a75182558e392749d81fc Author: Márton Németh Date: Sat Jan 23 14:44:34 2010 +0100 V4L/DVB: hdpvr-video: cleanup signedness The fifth parameter of usb_bulk_msg() is a pointer to signed (see ) so also call this function with pointer to signed. This will remove the following sparse warning (see "make C=1"): * warning: incorrect type in argument 5 (different signedness) expected int *actual_length got unsigned int * Signed-off-by: Márton Németh Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit e3a0cc62c80a997512295d8f714ee09fafbb4c99 Author: Jiri Slaby Date: Fri Jan 22 12:10:55 2010 -0300 V4L/DVB: media: dvb/af9015, add hashes support So as a final patch, add support for hash and one hash entry for MSI digi vox mini II: iManufacturer 1 Afatech iProduct 2 DVB-T 2 iSerial 3 010101010600001 It is now handled with proper IR and key map tables. Signed-off-by: Jiri Slaby Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 26c3b8b060b3a06f912e5c50bc8ef6ed96195458 Author: Jiri Slaby Date: Fri Jan 22 12:10:54 2010 -0300 V4L/DVB: media: dvb/af9015, refactor remote setting Add af9015_setup structure to hold (right now only remote) setup of distinct receivers. Add af9015_setup_match for matching ids against tables. This is for easier matching different kind of ids against tables to obtain setups. Currently module parameters and usb vendor ids are switched into and matched against tables. Hashes will follow. Signed-off-by: Jiri Slaby Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 634d2d757a435037576bac465a84a02a72c747b6 Author: Jiri Slaby Date: Fri Jan 22 12:10:53 2010 -0300 V4L/DVB: media: dvb/af9015, factor out remote setting This is just a code shuffle without functional changes. For easier review of later changes, i.e. preparation. Signed-off-by: Jiri Slaby Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 6c614044ff00bf3e7403ac6c4ed4e53db8c349f3 Author: Jiri Slaby Date: Fri Jan 22 12:10:52 2010 -0300 V4L/DVB: media: dvb/af9015, implement eeprom hashing This will be useful for matching of IR tables later. We read the eeprom anyway for dumping. Switch the dumping to print_hex_dump_bytes and compute hash above that by hash = 0; for (u32 VAL) in (eeprom): hash *= GOLDEN_RATIO_PRIME_32 hash += VAL; // while preserving endinaness The computation is moved earlier to the flow, namely from af9015_af9013_frontend_attach to af9015_read_config, so that we can access the sum in af9015_read_config already. Signed-off-by: Jiri Slaby Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 0b32d65cd7938d31eebd9c62aab6a59a3c4cf0f8 Author: Kusanagi Kouichi Date: Fri Jan 22 04:55:28 2010 -0300 V4L/DVB: cx23885: Add support for LEADTEK WinFast PxTV1200 I tested only tv and composite. Video works fine but no audio. Signed-off-by: Kusanagi Kouichi Signed-off-by: Mauro Carvalho Chehab commit b38aa09df33d931defe4958582e826db59a9731c Author: Márton Németh Date: Fri Jan 29 17:30:53 2010 -0300 V4L/DVB: hdpvr-core: make module parameters local The default_video_input and default_audio_input module parameters are only used inside the hdpvr-core.c file so make them static. This will remove the following sparse warnings (see "make C=1"): * warning: symbol 'default_video_input' was not declared. Should it be static? * warning: symbol 'default_audio_input' was not declared. Should it be static? Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit ee4b9dbb83c73c5408d7f479a501551a63ec57d3 Author: Richard Röjfors Date: Tue Feb 2 19:40:49 2010 -0300 V4L/DVB: radio: add support for SAA7706H Car Radio DSP Initial support for the SAA7706H Car Radio DSP. It is a I2C device and currently the mute control is supported. When the device is unmuted it is brought out of reset and initiated using the proposed intialisation sequence. When muted the DSP is brought into reset state. [akpm@linux-foundation.org: include delay.h] Signed-off-by: Richard Röjfors Cc: Douglas Schilling Landgraf Cc: Hans Verkuil Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 08c45cd58560f10e08e0ec4686845625b7030e8c Author: Andrew Morton Date: Tue Feb 2 19:40:51 2010 -0300 V4L/DVB: drivers/media/dvb/frontends/stv090x.c: fix use-uninitlalised Mad guess. Signed-off-by: Andrew Morton Reviewed-by: Manu Abraham Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 690c79ae7a0d928459ee6a09be781a2503c27e3e Author: Andrew Morton Date: Tue Feb 2 19:40:50 2010 -0300 V4L/DVB: drivers/media/dvb/frontends/stv090x.c: fix use-uninitialised drivers/media/dvb/frontends/stv090x.c: In function 'stv090x_blind_search': drivers/media/dvb/frontends/stv090x.c:1967: warning: 'coarse_fail' may be used uninitialized in this function Cc: Manu Abraham Cc: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Reviewed-by: Manu Abraham Acked-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c2312f60d741df833abf48fee4a30aa523e55a58 Author: Andrew Morton Date: Tue Feb 2 19:40:49 2010 -0300 V4L/DVB: drivers/media/video/cx18/cx18-alsa-pcm.c: fix printk warning drivers/media/video/cx18/cx18-alsa-pcm.c: In function 'cx18_alsa_announce_pcm_data': drivers/media/video/cx18/cx18-alsa-pcm.c:82: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' Cc: Andy Walls Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 407df29363f10642d87dbe49854c97eb57c84c94 Author: Roel Kluin Date: Tue Feb 2 11:29:46 2010 -0300 V4L/DVB: dvb: return -ENOMEM if kzalloc failed in dvb_usb_device_init() If in a cold state and the download succeeded ret is zero, but we should return -ENOMEM. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit ca39d84d438b609af127f2eb161cd9029afbc9a7 Author: Magnus Alm Date: Fri Nov 13 05:48:24 2009 -0300 V4L/DVB: em28xx: fix for "Leadtek winfast tv usbii deluxe" fix Video/Sound support "Leadtek winfast tv usbii deluxe". Now, it is working Stereo, IR, Radio, TV, Svideo and Composite. Signed-off-by: Mauro Carvalho Chehab commit 5d26b6443292027314a2e2c9178140e60acd3587 Author: Márton Németh Date: Fri Jan 29 17:42:17 2010 -0300 V4L/DVB: smsir: make local variables static Make the file local parameters static. This will remove the following sparse warnings (see "make C=1"): * warning: symbol 'ir_pos' was not declared. Should it be static? * warning: symbol 'ir_word' was not declared. Should it be static? * warning: symbol 'ir_toggle' was not declared. Should it be static? Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 3d36f5c652d9d1b4406b0f8f32d9452eaad8e33a Author: Massimo Del Fedele Date: Sat Oct 24 13:12:37 2009 -0300 V4L/DVB: m920x: Add support for Pinnacle PCTV310e card Adds support to Pinnacle PCTV310e hybrid tuner card, for DVB-T and remote control, still no analog video. [mchehab@redhat.com: fix CodingStyle issues] Signed-off-by: Mauro Carvalho Chehab commit 0faf6f6b892aeb25934c9adc7fe328350d2d25cc Author: Alexander Strakh Date: Fri Sep 11 15:13:21 2009 -0300 V4L/DVB: cafe_ccic: Fix lock imbalances Fix lock imbalances in function device_authorization. Signed-off-by: Alexander Strakh Signed-off-by: Mauro Carvalho Chehab commit fb3ab105a5ef43b03d2788e9b124c7c69112682f Author: Roel Kluin Date: Sat Aug 29 15:31:49 2009 -0300 V4L/DVB: stv0900: dereference of state->internal in fe_stv0900_error stv0900_init_internal() state->internal allocation may fail as well as the allocation of stv0900_first_inode or new_node->next_inode in append_internal(). Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 6adb21c8719feef3b1629f5a9b5535e914f897ed Author: Andy Walls Date: Sat Jan 30 16:20:27 2010 -0300 V4L/DVB: cx18: Add missing serialization locks to cx18-dvb Operations that manipulates the state of the encoder or global instance flags and variables should be serialized. This adds some serialization locks that have been missing from cx18-dvb. Since the DVB part of the CX23418 doesn't affect the encoder, no one would likely have ever noticed a race in changing card instance variables. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b3b6dc620626eda13d7c1330cf3733862fe29420 Author: Andy Walls Date: Sat Jan 30 15:57:32 2010 -0300 V4L/DVB: cx18: Increment driver version for the addition of cx18-alsa and fixes Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 831f476cee704c37e7f96510135a90dfec6d00e9 Author: Andy Walls Date: Sat Jan 30 15:50:51 2010 -0300 V4L/DVB: cx18: Fix memory leak in cx18-alsa starting of PCM captures The cx18_open_id is normally dynamically allocated and stored in the filp->private_data for v4l2 file operations. The cx18-alsa routines should not dynamically allocate a cx18_open_id because they never store it anywhere and never free it. This change fixes that and plugs a memory leak. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b4729dcbba5431bf636d3d6615709383ad5e0d34 Author: Andy Walls Date: Sat Jan 30 15:28:22 2010 -0300 V4L/DVB: cx18: Add missing serialization locking to cx18-alsa File operations that manipulate the state of the encoder, or video or audio subdevices or some of the stream flags need to be serialized. Add the serilization locks to cx18-alsa in a manner consistent with the locking for the v4l2 file operations. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 83695009a439b86c520f9001c80cc5a042c2d940 Author: Andy Walls Date: Sat Jan 30 14:27:29 2010 -0300 V4L/DVB: cx18: Rename snd_cx18_mixer_lock to snd_cx18_lock and increase visibility Rename snd_cx18_mixer_lock() to snd_cx18_lock() in anticpation of using it in the cx18-alsa-pcm.c file routines. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 10e43d90da572f088f15cadfb5cc83cd762041c3 Author: Kusanagi Kouichi Date: Fri Jan 22 04:54:46 2010 -0300 V4L/DVB: cx25840: Fix composite detection If CX25840_VIN1_CH1 and the like is used, input is not detected as composite. Their value is 0x800000XX and CX25840_COMPONENT_ON is 0x80000200. So 739 else if ((vid_input & CX25840_COMPONENT_ON) == 0) this condition never be true. Signed-off-by: Kusanagi Kouichi Reviewed-by: Andy Walls Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 55461f4c584e812bb8e19c3fb1924edd512ea74c Author: Jean-François Moine Date: Sat Jan 30 16:03:02 2010 -0300 V4L/DVB: gspca - main: Change version to 2.9.0. Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit 00e8006db5bc0956ac1522be149936228ccb847e Author: Nicolau Werneck Date: Sat Jan 30 16:00:15 2010 -0300 V4L/DVB: gspca - t613: Support for LT168G sensor. Signed-off-by: Nicolau Werneck Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit cc2f82c22f3f954f0858642bd782f48e8ccbf058 Author: Jean-Francois Moine Date: Thu Jan 28 16:35:40 2010 -0300 V4L/DVB: gspca - pac7302: Change latin1 text to utf-8. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit aed6f1b5fe4e95cf8a9fc149e25041aa8cc7c78a Author: Márton Németh Date: Thu Jan 28 16:33:38 2010 -0300 V4L/DVB: gspca - pac7302: Add support for camera button. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0274d42e052ecd9bc6b5f69fbfc8792ce2cc0fb6 Author: Márton Németh Date: Thu Jan 28 06:39:49 2010 -0300 V4L/DVB: gspca - main: Add input support for interrupt endpoints. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2abf6dd8e8754db6b18a4d55d3e4425c0a22d280 Author: Jean Delvare Date: Tue Jan 26 16:46:58 2010 -0300 V4L/DVB: dvb/bt8xx: Clean-up init and exit functions The init and exit functions are needlessly complex. Remove the bloat: * Drop irrelevant/outdated comments. * Remove useless bt878_pci_driver_registered global variable. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho chehab Signed-off-by: Mauro Carvalho Chehab commit 22c859faf5e10e7f7b04a2c643a98eeee69c1815 Author: Arnaud Patard Date: Mon Jan 25 12:02:31 2010 -0300 V4L/DVB: Fix VIDIOC_QBUF compat ioctl32 When using VIDIOC_QBUF with memory type set to V4L2_MEMORY_MMAP, the v4l2_buffer buffer gets unmodified on drivers like uvc (well, only bytesused field is modified). Then some apps like gstreamer are reusing the same buffer later to call munmap (eg passing the buffer "length" field as 2nd parameter of munmap). It's working fine on full 32bits but on 32bits systems with 64bit kernel, the get_v4l2_buffer32() doesn't copy length/m.offset values and then copy garbage to userspace in put_v4l2_buffer32(). This has for consequence things like that in the libv4l2 logs: libv4l2: v4l2 unknown munmap 0x2e2b0000, -2145144908 libv4l2: v4l2 unknown munmap 0x2e530000, -2145144908 The buffer are not unmap'ed and then if the application close and open again the device, it won't work and logs will show something like: libv4l2: error setting pixformat: Device or resource busy The easy solution is to read length and m.offset in get_v4l2_buffer32(). Signed-off-by: Arnaud Patard Signed-off-by: Mauro Carvalho Chehab commit 6aba72cf76d21527dc73403e4147397375c8c232 Author: Márton Németh Date: Sat Jan 23 10:44:14 2010 -0300 V4L/DVB: zoran: remove variable shadowing The loop counter j is declared twice in function error_handler(). Remove the redundant declaration. This will remove the following sparse warning (see "make C=1"): * symbol 'j' shadows an earlier one Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit db1b72650d22b8ac3ce56aa90c4fe1314f1876cb Author: Márton Németh Date: Sat Jan 23 03:58:20 2010 -0300 V4L/DVB: zoran: match parameter signedness of g_input_status The second parameter of g_input_status operation in is unsigned so also call it with unsigned paramter. This will remove the following sparse warning (see "make C=1"): * incorrect type in argument 2 (different signedness) expected unsigned int [usertype] *status got int * Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 26ee91efd941ea7fd40f6ee004f2f4d72f334564 Author: Roel Kluin Date: Tue Jan 19 21:47:30 2010 -0300 V4L/DVB: cx23885: Wrong command printed in cmd_to_str() The wrong command was printed for case CX2341X_ENC_SET_DNR_FILTER_MODE, and a typo in case CX2341X_ENC_SET_PCR_ID. Signed-off-by: Roel Kluin Acked-By: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1e4348c85a2643441174cfb7073f8cb1a313366f Author: Stefan Richter Date: Wed Nov 18 16:03:31 2009 -0300 V4L/DVB: firedtv: reduce memset()s Before each FCP transdaction, the entire 512 bytes of the FCP frame were cleared, then values filled in. Clear only the bytes between filled-in bytes and end of the - request frame, or - response frame if data from a larger response will be needed, or - whole frame if data from a variable length response will be taken. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 6385c5bf98a9922917a563af3fdbd514888fa4ac Author: Stefan Richter Date: Wed Nov 18 16:03:03 2009 -0300 V4L/DVB: firedtv: remove check for interrupting signal FCP transactions as well as CMP transactions were serialized with mutex_lock_interruptible. It is extremely unlikly though that a signal will arrive while a concurrent process holds the mutex. And even if one does, the duration of a transaction is reasonably short (1.2 seconds if all retries time out, usually much shorter). Hence simplify the code to plain mutex_lock. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 3fb80ef3bc0f2b1008e14f695dcb32415cbacc90 Author: Stefan Richter Date: Wed Nov 18 16:02:01 2009 -0300 V4L/DVB: firedtv: do not DMA-map stack addresses This is a portability fix and reduces stack usage. The DMA mapping API cannot map on-stack addresses, as explained in Documentation/DMA-mapping.txt. Convert the two cases of on-stack packet payload buffers in firedtv (payload of write requests in avc_write and of lock requests in cmp_lock) to slab-allocated memory. We use the 512 bytes sized FCP frame buffer in struct firedtv for this purpose. Previously it held only incoming FCP responses, now it holds pending FCP requests and is then overwriten by an FCP response from the tuner subunit. Ditto for CMP lock requests and responses. Accesses to the payload buffer are serialized by fdtv->avc_mutex. As a welcome side effect, stack usage of the AV/C transaction functions is reduced by 512 bytes. Alas, avc_register_remote_control() is a special case: It previously did not wait for a response. To fit better in with the other FCP transactions, let it wait for an interim response. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 9420048c6e3ce43b428cb5965ba0d568bc145978 Author: Mauro Carvalho Chehab Date: Thu Jan 28 00:28:58 2010 -0200 Fix the __init/__exit annotations WARNING: drivers/media/video/cx18/cx18-alsa.o(.text+0x4de): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_init() The function cx18_alsa_load() references the function __init snd_cx18_init(). This is often because cx18_alsa_load lacks a __init annotation or the annotation of snd_cx18_init is wrong. WARNING: drivers/media/video/cx18/built-in.o(.text+0x1c022): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_init() The function cx18_alsa_load() references the function __init snd_cx18_init(). This is often because cx18_alsa_load lacks a __init annotation or the annotation of snd_cx18_init is wrong. WARNING: drivers/media/video/built-in.o(.text+0x28cc56): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_init() The function cx18_alsa_load() references the function __init snd_cx18_init(). This is often because cx18_alsa_load lacks a __init annotation or the annotation of snd_cx18_init is wrong. WARNING: drivers/media/built-in.o(.text+0x2d2432): Section mismatch in reference from the function cx18_alsa_load() to the function .init.text:snd_cx18_init() The function cx18_alsa_load() references the function __init snd_cx18_init(). This is often because cx18_alsa_load lacks a __init annotation or the annotation of snd_cx18_init is wrong. Signed-off-by: Mauro Carvalho Chehab commit 583d338ddda291e3244c7f3a785973c51dcce84e Author: Mauro Carvalho Chehab Date: Thu Jan 28 00:19:00 2010 -0200 cx18: Fix compilation when CONFIG_MODULE is disabled drivers/media/video/cx18/cx18-driver.c:252: warning: ‘request_modules’ used but never defined Signed-off-by: Mauro Carvalho Chehab commit 914e8713f22fc01da14670c1647603edcb7c7b0a Author: Jean-Francois Moine Date: Sun Jan 17 03:58:51 2010 -0300 V4L/DVB: gspca - sq905c: Fix a compilation warning Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 11edebc264f14d3f9e05525f238b91da7f5fa81f Author: Antonio Ospite Date: Sun Jan 17 03:42:14 2010 -0300 V4L/DVB: gspca - ov534: Fix end of frame handling Fix a regression, introduced in the driver split, which made the ov534 driver unusable. Plus, the debug message should reflect that we discard also packets beyond the expected frame size. Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 29b87f045552910f964972b7a45e9be054401a0b Author: Antonio Ospite Date: Sun Jan 17 03:27:04 2010 -0300 V4L/DVB: gspca - ov534: Allow enumerating supported framerates Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4b27d074748553916ebbdeed9630a6959c85e7de Author: Jean-Francois Moine Date: Wed Jan 13 15:40:36 2010 -0300 V4L/DVB: gspca - ov534_9: Propagate USB errors to higher level Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ab6c8cf21e180bcee1a6669f59ef62c0cceaf5d6 Author: Jean-Francois Moine Date: Wed Jan 13 15:34:27 2010 -0300 V4L/DVB: gspca - main: Clear any previous USB error when starting the transfer Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 14799f6cf35f843806019f548e80ffa669d16102 Author: Jean-Francois Moine Date: Wed Jan 13 15:28:22 2010 -0300 V4L/DVB: gspca - pac7311: Use usb_err to propagate USB errors Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit be927befd091481f88c5806aa0585f25ab2ee3a1 Author: Jean-Francois Moine Date: Wed Jan 13 15:09:14 2010 -0300 V4L/DVB: gspca - pac7302: Use usb_err to propagate USB errors Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 23a5de202bc385b69eb91a5db36699e9579ec03e Author: Jean-Francois Moine Date: Wed Jan 13 08:30:30 2010 -0300 V4L/DVB: gspca - pac7302/pac7311: Remove the unused page loading There is only one page to load (page 3 for pac7302 and page 4 for pac7311). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9919fe891da1bd61fad78a0e1e3c0f21cd127eca Author: Hans de Goede Date: Wed Jan 13 07:12:28 2010 -0300 V4L/DVB: gspca - zc3xx: Change the resolutions of some sensors The sensors adcm2700, mc501cb and ov7620 cannot have the full height permitted by the zc3xx bridges. This change removes 8 pixels at the bottom of the images. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6aeb0905620f2ba3adecfaabc7000ae0481a263b Author: Stephen Rothwell Date: Wed Jan 27 03:53:39 2010 -0300 V4L/DVB: using vmalloc requires include of linux/vmalloc.h Signed-off-by: Stephen Rothwell Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 2c1fee024d86b718b3198f664747c9028776c751 Author: Huang Weiyi Date: Tue Jan 19 19:43:44 2010 -0300 V4L/DVB: [Mantis] remove duplicated #include Remove duplicated #include('s) in drivers/media/dvb/mantis/mantis_hif.c drivers/media/dvb/mantis/mantis_pci.c Signed-off-by: Huang Weiyi Signed-off-by: Mauro Carvalho Chehab commit 43e3e6d9df13da0c82b99e1144de053043545894 Author: Márton Németh Date: Sat Jan 16 14:35:03 2010 -0300 V4L/DVB: dib0090: cleanup dib0090_dcc_freq() 'extern' is not needed at function definition. This will remove the following sparse warning (see "make C=1"): * function 'dib0090_dcc_freq' with external linkage has definition Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit b9fb9b791a05e52b6daba953637705fa30610ab3 Author: Márton Németh Date: Sat Jan 16 14:08:39 2010 -0300 V4L/DVB: bt819: cleanup v4l2_subdev_notify() parameters The 3rd parameter v4l2_subdev_notify() is passed to the notify() callback which is a pointer, see and . This will remove the following sparse warning (see "make C=1"): * Using plain integer as NULL pointer Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 936c05e7f677640a9bc4d77354899f199d7d958f Author: Márton Németh Date: Sat Jan 16 13:41:43 2010 -0300 V4L/DVB: stv0900: make more local functions static Some functions are only used locally so mark them static. This will remove the following sparse warnings (see "make C=1"): * symbol 'extract_mask_pos' was not declared. Should it be static? * symbol 'stv0900_initialize' was not declared. Should it be static? * symbol 'stv0900_get_mclk_freq' was not declared. Should it be static? * symbol 'stv0900_set_mclk' was not declared. Should it be static? * symbol 'stv0900_get_err_count' was not declared. Should it be static? Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 521e86eb4354080dc2d178e3d8a7ebd8f0e8b4e5 Author: Márton Németh Date: Sat Jan 16 13:35:36 2010 -0300 V4L/DVB: stv0900: make local functions static The functions stv0900_sw_algo() and stv0900_set_dvbs1_track_car_loop() are only used locally so mark them static. This will remove the following sparse warnings (see "make C=1"): * symbol 'stv0900_sw_algo' was not declared. Should it be static? * symbol 'stv0900_set_dvbs1_track_car_loop' was not declared. Should it be static? Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit d5abcc784ff337fbe9c6bc03235baecfd25191e5 Author: Márton Németh Date: Sat Jan 16 13:21:59 2010 -0300 V4L/DVB: cx231xx: cleanup dvb_attach() return value handling Remove the following sparse error (see "make C=1"): * error: incompatible types for operation (<) left side has type struct dvb_frontend * right side has type int Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 6e3924aa8dad3ac7d5cbfb4e27b6cdd2dc7b7e68 Author: Thiago Farina Date: Sat Jan 16 10:25:38 2010 -0300 V4L/DVB: dvb-core: remove unnecessary casting of kmalloc drivers/media/dvb/dvb-core/dvb_frontend.c | 6 ++---- Signed-off-by: Thiago Farina Signed-off-by: Mauro Carvalho Chehab commit cebedf15d2776e1629a86260b5aa7bcfff8401b2 Author: Márton Németh Date: Sat Jan 16 05:11:07 2010 -0300 V4L/DVB: zoran: cleanup pointer condition Remove the following sparse warning (see "make C=1"): * warning: Using plain integer as NULL pointer Signed-off-by: Márton Németh Signed-off-by: Mauro Carvalho Chehab commit 0633255ca28715fd452972d460f5bfbe2c793d72 Author: Ben Hutchings Date: Wed Jan 13 20:43:58 2010 -0300 V4L/DVB: dabusb: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: Mauro Carvalho Chehab commit 77c8b5fb0ee6e367332167eaa26470d843596270 Author: Muralidharan Karicheri Date: Wed Jan 13 20:27:08 2010 -0300 V4L/DVB: vpfe-capture: converting ccdc drivers to platform-drivers This adds platform code for ccdc driver on DM355 and DM6446. 1) new ccdc platform devices added 2) added clock aliases master and slave for CCDC clocks 3) added dm355_ccdc_setup_pinmux() pin-mux setup hook in dm355 ccdc driver platform data Reviewed-by: Vaibhav Hiremath Reviewed-by: Kevin Hilman Reviewed-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 8d1b5946bf53b2593e633caba2330863838b7bf7 Author: Muralidharan Karicheri Date: Wed Jan 13 20:27:07 2010 -0300 V4L/DVB: vpfe-capture: converting dm644x ccdc driver to a platform driver 1) clocks are configured using generic clock names 2) converting the driver to a platform driver 3) cleanup - consolidate all static variables inside a structure, ccdc_cfg The ccdc driver now uses generic names for clocks - master and slave. On individual platforms these clocks will inherit from the platform specific clock. This will allow re-use of the driver for the same IP across different SoCs. Reviewed-by: Kevin Hilman Reviewed-by: Vaibhav Hiremath Reviewed-by: Hans Verkuil Signed-off-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit c70fc2d2ccff1ce4cf0441ed060045022e6cc5c8 Author: Muralidharan Karicheri Date: Wed Jan 13 20:27:06 2010 -0300 V4L/DVB: vpfe-capture - converting dm355 ccdc driver to a platform driver 1) clocks are configured using generic clock names; 2) converts the driver to a platform driver; 3) cleanup - consolidate all static variables inside a structure, ccdc_cfg; The ccdc now uses a generic name for clocks. "master" and "slave". On individual platforms these clocks will inherit from the platform specific clock. This will allow re-use of the driver for the same IP across different SoCs. Updated based on Kevin's comments on clock configuration and error code (v3, v4). Reviewed-by: Kevin Hilman Reviewed-by: Vaibhav Hiremath Reviewed-by: Hans Verkuil Signed-off-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 51444ea3d4f5baa0338297aba7065fd695528a36 Author: Muralidharan Karicheri Date: Wed Jan 13 20:27:05 2010 -0300 V4L/DVB: vpfe_capture: remove clock and platform code 1) removed the platform code and clk configuration. They are now part of ccdc driver (part of the ccdc patches and platform patches 2-4); 2) Added proper error codes for ccdc register function. Reviewed-by: Vaibhav Hiremath Reviewed-by: Kevin Hilman Reviewed-by: Hans Verkuil Signed-off-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 986ce4510b37ba684aaebd3eb0e6ee0c03906ed8 Author: Pete Eberlein Date: Wed Jan 13 19:15:48 2010 -0300 V4L/DVB: s2250: Fix write_reg i2c address The kernel i2c model uses right-aligned 7-bit i2c addresses, but the 2250 firmware uses an 8-bit address in the usb vendor request. A previous patch by Jean Delvare shifted the i2c addresses 1 bit to the right, and this patch fixes the write_reg function to shift it back before sending the vendor request. To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: Pete Eberlein Signed-off-by: Mauro Carvalho Chehab commit 94b12d9ea555851632deee1c2b06c4f281a45e12 Author: Devin Heitmueller Date: Thu Jan 7 00:56:14 2010 -0300 V4L/DVB: cx18-alsa: Fix the rates definition and move some buffer freeing code. Clarify the rates available for the device, and move the freeing of the buffer to the free routine instead of the close (per Takashi's suggestion). Thanks to Takashi Iwai for reviewing and providing feedback. This work was sponsored by ONELAN Limited. Cc: Takashi Iwai Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit c71fd169a13d34f26997b27183b510e0b7fc2623 Author: Devin Heitmueller Date: Thu Jan 7 00:52:39 2010 -0300 V4L/DVB: cx18: address possible passing of NULL to snd_card_free Eliminate the possibility of passing NULL to snd_card_free(). Thanks to Takashi Iwai for reviewing and pointing this out. This work was sponsored by ONELAN Limited. Cc: Takashi Iwai Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 60433e2ab8391d1884ddef2269bd19ecdaaa2d72 Author: Devin Heitmueller Date: Sun Dec 20 23:53:46 2009 -0300 V4L/DVB: cx18-alsa: codingstyle cleanup Move the cx18_alsa_announce_pcm_data() function further up in the file, since apparently "make checkpatch" has never heard of a forward declaration. Note that despite the hg diff showing everything else as having been deleted/added, in reality it was only that one function that got moved (and the forward declaration was removed from the top of the file). This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 71036ef26b0026742c8ab79a54937aac1439350d Author: Devin Heitmueller Date: Sun Dec 20 23:50:02 2009 -0300 V4L/DVB: cx18-alsa: codingstyle cleanup Remove some dead code and make a PCM specific module debug parameter to avoid an extern reference. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f8bd9d26c59d0df0335bf43191feb732f2c8b6ad Author: Devin Heitmueller Date: Sun Dec 20 23:29:02 2009 -0300 V4L/DVB: cx18: codingstyle fixes Codingstyle fixes, some introduced as a result of the ALSA work, some pre-existing. This patch is a whitespace change only. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 780edb7ad60e5c657770f510747cc609c84b5b61 Author: Devin Heitmueller Date: Sun Dec 20 23:15:58 2009 -0300 V4L/DVB: cx18-alsa: codingstyle fixes Fix codingstyle issues, and make the minimum version for cx18-alsa required to be 2.6.17, so that we don't need all the #ifdefs related to the changes to ALSA structures. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4dae2f0f84374d4e7cd6c8d41385a7c250f0726d Author: Devin Heitmueller Date: Sun Dec 20 23:01:46 2009 -0300 V4L/DVB: cx18-alsa: fix codingstyle issue Address coding style issue with cx18-alsa-main.c This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 1a8e0e33881c9dd8cf3514bfd0b5a7ef148da929 Author: Devin Heitmueller Date: Sat Dec 12 17:38:53 2009 -0300 V4L/DVB: cx18-alsa: fix memory leak in error condition If the stream is already in use, make sure we free up the memory allocated earlier. Thanks to Andy Wall for reviewing and pointing this out. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 485e319adef5d33a1dca4320cb26fb387b4a9381 Author: Devin Heitmueller Date: Sun Nov 22 23:42:33 2009 -0300 V4L/DVB: cx18-alsa: remove a couple of warnings Remove a couple of warnings from dead code during driver development. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 5eb9978f47ec09ce7ab5b9cc86d7b5d6ebb28a9d Author: Devin Heitmueller Date: Fri Nov 20 02:15:20 2009 -0300 V4L/DVB: cx18-alsa: name alsa device after the actual card Use the cx18 board name in the ALSA description, to make it easier for users who run "arecord -l" to see which device they should be looking for. Also, use strlcpy() instead of strcpy(). Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 1ec1c9bc6fc63b08467c12ce585862ae4e97859c Author: Devin Heitmueller Date: Fri Nov 20 01:24:57 2009 -0300 V4L/DVB: cx18: cleanup cx18-alsa debug logging Fix the debug macro so that it is dependent on the modprobe parameter. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit d68b687b1e322e7325b1458d799e8234997e4ccd Author: Devin Heitmueller Date: Fri Nov 20 01:15:54 2009 -0300 V4L/DVB: cx18: rework cx18-alsa module loading to support automatic loading Restructure the way the module gets loaded so that it gets loaded automatically when cx18 is loaded, and make it work properly if there are multiple cards present (since the old code would only take one opportunity to connect to cx18 instances when the module first loaded). This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4a8cfe6a5c158133f57c2e8476f259366d4bdc4d Author: Devin Heitmueller Date: Thu Nov 19 23:35:36 2009 -0300 V4L/DVB: cx18-alsa: remove unneeded debug line Remove an unneeded debug line, which was preventing the cx18-alsa module from loading. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0f4cf676728e186b53ba1bb60c442c0f503ffdbc Author: Devin Heitmueller Date: Thu Nov 19 23:23:57 2009 -0300 V4L/DVB: cx18: export more symbols required by cx18-alsa Export a couple of more symbols required by the cx18-alsa module. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 700b8aecc99f3bef09bc20c745d20bb2868047cc Author: Devin Heitmueller Date: Thu Nov 19 23:17:40 2009 -0300 V4L/DVB: cx18: add cx18-alsa module to Makefile Add cx18-alsa to the Makefile and Kconfig This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 9972de904216828c9f9f9d638df52206aa2bacd1 Author: Devin Heitmueller Date: Mon Jan 18 21:29:51 2010 -0300 V4L/DVB: cx18: overhaul ALSA PCM device handling so it works Add code so that the PCM ALSA device actually works, and update the cx18-streams mechanism so that it passes the data off to the cx18-alsa module. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 8ef22f794ea5577505bc71e468183585f429afde Author: Devin Heitmueller Date: Thu Nov 19 22:52:30 2009 -0300 V4L/DVB: cx18: export a couple of symbols so they can be shared with cx18-alsa Expose a couple of symbols in the cx18 module so that locking of the PCM stream can be shared with the cx18-alsa module. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4cb565cc2700e6fcd57243cacc4c2826956bc088 Author: Devin Heitmueller Date: Thu Nov 19 22:46:10 2009 -0300 V4L/DVB: cx18: make it so cx18-alsa-main.c compiles Fix some basic compilation issues with Andy's original code. In particular, temporarily #ifdef out the mixer code, add some additional exception handling, fix a couple of typos, and add a copyright line. This work was sponsored by ONELAN Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0d8e1d0637a4636b0c19c94ba633812421544d91 Author: Devin Heitmueller Date: Thu Nov 19 22:40:41 2009 -0300 V4L/DVB: cx18: rename cx18-alsa.c Rename cx18-alsa.c to cx18-alsa-main.c so that we can call the final .ko file cx18-alsa.ko Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit f9b071c77ad3b97fce3d598d2d417c097369ccaf Author: Andy Walls Date: Wed Jun 24 07:26:45 2009 -0300 V4L/DVB: cx18-alsa: Add non-working cx18-alsa-pcm.[ch] files to avoid data loss Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9722c8f95a5bd51a3d392cb2f125c8240b745c48 Author: Andy Walls Date: Mon May 25 21:40:25 2009 -0300 V4L/DVB: cx18-alsa: Initial non-working cx18-alsa files Initial cx18-alsa module files check-in to avoid losing work. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5eb3291fe84b30a8e2fda31fd5fa44c40575f283 Author: Igor M. Liplianin Date: Sun Jan 17 12:23:04 2010 -0300 V4L/DVB: dm1105: use macro for read/write registers This is for better readability and smaller size of code lines. Also it is for future improvements like GPIO handling. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 34d2f9bf189c36ef8642cf6b64e80dfb756d888f Author: Igor M. Liplianin Date: Sun Jan 17 12:11:00 2010 -0300 V4L/DVB: dm1105: use dm1105_dev & dev instead of dm1105dvb This is for better readability and smaller size of code. Also it is similar to other drivers. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit ed7c847aef137a5e1f5de0eac0ad2c03e183839d Author: Igor M. Liplianin Date: Sun Jan 17 11:15:06 2010 -0300 V4L/DVB: dm1105: connect splitted else-if statements Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 8f50a3ee726b682f7481d29883d768bbd027788a Author: JD Louw Date: Sun Jan 17 09:57:46 2010 -0300 V4L/DVB: Compro S350 GPIO change This patch enables LNB power on newer revision d1 Compro S350 and S300 DVB-S cards. Signed-off-by: JD Louw Signed-off-by: Mauro Carvalho Chehab commit b4a0e816fbe2af815674c514588b6cb444ec5fd9 Author: Igor M. Liplianin Date: Sun Jan 17 10:32:26 2010 -0300 V4L/DVB: Add Support for DVBWorld DVB-S2 PCI 2004D card The PCI card contains dm1105 PCI bridge and ds3000 demod. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 95480f2773588eabb35ac9354d068b068ef11e70 Author: Andy Walls Date: Sun Jan 17 21:12:24 2010 -0300 V4L/DVB: ivtv: Adjust msleep() delays used to prevent tinny audio and PCI bus hang Martin Dauskardt has done extensive testing on what values can be used and and concluded that only 300 ms total is required to avoid bad video effects such as occasional black screen and short sync disturbances. Furthermore he determined how this 300 ms was split between the two msleep()s did matter very much, so he suggested 150ms/150ms as one acceptable alternative that is implemented here. Many thanks go to Martin. Tested-by: Martin Dauskardt Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 3ccc646b56a3f03029a259c6a8affd9cecc6020e Author: Andy Walls Date: Thu Dec 24 13:06:08 2009 -0300 V4L/DVB: cx25840, v4l2-subdev, ivtv, pvrusb2: Fix ivtv/cx25840 tinny audio This change attempts to fix the ivtv tinny audio problem by keeping digitizer to encoder audio clocks running, while disabling the video clocks as needed to avoid unpredictable PCI bus hangs. To accomplish this, for the cx25840 module enabling of audio streaming had to be separated from enabling video streaming, requiring an additional v4l2_subdev_audio_op and calls to this new op in the pvrusb2 and ivtv drivers. The cx231xx and cx23885 driver use the cx25840 module for affecting only video on s_stream calls, so those drivers needed no change. The CX23418 hardware does not exhibit either the tinny audio problem nor the PCI bus hang, so the cx18 driver did not need corresponding changes. CX2341[56] based cards that are not using the CX2584x family of chips do not seem to be affected by the tinny audio problem, and this change should not affect how they are configured. It will delay their first capture by starting by another 300 msec though. Many thanks go to Argus and Martin Dauskardt whose persistent testing and investigation of this problem will hopefully fix this problem once and for all for many ivtv users. Reported-by: Martin Dauskardt Reported-by: Argus Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit b6e436b263b35476da4be06e0719cb1d5c8f8eed Author: Ian Armstrong Date: Mon Dec 21 22:59:26 2009 -0300 V4L/DVB: ivtv: Fix race condition for queued udma transfers There are several DMA related interrupts which wake up the dma_waitq. The udma routines use this queue while they wait for their transfer to complete. When woken, the udma routine will check the IVTV_F_I_UDMA_PENDING & IVTV_F_I_UDMA flags to see if the transfer is still queued or has finished. However, a small window exists between the IVTV_F_I_UDMA_PENDING flag being cleared and the IVTV_F_I_UDMA flag being set. Given that the completion of an unrelated DMA transfer may wake up the udma routine, it's possible for this check to fail and the udma routine will start unmapping pages when the transfer has only just started. The result of this is unpredictable. This fix simply delays the clearing of the IVTV_F_I_UDMA_PENDING flag until after IVTV_F_I_UDMA has been set. Signed-off-by: Ian Armstrong Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0726681a7080cef6a9fd414894690fac16418772 Author: Abylay Ospan Date: Fri Jan 22 16:01:44 2010 -0300 V4L/DVB: 22-kHz set_tone fix for NetUP Dual DVB-S2-CI card. 22kHz logic controlled by demod 22-kHz tone can be driven in two ways: 1. LNBH24 can produce 22kHz continuous tone when TEN=1 ( 22 KHz tone output is always activated ). 2. LNBH24 can reproduce 22kHz tone timings from DSQIN or EXTM pin's when TEN=0. From LNBH24 datasheet: "In order to improve design flexibility an external tone input pin is available (EXTM). The EXTM is a Logic input pin which activates the 22 kHz tone output, on the VoTX pin, by using the LNBH24 integrated tone generator (similar to the DSQIN pin function). In fact, the output tone waveform characteristics will always be internally controlled by the LNBH24 tone generator and the EXTM signal will be used as a timing control for DiSEqC tone data encoding on the VoTX output." In NetUP Dual DVB-S2-CI card 22kHz tone timings on EXTM pin produced by STV0900 demod: .set_tone = stv0900_set_tone redefine to "set_tone = lnbp21_set_tone" is not correct for "NetUP Dual DVB-S2-CI card". Signed-off-by: Abylay Ospan Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 6b54ee082543294a04ea1d758abdc6013cbb4e2e Author: Hans de Goede Date: Thu Jan 14 10:00:31 2010 -0300 V4L/DVB (14005): media/video Kconfig: Mark gspca superceeded drivers as deprecated We have some duplicate functionality between the zc0301 and gspca-zc3xx, the sn9c102 and gspca-sonixb + gspca-sonix, and et61x251 and gscpa-etoms drivers. The non gspca versions of these drivers not only show a lot of code duplicty (amongsth each other), as they all copy the same generic usb webcam code instead of using some sort of framework. They also have not seen any updates for more then 2 years, where as the gspca drivers are actively maintained. So it is time for the non gspca versions of these drivers to go away, marking them as deprecated is the first step in this. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 81b1061f96cf6f1ec3c91b80c6c183cb90a1f4e1 Author: Hans de Goede Date: Thu Jan 14 09:40:37 2010 -0300 V4L/DVB (14004): drivers/media/video/Kconfig: Turn deprecated drivers off by default drivers/media/video/Kconfig: Turn deprecated drivers off by default Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 54e8bc5d64a651e2fb8b2366637e6a7d920a4c70 Author: Hans de Goede Date: Thu Jan 14 09:37:18 2010 -0300 V4L/DVB (14003): gspca_cpai1: New gspca subdriver for CPIA CPiA version 1 cams This new driver supports USB PIA CPiA version 1 cams, replacing the old v4l1 driver. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit ed9885aa8145d0cd531ac53d1456a6b3d238150c Author: Theodore Kilgore Date: Thu Jan 14 12:07:18 2010 -0300 V4L/DVB (14006): gscpa_sq905c: Better detection of CIF resolution cameras gscpa_sq905c: Better detection of CIF resolution cameras Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 127f548dbcdb561a7bf94578804abca0eccf7e4b Author: Hans de Goede Date: Sun Jan 10 19:34:57 2010 -0300 V4L/DVB (14002): gspca_sonixb / sn9c102: Make gspca handle 0c45:6007 When both the gspca_sonixb and the sn9c102 driver are enabled, make the gspca_sonixb driver handle cams with usb-id of 0c45:6007. The sn9c102 driver is being phased out and gspca driver has been successfully tested with an 0c45:6007 camara. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit b10af3f70bfaf98b6405dcd0561283b7ec485630 Author: Hans de Goede Date: Sun Jan 10 19:31:34 2010 -0300 V4L/DVB (14001): gscpa_sonixb: Differentiate between tas5110c and tas5110d and fix d hstart Our hstart value was wrong for tas5110d sensor using sonixb cams, this patch fixes this. Many thanks to Paulus (laudaka) for donating me a camera with such a sensor IC. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8d0082fa3f3ac978075439e73b4a36ca0715e747 Author: Hans de Goede Date: Sat Jan 9 19:45:44 2010 -0300 V4L/DVB (14000): gspca_ov519: ov764x remove setting of AEC limits ov764x remove setting of AEC limits, as the custom values cause AEC oscilation in 320x240. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit d02134ddb6fc351ab25028bfb45a53d08a2bcfbf Author: Hans de Goede Date: Sat Jan 9 19:22:34 2010 -0300 V4L/DVB (13999): gspca_ov519: remove non functioning contrast control for ov764x sensor gspca_ov519: remove non functioning contrast control for ov764x sensor Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 035d3a3d3fb0104bb94dfb78ef70c7ec6f3f4ae4 Author: Hans de Goede Date: Sat Jan 9 08:14:43 2010 -0300 V4L/DVB (13998): gscpa_ov519: Fix 320x240 on ov519 + ov7648 Differentiate between ov7640 and ov7648 and handle the ov7648 320x240 on the ov519 bridge specially to fix r and b being swapped. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 859cc4700eebebe346572eb30898dd786a54e7a9 Author: Hans de Goede Date: Thu Jan 7 15:42:35 2010 -0300 V4L/DVB (13997): gspca_ov519: differentiate ov7620 and ov7620ae and fix 640x480 on the 7620 Michael Deegan , has reported issues with using 640x480 mode on his ov518+ webcam. The fix for this breaks things on my ov518+ cam (Trust 320 Sp@cecam), this patch thus adds differentiation in the driver between the OV7620 sensor his cam has and the OV7620AE sensor my cam has, and then only changes the init sequence for the ov518+ + OV7620 combo which was not working for Michael. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 388a6d54168923d0243d4c752586e87231a75291 Author: Hans de Goede Date: Thu Jan 7 15:31:48 2010 -0300 V4L/DVB (13996): gspca_stv0680: Fix streaming on vga cameras Streaming of VGA stv0680 based cams (instead of CIF ones) failed, because we were using the wrong control pipe for certain commands, this patch fixes this. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 98184f78fcc1aea4f81e9101459c803a90e71f4f Author: Hans de Goede Date: Thu Jan 7 12:06:00 2010 -0300 V4L/DVB (13995): gspca_ov519: mark led on eyetoy II as inverted Mark led on eyetoy II as inverted, I have the feeling the led needs to be inverted for all 519 based cams (iow we got the set led code wrong), but lets just deal with this one cam at a time to avoid breaking currently working cams. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit ab269d300ef9fe7e2f60613d0ac160e12b84658e Author: Hans de Goede Date: Thu Jan 7 12:04:04 2010 -0300 V4L/DVB (13994): gscpa_stv0680: Fix camera initialization on hotplug stv0680 cameras currently only work when already plugged in when the system boots (or when manually re-loading the driver after boot). This patch fixes this. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9336960d075839b41bef89a0c68899c4025e8289 Author: Theodore Kilgore Date: Fri Dec 25 05:19:24 2009 -0300 V4L/DVB (13993): gspca.txt: add cams supported by mr97310a, sq905(c) and sn9c2028 drivers gspca.txt: add cams supported by mr97310a, sq905(c) and sn9c2028 drivers Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 5bdd00b93e368acc793748340c15cd2811fdd02b Author: Theodore Kilgore Date: Fri Dec 25 05:16:32 2009 -0300 V4L/DVB (13992): gspca_sn9c2028: New gspca subdriver New gspca subdriver adding support for SN9C2028 dual-mode cameras. Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 70136081fc67ea77d849f86fa323e5773c8e40ea Author: Theodore Kilgore Date: Fri Dec 25 05:15:10 2009 -0300 V4L/DVB (13991): gspca_mr973010a: Fix cif type 1 cameras not streaming on UHCI controllers If you read the mail to Oliver Neukum on the linux-usb list, then you know that I found a cure for the mysterious problem that the MR97310a CIF "type 1" cameras have been freezing up and refusing to stream if hooked up to a machine with a UHCI controller. Namely, the cure is that if the camera is an mr97310a CIF type 1 camera, you have to send it 0xa0, 0x00. Somehow, this is a timing reset command, or such. It un-blocks whatever was previously stopping the CIF type 1 cameras from working on the UHCI-based machines. Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 225ee0ca190b2e5d1d20c6278b6369b987aaaddf Author: Arvo Järve Date: Sun Jan 10 17:15:57 2010 -0300 V4L/DVB (13989): [TDA8261] Fix TDA8261 I2C read bug The TDA8261 driver would crash when reading more than a byte as described. ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff [ 8.430350] KNC1-2: MAC addr = 00:09:d6:65:2d:91 [ 8.610008] saa7146 (1) saa7146_i2c_writeout [irq]: timed out waiting for end of xfer [ 8.734457] stb0899_attach: Attaching STB0899 [ 8.768481] tda8261_attach: Attaching TDA8261 8PSK/QPSK tuner [ 8.768485] DVB: registering adapter 2 frontend 0 (STB0899 Multistandard)... Once I launch scan-s2: scan-s2 -vvvv -a 2 -s 1 -l UNIVERSAL /usr/share/dvb/dvb-s/Hotbird-13.0E I see the following via dmesg: [ 435.040017] saa7146 (1) saa7146_i2c_writeout [irq]: timed out waiting for end of xfer [ 435.778648] tda8261_get_bandwidth: Bandwidth=40000000 [ 435.781781] tda8261_get_bandwidth: Bandwidth=40000000 [ 435.783311] tda8261_set_state: Step size=1, Divider=1000, PG=0x793 (1939) [ 435.783512] tda8261_set_state: Waiting to Phase LOCK [ 435.810134] tda8261_get_status: Tuner Phase Locked [ 435.810137] tda8261_set_state: Tuner Phase locked: status=1 [ 435.810139] tda8261_set_frequency: Frequency=1939000 [ 435.810141] tda8261_get_frequency: Frequency=7574 [ 435.830008] tda8261_get_bandwidth: Bandwidth=40000000 [ 436.402814] tda8261_get_bandwidth: Bandwidth=40000000 [ 436.405946] tda8261_get_bandwidth: Bandwidth=40000000 [ 436.407458] general protection fault: 0000 [#1] SMP [ 436.407527] last sysfs file: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor [ 436.407560] CPU 0 [ 436.407601] Modules linked in: tda8261 stb0899 dvb_pll mt352 lnbp21 budget_av saa7146_vv snd_hda_codec_realtek videodev stv0299 v4l1_compat coretemp snd_hda_intel v4l2_compat_ioctl32 i915 videobuf_dma_sg b2c2_flexcop_pci snd_hda_codec budget_ci videobuf_core b2c2_flexcop ir_common w83627ehf drm snd_hwdep cx24123 budget_core hwmon_vid snd_pcm cx24113 dvb_core iptable_filter snd_timer i2c_algo_bit ip_tables saa7146 s5h1420 snd ttpci_eeprom soundcore intel_agp video serio_raw pcspkr lp snd_page_alloc x_tables output parport pata_it8213 e1000e [ 436.408757] Pid: 1410, comm: kdvb-ad-2-fe-0 Not tainted 2.6.31-14-server #48-Ubuntu C2SBC-Q [ 436.408818] RIP: 0010:[] [] tda8261_set_state+0x51/0x250 [tda8261] [ 436.408903] RSP: 0018:ffff88013649bc70 EFLAGS: 00010283 [ 436.408945] RAX: 00000000000f1748 RBX: ffff880138870680 RCX: 0000000000000018 [ 436.408990] RDX: ffff88013649bcd0 RSI: 0000000000000001 RDI: ffff880135273010 [ 436.409035] RBP: ffff88013649bcc0 R08: 0000000000000001 R09: 0000000000000002 [ 436.409081] R10: ffff88013649bc40 R11: 0000000055555556 R12: 00000000001d9638 [ 436.409126] R13: 38ffffffa0261568 R14: 0000000000000000 R15: ffff880135273010 [ 436.409172] FS: 0000000000000000(0000) GS:ffff880028022000(0000) knlGS:0000000000000000 [ 436.409232] CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b [ 436.409274] CR2: 00007fff925e4cd8 CR3: 000000013642a000 CR4: 00000000000406f0 [ 436.409320] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 436.409365] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 436.409411] Process kdvb-ad-2-fe-0 (pid: 1410, threadinfo ffff88013649a000, task ffff88013658ad60) [ 436.409473] Stack: [ 436.409508] ffff880136ee2af1 00000000bcd5d166 ffff000200000068 0000000035273000 [ 436.409608] <0> 0000000000000001 ffff880135273000 ffffffffa0265260 00003473bc000000 [ 436.409758] <0> 0000000000000000 ffff88013a4e05e0 ffff88013649bd00 ffffffffa025f133 [ 436.409938] Call Trace: [ 436.409978] [] tda8261_set_frequency+0x23/0x70 [budget_av] [ 436.410027] [] ? stb0899_i2c_gate_ctrl+0x49/0xf0 [stb0899] [ 436.410074] [] ? stb0899_write_reg+0x19/0x20 [stb0899] [ 436.410121] [] stb0899_dvbs_algo+0x3a2/0x13c8 [stb0899] [ 436.410170] [] ? i2c_transfer+0xbd/0x100 [ 436.410215] [] ? stb0899_write_regs+0xac/0x1b0 [stb0899] [ 436.410262] [] stb0899_search+0x489/0x750 [stb0899] [ 436.410308] [] ? down_interruptible+0x33/0x60 [ 436.410360] [] dvb_frontend_thread+0x57c/0x720 [dvb_core] [ 436.410407] [] ? autoremove_wake_function+0x0/0x40 [ 436.410457] [] ? dvb_frontend_thread+0x0/0x720 [dvb_core] [ 436.410504] [] kthread+0xa6/0xb0 [ 436.410547] [] child_rip+0xa/0x20 [ 436.410589] [] ? kthread+0x0/0xb0 [ 436.410631] [] ? child_rip+0x0/0x20 [ 436.410672] Code: 00 03 00 00 4c 8b 6b 10 c7 45 cc 00 00 00 00 0f 84 e8 01 00 00 44 8b 22 41 8d 84 24 10 81 f1 ff 3d 80 4f 12 00 0f 87 af 01 00 00 <41> 8b 75 04 31 d2 48 c7 c7 d8 46 02 a0 89 f0 8b 0c 85 f0 45 02 [ 436.411950] RIP [] tda8261_set_state+0x51/0x250 [tda8261] [ 436.412015] RSP [ 436.412064] ---[ end trace c1d7ae4d9e05c51b ]--- Signed-off-by: Arvo Järve Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit d8b5a8e449a08a1a87170144a42d0a0b167bcad6 Author: Oliver Endriss Date: Sun Jan 10 15:40:28 2010 -0300 V4L/DVB (13988): [STV090x] Configuration parameters adc1_range, adc2_range, tuner_bbgain Add parameters adc1_range, adc2_range and tuner_bbgain to the config struct. Defaults: adc1_range = adc2_range = 2Vpp, tuner_bbgain = 10db Signed-off-by: Oliver Endriss Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 41894b97009adcabc51c6a4943045fd944c46236 Author: Oliver Endriss Date: Sun Jan 10 15:39:45 2010 -0300 V4L/DVB (13987): [STV090x] Quit processing if the tuner did not lock Exit stv090x_algo() if the tuner did not lock. This might happen due to missing signal or invalid/incomplete tuning parameters. Signed-off-by: Oliver Endriss Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 2c1f750ba3fbd4a54544a68b57087bb89f3ba92c Author: Oliver Endriss Date: Sun Jan 10 15:38:38 2010 -0300 V4L/DVB (13986): [STV090x] Disable I2C gate on error The I2C gate must also be disabled, if a tuner command failed. Otherwise the tuner mutex would be locked forever. Signed-off-by: Oliver Endriss Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 76b9ef97953c120172dfc07d48e6d219164c6f6a Author: Andreas Regel Date: Tue Jan 5 19:24:56 2010 -0300 V4L/DVB (13985): [STV090x] reset mclk and dev_ver of internal structure after allocating When mclk is not 0 then it will never be set to the correct value and the Demodulator will not work. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 93e32cdafbe70d66bd8c133dd1b663198723654f Author: Andreas Regel Date: Tue Jan 5 19:24:32 2010 -0300 V4L/DVB (13984): [BUDGET] Use a tuner clock output divider of 2 for TT S2-1600. This gives the STV090x and improved clock signal (rectangle instead of sine). Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ca108b39a75d9c6e8a18c8723ccb9c98fb8d6265 Author: Andreas Regel Date: Tue Jan 5 19:24:10 2010 -0300 V4L/DVB (13983): [STV6110x] add clk_div member to stv6110x_config structure Using clk_div member of stv6110x_config structure the tuner's clock output divider can be configured. It is set in stv6110x_attach. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 9045e729447192ab0ca27191ccab324c6b97fceb Author: Andreas Regel Date: Tue Jan 5 19:23:41 2010 -0300 V4L/DVB (13982): [STV090x] setup master clock in stv090x_init instead of stv090x_setup. This is needed when clock input is driven from tuner and an output divider different from 1 is used. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ec2d3a62eff54b9dc556e9d9c9125b9bdc640171 Author: Andreas Regel Date: Tue Jan 5 19:23:13 2010 -0300 V4L/DVB (13981): [STV6110x] Add a local register map for each instance of the driver. Before there was used a static register map that could lead to issues when there are are multiple adapters with the STV6110(A). Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 0c3f9fd807d9ef842fcc7e47e447ed2c68d63e49 Author: Andreas Regel Date: Tue Jan 5 19:22:45 2010 -0300 V4L/DVB (13980): [STV6110x] Added function stv6110x_write_regs The function stv6110x_write_regs is used to write several registers at once. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit f91e59cb5e6add13d4e45c5cc8d45a614e1dc8e4 Author: Andreas Regel Date: Tue Jan 5 19:22:07 2010 -0300 V4L/DVB (13979): [STV090x] Added possibility to set a fixed TS output clock. This could be useful for p.e. Common Interface applications where data rate is limited. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit c369b7c2820dcad91b1354362097f6d8f9cf9307 Author: Andreas Regel Date: Tue Jan 5 19:21:30 2010 -0300 V4L/DVB (13978): [STV090x] set FE_HAS_SIGNAL flag in stv090x_read_status when locked. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 729cbafaca5e24b4fa0b42e7b0f79cb53f2ebad5 Author: Andreas Regel Date: Tue Jan 5 19:21:02 2010 -0300 V4L/DVB (13977): [STV090x] Test for valid frequency before starting to tune Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 96506a5086d0e9fd7332d6da74f115fa37bb58c6 Author: Andreas Regel Date: Tue Jan 5 19:20:21 2010 -0300 V4L/DVB (13976): [STV090x] Added mutex protection around tuner I2C access. With this change it is possible to have the same I2C address for both tuners. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 97f7a2ae1a8a1e44a481456375efced75210e5eb Author: Andreas Regel Date: Tue Jan 5 19:19:43 2010 -0300 V4L/DVB (13975): [STV090x] Added internal structure with shared settings and data. As the STV0900 features two demodulation paths in one chip there is some information used by both instances of the driver when used in dual mode. This information is now shared in an internal structure referenced by I2C adapter and address. Do initialisation of the demodulator only once when used in dual mode. Moved global mutex demod_lock to internal structure. Moved dev_ver and mclk to internal structure. Removed unused tuner_refclk from stv090x_state. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit b79c6df705e02b5dcb0e9360a15b28373813fec1 Author: Andreas Regel Date: Tue Jan 5 19:18:52 2010 -0300 V4L/DVB (13974): [STV090x] Fix locking reliabilty issues in automatic mode. In automatic S/S2 detection mode, locking of a DVB-S transponder could fail when coming from a DVB-S2 transponder. This change fixes the issue by first disabling DVB-S and DVB-S2 mode before enabling it again. Signed-off-by: Andreas Regel Signed-off-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit ceb59cf068d54761c653c42dd45c14e1ecf0f7d3 Author: Abylay Ospan Date: Wed Jan 13 05:01:56 2010 -0300 V4L/DVB (13936): 22-kHz set_tone fix for NetUP Dual DVB-S2-CI card 22-kHz tone can be driven in two ways: 1. LNBH24 can produce 22kHz continuous tone when TEN=1 ( 22 KHz tone output is always activated ). 2. LNBH24 can reproduce 22kHz tone timings from DSQIN or EXTM pin's when TEN=0. From LNBH24 datasheet: "In order to improve design flexibility an external tone input pin is available (EXTM). The EXTM is a Logic input pin which activates the 22 kHz tone output, on the VoTX pin, by using the LNBH24 integrated tone generator (similar to the DSQIN pin function). In fact, the output tone waveform characteristics will always be internally controlled by the LNBH24 tone generator and the EXTM signal will be used as a timing control for DiSEqC tone data encoding on the VoTX output." In NetUP Dual DVB-S2-CI card 22kHz tone timings on EXTM pin produced by STV0900 demod: .set_tone = stv0900_set_tone redefine to "set_tone = lnbp21_set_tone" is not correct for "NetUP Dual DVB-S2-CI card". Signed-off-by: Mauro Carvalho Chehab commit c52af79916028f9d15638519b54a80ed1c10bce5 Author: Jean-Francois Moine Date: Thu Jan 7 05:18:16 2010 -0300 V4L/DVB (13916): gspca - ov534/ov534_9: Split the ov534 subdriver. The two sensors ov772x and ov965x have too much differences. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit de2d1549c2083e45ed84c779b64acf438ba5bf7f Author: Jean-Francois Moine Date: Sat Dec 19 07:03:43 2009 -0300 V4L/DVB (13869): gspca - sn9c20x: Cleanup code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 310b26286e5a88387feba0412a75aa2a943ec844 Author: Peter Huewe Date: Tue Dec 22 05:38:14 2009 -0300 V4L/DVB (13947): add __init/__exit macros to drivers/media/dvb/bt8xx/bt878.c Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of drivers/media/dvb/bt8xx/bt878.c Please have a look at the small patch and either pull it through your tree, or please ack' it so Jiri can pull it through the trivial tree. Patch against linux-next-tree, 22. Dez 08:38:18 CET 2009 but also present in linus tree. Signed-off-by: Peter Huewe Acked-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 42a39e05928c6262347fba4ec9f649124bfc7a6f Author: Joe Perches Date: Wed Jan 13 03:59:15 2010 -0300 V4L/DVB (13969): frontends/si21xx.c: Remove #define TRUE/FALSE, use bool And a little code refactoring/neatening around the removals Reduces object size a little bit: new: $ size drivers/media/dvb/frontends/si21xx.o text data bss dec hex filename 8984 56 1816 10856 2a68 drivers/media/dvb/frontends/si21xx.o old: $ size drivers/media/dvb/frontends/si21xx.o text data bss dec hex filename 9084 56 1792 10932 2ab4 drivers/media/dvb/frontends/si21xx.o Signed-off-by: Joe Perches Signed-off-by: Mauro Carvalho Chehab commit e34d375aa6dade342a266d40c6142d7f36e18683 Author: Jiri Slaby Date: Sun Jan 10 05:56:46 2010 -0300 V4L/DVB (13968): cx18, fix potential null dereference Stanse found a potential null dereference in cx18_dvb_start_feed and cx18_dvb_stop_feed. There is a check for stream being NULL, but it is dereferenced earlier. Move the dereference after the check. Signed-off-by: Jiri Slaby Reviewed-by: Andy Walls Acked-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 8231152f74dd9bd6f76036cfd7fbbf94ad0073d8 Author: Alexander Beregalov Date: Sat Jan 9 13:51:14 2010 -0300 V4L/DVB: ir: fix memory leak Free ir_dev before exit. Found by cppcheck. Signed-off-by: Alexander Beregalov Signed-off-by: Mauro Carvalho Chehab commit 78b06e0201fb32716211959bce133740a13873c4 Author: Jiri Slaby Date: Wed Jan 6 19:04:07 2010 -0300 V4L/DVB (13965): zl10039, jump to error on error Stanse found an unreachable statement in zl10039_attach. There is a `break' followed by `goto error'. Remove that break, so that it can handle the error. Cc: Igor M. Liplianin Signed-off-by: Jiri Slaby Signed-off-by: Mauro Carvalho Chehab commit a570fb6eec804e99c7fd3ac1db192842e9269bbb Author: Jiri Slaby Date: Wed Jan 6 13:45:28 2010 -0300 V4L/DVB (13964): tuner-core, fix memory leak Stanse found a memory leak in tuner_probe. It is not freed/assigned on all paths. Fix that. Signed-off-by: Jiri Slaby Signed-off-by: Mauro Carvalho Chehab commit b46d37e61f886e901ba0b504125b135f450a19b5 Author: Jiri Slaby Date: Wed Jan 6 13:45:27 2010 -0300 V4L/DVB (13963): siano, fix memory leak Stanse found a memory leak in smscore_gpio_configure. buffer is not freed/assigned on all paths. Fix that. Signed-off-by: Jiri Slaby Signed-off-by: Mauro Carvalho Chehab commit ad695510bf27a4e73e0d04d48d80c0b8389f17d2 Author: Roel Kluin Date: Sun Jan 3 14:04:42 2010 -0300 V4L/DVB (12930): Wrong variable tested The return of saa7164_i2caddr_to_reglen() was not tested. Cc: Steven Toth Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 19f48cb105b7fa18d0dcab435919a3a29b7a7c4c Author: Francesco Lavra Date: Thu Dec 31 08:47:11 2009 -0300 V4L/DVB (13961): em28xx-dvb: fix memleak in dvb_fini() this patch fixes a memory leak which occurs when an em28xx card with DVB extension is unplugged or its DVB extension driver is unloaded. In dvb_fini(), dev->dvb must be freed before being set to NULL, as is done in dvb_init() in case of error. Note that this bug is also present in the latest stable kernel release. Signed-off-by: Francesco Lavra Signed-off-by: Mauro Carvalho Chehab commit be39515758f382e8b1d0d0012cd59008e9970dec Author: hartleys Date: Wed Dec 30 16:08:57 2009 -0300 V4L/DVB (13959): cx23885/cx23885-dvb.c: use %pM to show MAC address Use the %pM kernel extension to display the MAC address. Signed-off-by: H Hartley Sweeten Signed-off-by: Mauro Carvalho Chehab commit 2714b3b9be54076877fbb50c0811f9015b2906a5 Author: hartleys Date: Wed Dec 30 16:13:10 2009 -0300 V4L/DVB (13958): tveeprom.c: use %pM to show MAC address Use the %pM kernel extension to display the MAC address. Signed-off-by: H Hartley Sweeten Signed-off-by: Mauro Carvalho Chehab commit 9714d587f138c1034b8fbeb14573e5f0320a2367 Author: Francesco Lavra Date: Tue Dec 29 15:48:04 2009 -0300 V4L/DVB (13957): IR: Fix sysfs attributes declaration This patch fixes the declaration of the sysfs attributes for IR's, which must be a NULL-terminated array of struct attribute *. Without this patch, my machine crashes when inserting a DVB card. Signed-off-by: Francesco Lavra Signed-off-by: Mauro Carvalho Chehab commit 211635654cb6785a5c102af6488f6b1d83b9a3c6 Author: Dan Carpenter Date: Mon Dec 28 14:48:49 2009 -0300 V4L/DVB (13956): fix weird array index in zl10036.c I was initially concerned about the weird array index (the 2 bumps into the next row of the array). Matthias Schwarzott look at the datasheet and it turns out it should be zl10036_init_tab[1][0] |= 0x01; Signed-off-by: Dan Carpenter Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 3557aa4f7ddaec2903532595d2caccac32a5bbeb Author: Julia Lawall Date: Mon Dec 28 11:09:55 2009 -0300 V4L/DVB (13954): Correct NULL test Test the just-allocated value for NULL rather than some other value. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier f; @@ f(...) { <+... return NULL; ...+> } @@ expression *x; expression y; identifier r.f; statement S; @@ x = f(...); ( if ((x) == NULL) S | if ( - y + x == NULL) S ) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit b2ad41f9ef72d7b3309a2578bf4432a262ff2b47 Author: Stefan Richter Date: Fri Dec 25 21:47:12 2009 -0300 V4L/DVB (13953): firedtv: add missing NULL pointer check If there is ever going to be a FireDTV or FloppyDTV firmware which does not provide a minimal ASCII textual descriptor for Model_Id --- or if the descriptor is provided indirectly in a descriptor directory --- the ieee1394 variant of the device probe of firedtv would dereference a NULL pointer. The firewire variant of firedtv's device probe is not affected. The fix makes sure that such an unexpected firmware is safely recognized by fdtv_alloc as an unknown firmware. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit f0ecba96e76295792a0b1ee2e03b505562e7b9f3 Author: Tobias Klauser Date: Wed Dec 23 09:53:14 2009 -0300 V4L/DVB (13952): gspca: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Cc: Jean-Francois Moine Signed-off-by: Tobias Klauser Signed-off-by: Mauro Carvalho Chehab commit 9d68e8de9f8ab14077dd8d3c6ed9087ea61544a6 Author: Tobias Klauser Date: Wed Dec 23 09:53:12 2009 -0300 V4L/DVB (13951): rj54n1cb0: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Cc: Guennadi Liakhovetski Signed-off-by: Tobias Klauser Signed-off-by: Mauro Carvalho Chehab commit 7b2d3983f2b54b002fd045f2801514405530d224 Author: Tobias Klauser Date: Wed Dec 23 09:53:13 2009 -0300 V4L/DVB (13950): usb-friio: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Mauro Carvalho Chehab commit 21ead03bdde189106e0625baac170385a6c360af Author: Julia Lawall Date: Tue Dec 22 18:00:07 2009 -0300 V4L/DVB (13949): Move a dereference below a NULL test If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit ed0ee8e1fbab49b494ef2994be92e7832dd6673c Author: Julia Lawall Date: Tue Dec 22 17:31:23 2009 -0300 V4L/DVB (13948): radio: Correct use after free It is not clear how to share the unlock in the case where the structure containing the lock has to be freed. So the unlock is now duplicated, with one copy moved before the free. The unlock label furthermore is no longer useful and is thus deleted. 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: Mauro Carvalho Chehab commit e0572325d23b8c89930a08e0b8b3850a6fe75d7d Author: Alexey Dobriyan Date: Mon Dec 21 21:21:47 2009 -0300 V4L/DVB (13946): proc_fops: convert av7110 Drop S_IRUGO, proc entry doesn't contain read hooks. Drop S_IFREG, simply unnecessary. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 9c6f97a02358c78ed1db69cde702db263bc62cf6 Author: Dmitri Belimov Date: Mon Dec 21 02:00:38 2009 -0300 V4L/DVB (13945): Add lost config and PCI ID for card of Beholder Add lost configuration for our TV card. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 7de0b8739f9b7856d2c3aa96e50e851283eeb24a Author: Roel Kluin Date: Wed Dec 16 13:06:33 2009 -0300 V4L/DVB (13944): vivi: Fix test of unsigned in vivi_create_instance() video_nr is unsigned so the test did not work. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit f2e6c6ad0207f22b55bb45a6b0958cecde3db8f1 Author: Roel Kluin Date: Wed Dec 16 11:35:45 2009 -0300 V4L/DVB: use correct size in put_v4l2_window32() Although these sizes may be the same it is better to calculate the size of the source, than the destiny. Signed-off-by: Roel Kluin Signed-off-by: Mauro Carvalho Chehab commit 66d9cbad5330d6df30c82f10ee18b62b096b84ef Author: Devin Heitmueller Date: Tue Nov 24 23:17:25 2009 -0300 V4L/DVB (13932): em28xx: add PAL support for VBI Make the VBI support work for PAL standards in addition to NTSC. This work was sponsored by EyeMagnet Limited. Thanks go out to Andy Walls for providing a CD containing test PAL/VBI captures and to Steven Toth for providing a PVR-350 to do signal generation with. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 6a2071006b72bf887e38c025c60f98d2998ceacb Author: Devin Heitmueller Date: Mon Jan 4 02:43:19 2010 -0300 V4L/DVB (13930): dib0700: rework IR logic for firmware 1.20 When firmware 1.20 was introduced, the dib0700 switched from a polling model using a USB control message, to the messages being delivered on a USB bulk pipe. The code I originally added would do a blocking read on the pipe with a 50ms timeout. Because the dvb-usb-remote code makes use of the global workqueue, this resulted in the global workqueue being blocked 50% of the time. Also, the synchronous urb_bulk_msg() call would burn excess CPU time (reflected as an abnormal increase in the system's load average when devices were connected). Rework the logic so that we now setup an asynchronous callback on the bulk pipe, so that we now only handle RC data when it arrives on the pipe. Note that we provide a stub function for the RC polling callback so that we can continue to leverage the shared code in dvb-usb-rc for the setting up of the input device. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit eac8f5fa5f5dcaf228694fe23e19b02b98e68879 Author: Jean-Francois Moine Date: Tue Jan 12 07:12:43 2010 -0300 V4L/DVB (13927): gspca - sonixj: Fix bad video mode for all webcams. The bug was introduced when adding the sensor adcm1700. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit cdf955cd8e45d8279c53b47a2c0e0c5decaaca86 Author: Jean-Francois Moine Date: Mon Jan 11 15:06:12 2010 -0300 V4L/DVB (13926): gspca - pac7302: Fix a random USB error. When loading the register 0x49 of the page 3, the usb_control_msg() sometimes fails with error -71 or -62. This change skips loading the register 0x48. Tested-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b7a597d11073c4c3db79743d38cc942d324b2233 Author: Jean-Francois Moine Date: Sun Jan 10 16:36:53 2010 -0300 V4L/DVB (13925): gspca - main: Change the check of the USB video interface. Some webcams have many interfaces with the same interface class, so the previous interface check did not work. The new code checks if the interface number is zero or the only one. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6f081264f835467a3b69edc71753dac9d3ff770a Author: Jean-Francois Moine Date: Sun Jan 10 14:39:24 2010 -0300 V4L/DVB (13924): gspca - sunplus: Optimize and remove unused sequences. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 509245171ae76e08f657fe825b739d99f5701f09 Author: Jean-Francois Moine Date: Fri Jan 8 08:08:12 2010 -0300 V4L/DVB (13923): gspca - zc3xx: Simplify code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 77880ba3335e60acd0d6a818a7cdddaf0a5d601f Author: Jean-Francois Moine Date: Fri Jan 8 08:04:21 2010 -0300 V4L/DVB (13922): gspca - zc3xx: Switch off the LED on resume. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a20622f0f50be4afc217fba31b968f35fd5fea7b Author: Jean-Francois Moine Date: Fri Jan 8 08:03:23 2010 -0300 V4L/DVB (13921): gspca - zc3xx: Remove unuseful register write. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 56af5efca524cd4551ed4654a086742743cf18be Author: Jean-Francois Moine Date: Fri Jan 8 08:02:42 2010 -0300 V4L/DVB (13920): gspca - zc3xx: Let default sharpness for sensor pas202b. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1eed40aeb456957cdcf09407ead113c755f5c744 Author: Jean-Francois Moine Date: Fri Jan 8 08:01:43 2010 -0300 V4L/DVB (13919): gspca - zc3xx: Fix hdcs2020 probe. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1cb6d7b15641e584243c186ba7e6e59d03065c98 Author: Jean-Francois Moine Date: Fri Jan 8 07:06:06 2010 -0300 V4L/DVB (13918): gspca - zc3xx: Rename the USB sequences. The new names tell the image resolution: 'Scale' is the smaller image. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47c833923746decdef557d22e720ba14c81f375c Author: Jean-Francois Moine Date: Thu Jan 7 15:59:12 2010 -0300 V4L/DVB (13917): gspca - zc3xx: Cleanup code. - update copyright and module author - change __u8/16 to u8/16 - set unsigned the sd sensor - initialize the controls by macros Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5599678c703e369fd50105aa60d112bcfd8f186f Author: Mauro Carvalho Chehab Date: Mon Jan 11 10:47:33 2010 -0300 V4L/DVB (13915): em28xx: fix a typo on RC6 modes Thanks to: Devin Heitmueller for double checking it. Signed-off-by: Mauro Carvalho Chehab commit f05b7f5ee19de6de972020ea18e6c30b672d401b Author: Andy Walls Date: Sun Jan 3 23:28:18 2010 -0300 V4L/DVB (13913): saa7127: Add support for generating SECAM output for the SAA712[89] chips This change fixes up saa7127_s_std() generate SECAM out, if the user has requested a 50 Hz video standard set that only contains a request for SECAM standards and not PAL. Only the SAA712[89] chips can generate SECAM, the SAA712[67] chips cannot. I was unclear on the burst start and end values - I couldn't figure out the units - so I left them the same as for the PAL systems. A the video decoders on both a PVR-350 (SAA7115) and an HVR-1600 (CX23418) identify the SECAM signal generated by a SAA7129 with this patch as SECAM. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit a8073119d69d0b4aa8f445ed4d7d56b89b602708 Author: Sergey Bolshakov Date: Sat Jan 2 21:56:42 2010 -0300 V4L/DVB (13912): cx18: Fix tuner reset pin in card entry for the Leadtek PVR2100 Fix the "xceive_pin" setting from "15" to "1" for the PVR2100 -- the same as the PVR3100H. This properly resets the XC2028 tuner on the PVR2100. Sergey's original email report: Hi. Seems cx18 module has incorrect .xceive_pin value for card, as i see lots of i2c errors in dmesg from xc2028. i'm using 2.6.32.2, my hardware is: 00:09.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder [14f1:5b7a] Subsystem: LeadTek Research Inc. Device [107d:6f27] Flags: bus master, medium devsel, latency 64, IRQ 17 Memory at f0000000 (32-bit, non-prefetchable) [size=64M] Capabilities: [44] Vital Product Data Capabilities: [4c] Power Management version 2 Kernel driver in use: cx18 Kernel modules: cx18 Following fixes this problem for me, the rest seems working: Reported-by: Sergey Bolshakov Tested-by: Sergey Bolshakov Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 5ada57732a17521689d7d8eecf7c9b93b7484386 Author: Andy Walls Date: Fri Jan 1 13:25:41 2010 -0300 V4L/DVB (13910): cx18: Fix set indextable command to properly select I/P/B index entries The CX18_CPU_SET_INDEXTABLE command was being called with the wrong number of arguments causing the index table frame type selection mask to be set wrong. Now the IDX stream properly sends entries for I, P, and B frames. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 9bff2d61716bffe5e1d58de9eb940c62bb020fcf Author: Andy Walls Date: Thu Dec 31 22:27:28 2009 -0300 V4L/DVB (13909): cx18: Clean up dead code from ivtv once used for IDX processing Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 82acdc84cc4acc11389bdc648b23b15426d2038c Author: Andy Walls Date: Thu Dec 31 22:09:51 2009 -0300 V4L/DVB (13908): cx18: Add initial working VIDIOC_G_ENC_INDEX ioctl() support VIDIOC_G_ENC_INDEX support see the light of day. Some notes: 1. With default capture parameters, the CX23418 seems to transfer 192 index entries (4.5 kB worth) at 10 second intervals. 2. Index streams don't seem to be supported for MPEG 2 TS streams 3. The index entries seem to claim every frame is a B-Frame. Possible firmware bug. 4. The cx18 driver does not try to capture an index stream when inserting sliced VBI into the MPEg stream as the offsets would need fixup. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit ef99179710d6ec04d6783afdf8387523c7087920 Author: Andy Walls Date: Thu Dec 31 18:27:13 2009 -0300 V4L/DVB (13907): cx18: Perform automatic rotation of very old, unread IDX buffers According to the v4l2 spec, very old MPEG index entries needs to be discarded in favor of newer index entries. This change ensures the firmware always has buffers for index entries at the expense of the oldest unread buffers. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 79f3e96018dc55ff7819a6a1ac3740a1d7103589 Author: Andy Walls Date: Thu Dec 31 17:19:25 2009 -0300 V4L/DVB (13906): cx18: Start IDX streams automatically as an internal associated stream This change starts the IDX stream along with the MPG stream as an internal use (only) stream much like the VBI stream can be started as an internal use stream for inserting sliced VBI packets. The IDX stream is not started automatically with an MPEG strem if the IDX stream is disabled (no buffers allocated) or if sliced VBI insertion is being performed by the cx18 driver. The cx18 driver doing sliced VBI insertion makes the offsets in the IDX stream inaccurate for the final MPEG stream presented to user space. Since fixing the IDX offsets ourselves is not easy and we cannot easily do what ivtv does to fix the offsets, we'll make sliced VBI insertion and MPEG Index capture mutually exclusive for now. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e46c54a87e4a6364b0e86b03cb3d00d09ef2f627 Author: Andy Walls Date: Thu Dec 31 02:14:51 2009 -0300 V4L/DVB (13905): cx18: Allow MPEG index streams to be started and stopped internally This change allows the IDX stream to be started and stopped as any other stream even though it has no associated device node. This is needed for cx18 driver internal use. Also always tell the CX23418 to generate index entries when an analog capture starts and the IDX stream has had buffers allocated (i.e. is enabled). Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7b1dde03314912cfa9a5fa34ea9423df0db13860 Author: Andy Walls Date: Thu Dec 31 01:35:08 2009 -0300 V4L/DVB (13904): cx18: Fix TS and IDX stream buffer memory leak on module unload Fix a long standing memory leak of stream buffers for streams that did not have a struct video_device allocated: namely the TS and IDX streams. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 540bab93b769c757e92f1bd5e980a2ef647d4e86 Author: Andy Walls Date: Thu Dec 31 00:26:49 2009 -0300 V4L/DVB (13903): cx18: Encapsulate check for a stream being enabled into an inline function Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit efc0b127b2e0135053680cd0118856b051450009 Author: Andy Walls Date: Wed Dec 30 22:54:53 2009 -0300 V4L/DVB (13902): cx18: Update MPEG Index stream buffers module option processing Update the module options related to INDEX stream buffer allocation. A single CX2341[5678] index entry is only 24 bytes. Large buffers for the IDX stream will prevent the CX23418 from transferring index data over at all. Buffers of around 1.5 kB or 64 index entries seem to be just fine. We'll default to 63 buffers/MDLs as that is the firmware limit per stream and IDX stream buffers are not high rate. There is no reason on earth to allocate the previous 1 MB default of buffer space for the IDX stream. This is in anticipation of implementing the G_ENC_INDEX ioctl() in the cx18 driver. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 7e64dc4c4d6f5c8935fac25c7fc7aa83f9880ed7 Author: Marton Nemeth Date: Wed Dec 30 09:12:41 2009 -0300 V4L/DVB (13899): gspca - all subdrivers: Make control descriptors constant. The ctrls field of struct sd_desc is declared as const in gspca.h. It is worth to initialize the content also with constant values. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit aabcdfb65be31d7f9486d1400fa217c8827dddd3 Author: Márton Németh Date: Tue Jan 5 12:39:02 2010 -0300 V4L/DVB (13898): gspca - some subdrivers: Make sd_desc const. The function callbacks in sd_desc are defined at compile time and they do not change at runtime. Make the sd_desc initializations const. Signed-off-by: Márton Németh Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 52a9d3ef0034f29cef1c5616faa72aa394b01b65 Author: Jean-Francois Moine Date: Tue Jan 5 04:44:00 2010 -0300 V4L/DVB (13897): gspca - main: Check the interface class at probe time. The USB video interface was checked as having the number zero, but some webcams have other values. The test is now done on the interface class which may be either 255 (vendor spec) or 0 (class per interface). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 38719d45f937178718d49516d1f72208d5d72d22 Author: Jean-Francois Moine Date: Mon Jan 4 16:09:47 2010 -0300 V4L/DVB (13896): gspca - zc3xx: Adjust the pas202b exchanges. - adapt the start sequences from the info file of the ms-win driver of the webcams 046d:08a2/046d:08aa (lvWIMv.inf) - disable the brightness for this sensor Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit fd18046fffc24b06c9820d9b540c518fc0e1b627 Author: Jean-Francois Moine Date: Mon Jan 4 15:54:59 2010 -0300 V4L/DVB (13895): gspca - zc3xx: Fix the contrast control. The previous calculation gave bad gamma tables. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 878b35aedb930a31a72298b717a22990b6773a03 Author: Jean-Francois Moine Date: Wed Dec 30 04:53:07 2009 -0300 V4L/DVB (13894): gspca - sonixj: Add more controls. - sharpness - brightness for adcm1700 - adjust brightness/exposure for adcm1700 - add some comments Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 83c94a186382307508cbe800588219607fb38148 Author: Jean-Francois Moine Date: Sat Dec 26 16:07:24 2009 -0300 V4L/DVB (13893): gspca - vc032x: Change the sensor of 046d:0892 and 046d:0896. - new sensor POxxxx (unknown ID) - no probe - new controls - table for the disabled controls Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 219f3027a8078148ddc2a75125afbb071a4d70c7 Author: Jean-Francois Moine Date: Sat Dec 26 15:21:57 2009 -0300 V4L/DVB (13892): gspca - vc032x: Add the H and V flip controls for sensor mi1320. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ff1cf4081244be0c84e90ab55a299c00d5a4d854 Author: Jean-Francois Moine Date: Sat Dec 26 15:18:02 2009 -0300 V4L/DVB (13891): gspca - vc032x: Fix bad probe of the sensor mi1320. - have 2 tables for sensor probe - with the same ID, the sensor mi1320 is found with the bridge vc0321, the sensor mi1320_soc with the bridge vc0323 - add some comments Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 08135ba238ba7fe4e7af8cf11d026a7ed6b51f21 Author: Antoine Jacquet Date: Sun Dec 27 18:22:05 2009 -0300 V4L/DVB (13885): zr364xx: fix support for Aiptek DV T300 Added a new initialization method for Aiptek DV T300. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13708 Tested-by: Hámorszky Balázs Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 969cc9264bf2bd94d51748bacdafa90352ab71fa Author: Erik Andrén Date: Sun Dec 27 05:53:28 2009 -0300 V4L/DVB (13883): gspca - m5602: Be less verbose during sensor probe Currently all probed sensor types are emitted in the kernel log, generating unnecessary noise. Be less verbose and only report what sensor is found (if any) Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 6a1b262fac3b013b0b8afaf1fb23e6020e58fe02 Author: Erik Andrén Date: Sat Dec 26 18:00:02 2009 -0300 V4L/DVB (13881): gspca - stv06xx: Clean up the dump bridge function Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit fb8253baa0852bb628b6f4fed1ed0b8ae20e4e3c Author: Mauro Carvalho Chehab Date: Thu Dec 31 18:14:54 2009 -0300 V4L/DVB (13879): dvb_frontend: report what ioctl were called on debug mode When printing that an iocl were called, report the ioctl number. Signed-off-by: Mauro Carvalho Chehab commit 639544d78c430fef875f3bb31083a60f3e2e0344 Author: Mauro Carvalho Chehab Date: Thu Dec 31 17:49:32 2009 -0300 V4L/DVB (13878): dvb_frontend: Print dump on get after filling the data Signed-off-by: Mauro Carvalho Chehab commit 64677573a28c354828343741bc177e5543f5077e Author: Jean-Francois Moine Date: Sun Dec 20 12:31:28 2009 -0300 V4L/DVB (13872): gspca - sonixj: Add sensor adcm1700 and webcam 0c45:614a. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0a71d9cec238dd953e1e31df6ad28f69dee16fcc Author: Jean-Francois Moine Date: Sun Dec 20 09:09:22 2009 -0300 V4L/DVB (13871): gspca - benq: New subdriver for camera 04a5:3035. Tested-by: Francesco Lavra Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d754a6ca9af4ef3eedf9768446689731af09664a Author: Jean-Francois Moine Date: Sun Dec 20 05:07:10 2009 -0300 V4L/DVB (13870): gspca - zc3xx: Bad detection of sensor HV7131R(c). The webcam 0ac8:303b may have the sensors HV7131B or HV7131R(c). This changeset checks the HV7131 type. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 658604ec9caa9c8a998e296f689bd85ca1f95d6a Author: Luis Maia Date: Tue Dec 15 13:40:44 2009 -0300 V4L/DVB (13867): gspca - zc3xx: Add one more chipset ID of tas5130K. This ID was found in a webcam 0ac8:301b. Signed-off-by: Luis Maia Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 47aaca961ffbe6196dd09d6b447d90d9d4598255 Author: Jean-Francois Moine Date: Tue Dec 15 05:23:04 2009 -0300 V4L/DVB (13866): gspca - main: Add the cam flag 'no_urb_create'. This flag permits subdrivers to create specific transfer URBs. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit db870875c0e29ba051e58c848e1877df8e85b49f Author: Jean-Francois Moine Date: Tue Dec 15 05:16:04 2009 -0300 V4L/DVB (13865): gspca - main: Optimize code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3205e4fe0d831c0457e9139794437e9999559150 Author: Mauro Carvalho Chehab Date: Tue Dec 29 08:25:13 2009 -0300 V4L/DVB (13856): ir-keytable: simplify and avoid a warning /home/v4l/buildtest/v4l-dvb-master/v4l/ir-keytable.c: In function 'ir_setkeycode': /home/v4l/buildtest/v4l-dvb-master/v4l/ir-keytable.c:190: warning: 'newkeymap' may be used uninitialized in this function Signed-off-by: Mauro Carvalho Chehab commit b4622c14a1450fa40dd89dc134ec008fd1c2d38c Author: Mauro Carvalho Chehab Date: Fri Dec 25 18:04:17 2009 -0300 V4L/DVB (13848): smsdvb: Add the proper status for IsRfLocked Now, if RF is locked but demod is not locked, it will report: >>> tuning status == 0x03 This happens, for example, if the device is on DVB-T, and the video standard is ISDB-T. Signed-off-by: Mauro Carvalho Chehab commit 25f9461a03f5f5a577a626df3ae5bcf09542d96a Author: Mauro Carvalho Chehab Date: Fri Dec 25 11:47:33 2009 -0300 V4L/DVB (13847): smsdvb: Remove a wrong debug message Signed-off-by: Mauro Carvalho Chehab commit 5eb23975b441cb8814eab82f5768e09106d50578 Author: Mauro Carvalho Chehab Date: Fri Dec 25 11:29:42 2009 -0300 V4L/DVB (13846): smsdvb: Properly implement stats for both DVB and ISDB-T After taking a look at the driver's history and doing some tests with DVB and ISDB-T, it was noticed that the stats were incomplete, for ISDB-T, and weren't working for DVB. Fixed the code and added a debug code to print the complete stats at dmesg. This debug is useful to improve the stats of this driver. Signed-off-by: Mauro Carvalho Chehab commit 643e15a0f44156fa05d163f202a9dffb264d2078 Author: Mauro Carvalho Chehab Date: Fri Dec 25 07:29:06 2009 -0300 V4L/DVB (13845): smsdvb: Fix the frequency switch that broke with v5 API conversion Bandwidth is in Hz, not in kHz. Signed-off-by: Mauro Carvalho Chehab commit e85c97a050f07bc5d2fe1382b994f063614af75b Author: Mauro Carvalho Chehab Date: Fri Dec 25 07:17:03 2009 -0300 V4L/DVB (13844): smsdvb: Properly report the Delivery System Signed-off-by: Mauro Carvalho Chehab commit 910ef763c1c3a6761aaa75bc5d086b45d4022e64 Author: Mauro Carvalho Chehab Date: Fri Dec 25 06:59:21 2009 -0300 V4L/DVB (13843): dib8000: Properly report Delivery System as SYS_ISDBT Cc: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit cf4fab720c66b15a6cf3abeb5a38acb841efedf4 Author: Mauro Carvalho Chehab Date: Wed Dec 23 11:28:46 2009 -0300 V4L/DVB (13842): smsdvb: Convert it to use DVB API v5 (S2API) Based on a patch originally written by Michael Krufky for a preliminar S2API spec. The patch were ported to the S2API and had the ISDB-T API additions to honor the auto mode, while keep allowing manual tuning. Tested with both the original dvb-apps and the new dvb-apps-isdbt scan, that uses a different channel.conf and uses S2API with ISDB-T extensions. Thanks-to: Michael Krufky for his first version Signed-off-by: Mauro Carvalho Chehab commit 67ae1d26bd9291280874b49b9f388722682fe58f Author: Mauro Carvalho Chehab Date: Wed Dec 23 10:07:16 2009 -0300 V4L/DVB (13841): smsdvb: Make stats to work Siano series of patches seemed to cause a regression on reporting DTV statistics. Due to that, signal indication weren't received, preventing applications like scan to work. Tested with ISDB-T signals and got the same scan result as with a dib0700/dib8000 device. Signed-off-by: Mauro Carvalho Chehab commit dcb0c53331c0cfcac52d0921d3e3d06fdb2c417a Author: Michael Krufky Date: Tue Dec 22 21:09:52 2009 -0300 V4L/DVB (13840): smsusb: Add ISDB-T firmware for Hauppauge WinTV-Nova-T-MiniStick Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6b26fcea513095cd8a86cb376ad5a9df2fa8fe14 Author: Michael Krufky Date: Tue Dec 22 21:08:49 2009 -0300 V4L/DVB (13839): smsdvb: add ISDB-T as DVB-T tuning support hack Activate ISDB-T mode using module option default_mode=6. hack: use 4 lower bits in frequency for segment number [mchehab@redhat.com: fix merge conflicts and CodingStyle] Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c245c75c41b9693bcbd6c95e25af324188b4dce1 Author: David Wong Date: Sat Nov 28 08:36:31 2009 -0300 V4L/DVB (13838): atbm8830: use AGC setting from config Improves ATBM8830 reception by using per card AGC configuration rather than register default. Signed-off-by: David T. L. Wong Signed-off-by: Mauro Carvalho Chehab commit 8719cfdb4aa5bc7402bef873f607ed406960019f Author: Mauro Carvalho Chehab Date: Thu Dec 17 09:24:37 2009 -0300 V4L/DVB (13833): ir-core: some functions can be static Signed-off-by: Mauro Carvalho Chehab commit 68f194e027ecfbbc8d5515bc40787e542eed59e9 Author: Daniel Ritz Date: Sat Dec 12 14:57:17 2009 -0300 V4L/DVB (13830): uvcvideo: add another YUYV format GUID for iSight cameras For some unknown reason, on a MacBookPro5,3 the iSight sometimes report a different video format GUID. This patch add the other (wrong) GUID to the format table, making the iSight work always w/o other problems. What it should report: 32595559-0000-0010-8000-00aa00389b71 What it often reports: 32595559-0000-0010-8000-000000389b71 Signed-off-by: Daniel Ritz Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 73de3592c0da2313b25bac7789e9ea02c4b9f082 Author: Laurent Pinchart Date: Thu Dec 10 10:00:39 2009 -0300 V4L/DVB (13828): uvcvideo: Make the quirks module parameter override the built-in quirks The quirks module parameter is or'ed with the built-in quirks for the device being probed. This make it impossible to disable a built-in quirk without recompiling the driver. Replace the built-in quirks with the quirks module parameter instead of or'ing the values. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 310fe52461e6244b01a04b011c2e886d6b69de16 Author: Laurent Pinchart Date: Wed Dec 9 22:57:48 2009 -0300 V4L/DVB (13827): uvcvideo: Switch to a monotonic clock for V4L2 buffers timestamps The realtime clock provided by do_gettimeofday() is affected by time jumps caused by NTP or DST. Furthermore, preliminary investigation showed that SMP systems the realtime clock is based on the CPU TSC, and those could get slightly out of sync, resulting in jitter in the timestamps depending on which processor handles the USB interrupts. Instead of the realtime clock, use a monotonic high resolution clock to timestamp the buffer. As this could in theory introduce a regression with some userspace applications expecting a realtime clock timestamp, add a module parameter to switch back to the realtime clock. Thanks to Paulo Assis for pointing out and investigating the issue. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 0f7ff39532f1d2328e54b65ce5022c71f06e44d6 Author: Mauro Carvalho Chehab Date: Wed Dec 16 23:46:48 2009 -0300 V4L/DVB (13825): ir-core: Don't OOPS if IR device props is not defined As currently most drivers don't define ir_dev->props, we shouldn't assume that this field is defined. Signed-off-by: Mauro Carvalho Chehab commit cd79d33e168dba0d7de32c5bf010e20cff184b2a Author: Igor M. Liplianin Date: Mon Dec 14 20:24:56 2009 -0300 V4L/DVB (13818): Add Prof 7500 DVB-S2 USB card The card based on stv0903 demod, stb6100 tuner. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit d41592a2a2b9a27425ade3fc2c8526e9e997acd6 Author: Jean-Francois Moine Date: Sun Dec 13 14:11:07 2009 -0300 V4L/DVB (13815): gspca - sunplus: Add webcam 052b:1507. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 971e8298dee4835fc2dfbd207a9786702aa01666 Author: Mauro Carvalho Chehab Date: Mon Dec 14 13:53:37 2009 -0300 V4L/DVB (13680): ir: use unsigned long instead of enum When preparing the linux-next patches, I got those errors: include/media/ir-core.h:29: warning: left shift count >= width of type In file included from include/media/ir-common.h:29, from drivers/media/video/ir-kbd-i2c.c:50: drivers/media/video/ir-kbd-i2c.c: In function ‘ir_probe’: drivers/media/video/ir-kbd-i2c.c:324: warning: left shift count >= width of type Unfortunately, enum is 32 bits on i386. As we define IR_TYPE_OTHER as 1<<63, it won't work on non 64 bits arch. Signed-off-by: Mauro Carvalho Chehab commit 3f831107ed8efc32960e0cd172799bb82f6c81c9 Author: Mauro Carvalho Chehab Date: Mon Dec 14 02:59:19 2009 -0300 V4L/DVB (13641): Properly update the driver representation for the protocol Signed-off-by: Mauro Carvalho Chehab commit eecee32ac2c4b00b76cc8d99fd8d2b9fd54a283d Author: Mauro Carvalho Chehab Date: Mon Dec 14 02:56:15 2009 -0300 V4L/DVB (13639): ir-sysfs: Properly protect rc_tab changes with a lock Signed-off-by: Mauro Carvalho Chehab commit d4b778d36889b4d51d79a99f8a96e110def8541c Author: Mauro Carvalho Chehab Date: Mon Dec 14 02:55:03 2009 -0300 V4L/DVB (13638): ir-core: documment missed functions While here, change ir_core_dev_number to be static Signed-off-by: Mauro Carvalho Chehab commit 950b0f5a0bf764663a6aa4397d105ad571c64a83 Author: Mauro Carvalho Chehab Date: Mon Dec 14 02:54:22 2009 -0300 V4L/DVB (13637): em28xx: allow changing keycode table protocol Experimental patch to allow changing the IR protocol. Currently, it support changing between RC-5 and NEC protocols. Signed-off-by: Mauro Carvalho Chehab commit 09b01b90eb08769a64159ff4f81efe4badf6a49b Author: Mauro Carvalho Chehab Date: Mon Dec 14 02:46:42 2009 -0300 V4L/DVB (13636): ir-core: add method to change IR protocol Signed-off-by: Mauro Carvalho Chehab commit 53f870228db0855f2031270ba5774dab0f33facd Author: Mauro Carvalho Chehab Date: Mon Dec 14 02:16:36 2009 -0300 V4L/DVB (13635): ir-core: Implement protocol table type reading Signed-off-by: Mauro Carvalho Chehab commit e93854da880d6dc357c00625d8371b6a926fd19b Author: Mauro Carvalho Chehab Date: Mon Dec 14 00:16:55 2009 -0300 V4L/DVB (13634): ir-core: allow passing IR device parameters to ir-core Adds an structure to ir_input_register to contain IR device characteristics, like supported protocols and a callback to handle protocol event changes. Signed-off-by: Mauro Carvalho Chehab commit 4714eda87748f226833c32400ab60dd6a3b80766 Author: Mauro Carvalho Chehab Date: Sun Dec 13 16:00:08 2009 -0300 V4L/DVB (13633): ir-core: create a new class for remote controllers Add sysfs skeleton to export remote controller information via /sys/class/irrcv. For now, the code doesn't do much. It just exports an attribute that is meant to report and control the IR protocol used by the keytable. However, the callbacks for this new attribute weren't set yet. Also, it lacks symlinks to the used event interface. Signed-off-by: Mauro Carvalho Chehab commit a4a47bc03fe520e95e0c4212bf97c86545fb14f9 Author: Linus Torvalds Date: Fri Feb 26 10:03:22 2010 -0800 Lower USB storage settling delay to something more reasonable The five-second delay can be rather annoying, and makes the system appear much less responsive when you connect a USB drive. It's also not entirely clear that it is needed - the settling delay has at least historically been an issue on some Apple iPods, for example, and some devices have been reported to need even more than the old 5s delay. But before we penalize them all, let's see how bad it really is. Some of the reasons for long delays seem to be actual historical kernel bugs that should probably never have been papered over with a delay in the first place (there's a Ubuntu bug report for 2.6.20 about a NULL pointer dereference unless 'delay_use' is 8 or more, for example). It also looks like some distros have already shipped with delay_use=0, so the five second default may well be totally historical. In other words: "Let's see if anybody screams". Signed-off-by: Linus Torvalds commit cf6620acc0f6fac57968aafef79ab372bdcf6157 Author: David Teigland Date: Wed Feb 24 11:59:23 2010 -0600 dlm: send reply before bast When the lock master processes a successful operation (request, convert, cancel, or unlock), it will process the effects of the change before sending the reply for the operation. The "effects" of the operation are: - blocking callbacks (basts) for any newly granted locks - waiting or converting locks that can now be granted The cast is queued on the local node when the reply from the lock master is received. This means that a lock holder can receive a bast for a lock mode that is doesn't yet know has been granted. Signed-off-by: David Teigland commit 6adad2d5430ee6b15b5f97475d50750f4d19577c Merge: 60b341b 81fc039 Author: Pekka Enberg Date: Fri Feb 26 19:25:30 2010 +0200 Merge branch 'kmemcheck/fixes' into kmemcheck-for-linus commit 1dd2980d990068e20045b90c424518cc7f3657ff Author: Peter Zijlstra Date: Fri Feb 26 17:07:35 2010 +0100 perf_event, amd: Fix spinlock initialization Avoid kernels from exploding on AMD machines when they have any lock debugging bits enabled. Signed-off-by: Ingo Molnar commit 24691ea964cc0123e386b661e03a86a481c6ee79 Author: Peter Zijlstra Date: Fri Feb 26 16:36:23 2010 +0100 perf_event: Fix preempt warning in perf_clock() A recent commit introduced a preemption warning for perf_clock(), use raw_smp_processor_id() to avoid this, it really doesn't matter which cpu we use here. Signed-off-by: Peter Zijlstra LKML-Reference: <1267198583.22519.684.camel@laptop> Cc: Signed-off-by: Ingo Molnar commit 4385d580f2278abab6d336e52522e9a6f5452a11 Author: David S. Miller Date: Fri Feb 26 12:08:34 2010 -0300 perf tools: Flush maps on COMM events Even though we don't register the counters until the child is right about to exec(), we're still going to get at least a few events while the fork()'d child is still executing 'perf' and in particular we're going to get the MMAP events. We can't distinguish the ones in the newly executed process because the PID will be the same. One way to solve this would be to have a PERF_RECORD_EXEC event, and when this is seen 'perf' can flush it's map cache. We can't use PERF_RECORD_COMM since that's generated by other things, not just exec(). Actually, thinking about it some more, using PERF_RECORD_COMM might be a good enough approximation. Signed-off-by: David S. Miller Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267196914-16238-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit dd5feea14a7de4edbd9f36db1a2db785de91b88d Author: Suresh Siddha Date: Tue Feb 23 16:13:52 2010 -0800 sched: Fix SCHED_MC regression caused by change in sched cpu_power On platforms like dual socket quad-core platform, the scheduler load balancer is not detecting the load imbalances in certain scenarios. This is leading to scenarios like where one socket is completely busy (with all the 4 cores running with 4 tasks) and leaving another socket completely idle. This causes performance issues as those 4 tasks share the memory controller, last-level cache bandwidth etc. Also we won't be taking advantage of turbo-mode as much as we would like, etc. Some of the comparisons in the scheduler load balancing code are comparing the "weighted cpu load that is scaled wrt sched_group's cpu_power" with the "weighted average load per task that is not scaled wrt sched_group's cpu_power". While this has probably been broken for a longer time (for multi socket numa nodes etc), the problem got aggrevated via this recent change: | | commit f93e65c186ab3c05ce2068733ca10e34fd00125e | Author: Peter Zijlstra | Date: Tue Sep 1 10:34:32 2009 +0200 | | sched: Restore __cpu_power to a straight sum of power | Also with this change, the sched group cpu power alone no longer reflects the group capacity that is needed to implement MC, MT performance (default) and power-savings (user-selectable) policies. We need to use the computed group capacity (sgs.group_capacity, that is computed using the SD_PREFER_SIBLING logic in update_sd_lb_stats()) to find out if the group with the max load is above its capacity and how much load to move etc. Reported-by: Ma Ling Initial-Analysis-by: Zhang, Yanmin Signed-off-by: Suresh Siddha [ -v2: build fix ] Signed-off-by: Peter Zijlstra Cc: # [2.6.32.x, 2.6.33.x] LKML-Reference: <1266970432.11588.22.camel@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit f22f54f4491acd987a6c5a92de52b60ca8b58b61 Author: Peter Zijlstra Date: Fri Feb 26 12:05:05 2010 +0100 perf_events, x86: Split PMU definitions into separate files Split amd,p6,intel into separate files so that we can easily deal with CONFIG_CPU_SUP_* things, needed to make things build now that perf_event.c relies on symbols from amd.c Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 48fb4fdd6b667ebeccbc6cde0a8a5a148d5c6b68 Author: Arnaldo Carvalho de Melo Date: Fri Feb 26 11:23:14 2010 -0300 perf annotate: Handle samples not at objdump output addr boundaries Without this patch we get this for need_resched: [root@mica ~]# perf annotate need_resched ------------------------------------------------ Percent | Source code & Disassembly of vmlinux ------------------------------------------------ : : : Disassembly of section .text: : : ffffffff810095ed : : return (state & TASK_INTERRUPTIBLE) || __fatal_signal_pending(p); : } : : static inline int need_resched(void) : { 0.00 : ffffffff810095ed: 55 push %rbp : return unlikely(test_thread_flag(TIF_NEED_RESCHED)); 0.00 : ffffffff810095ee: be 03 00 00 00 mov $0x3,%esi : : static inline struct thread_info *current_thread_info(void) : { : struct thread_info *ti; : ti = (void *)(percpu_read_stable(kernel_stack) + 0.00 : ffffffff810095f3: 65 48 8b 3c 25 48 b5 mov %gs:0xb548,%rdi 0.00 : ffffffff810095fa: 00 00 : return (state & TASK_INTERRUPTIBLE) || __fatal_signal_pending(p); : } : : static inline int need_resched(void) : { 0.00 : ffffffff810095fc: 48 89 e5 mov %rsp,%rbp : return unlikely(test_thread_flag(TIF_NEED_RESCHED)); 0.00 : ffffffff810095ff: 48 81 ef d8 1f 00 00 sub $0x1fd8,%rdi 0.00 : ffffffff81009606: e8 9d ff ff ff callq ffffffff810095a8 : } 0.00 : ffffffff8100960b: c9 leaveq 0.00 : ffffffff8100960c: 85 c0 test %eax,%eax 0.00 : ffffffff8100960e: 0f 95 c0 setne %al 0.00 : ffffffff81009611: 0f b6 c0 movzbl %al,%eax : Disassembly of section .vsyscall_0: : Disassembly of section .vsyscall_fn: : Disassembly of section .vsyscall_1: : Disassembly of section .vsyscall_2: : Disassembly of section .init.text: : Disassembly of section .altinstr_replacement: : Disassembly of section .exit.text: [root@mica ~]# But from the 'perf report' result we know that there are hits for need_resched on a 4 way machine mostly doing nothing, so after adding code to show what is in each hist offset and collapsing IP hits for what happens between objdump lines we get, for the same perf.data file: [root@mica ~]# perf annotate -v need_resched ------------------------------------------------ Percent | Source code & Disassembly of vmlinux ------------------------------------------------ : : : Disassembly of section .text: : : ffffffff810095ed : : return (state & TASK_INTERRUPTIBLE) || __fatal_signal_pending(p); : } : : static inline int need_resched(void) : { 0.00 : ffffffff810095ed: 55 push %rbp : return unlikely(test_thread_flag(TIF_NEED_RESCHED)); 52.78 : ffffffff810095ee: be 03 00 00 00 mov $0x3,%esi : : static inline struct thread_info *current_thread_info(void) : { : struct thread_info *ti; : ti = (void *)(percpu_read_stable(kernel_stack) + 0.00 : ffffffff810095f3: 65 48 8b 3c 25 48 b5 mov %gs:0xb548,%rdi 0.00 : ffffffff810095fa: 00 00 : return (state & TASK_INTERRUPTIBLE) || __fatal_signal_pending(p); : } : : static inline int need_resched(void) : { 0.00 : ffffffff810095fc: 48 89 e5 mov %rsp,%rbp : return unlikely(test_thread_flag(TIF_NEED_RESCHED)); 9.72 : ffffffff810095ff: 48 81 ef d8 1f 00 00 sub $0x1fd8,%rdi 0.00 : ffffffff81009606: e8 9d ff ff ff callq ffffffff810095a8 : } 0.00 : ffffffff8100960b: c9 leaveq 0.00 : ffffffff8100960c: 85 c0 test %eax,%eax 37.50 : ffffffff8100960e: 0f 95 c0 setne %al 0.00 : ffffffff81009611: 0f b6 c0 movzbl %al,%eax : Disassembly of section .vsyscall_0: : Disassembly of section .vsyscall_fn: : Disassembly of section .vsyscall_1: : Disassembly of section .vsyscall_2: : Disassembly of section .init.text: : Disassembly of section .altinstr_replacement: : Disassembly of section .exit.text: [root@mica ~]# And now 'perf annotate -v', verbose mode, will show the hits per precise IP, so that one can make sense of the attribution to each objdumop line: [root@mica ~]# perf annotate -v need_resched Looking at the vmlinux_path (5 entries long) Using /lib/modules/2.6.33-rc8-tip-00784-g3471df5-dirty/build/vmlinux for symbols annotate_sym: filename=/lib/modules/2.6.33-rc8-tip-00784-g3471df5-dirty/build/vmlinux, sym=need_resched, start=0xffffffff810095ed, end=0xffffffff81009614 ------------------------------------------------ Percent | Source code & Disassembly of vmlinux ------------------------------------------------ ffffffff810095f1: 152 ffffffff81009603: 28 ffffffff8100960f: 55 ffffffff81009610: 53 h->sum: 288 Signed-off-by: Arnaldo Carvalho de Melo Cc: David Miller Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267194194-15670-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit cfc9c0b450176a077205ef39092f0dc1a04e020a Author: Robert Richter Date: Fri Feb 26 13:45:24 2010 +0100 oprofile/x86: fix msr access to reserved counters During switching virtual counters there is access to perfctr msrs. If the counter is not available this fails due to an invalid address. This patch fixes this. Cc: stable@kernel.org Signed-off-by: Robert Richter commit c17c8fbf349482e89b57d1b800e83e9f4cf40c47 Author: Robert Richter Date: Thu Feb 25 20:20:25 2010 +0100 oprofile/x86: use kzalloc() instead of kmalloc() Cc: stable@kernel.org Signed-off-by: Robert Richter commit 68dc819ce829f7e7977a56524e710473bdb55115 Author: Robert Richter Date: Thu Feb 25 19:16:46 2010 +0100 oprofile/x86: fix perfctr nmi reservation for mulitplexing Multiple virtual counters share one physical counter. The reservation of virtual counters fails due to duplicate allocation of the same counter. The counters are already reserved. Thus, virtual counter reservation may removed at all. This also makes the code easier. Cc: stable@kernel.org Signed-off-by: Robert Richter commit 8588d1067147e14d1dd521fbadd1d2564f8cc794 Author: Naga Chumbalkar Date: Tue Feb 23 18:14:58 2010 +0100 oprofile/x86: add comment to counter-in-use warning Currently, oprofile fails silently on platforms where a non-OS entity such as the system firmware "enables" and uses a performance counter. There is a warning in the code for this case. The warning indicates an already running counter. If oprofile doesn't collect data, then try using a different performance counter on your platform to monitor the desired event. Delete the counter from the desired event by editing the /usr/share/oprofile///events file. If the event cannot be monitored by any other counter, contact your hardware or BIOS vendor. Cc: Shashi Belur Cc: Tony Jones Signed-off-by: Naga Chumbalkar Signed-off-by: Robert Richter commit 98a2e73a0690b3610f049a64154d8145e5771713 Author: Robert Richter Date: Tue Feb 23 18:14:58 2010 +0100 oprofile/x86: warn user if a counter is already active This patch generates a warning if a counter is already active. Implemented for AMD and P6 models. P4 is not supported. Cc: Naga Chumbalkar Cc: Shashi Belur Cc: Tony Jones Signed-off-by: Robert Richter commit ba52078e1917c5116c0802298d88ad0e54a6728b Author: Robert Richter Date: Tue Feb 23 15:46:49 2010 +0100 oprofile/x86: implement randomization for IBS periodic op counter IBS selects an op (execution operation) for sampling by counting either cycles or dispatched ops. Better statistical samples can be produced by adding a software generated random offset to the periodic op counter value with each sample. This patch adds software randomization to the IBS periodic op counter. The lower 12 bits of the 20 bit counter are randomized. IbsOpCurCnt is initialized with a 12 bit random value. There is a work around if the hw can not write to IbsOpCurCnt. Then the lower 8 bits of the 16 bit IbsOpMaxCnt [15:0] value are randomized in the range of -128 to +127 by adding/subtracting an offset to the maximum count (IbsOpMaxCnt). The linear feedback shift register (LFSR) algorithm is used for pseudo-random number generation to have low impact to the memory system. Signed-off-by: Robert Richter commit f125be1469303f7b9324447f251d74a0da24952f Author: Suravee Suthikulpanit Date: Mon Jan 18 11:25:45 2010 -0600 oprofile/x86: implement lsfr pseudo-random number generator for IBS This patch implements a linear feedback shift register (LFSR) for pseudo-random number generation for IBS. For IBS measurements it would be good to minimize memory traffic in the interrupt handler since every access pollutes the data caches. Computing a maximal period LFSR just needs shifts and ORs. The LFSR method is good enough to randomize the ops at low overhead. 16 pseudo-random bits are enough for the implementation and it doesn't matter that the pattern repeats with a fairly short cycle. It only needs to break up (hard) periodic sampling behavior. The logic was designed by Paul Drongowski. Signed-off-by: Suravee Suthikulpanit Signed-off-by: Robert Richter commit 64683da6643e8c6c93f1f99548399b08c029fd13 Author: Robert Richter Date: Thu Feb 4 10:57:23 2010 +0100 oprofile/x86: implement IBS cpuid feature detection This patch adds IBS feature detection using cpuid flags. An IBS capability mask is introduced to test for certain IBS features. The bit mask is the same as for IBS cpuid feature flags (Fn8000_001B_EAX), but bit 0 is used to indicate the existence of IBS. The patch also changes the handling of the IbsOpCntCtl bit (periodic op counter count control). The oprofilefs file for this feature (ibs_op/dispatched_ops) will be only exposed if the feature is available, also the default for the bit is set to count clock cycles. In general, the userland can detect the availability of a feature by checking for the corresponding file in oprofilefs. If it exists, the feature also exists. This may lead to a dynamic file layout depending on the cpu type with that the userland has to deal with. Current opcontrol is compatible. Signed-off-by: Robert Richter commit 89baaaa98a10cad5cc8516c7208b02d9fc711890 Author: Robert Richter Date: Thu Jan 28 16:50:45 2010 +0100 oprofile/x86: remove node check in AMD IBS initialization Standard AMD systems have the same number of nodes as there are northbridge devices. However, there may kernel configurations (especially for 32 bit) or system setups exist, where the node number is different or it can not be detected properly. Thus the check is not reliable and may fail though IBS setup was fine. For this reason it is better to remove the check. Cc: stable Signed-off-by: Robert Richter commit 013cfc50672bbb638796545231683231647edb07 Author: Robert Richter Date: Thu Jan 28 18:05:26 2010 +0100 oprofile/x86: remove OPROFILE_IBS config option OProfile support for IBS is now for several versions in the kernel. The feature is stable now and the code can be activated permanently. As a side effect IBS now works also on nosmp configs. Signed-off-by: Robert Richter commit b309a294e5b24692d0f7ea1defa168074cea619e Author: Robert Richter Date: Fri Feb 26 15:01:23 2010 +0100 oprofile: remove EXPERIMENTAL from the config option description OProfile is already used for a long time and no longer experimental. Signed-off-by: Robert Richter commit 18b4a4d59e97e7ff13ee84b5bec79f3fc70a9f0a Author: Robert Richter Date: Wed Feb 10 10:03:34 2010 +0100 oprofile: remove tracing build dependency The commit 1155de4 ring-buffer: Make it generally available already made ring-buffer available without the TRACING option enabled. This patch removes the TRACING dependency from oprofile. Fixes also oprofile configuration on ia64. The patch also applies to the 2.6.32-stable kernel. Reported-by: Tony Jones Cc: stable@kernel.org Signed-off-by: Robert Richter commit 6667661df4bc76083edf1e08831c20f64429709d Author: Peter Zijlstra Date: Wed Feb 10 16:10:48 2010 +0100 perf_events, x86: Remove superflous MSR writes We re-program the event control register every time we reset the count, this appears to be superflous, hence remove it. Signed-off-by: Peter Zijlstra Cc: Arjan van de Ven LKML-Reference: Signed-off-by: Ingo Molnar commit 6e37738a2fac964583debe91099bc3248554f6e5 Author: Peter Zijlstra Date: Thu Feb 11 13:21:58 2010 +0100 perf_events: Simplify code by removing cpu argument to hw_perf_group_sched_in() Since the cpu argument to hw_perf_group_sched_in() is always smp_processor_id(), simplify the code a little by removing this argument and using the current cpu where needed. Signed-off-by: Peter Zijlstra Cc: David Miller Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Frederic Weisbecker LKML-Reference: <1265890918.5396.3.camel@laptop> Signed-off-by: Ingo Molnar commit 38331f62c20456454eed9ebea2525f072c6f1d2e Author: Stephane Eranian Date: Mon Feb 8 17:17:01 2010 +0200 perf_events, x86: AMD event scheduling This patch adds correct AMD NorthBridge event scheduling. NB events are events measuring L3 cache, Hypertransport traffic. They are identified by an event code >= 0xe0. They measure events on the Northbride which is shared by all cores on a package. NB events are counted on a shared set of counters. When a NB event is programmed in a counter, the data actually comes from a shared counter. Thus, access to those counters needs to be synchronized. We implement the synchronization such that no two cores can be measuring NB events using the same counters. Thus, we maintain a per-NB allocation table. The available slot is propagated using the event_constraint structure. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <4b703957.0702d00a.6bf2.7b7d@mx.google.com> Signed-off-by: Ingo Molnar commit d76a0812ac4139ceb54daab3cc70e1bd8bd9d43a Author: Stephane Eranian Date: Mon Feb 8 17:06:01 2010 +0200 perf_events: Add new start/stop PMU callbacks In certain situations, the kernel may need to stop and start the same event rapidly. The current PMU callbacks do not distinguish between stop and release (i.e., stop + free the resource). Thus, a counter may be released, then it will be immediately re-acquired. Event scheduling will again take place with no guarantee to assign the same counter. On some processors, this may event yield to failure to assign the event back due to competion between cores. This patch is adding a new pair of callback to stop and restart a counter without actually release the underlying counter resource. On stop, the counter is stopped, its values saved and that's it. On start, the value is reloaded and counter is restarted (on x86, actual restart is delayed until perf_enable()). Signed-off-by: Stephane Eranian [ added fallback to ->enable/->disable for all other PMUs fixed x86_pmu_start() to call x86_pmu.enable() merged __x86_pmu_disable into x86_pmu_stop() ] Signed-off-by: Peter Zijlstra LKML-Reference: <4b703875.0a04d00a.7896.ffffb824@mx.google.com> Signed-off-by: Ingo Molnar commit 3a0304e90aa5a2c0c308a05d28f7d109a48d8539 Author: Peter Zijlstra Date: Fri Feb 26 10:33:41 2010 +0100 perf_events: Report the MMAP pgoff value in bytes DaveM reported that currently perf interprets the pgoff value reported by the MMAP events as a byte range, but the kernel reports it as a page offset. Since its broken (and unusable) anyway, change the kernel behaviour (ABI) to report bytes indeed, avoiding the need for userspace to deal with PAGE_SIZE things. Reported-by: David Miller Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 281b3714e91162b66add1cfac404cf7b81e3e2f2 Merge: 64b9fb5 7b60997 Author: Ingo Molnar Date: Fri Feb 26 09:20:17 2010 +0100 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit 64b9fb5704a479d98a59f2a1d45d3331a8f847f8 Merge: 83f0d53 60b341b Author: Ingo Molnar Date: Fri Feb 26 09:18:32 2010 +0100 Merge commit 'v2.6.33' into tracing/core Conflicts: scripts/recordmcount.pl Merge reason: Merge up to v2.6.33. Signed-off-by: Ingo Molnar commit 3d98ffbffb16f2a1569b83cb78db0b5100e6c937 Author: Benjamin Herrenschmidt Date: Fri Feb 26 18:29:17 2010 +1100 powerpc: Fix lwsync feature fixup vs. modules on 64-bit Anton's commit enabling the use of the lwsync fixup mechanism on 64-bit breaks modules. The lwsync fixup section uses .long instead of the FTR_ENTRY_OFFSET macro used by other fixups sections, and thus will generate 32-bit relocations that our module loader cannot resolve. This changes it to use the same type as other feature sections. Note however that we might want to consider using 32-bit for all the feature fixup offsets and add support for R_PPC_REL32 to module_64.c instead as that would reduce the size of the kernel image. I'll leave that as an exercise for the reader for now... Signed-off-by: Benjamin Herrenschmidt commit f5f654096487c6d526c47bb66308f9de81f091cf Author: Paul E. McKenney Date: Thu Feb 25 19:02:30 2010 -0800 rcu: Export rcu_scheduler_active Kernel modules using rcu_read_lock_sched_held() must now have access to rcu_scheduler_active, so it must be exported. This should fix the fix for the boot-time RCU-lockdep splat. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <20100226030230.GA7743@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit d9f1bb6ad7fc53c406706f47858dd5ff030b14a3 Author: Paul E. McKenney Date: Thu Feb 25 14:06:47 2010 -0800 rcu: Make rcu_read_lock_sched_held() take boot time into account Before the scheduler starts, all tasks are non-preemptible by definition. So, during that time, rcu_read_lock_sched_held() needs to always return "true". This patch makes that be so. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267135607-7056-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 056ba4a9bea5f32781a36b797c562fb731e5eaa6 Author: Paul E. McKenney Date: Thu Feb 25 14:06:46 2010 -0800 rcu: Make lockdep_rcu_dereference() message less alarmist Change from "unsafe" to "suspicious", given that there will be false alarms. Suggested-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267135607-7056-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit b5f5fe80fa98a60daa0fa94512d1599b1e26674c Author: Magnus Damm Date: Thu Feb 25 11:14:28 2010 +0000 sh: remove dead LED code for migo-r and ms7724se CONFIG_PM is always set on SH-Mobile these days so get rid of the unused LED setup code. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6b3b55750b0de4a4ff2742efd34ff74665fa4e2f Author: Magnus Damm Date: Thu Feb 25 11:10:54 2010 +0000 sh: ecovec build fix for CONFIG_I2C=n Allow building the ecovec board support code even though I2C support is disabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2839bd61f671d3debf9ef0893a0470fd97b2e2ce Author: Magnus Damm Date: Thu Feb 25 11:07:52 2010 +0000 sh: ecovec r-standby support This patch adds board specific r-standby resume code for ecovec. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b67cf2848af1cf4a4c9c277429092ae59adf859b Author: Magnus Damm Date: Thu Feb 25 11:06:02 2010 +0000 sh: ms7724se r-standby support This patch adds board specific r-standby resume code for ms7724se. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 41bfb7d7a6ce3d8dd83112e65f5d97feefde818a Author: Magnus Damm Date: Thu Feb 25 11:03:24 2010 +0000 sh: SH-Mobile R-standby register save/restore Add code to save/restore registers during R-standby sleep on SH-Mobile processors. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 874f2f997dbe041a6c6e509dae8656ed9022d65d Merge: 071c06c 6ebdc66 Author: Benjamin Herrenschmidt Date: Fri Feb 26 14:41:00 2010 +1100 Merge commit 'origin/master' into next Manual merge of: drivers/char/hvc_console.c drivers/char/hvc_console.h commit 6ebdc661b608671e9ca572af8bb42d58108cc008 Merge: d7930c9 df0edeb Author: Linus Torvalds Date: Thu Feb 25 15:38:37 2010 -0800 Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 * 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (41 commits) of: remove undefined request_OF_resource & release_OF_resource of/sparc: Remove sparc-local declaration of allnodes and devtree_lock of: move definition of of_chosen into common code. of: remove unused extern reference to devtree_lock of: put default string compare and #a/s-cell values into common header of/flattree: Don't assume HAVE_LMB of: protect linux/of.h with CONFIG_OF proc_devtree: fix THIS_MODULE without module.h of: Remove old and misplaced function declarations of/flattree: Make the kernel accept ePAPR style phandle information of/flattree: endian-convert members of boot_param_header of: assume big-endian properties, adding conversions where necessary of: use __be32 for cell value accessors of/flattree: use OF_ROOT_NODE_{SIZE,ADDR}_CELLS DEFAULT for fdt parsing of/flattree: use callback to setup initrd from /chosen proc_devtree: include linux/of.h of: make set_node_proc_entry private to proc_devtree.c of: include linux/proc_fs.h of/flattree: merge early_init_dt_scan_memory() common code of: add 'of_' prefix to machine_is_compatible() ... commit d7930c9ef9cc67044f5ddaac54d06ca22645a012 Merge: b6d9702 4f4517c Author: Linus Torvalds Date: Thu Feb 25 15:38:03 2010 -0800 Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6 * 'next-spi' of git://git.secretlab.ca/git/linux-2.6: (31 commits) spi: Correct SPI clock frequency setting in spi_mpc8xxx spi/spi_s3c64xx.c: Fix continuation line formats spi/dw_spi: Fix dw_spi_mmio to depend on HAVE_CLK spi/dw_spi: Allow dw_spi.c to be a module spi/dw_spi: mmio code style fixups Memory-mapped dw_spi driver spi/dw_spi: fix missing export of dw_spi_remove_host spi/dw_spi: conditional transfer mode changes spi/dw_spi: remove conditional from 'poll_transfer'. spi/dw_spi: fixed a spelling typo in a warning message. spi/dw_spi: add return value to empty mrst_spi_debugfs_init() spi/dw_spi: enable platform specific chipselect. spi/dw_spi: add a FIFO depth detection spi/dw_spi: fix __init/__devinit section mismatch spi: xilinx_spi: Fix up I/O routine wrapping bogosity. spi/spi_imx: add device information by switching pr_debug() to dev_dbg() spi: update MSIOF includes spi/dw_spi: refine the IRQ mode working flow spi/dw_spi: add a missed dw_spi_remove_host() in exit sequence spi/dw_spi: bug fix in wait_till_not_busy() ... commit c1fd1b43831fa20c91cdd461342af8edf2e87c2f Author: Pekka Enberg Date: Wed Feb 24 17:04:47 2010 +0200 x86, mm: Unify kernel_physical_mapping_init() API This patch changes the 32-bit version of kernel_physical_mapping_init() to return the last mapped address like the 64-bit one so that we can unify the call-site in init_memory_mapping(). Cc: Yinghai Lu Cc: KAMEZAWA Hiroyuki Signed-off-by: Pekka Enberg LKML-Reference: Signed-off-by: H. Peter Anvin commit b6d97026561a6ed6eed58428633a6bb4e1b78c57 Merge: 1954ee5 3cebbb8 Author: Linus Torvalds Date: Thu Feb 25 14:44:33 2010 -0800 Merge branch 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig * 'for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig: kconfig: Simplify LSMOD= handling kconfig: Add LSMOD=file to override the lsmod for localmodconfig kconfig: Look in both /bin and /sbin for lsmod in streamline_config.pl kconfig: Check for if conditions in Kconfig for localmodconfig kconfig: Create include/generated for localmodconfig commit 1954ee55605a75c91924b63c2584f4d53f11afc7 Merge: a85821f 7b76bfc Author: Linus Torvalds Date: Thu Feb 25 14:43:57 2010 -0800 Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig * 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig: kconfig: simplification of scripts/extract-ikconfig commit a85821fce2c100a6680511f9693b76f9717fbdee Merge: 10df38c 14ef2b0 Author: Linus Torvalds Date: Thu Feb 25 14:42:39 2010 -0800 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: (41 commits) HID: usbhid: initialize interface pointers early enough HID: extend mask for BUTTON usage page HID: hid-ntrig: Single touch mode tap HID: hid-ntrig: multitouch cleanup and fix HID: n-trig: remove unnecessary tool switching HID: hid-ntrig add multi input quirk and clean up HID: usbhid: introduce timeout for stuck ctrl/out URBs HID: magicmouse: coding style and probe failure fixes HID: remove MODULE_VERSION from new drivers HID: fix up Kconfig entry for MagicMouse HID: add a device driver for the Apple Magic Mouse. HID: Export hid_register_report HID: Support for MosArt multitouch panel HID: add pressure support for the Stantum multitouch panel HID: fixed bug in single-touch emulation on the stantum panel HID: fix typo in error message HID: add mapping for "AL Network Chat" usage HID: use multi input quirk for TouchPack touchscreen HID: make full-fledged hid-bus drivers properly selectable HID: make Wacom modesetting failures non-fatal ... commit 7b4884ca8853a638df0eb5d251d80d67777b8b1a Author: Dominik Brodowski Date: Wed Feb 17 16:25:53 2010 +0100 pcmcia: validate late-added resources Currently, only those mem resources are validated which are already registered at the time the first PCMCIA card is inserted. As we can only validate resources immediately after card insert, store "registered" mem resources in mem_db, and only upon validation move them to mem_db_valid. When allocationg mem resources, mem_db_valid is then preferred to mem_db. Signed-off-by: Dominik Brodowski commit 6335e4d56681f6f08f24f4b812a72d402793d393 Author: Matthew Garrett Date: Thu Feb 25 15:20:54 2010 -0500 toshiba_acpi: Add full hotkey support Calling the ENAB method on Toshiba laptops results in notifications being sent when laptop hotkeys are pressed. This patch simply calls that method and sets up an input device if it's successful. Signed-off-by: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit caeacf59af3d114a3121bb04f8057109bbf289ea Author: Matthew Garrett Date: Wed Feb 17 10:29:39 2010 -0500 hp-wmi: Add support for tablet rotation key The HP touchsmart tablet has a key for rotating the UI from landscape to portrait. Add support for it. Signed-off-by: Matthew Garrett commit cb6a7937f4328a267e0806680ade500ed2c3c01a Author: Erik Andren Date: Sun Feb 14 11:53:23 2010 -0500 dell-laptop: Add another Dell laptop to the DMI whitelist The Latitude C640 has another variation of dell in its DMI vendor entry. Add it to the whitelist in order to enjoy the sweet fruits of software backlight toggling. Signed-off-by: Erik Andren commit 02e77a55f7b7e36888e39c62439fedb90ae4e808 Author: Thadeu Lima de Souza Cascardo Date: Tue Feb 9 17:37:27 2010 -0500 classmate-laptop: use a single MODULE_DEVICE_TABLE to get correct aliases Instead of a MODULE_DEVICE_TABLE for every acpi_driver ids table, we create a table containing all ids to export to get a module alias for each one. This will fix automatic loading of the driver when one of the ACPI devices is not present (like the accelerometer, which is not present in some models). Signed-off-by: Thadeu Lima de Souza Cascardo commit c6760ac4268b6dbe03d74e5faef35bc862a82542 Author: Matthew Garrett Date: Wed Feb 10 14:44:03 2010 -0500 dell-laptop: Pay attention to which devices the hardware switch controls Right now, we assume that the hardware rfkill switch on Dells toggles all radio devices. In fact, this can be configured in the BIOS and so right now we may mark a device as hardware killed even when it isn't. Add code to query the devices controlled by the switch, and use this when determining the hardware kill state of a radio. Signed-off-by: Matthew Garrett commit 116ee77b2858d9c89c0327f3a47c8ba864bf4a96 Author: Stuart Hayes Date: Wed Feb 10 14:12:13 2010 -0500 dell-laptop: Use buffer with 32-bit physical address Calls to communicate with system firmware via a SMI (using dcdbas) need to use a buffer that has a physical address of 4GB or less. Currently the dell-laptop driver does not guarantee this, and when the buffer address is higher than 4GB, the address is truncated to 32 bits and the SMI handler writes to the wrong memory address. Signed-off-by: Stuart Hayes Acked-by: Matthew Garrett commit e5fefd0c8c4e6bd11742625230d1c5026e2afb35 Author: Mario Limonciello Date: Tue Feb 9 17:41:03 2010 -0500 dell-laptop: Blacklist machines not supporting dell-laptop The Mini family doesn't support smbios 17,11 although it reports it does. Signed-off-by: Mario Limonciello Signed-off-by: Tim Gardner commit ec1722a21491e4c354bc3bbc704fef9a8fa811fb Author: Mario Limonciello Date: Tue Feb 9 14:11:05 2010 -0500 dell-laptop: Block software state changes when rfkill hard blocked The "hardware" switch is tied directly to a BIOS interface that will connect and disconnect the hardware from the bus. If you use the software interface to request the BIOS to make these changes, the HW switch will be in an inconsistent state and LEDs may not reflect the state of the HW. Signed-off-by: Mario Limonciello commit e551260b233e8dcbdc9d5f238ad4aa1200dc2ea7 Author: Matthew Garrett Date: Tue Feb 9 14:05:01 2010 -0500 dell-laptop: Fix small memory leak da_tokens was not being freed by dell-laptop on unload. Fix that. Signed-off-by: Matthew Garrett commit facd61d7b70d9c061f08e0b76976f7f833888a70 Author: Matthew Garrett Date: Tue Feb 9 14:03:04 2010 -0500 dell-laptop: Fix platform device unregistration dell-laptop currently fails to clean up its platform device correctly. Make sure that it's unregistered. Signed-off-by: Matthew Garrett commit 814cb8adbe2fb49302ac65bc31fa749143823860 Author: Matthew Garrett Date: Wed Dec 9 18:23:36 2009 +0000 dell-laptop: Update rfkill state on kill switch The rfkill interface on Dells only sends a notification that the switch has been changed via the keyboard controller. Add a filter so we can pick these notifications up and update the rfkill state appropriately. Signed-off-by: Matthew Garrett commit 493e91433e966a50964e221db92756eeb90dd54e Author: Mario Limonciello Date: Tue Aug 25 10:30:13 2009 -0500 compal-laptop: Replace sysfs support with rfkill support This drops the support for manually groking the files in sysfs to turn on and off the WLAN and BT for Compal laptops in favor of platform rfkill support. It has been combined into a single patch to not introduce regressions in the process of simply adding rfkill support Signed-off-by: Mario Limonciello Signed-off-by: Tim Gardner Signed-off-by: Matthew Garrett Cc: Cezary Jackiewicz commit 34325b9d2a7d36e2ba74a6652f2e3e8d57dfb145 Author: Mario Limonciello Date: Mon Aug 24 16:00:47 2009 -0500 compal-laptop: Add support for known Compal made Dell laptops The following Dell laptops are known to have been manufacturer by Compal and are supported by the compal-laptop platform driver - Mini 9 - Mini 10 - Mini 12 - Mini 10v - Inspiron 11z Signed-off-by: Mario Limonciello Signed-off-by: Tim Gardner Signed-off-by: Matthew Garrett Cc: Cezary Jackiewicz commit d094485323a1f2abc7e4665700d6036de36fdaef Author: Matthew Garrett Date: Thu Feb 11 10:40:13 2010 -0500 MAINTAINERS: update drivers/platform/x86 information Many of the drivers/platform/x86 drivers have nothing to do with ACPI, so it's kind of inappropriate for them to be stuck under the ACPI mailing list. Add a new mailing list (platform-driver-x86@vger.kernel.org) and, with Len's blessing, add myself as subsystem maintainer. Signed-off-by: Matthew Garrett Cc: Anisse Astier Cc: Carlos Corbacho Cc: Cezary Jackiewicz Cc: Corentin Chary Cc: Daniel Oliveira Nascimento Cc: Harald Welte Cc: Henrique de Moraes Holschuh Cc: Herton Ronaldo Krzesinski Cc: Jonathan Woithe Cc: Karol Kozimor Cc: Len Brown Cc: Lennart Poettering Cc: Mattia Dongili Cc: Peter Feuerer Cc: Sujith Thomas Cc: Thadeu Lima de Souza Cascardo commit 14ef2b0c026558d37662e5e095d59c64597d5769 Merge: 57ab12e 71b38bd Author: Jiri Kosina Date: Thu Feb 25 17:39:16 2010 +0100 Merge branches 'upstream', 'raw_report_modifications' and 'apple_magic_mouse' into for-linus Conflicts: drivers/hid/Kconfig commit 628ada0cb03666dd463f7c25947eaccdf440c309 Author: Arnaldo Carvalho de Melo Date: Thu Feb 25 12:57:40 2010 -0300 perf annotate: Defer allocating sym_priv->hist array Because symbol->end is not fixed up at symbol_filter time, only after all symbols for a DSO are loaded, and that, for asm symbols, may be bogus, causing segfaults when hits happen in these symbols. Reported-by: David Miller Reported-by: Anton Blanchard Acked-by: David Miller Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: # for .33.x. Does not apply cleanly, needs backport. LKML-Reference: <20100225155740.GB8553@ghostprotocols.net> Signed-off-by: Ingo Molnar commit bb8d41330ce27edb91adb6922d3f8e1a8923f727 Author: Thomas Gleixner Date: Thu Feb 25 16:42:11 2010 +0100 x86/PCI: Prevent mmconfig memory corruption commit ff097ddd4 (x86/PCI: MMCONFIG: manage pci_mmcfg_region as a list, not a table) introduced a nasty memory corruption when pci_mmcfg_list is empty. pci_mmcfg_check_end_bus_number() dereferences pci_mmcfg_list.prev even when the list is empty. The following write hits some variable near to pci_mmcfg_list. Further down a similar problem exists, where cfg->list.next is dereferenced unconditionally and a comparison with some variable near to pci_mmcfg_list happens. Add a check for the last element into the for_each_entry() loop and remove all the other crappy logic which is just a leftover of the old array based code which was replaced by the list conversion. Reported-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: Bjorn Helgaas Cc: Yinghai Lu Cc: stable@kernel.org Signed-off-by: Jesse Barnes commit 7b60997f73865b019e595720185c85285ca3df9a Author: Wenji Huang Date: Wed Feb 24 15:40:26 2010 +0800 tracing: Simplify memory recycle of trace_define_field Discard freeing field->type since it is not necessary. Reviewed-by: Li Zefan Signed-off-by: Wenji Huang LKML-Reference: <1266997226-6833-5-git-send-email-wenji.huang@oracle.com> Signed-off-by: Steven Rostedt commit c85f3a91f84d5a85f179c2504bb7a39370c82b41 Author: Wenji Huang Date: Wed Feb 24 15:40:24 2010 +0800 tracing: Remove unnecessary variable in print_graph_return The "cpu" variable is declared at the start of the function and also within a branch, with the exact same initialization. Remove the local variable of the same name in the branch. Signed-off-by: Wenji Huang LKML-Reference: <1266997226-6833-3-git-send-email-wenji.huang@oracle.com> Signed-off-by: Steven Rostedt commit a5efd925115cbc1f90195dca9a25f7b8daa10c37 Author: Wenji Huang Date: Wed Feb 24 15:40:23 2010 +0800 tracing: Fix typo of info text in trace_kprobe.c Signed-off-by: Wenji Huang LKML-Reference: <1266997226-6833-2-git-send-email-wenji.huang@oracle.com> Signed-off-by: Steven Rostedt commit 6574658b3bc7c408581629de5efb809f125cce8c Author: Wenji Huang Date: Wed Feb 24 15:40:22 2010 +0800 tracing: Fix typo in prof_sysexit_enable() Signed-off-by: Wenji Huang LKML-Reference: <1266997226-6833-1-git-send-email-wenji.huang@oracle.com> Signed-off-by: Steven Rostedt commit 1ab83a89411556c4d5914dcf0d5da190178ae7db Author: Li Zefan Date: Wed Feb 24 15:28:14 2010 +0800 tracing: Remove CONFIG_TRACE_POWER from kernel config The power tracer has been converted to power trace events. Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4B84D50E.4070806@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 10df38cafc87ef38870154d1b9b1ea2435e69287 Merge: dbd0042 c610028 Author: Linus Torvalds Date: Thu Feb 25 07:22:59 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (44 commits) Add MAINTAINERS entry for virtio_console virtio: console: Fill ports' entire in_vq with buffers virtio: console: Error out if we can't allocate buffers for control queue virtio: console: Add ability to remove module virtio: console: Ensure no memleaks in case of unused buffers virtio: console: show error message if hvc_alloc fails for console ports virtio: console: Add debugfs files for each port to expose debug info virtio: console: Add ability to hot-unplug ports virtio: console: Handle port hot-plug virtio: console: Remove cached data on port close virtio: console: Register with sysfs and create a 'name' attribute for ports virtio: console: Ensure only one process can have a port open at a time virtio: console: Add file operations to ports for open/read/write/poll virtio: console: Associate each port with a char device virtio: console: Prepare for writing to userspace buffers virtio: console: Add a new MULTIPORT feature, support for generic ports virtio: console: Introduce a send_buf function for a common path for sending data to host virtio: console: Introduce function to hand off data from host to readers virtio: console: Separate out find_vqs operation into a different function virtio: console: Separate out console init into a new function ... commit dbd004291ed31db280a3f2d7a1113a04e5e85af4 Merge: 7491612 c36f74e Author: Linus Torvalds Date: Thu Feb 25 07:09:54 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: netlabel: fix export of SELinux categories > 127 commit 86c38a31aa7f2dd6e74a262710bf8ebf7455acc5 Author: Jeff Mahoney Date: Wed Feb 24 13:59:23 2010 -0500 tracing: Fix ftrace_event_call alignment for use with gcc 4.5 GCC 4.5 introduces behavior that forces the alignment of structures to use the largest possible value. The default value is 32 bytes, so if some structures are defined with a 4-byte alignment and others aren't declared with an alignment constraint at all - it will align at 32-bytes. For things like the ftrace events, this results in a non-standard array. When initializing the ftrace subsystem, we traverse the _ftrace_events section and call the initialization callback for each event. When the structures are misaligned, we could be treating another part of the structure (or the zeroed out space between them) as a function pointer. This patch forces the alignment for all the ftrace_event_call structures to 4 bytes. Without this patch, the kernel fails to boot very early when built with gcc 4.5. It's trivial to check the alignment of the members of the array, so it might be worthwhile to add something to the build system to do that automatically. Unfortunately, that only covers this case. I've asked one of the gcc developers about adding a warning when this condition is seen. Cc: stable@kernel.org Signed-off-by: Jeff Mahoney LKML-Reference: <4B85770B.6010901@suse.com> Signed-off-by: Steven Rostedt commit 0c54dd341fb701928b8e5dca91ced1870c55b05b Author: Steven Rostedt Date: Thu Feb 25 08:42:06 2010 -0500 ftrace: Remove memory barriers from NMI code when not needed The code in stop_machine that modifies the kernel text has a bit of logic to handle the case of NMIs. stop_machine does not prevent NMIs from executing, and if an NMI were to trigger on another CPU as the modifying CPU is changing the NMI text, a GPF could result. To prevent the GPF, the NMI calls ftrace_nmi_enter() which may modify the code first, then any other NMIs will just change the text to the same content which will do no harm. The code that stop_machine called must wait for NMIs to finish while it changes each location in the kernel. That code may also change the text to what the NMI changed it to. The key is that the text will never change content while another CPU is executing it. To make the above work, the call to ftrace_nmi_enter() must also do a smp_mb() as well as atomic_inc(). But for applications like perf that require a high number of NMIs for profiling, this can have a dramatic effect on the system. Not only is it doing a full memory barrier on both nmi_enter() as well as nmi_exit() it is also modifying a global variable with an atomic operation. This kills performance on large SMP machines. Since the memory barriers are only needed when ftrace is in the process of modifying the text (which is seldom), this patch adds a "modifying_code" variable that gets set before stop machine is executed and cleared afterwards. The NMIs will check this variable and store it in a per CPU "save_modifying_code" variable that it will use to check if it needs to do the memory barriers and atomic dec on NMI exit. Acked-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 3846df2e0a99a2bf10023de0e9c1496592012d4c Author: Arnaldo Carvalho de Melo Date: Mon Feb 22 16:15:39 2010 -0300 perf symbols: Improve debugging information about symtab origins Be more clear about DSO long names and tell from which file kernel symbols were obtained, all in --verbose mode: [root@mica ~]# perf report -v > /dev/null Looking at the vmlinux_path (5 entries long) Using /lib/modules/2.6.33-rc8-tip-00777-g0918527-dirty/build/vmlinux for symbols [root@mica ~]# mv /lib/modules/2.6.33-rc8-tip-00777-g0918527-dirty/build/vmlinux /tmp/dd [root@mica ~]# perf report -v > /dev/null Looking at the vmlinux_path (5 entries long) Using /proc/kallsyms for symbols [root@mica ~]# Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1266866139-6361-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit c7ad21af2c8b7accb893a576b100296c61c5d610 Author: Arnaldo Carvalho de Melo Date: Mon Feb 22 16:14:22 2010 -0300 perf top: Use a macro instead of a constant variable To overcome a silly gcc warning: cc1: warnings being treated as errors builtin-top.c: In function ‘lookup_sym_source’: builtin-top.c:291: warning: not protecting local variables: variable length buffer make: *** [builtin-top.o] Error 1 make: *** Waiting for unfinished jobs.... That is emitted for this: const size_t pattern_len = BITS_PER_LONG / 4 + 2; char pattern[pattern_len + 1]; Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1266866062-6287-1-git-send-email-acme@infradead.org> [ -v2: macroify the naming style ] Signed-off-by: Ingo Molnar commit 37fe5fcb7a5b5235c8b71bf5469ce4c7246e3fab Author: Zhang, Yanmin Date: Thu Feb 25 11:00:51 2010 +0800 perf symbols: Check the right return variable In function dso__split_kallsyms(), curr_map saves the return value of map__new2. So check it instead of var map after the call returns. Signed-off-by: Zhang Yanmin Acked-by: David S. Miller Cc: # for .33.x Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1267066851.1726.9.camel@localhost> Signed-off-by: Ingo Molnar commit c50cc75271759373bd89a036eec4d4269b291616 Author: Ingo Molnar Date: Thu Feb 25 12:02:13 2010 +0100 sched, cgroups: Fix module export I have exported it in d11c563 - but cgroups.c did not have module.h included ... Cc: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-6-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1ed509a225008c9e8c0644fbd22168e09a7383a0 Author: Paul E. McKenney Date: Mon Feb 22 17:05:05 2010 -0800 rcu: Add RCU_CPU_STALL_VERBOSE to dump detailed per-task information When RCU detects a grace-period stall, it currently just prints out the PID of any tasks doing the stalling. This patch adds RCU_CPU_STALL_VERBOSE, which enables the more-verbose reporting from sched_show_task(). Suggested-by: Thomas Gleixner Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-21-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 6155fec92e85f07d99e9746234496215443ffb0d Author: Paul E. McKenney Date: Mon Feb 22 17:05:04 2010 -0800 rcu: Fix rcutorture mod_timer argument to delay one jiffy The current "mod_timer(&t, 1)" potentially makes the timer fire immediately, change this to wait one jiffy. Signed-off-by: Dan Carpenter Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-20-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 3acd9eb31c5f7eb97cb2009fa41472710fb4a10f Author: Paul E. McKenney Date: Mon Feb 22 17:05:03 2010 -0800 rcu: Fix deadlock in TREE_PREEMPT_RCU CPU stall detection Under TREE_PREEMPT_RCU, print_other_cpu_stall() invokes rcu_print_task_stall() with the root rcu_node structure's ->lock held, and rcu_print_task_stall() acquires that same lock for self-deadlock. Fix this by removing the lock acquisition from rcu_print_task_stall(), and making all callers acquire the lock instead. Tested-by: John Kacur Tested-by: Thomas Gleixner Located-by: Thomas Gleixner Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-19-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1304afb225288a2e250d6a7495462c28e5509cbb Author: Paul E. McKenney Date: Mon Feb 22 17:05:02 2010 -0800 rcu: Convert to raw_spinlocks The spinlocks in rcutree need to be real spinlocks in preempt-rt. Convert them to raw_spinlocks. Signed-off-by: Thomas Gleixner Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-18-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 20133cfce7d0bbdcc0c398301030c091f5675c88 Author: Paul E. McKenney Date: Mon Feb 22 17:05:01 2010 -0800 rcu: Stop overflowing signed integers The C standard does not specify the result of an operation that overflows a signed integer, so such operations need to be avoided. This patch changes the type of several fields from "long" to "unsigned long" and adjusts operations as needed. ULONG_CMP_GE() and ULONG_CMP_LT() macros are introduced to do the modular comparisons that are appropriate given that overflow is an expected event. Acked-by: Mathieu Desnoyers Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-17-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 1bd22e374b20c2f0ba1d2723c1f585acab2251c5 Author: Paul E. McKenney Date: Mon Feb 22 17:05:00 2010 -0800 rcu: Use canonical URL for Mathieu's dissertation The version numbers change too quickly, so use a canonical URL that represents the most recent version. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-16-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 8bd93a2c5d4cab2ae17d06350daa7dbf546a4634 Author: Paul E. McKenney Date: Mon Feb 22 17:04:59 2010 -0800 rcu: Accelerate grace period if last non-dynticked CPU Currently, rcu_needs_cpu() simply checks whether the current CPU has an outstanding RCU callback, which means that the last CPU to go into dyntick-idle mode might wait a few ticks for the relevant grace periods to complete. However, if all the other CPUs are in dyntick-idle mode, and if this CPU is in a quiescent state (which it is for RCU-bh and RCU-sched any time that we are considering going into dyntick-idle mode), then the grace period is instantly complete. This patch therefore repeatedly invokes the RCU grace-period machinery in order to force any needed grace periods to complete quickly. It does so a limited number of times in order to prevent starvation by an RCU callback function that might pass itself to call_rcu(). However, if any CPU other than the current one is not in dyntick-idle mode, fall back to simply checking (with fix to bug noted by Lai Jiangshan). Also, take advantage of last grace-period forcing, the opportunity to do so noted by Steve Rostedt. And apply simplified #ifdef condition suggested by Frederic Weisbecker. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-15-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 998f2ac3fea93bfa8b55c279fff68f7c5b9ab93d Author: Paul E. McKenney Date: Mon Feb 22 17:04:58 2010 -0800 rcu: Fix citation of Mathieu's dissertation Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-14-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit c598a070bc581aea8a518b460dae8c0cf8e74344 Author: Paul E. McKenney Date: Mon Feb 22 17:04:57 2010 -0800 rcu: Documentation update for CONFIG_PROVE_RCU Adds a lockdep.txt file and updates checklist.txt and whatisRCU.txt to reflect the new lockdep-enabled capabilities of RCU. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-13-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit e7b0a61b7929632d36cf052d9e2820ef0a9c1bfe Author: Paul E. McKenney Date: Mon Feb 22 17:04:56 2010 -0800 security: Apply lockdep-based checking to rcu_dereference() uses Apply lockdep-ified RCU primitives to key_gc_keyring() and keyring_destroy(). Cc: David Howells Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-12-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 96be753af91fc9d582450a84722f6a6721d218ad Author: Paul E. McKenney Date: Mon Feb 22 17:04:55 2010 -0800 idr: Apply lockdep-based diagnostics to rcu_dereference() uses Because idr can be used with any of a number of locks or with any flavor of RCU, just disable the lockdep-based diagnostics. If idr needs diagnostics, the check expression will need to be passed into the relevant idr primitives as an additional argument. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-11-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 2676a58c980b7ef076cc9bbff3fd8c9d2d5417ea Author: Paul E. McKenney Date: Mon Feb 22 17:04:54 2010 -0800 radix-tree: Disable RCU lockdep checking in radix tree Because the radix tree is used with many different locking designs, we cannot do any effective checking without changing the radix-tree APIs. It might make sense to do this later, but only if the RCU lockdep checking proves itself sufficiently valuable. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-10-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit af61b96b4f68f7ab25ebf34fed275fabf64f2edc Author: Paul E. McKenney Date: Mon Feb 22 17:04:53 2010 -0800 vfs: Abstract rcu_dereference_check for files-fdtable use Create an rcu_dereference_check_fdtable() that encapsulates the rcu_dereference_check() condition for fcheck_files() use. This has the beneficial side-effect of getting rid of a very long line. Suggested-by: Peter Zijlstra Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-9-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 7dc52157982ab771f40e3c0b7dc55b954c3c2d19 Author: Paul E. McKenney Date: Mon Feb 22 17:04:52 2010 -0800 vfs: Apply lockdep-based checking to rcu_dereference() uses Add lockdep-ified RCU primitives to alloc_fd(), files_fdtable() and fcheck_files(). Cc: Alexander Viro Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: Alexander Viro LKML-Reference: <1266887105-1528-8-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 497f0ab39cd25bed317b29482c147c967f7ecd1f Author: Paul E. McKenney Date: Mon Feb 22 17:04:51 2010 -0800 sched: Better name for for_each_domain_rd As suggested by Peter Ziljstra, make better choice of name for for_each_domain_rd(), containing "rcu_dereference", given that it is but a wrapper for rcu_dereference_check(). The name rcu_dereference_check_sched_domain() does that and provides a separate per-subsystem name space. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-7-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit d11c563dd20ff35da5652c3e1c989d9e10e1d6d0 Author: Paul E. McKenney Date: Mon Feb 22 17:04:50 2010 -0800 sched: Use lockdep-based checking on rcu_dereference() Update the rcu_dereference() usages to take advantage of the new lockdep-based checking. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-6-git-send-email-paulmck@linux.vnet.ibm.com> [ -v2: fix allmodconfig missing symbol export build failure on x86 ] Signed-off-by: Ingo Molnar commit 14315592009c17035cac81f4954d5a1f4d71e489 Author: Ian Campbell Date: Wed Feb 17 10:38:10 2010 +0000 x86, mm: Allow highmem user page tables to be disabled at boot time Distros generally (I looked at Debian, RHEL5 and SLES11) seem to enable CONFIG_HIGHPTE for any x86 configuration which has highmem enabled. This means that the overhead applies even to machines which have a fairly modest amount of high memory and which therefore do not really benefit from allocating PTEs in high memory but still pay the price of the additional mapping operations. Running kernbench on a 4G box I found that with CONFIG_HIGHPTE=y but no actual highptes being allocated there was a reduction in system time used from 59.737s to 55.9s. With CONFIG_HIGHPTE=y and highmem PTEs being allocated: Average Optimal load -j 4 Run (std deviation): Elapsed Time 175.396 (0.238914) User Time 515.983 (5.85019) System Time 59.737 (1.26727) Percent CPU 263.8 (71.6796) Context Switches 39989.7 (4672.64) Sleeps 42617.7 (246.307) With CONFIG_HIGHPTE=y but with no highmem PTEs being allocated: Average Optimal load -j 4 Run (std deviation): Elapsed Time 174.278 (0.831968) User Time 515.659 (6.07012) System Time 55.9 (1.07799) Percent CPU 263.8 (71.266) Context Switches 39929.6 (4485.13) Sleeps 42583.7 (373.039) This patch allows the user to control the allocation of PTEs in highmem from the command line ("userpte=nohigh") but retains the status-quo as the default. It is possible that some simple heuristic could be developed which allows auto-tuning of this option however I don't have a sufficiently large machine available to me to perform any particularly meaningful experiments. We could probably handwave up an argument for a threshold at 16G of total RAM. Assuming 768M of lowmem we have 196608 potential lowmem PTE pages. Each page can map 2M of RAM in a PAE-enabled configuration, meaning a maximum of 384G of RAM could potentially be mapped using lowmem PTEs. Even allowing generous factor of 10 to account for other required lowmem allocations, generous slop to account for page sharing (which reduces the total amount of RAM mappable by a given number of PT pages) and other innacuracies in the estimations it would seem that even a 32G machine would not have a particularly pressing need for highmem PTEs. I think 32G could be considered to be at the upper bound of what might be sensible on a 32 bit machine (although I think in practice 64G is still supported). It's seems questionable if HIGHPTE is even a win for any amount of RAM you would sensibly run a 32 bit kernel on rather than going 64 bit. Signed-off-by: Ian Campbell LKML-Reference: <1266403090-20162-1-git-send-email-ian.campbell@citrix.com> Signed-off-by: H. Peter Anvin commit e808bae2407a087bfd40200a27587898e5a9909d Author: Thadeu Lima de Souza Cascardo Date: Tue Feb 9 21:38:45 2010 -0200 x86: Do not reserve brk for DMI if it's not going to be used This will save 64K bytes from memory when loading linux if DMI is disabled, which is good for embedded systems. Signed-off-by: Thadeu Lima de Souza Cascardo LKML-Reference: <1265758732-19320-1-git-send-email-cascardo@holoscopio.com> Signed-off-by: H. Peter Anvin commit a898def29e4119bc01ebe7ca97423181f4c0ea2d Author: Paul E. McKenney Date: Mon Feb 22 17:04:49 2010 -0800 net: Add checking to rcu_dereference() primitives Update rcu_dereference() primitives to use new lockdep-based checking. The rcu_dereference() in __in6_dev_get() may be protected either by rcu_read_lock() or RTNL, per Eric Dumazet. The rcu_dereference() in __sk_free() is protected by the fact that it is never reached if an update could change it. Check for this by using rcu_dereference_check() to verify that the struct sock's ->sk_wmem_alloc counter is zero. Acked-by: Eric Dumazet Acked-by: David S. Miller Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-5-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 3120438ad68601f341e61e7cb1323b0e1a6ca367 Author: Paul E. McKenney Date: Mon Feb 22 17:04:48 2010 -0800 rcu: Disable lockdep checking in RCU list-traversal primitives The theory is that use of bare rcu_dereference() is more prone to error than use of the RCU list-traversal primitives. Therefore, disable lockdep RCU read-side critical-section checking in these primitives for the time being. Once all of the rcu_dereference() uses have been dealt with, it may be time to re-enable lockdep checking for the RCU list-traversal primitives. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-4-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 0632eb3d7563d6a76d49a3860b6352d800c92854 Author: Paul E. McKenney Date: Mon Feb 22 17:04:47 2010 -0800 rcu: Integrate rcu_dereference_check() message into lockdep Make rcu_dereference_check() print the list of held locks in addition to the stack dump to ease debugging. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit c26d34a5858f96a564c45048bf5f09319d2abad1 Author: Paul E. McKenney Date: Mon Feb 22 17:04:46 2010 -0800 rcu: Add lockdep-enabled variants of rcu_dereference() Make rcu_dereference() check for being in an RCU read-side critical section, and create rcu_dereference_bh(), rcu_dereference_sched(), and srcu_dereference() to check for the other flavors of RCU. Also create rcu_dereference_raw() to avoid checking, and make rcu_dereference_check() use rcu_dereference_raw(). Acked-by: Eric Dumazet Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 632ee200130899252508c478ad0e808222573fbc Author: Paul E. McKenney Date: Mon Feb 22 17:04:45 2010 -0800 rcu: Introduce lockdep-based checking to RCU read-side primitives Inspection is proving insufficient to catch all RCU misuses, which is understandable given that rcu_dereference() might be protected by any of four different flavors of RCU (RCU, RCU-bh, RCU-sched, and SRCU), and might also/instead be protected by any of a number of locking primitives. It is therefore time to enlist the aid of lockdep. This set of patches is inspired by earlier work by Peter Zijlstra and Thomas Gleixner, and takes the following approach: o Set up separate lockdep classes for RCU, RCU-bh, and RCU-sched. o Set up separate lockdep classes for each instance of SRCU. o Create primitives that check for being in an RCU read-side critical section. These return exact answers if lockdep is fully enabled, but if unsure, report being in an RCU read-side critical section. (We want to avoid false positives!) The primitives are: For RCU: rcu_read_lock_held(void) For RCU-bh: rcu_read_lock_bh_held(void) For RCU-sched: rcu_read_lock_sched_held(void) For SRCU: srcu_read_lock_held(struct srcu_struct *sp) o Add rcu_dereference_check(), which takes a second argument in which one places a boolean expression based on the above primitives and/or lockdep_is_held(). o A new kernel configuration parameter, CONFIG_PROVE_RCU, enables rcu_dereference_check(). This depends on CONFIG_PROVE_LOCKING, and should be quite helpful during the transition period while CONFIG_PROVE_RCU-unaware patches are in flight. The existing rcu_dereference() primitive does no checking, but upcoming patches will change that. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1266887105-1528-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 996de8c6fe95c5a9fc524241cc8f142ef0605d3d Merge: 017c426 60b341b Author: Ingo Molnar Date: Thu Feb 25 09:40:22 2010 +0100 Merge commit 'v2.6.33' into core/rcu Merge reason: Update from -rc4 to -final. Signed-off-by: Ingo Molnar commit da64c2a8dee66ca03f4f3e15d84be7bedf73db3d Author: Paul Mundt Date: Thu Feb 25 16:37:46 2010 +0900 clocksource: Fix up a registration/IRQ race in the sh drivers. All of the SH clocksource drivers follow the scheme that the IRQ is setup prior to registering the clockevent. The interrupt handler in the clockevent cases looks to the event handler function pointer being filled in by the registration code, permitting us to get in to situations where asserted IRQs step in to the handler before registration has had a chance to complete and hitting a NULL pointer deref. In practice this is not an issue for most platforms, but some of them with fairly special loaders (or that are chain-loading from another kernel) may enter in to this situation. This fixes up the oops reported by Rafael on hp6xx. Reported-and-tested-by: Rafael Ignacio Zurita Cc: stable@kernel.org Signed-off-by: Paul Mundt commit 29463c28a553e1959ec45cc8ad9d2eb434663cdf Author: Kuninori Morimoto Date: Wed Feb 24 00:16:47 2010 +0000 sh: ms7724: modify scan_timing for KEYSC KEYSC::SCN register of SH7724 is 3bit. Thus, scan_timing should be 0 - 7 here. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit bbb892aac4724b7cc6e1626665310eddfd747235 Author: Kuninori Morimoto Date: Tue Feb 23 08:19:14 2010 +0000 sh: ms7724: Add sh_sir support Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 263657168549075b57ecfbf730738105d1af8b65 Author: Kuninori Morimoto Date: Wed Feb 24 00:32:28 2010 +0000 sh: mach-ecovec24: Add sh_sir support Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c36f74e67fa12202dbcb4ad92c5ac844f9d36b98 Author: Joshua Roys Date: Wed Feb 24 18:52:44 2010 -0500 netlabel: fix export of SELinux categories > 127 This fixes corrupted CIPSO packets when SELinux categories greater than 127 are used. The bug occured on the second (and later) loops through the while; the inner for loop through the ebitmap->maps array used the same index as the NetLabel catmap->bitmap array, even though the NetLabel bitmap is twice as long as the SELinux bitmap. Signed-off-by: Joshua Roys Acked-by: Paul Moore Signed-off-by: James Morris commit 7491612c7d2cf560bb96dc02bb53d555b41adbb8 Merge: baac35c 453d313 Author: Linus Torvalds Date: Wed Feb 24 21:12:11 2010 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: disable FPDMA auto-activate optimization on NVIDIA AHCI commit 453d3131ec7aab82eaaa8401a50522a337092aa8 Author: Robert Hancock Date: Tue Jan 26 22:33:23 2010 -0600 ahci: disable FPDMA auto-activate optimization on NVIDIA AHCI Mike Cui reported that his system with an NVIDIA MCP79 (aka MCP7A) chipset stopped working with 2.6.32. The problem appears to be that 2.6.32 now enables the FPDMA auto-activate optimization in the ahci driver. The drive works fine with this enabled on an Intel AHCI so this appears to be a chipset bug. Since MCP79 is a fairly recent NVIDIA chipset and we don't have any info on whether any other NVIDIA chipsets have this issue, disable FPDMA AA optimization on all NVIDIA AHCI controllers for now. Should address http://bugzilla.kernel.org/show_bug.cgi?id=14922 Signed-off-by: Robert Hancock While-we-investigate-issue-this-patch-looks-good-to-me-by: Prajakta Gudadhe Signed-off-by: Jeff Garzik Cc: stable@kernel.org commit c2fbaa4b489b738cd9e7666edfeceaaa38e71c9f Author: Frederic Weisbecker Date: Thu Feb 25 03:03:52 2010 +0100 perf/scripts: Tag syscall_name helper as not yet available syscall_name() helper, which resolves a syscall arch number to its name, is not yet available as we first need to implement event injection for it to work. Remove it from the documentation or tag its references as unavailable yet. Once it's implemented, we can just revert the current patch. Signed-off-by: Frederic Weisbecker Cc: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo commit cff68e582237cae3cf456f01153202175961dfbe Author: Tom Zanussi Date: Wed Jan 27 02:28:03 2010 -0600 perf/scripts: Add perf-trace-python Documentation Also small update to perf-trace-perl and perf-trace docs. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-13-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit 44ad9cd8f0893b9ae0ac729a7dc2a1ebcd170ac6 Author: Tom Zanussi Date: Mon Feb 22 01:12:59 2010 -0600 perf/scripts: Remove unnecessary PyTuple resizes If we know the size of a tuple in advance, there's no need to resize it - start out with the known size in the first place. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1266822779.6426.4.camel@tropicana> Signed-off-by: Frederic Weisbecker commit 4d161f0360d00d46a89827b3fd6da395f00c5d90 Author: Tom Zanussi Date: Wed Jan 27 02:27:58 2010 -0600 perf/scripts: Add syscall tracing scripts Adds a set of scripts that aggregate system call totals and system call errors. Most are Python scripts that also test basic functionality of the new Python engine, but there's also one Perl script added for comparison and for reference in some new Documentation contained in a later patch. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-8-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit 7e4b21b84c43bb8a80b916e40718ca4ed1fc52e6 Author: Tom Zanussi Date: Wed Jan 27 02:27:57 2010 -0600 perf/scripts: Add Python scripting engine Add base support for Python scripting to perf trace. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-6-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit cbbc0de700e61d0cdc854d435dbc2ef148de0e00 Author: Rafael J. Wysocki Date: Wed Feb 24 00:52:08 2010 +0100 ACPI: Use GPE reference counting to support shared GPEs To fix a bug and address the reviewers' comments regarding the ACPI GPE refcounting patch, do the following additional changes: o Remove the second argument of acpi_ev_enable_gpe(), 'write_to_hardware', because it is not necessary any more. o Add the "bad parameter" test against 'type' in acpi_enable_gpe() and acpi_disable_gpe(). o Make acpi_enable_gpe() only check 'status' for runtime GPEs if acpi_ev_enable_gpe() was actually called. o Make acpi_disable_gpe() return 'status' returned by acpi_ev_disable_gpe() and fix a bug where ACPI_GPE_TYPE_WAKE and ACPI_GPE_TYPE_RUNTIME were exchanged by mistake. o Add comments explaining why acpi_set_gpe() is used by the ACPI EC driver. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit baac35c4155a8aa826c70acee6553368ca5243a2 Author: Xiaotian Feng Date: Wed Feb 24 18:39:02 2010 +0800 security: fix error return path in ima_inode_alloc If radix_tree_preload is failed in ima_inode_alloc, we don't need radix_tree_preload_end because kernel is alread preempt enabled Signed-off-by: Xiaotian Feng Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 7fe2b3190b8b299409f13cf3a6f85c2bd371f8bb Author: David Teigland Date: Wed Feb 24 11:08:18 2010 -0600 dlm: fix ordering of bast and cast When both blocking and completion callbacks are queued for lock, the dlm would always deliver the completion callback (cast) first. In some cases the blocking callback (bast) is queued before the cast, though, and should be delivered first. This patch keeps track of the order in which they were queued and delivers them in that order. This patch also keeps track of the granted mode in the last cast and eliminates the following bast if the bast mode is compatible with the preceding cast mode. This happens when a remotely mastered lock is demoted, e.g. EX->NL, in which case the local node queues a cast immediately after sending the demote message. In this way a cast can be queued for a mode, e.g. NL, that makes an in-transit bast extraneous. Signed-off-by: David Teigland commit c610028611479e6b9d8b2f1a6628e9417ef4114f Author: Amit Shah Date: Fri Feb 12 10:32:19 2010 +0530 Add MAINTAINERS entry for virtio_console I'm taking ownership of the virtio_console module; but I'll continue feeding patches via Rusty. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit d6933561924d8022f5d986ce7c511a2646eeadce Author: Amit Shah Date: Fri Feb 12 10:32:18 2010 +0530 virtio: console: Fill ports' entire in_vq with buffers Instead of allocating just one buffer for a port's in_vq, fill the entire in_vq with buffers so the host need not stall while an application consumes the data and makes the buffer available again for the host. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 22a29eacd2a17f22c8260a8106a4e36bae7fb6ea Author: Amit Shah Date: Fri Feb 12 10:32:17 2010 +0530 virtio: console: Error out if we can't allocate buffers for control queue With MULTIPORT support, the control queue is an integral part of the functioning of the device. If we can't get any buffers allocated, the host won't be able to relay important information and the device may not function as intended. Ensure 'probe' doesn't succeed until the control queue has at least one buffer allocated for its ivq. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 7177876fea8306a6f49400d11f5913bf9b3b5e5f Author: Amit Shah Date: Fri Feb 12 10:32:16 2010 +0530 virtio: console: Add ability to remove module Add the ability to remove the virtio_console module. This aids debugging. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit a9cdd4855738906043b8131cfe8055d6cde88ffe Author: Amit Shah Date: Fri Feb 12 10:32:15 2010 +0530 virtio: console: Ensure no memleaks in case of unused buffers If unused data exists in in_vq, ensure we flush that first and then detach unused buffers, which will ensure all buffers from the in_vq are removed. Also ensure we free the buffers after detaching them. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 298add723aecd7af461319fe815d935ef2c40d78 Author: Amit Shah Date: Mon Jan 18 16:35:23 2010 +0530 virtio: console: show error message if hvc_alloc fails for console ports Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit d99393effd76571cf2c4a07cbb6e86d41855a8fa Author: Amit Shah Date: Mon Dec 21 22:36:21 2009 +0530 virtio: console: Add debugfs files for each port to expose debug info This is helpful in examining ports' state. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 1f7aa42d166cd104b0700d61efe2064178a3f6da Author: Amit Shah Date: Mon Dec 21 22:27:31 2009 +0530 virtio: console: Add ability to hot-unplug ports Remove port data; deregister from the hvc core if it's a console port. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 7f5d810dac70214d00b2440787535b6c7a73b6b7 Author: Amit Shah Date: Mon Dec 21 22:22:08 2009 +0530 virtio: console: Handle port hot-plug If the 'nr_ports' variable in the config space is updated to a higher value, that means new ports have been hotplugged. Introduce a new workqueue to handle such updates and create new ports. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 88f251ac58b2460ed16ff619a020ad3ef365e607 Author: Amit Shah Date: Mon Dec 21 22:15:30 2009 +0530 virtio: console: Remove cached data on port close Remove any data that we might have in a port's inbuf when closing a port or when any data is received when a port is closed. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 431edb8a8bca71008fefceadf53b9315ef7196ec Author: Amit Shah Date: Mon Dec 21 21:57:40 2009 +0530 virtio: console: Register with sysfs and create a 'name' attribute for ports The host can set a name for ports so that they're easily discoverable instead of going by the /dev/vportNpn naming. This attribute will be placed in /sys/class/virtio-ports/vportNpn/name. udev scripts can then create symlinks to the port using the name. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 3c7969ccb569968a79fab3729075751bc8fc2f78 Author: Amit Shah Date: Thu Nov 26 11:25:38 2009 +0530 virtio: console: Ensure only one process can have a port open at a time Add a guest_connected field that ensures only one process can have a port open at a time. This also ensures we don't have a race when we later add support for dropping buffers when closing the char dev and buffer caching is turned off for the particular port. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 2030fa496d74b49220308eaccf656e2338019cfd Author: Amit Shah Date: Mon Dec 21 21:49:30 2009 +0530 virtio: console: Add file operations to ports for open/read/write/poll Allow guest userspace applications to open, read from, write to, poll the ports via the char dev interface. When a port gets opened, a notification is sent to the host via a control message indicating a connection has been established. Similarly, on closing of the port, a notification is sent indicating disconnection. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit fb08bd274df61967f40d49c4625fe6ed75a69ab5 Author: Amit Shah Date: Mon Dec 21 21:36:04 2009 +0530 virtio: console: Associate each port with a char device The char device will be used as an interface by applications on the guest to communicate with apps on the host. The devices created are placed in /dev/vportNpn where N is the virtio-console device number and n is the port number for that device. One dynamic major device number is allocated for each device and minor numbers are allocated for the ports contained within that device. The file operation for the char devs will be added in the following commits. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit b766ceed5bbf04ae153389f5a15f53b9b6106a35 Author: Amit Shah Date: Mon Dec 21 21:26:45 2009 +0530 virtio: console: Prepare for writing to userspace buffers When ports get advertised as char devices, the buffers will come from userspace. Equip the fill_readbuf function with the ability to write to userspace buffers. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 17634ba25544d60af1968982929150efad755032 Author: Amit Shah Date: Mon Dec 21 21:03:25 2009 +0530 virtio: console: Add a new MULTIPORT feature, support for generic ports This commit adds a new feature, MULTIPORT. If the host supports this feature as well, the config space has the number of ports defined for that device. New ports are spawned according to this information. The config space also has the maximum number of ports that can be spawned for a particular device. This is useful in initializing the appropriate number of virtqueues in advance, as ports might be hot-plugged in later. Using this feature, generic ports can be created which are not tied to hvc consoles. We also open up a private channel between the host and the guest via which some "control" messages are exchanged for the ports, like whether the port being spawned is a console port, resizing the console window, etc. Next commits will add support for hotplugging and presenting char devices in /dev/ for bi-directional guest-host communication. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit f997f00bf8c3ddf748d757105afa1a7dd5297208 Author: Amit Shah Date: Mon Dec 21 17:28:51 2009 +0530 virtio: console: Introduce a send_buf function for a common path for sending data to host Adding support for generic ports that will write to userspace will need some code changes. Consolidate the write routine into send_buf() and put_chars() now just calls into the new function. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 203baab8ba3195dd929473ba95b91c2b838833e6 Author: Amit Shah Date: Mon Jan 18 19:15:12 2010 +0530 virtio: console: Introduce function to hand off data from host to readers In preparation for serving data to userspace (generic ports) as well as in-kernel users (hvc consoles), separate out the functionality common to both in a 'fill_readbuf()' function. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 2658a79acf014deb0eaff2063f8f7a2b59f41285 Author: Amit Shah Date: Mon Jan 18 19:15:11 2010 +0530 virtio: console: Separate out find_vqs operation into a different function With support for multiple ports, each port will have its own input and output vqs. Prepare the probe function for this change. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit cfa6d3792550c9eac51887181358954e6515da6b Author: Amit Shah Date: Mon Jan 18 19:15:10 2010 +0530 virtio: console: Separate out console init into a new function Console ports could be hot-added. Also, with the new multiport support, a port is identified as a console port only if the host sends a control message. Move the console port init into a separate function so it can be invoked from other places. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 4f23c573c0dbebfd193cfb90b003d67929c58b31 Author: Amit Shah Date: Mon Jan 18 19:15:09 2010 +0530 virtio: console: Separate out console-specific data into a separate struct Move out console-specific stuff into a separate struct from 'struct port' as we need to maintain two lists: one for all the ports (which includes consoles) and one only for consoles since the hvc callbacks only give us the vtermno. This makes console handling cleaner. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit cb06e3676b22013e9b759627e41656ddb07dee6d Author: Amit Shah Date: Mon Jan 18 19:15:08 2010 +0530 virtio: console: ensure console size is updated on hvc open When multiple console support is added, ensure each port's size gets updated when a new one is opened via hvc. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 1c85bf35449196e74deb487961d2f90c98f7b7ff Author: Amit Shah Date: Mon Jan 18 19:15:07 2010 +0530 virtio: console: struct ports for multiple ports per device. Rather than assume a single port, add a 'struct ports_device' which stores data related to all the ports for that device. Currently, there's only one port and is hooked up with hvc, but that will change. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit d8a02bd58ab6da4495a2d1af74d980c217e9abcf Author: Rusty Russell Date: Mon Jan 18 19:15:06 2010 +0530 virtio: console: remove global var Now we can use an allocation function to remove our global console variable. Signed-off-by: Rusty Russell Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 38edf58d73c28b082ec808aecdeb0ef2b92af049 Author: Amit Shah Date: Mon Jan 18 19:15:05 2010 +0530 virtio: console: don't assume a single console port. Keep a list of all ports being used as a console, and provide a lock and a lookup function. The hvc callbacks only give us a vterm number, so we need to map this. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 73954488b1cc74cf46d6b94b8d3175f45496bd32 Author: Rusty Russell Date: Mon Jan 18 19:15:04 2010 +0530 virtio: console: use vdev->priv to avoid accessing global var. Part of removing our "one console" assumptions, use vdev->priv to point to the port (currently == the global console). Signed-off-by: Rusty Russell Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit a3cde44908429e52b2ec052ad5a70ef60e1f2d56 Author: Amit Shah Date: Mon Jan 18 19:15:03 2010 +0530 virtio: console: introduce a get_inbuf helper to fetch bufs from in_vq This makes taking locks around the get_buf vq operation easier, as well as complements the add_inbuf() operation. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit e27b519807e04d950802cb89f7b22933d8d2f837 Author: Amit Shah Date: Mon Jan 18 19:15:02 2010 +0530 virtio: console: ensure add_inbuf can work for multiple ports as well add_inbuf() assumed one port and one inbuf per port. Remove that assumption. Also move the function so that put_chars and get_chars are together. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit fdb9a054554e1e435e927c9a47a999f026abd408 Author: Amit Shah Date: Mon Jan 18 19:15:01 2010 +0530 virtio: console: encapsulate buffer information in a struct Collect port buffer, used_len, offset fields into a single structure. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 21206ede8826fd9d2eb72e05b429f3ccb1bdaff5 Author: Rusty Russell Date: Mon Jan 18 19:15:00 2010 +0530 virtio: console: port encapsulation We are heading towards a multiple-"port" system, so as part of weaning off globals we encapsulate the information into 'struct port'. Signed-off-by: Rusty Russell Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit f550804ab92e37a08d2622522a0f11252a2158ea Author: Amit Shah Date: Mon Jan 18 19:14:59 2010 +0530 virtio: console: We support only one device at a time We support only one virtio_console device at a time. If multiple are found, error out if one is already initialized. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 1dff399616a79b8ef5d61ad68f2ef1e1f590b465 Author: Rusty Russell Date: Sat Nov 28 12:20:26 2009 +0530 hvc_console: make the ops pointer const. This is nicer for modern R/O protection. And noone needs it non-const, so constify the callers as well. Signed-off-by: Rusty Russell Signed-off-by: Amit Shah To: Christian Borntraeger Cc: linuxppc-dev@ozlabs.org commit 971f3390003619ea4ac0b20ee93dfd3209025790 Author: Rusty Russell Date: Mon Jan 18 19:14:56 2010 +0530 virtio: console: statically initialize virtio_cons That way, we can make it const as is good kernel style. We use a separate indirection for the early console, rather than mugging ops.put_chars. We rename it hv_ops, too. Signed-off-by: Rusty Russell Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit a23ea92474e558b071d3e43d961ec767c31faebd Author: Rusty Russell Date: Mon Jan 18 19:14:55 2010 +0530 virtio: console: comment cleanup Remove old lguest-style comments. [Amit: - wingify comments acc. to kernel style - indent comments ] Signed-off-by: Rusty Russell Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 3b8706240ee6084ccb46e53cd3a554356b7eeec8 Author: Amit Shah Date: Fri Feb 12 10:32:14 2010 +0530 virtio: Initialize vq->data entries to NULL vq operations depend on vq->data[i] being NULL to figure out if the vq entry is in use (since the previous patch). We have to initialize them to NULL to ensure we don't work with junk data and trigger false BUG_ONs. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell Cc: Shirley Ma commit c021eac4148c16bf53baa0dd14e8ebee6f39dab5 Author: Shirley Ma Date: Mon Jan 18 19:15:23 2010 +0530 virtio: Add ability to detach unused buffers from vrings There's currently no way for a virtio driver to ask for unused buffers, so it has to keep a list itself to reclaim them at shutdown. This is redundant, since virtio_ring stores that information. So add a new hook to do this. Signed-off-by: Shirley Ma Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 69740c8ba878f58bc3c71f74618fc2cd1da990da Author: Christoph Hellwig Date: Wed Feb 24 14:22:25 2010 -0600 virtio_blk: add block topology support Allow reading various alignment values from the config page. This allows the guest to much better align I/O requests depending on the storage topology. Note that the formats for the config values appear a bit messed up, but we follow the formats used by ATA and SCSI so they are expected in the storage world. Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell commit d57ed95da483418e8b0433da693c9168dd0a2df6 Author: Michael S. Tsirkin Date: Thu Jan 28 00:42:23 2010 +0200 virtio: use smp_XX barriers on SMP virtio is communicating with a virtual "device" that actually runs on another host processor. Thus SMP barriers can be used to control memory access ordering. Where possible, we should use SMP barriers which are more lightweight than mandatory barriers, because mandatory barriers also control MMIO effects on accesses through relaxed memory I/O windows (which virtio does not use) (compare specifically smp_rmb and rmb on x86_64). We can't just use smp_mb and friends though, because we must force memory ordering even if guest is UP since host could be running on another CPU, but SMP barriers are defined to barrier() in that configuration. So, for UP fall back to mandatory barriers instead. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell commit 97a545ab6ce922a0f868d192718a48a0091ebc5e Author: Rusty Russell Date: Wed Feb 24 14:22:22 2010 -0600 virtio: remove bogus barriers from DEBUG version of virtio_ring.c With DEBUG defined, we add an ->in_use flag to detect if the caller invokes two virtio methods in parallel. The barriers attempt to ensure timely update of the ->in_use flag. But they're voodoo: if we need these barriers it implies that the calling code doesn't have sufficient synchronization to ensure the code paths aren't invoked at the same time anyway, and we want to detect it. Also, adding barriers changes timing, so turning on debug has more chance of hiding real problems. Thanks to MST for drawing my attention to this code... CC: Michael S. Tsirkin Signed-off-by: Rusty Russell commit 28ff4ef71795fe6f6c0cc06a04911c9ca09c2c11 Author: Rusty Russell Date: Wed Feb 24 14:22:18 2010 -0600 lguest: remove unneeded zlib.h include in example launcher Two years ago 5bbf89fc2608 removed the horrible bzImage unpacking code. Now it's time to remove the unneeded zlib.h include, too. Signed-off-by: Rusty Russell commit 169c246a30808588436794e96a97c61a01af9bed Author: Rusty Russell Date: Wed Feb 24 14:22:14 2010 -0600 virtio: fix balloon without VIRTIO_BALLOON_F_STATS_VQ When running under qemu-kvm-0.11.0: BUG: unable to handle kernel paging request at 56e58955 ... Process vballoon (pid: 1297, ti=c7976000 task=c70a6ca0 task.ti=c7 ... Call Trace: [] ? balloon+0x1b3/0x440 [virtio_balloon] [] ? schedule+0x327/0x9d0 [] ? balloon+0x0/0x440 [virtio_balloon] [] ? kthread+0x74/0x80 [] ? kthread+0x0/0x80 [] ? kernel_thread_helper+0x6/0x30 need_stats_update should be zero-initialized. Signed-off-by: Rusty Russell Acked-by: Adam Litke commit 1f34c71afe5115e77a49c4e67720a66e27053e54 Author: Adam Litke Date: Thu Dec 10 16:35:15 2009 -0600 virtio: Fix scheduling while atomic in virtio_balloon stats This is a fix for my earlier patch: "virtio: Add memory statistics reporting to the balloon driver (V4)". I discovered that all_vm_events() can sleep and therefore stats collection cannot be done in interrupt context. One solution is to handle the interrupt by noting that stats need to be collected and waking the existing vballoon kthread which will complete the work via stats_handle_request(). Rusty, is this a saner way of doing business? There is one issue that I would like a broader opinion on. In stats_request, I update vb->need_stats_update and then wake up the kthread. The kthread uses vb->need_stats_update as a condition variable. Do I need a memory barrier between the update and wake_up to ensure that my kthread sees the correct value? My testing suggests that it is not needed but I would like some confirmation from the experts. Signed-off-by: Adam Litke To: Rusty Russell Cc: Anthony Liguori Cc: linux-kernel@vger.kernel.org Signed-off-by: Rusty Russell commit 9564e138b1f6eb137f7149772438d3f3fb3277dd Author: Adam Litke Date: Mon Nov 30 10:14:15 2009 -0600 virtio: Add memory statistics reporting to the balloon driver (V4) Changes since V3: - Do not do endian conversions as they will be done in the host - Report stats that reference a quantity of memory in bytes - Minor coding style updates Changes since V2: - Increase stat field size to 64 bits - Report all sizes in kb (not pages) - Drop anon_pages stat and fix endianness conversion Changes since V1: - Use a virtqueue instead of the device config space When using ballooning to manage overcommitted memory on a host, a system for guests to communicate their memory usage to the host can provide information that will minimize the impact of ballooning on the guests. The current method employs a daemon running in each guest that communicates memory statistics to a host daemon at a specified time interval. The host daemon aggregates this information and inflates and/or deflates balloons according to the level of host memory pressure. This approach is effective but overly complex since a daemon must be installed inside each guest and coordinated to communicate with the host. A simpler approach is to collect memory statistics in the virtio balloon driver and communicate them directly to the hypervisor. This patch enables the guest-side support by adding stats collection and reporting to the virtio balloon driver. Signed-off-by: Adam Litke Cc: Anthony Liguori Cc: virtualization@lists.linux-foundation.org Signed-off-by: Rusty Russell (minor fixes) commit 1f08b833ddbdb1c8e81c4b1053c2ebb7b89cb437 Author: Jamie Lokier Date: Fri Jan 8 22:01:43 2010 +0000 Add __devexit_p around reference to virtio_pci_remove This is needed to compile with CONFIG_VIRTIO_PCI=y, because virtio_pci_remove is marked __devexit. Signed-off-by: Jamie Lokier Signed-off-by: Rusty Russell commit 6dbbe14f21368a45aedba7eab0221857b8ad8d16 Author: Suresh Siddha Date: Mon Feb 22 14:51:34 2010 -0800 x86, ptrace: Remove set_stopped_child_used_math() in [x]fpregs_set init_fpu() already ensures that the used_math() is set for the stopped child. Remove the redundant set_stopped_child_used_math() in [x]fpregs_set() Reported-by: Oleg Nesterov Signed-off-by: Suresh Siddha LKML-Reference: <20100222225240.642169080@sbs-t61.sc.intel.com> Acked-by: Rolan McGrath Signed-off-by: H. Peter Anvin commit ff7fbc72e0c3ef7e94a27a3a918fd09ec9a30204 Author: Suresh Siddha Date: Mon Feb 22 14:51:33 2010 -0800 x86, ptrace: Simplify xstateregs_get() 48 bytes (bytes 464..511) of the xstateregs payload come from the kernel defined structure (xstate_fx_sw_bytes). Rest comes from the xstate regs structure in the thread struct. Instead of having multiple user_regset_copyout()'s, simplify the xstateregs_get() by first copying the SW bytes into the xstate regs structure in the thread structure and then using one user_regset_copyout() to copyout the xstateregs. Requested-by: Roland McGrath Signed-off-by: Suresh Siddha LKML-Reference: <20100222225240.494688491@sbs-t61.sc.intel.com> Acked-by: Roland McGrath Signed-off-by: H. Peter Anvin Cc: Oleg Nesterov commit c6a0dd7ec6fb2d4927979ed4dc562fc5c122d826 Author: Suresh Siddha Date: Mon Feb 22 14:51:32 2010 -0800 ptrace: Fix ptrace_regset() comments and diagnose errors specifically Return -EINVAL for the bad size and for unrecognized NT_* type in ptrace_regset() instead of -EIO. Also update the comments for this ptrace interface with more clarifications. Requested-by: Roland McGrath Requested-by: Oleg Nesterov Signed-off-by: Suresh Siddha LKML-Reference: <20100222225240.397523600@sbs-t61.sc.intel.com> Acked-by: Roland McGrath Signed-off-by: H. Peter Anvin commit 266fe2f217d1dc9f8041e395c0ab4569a5bad91a Author: Tom Zanussi Date: Wed Jan 27 02:27:56 2010 -0600 perf/scripts: Remove check-perf-trace from listed scripts The check-perf-trace script only checks Perl functionality, and doesn't really need to be listed as as user script anyway. This only removes the '-report' shell script, so although it doesn't appear in the listing, the '-record' shell script and the check perf trace perl script itself is still available and can still be run manually as such: $ libexec/perf-core/scripts/perl/bin/check-perf-trace-record $ perf trace -s libexec/perf-core/scripts/perl/check-perf-trace.pl Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-6-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit 82d156cd5e817055c63ec50247a425c195f4cb14 Author: Tom Zanussi Date: Wed Jan 27 02:27:55 2010 -0600 perf/scripts: Move Perl scripting files to scripting-engines dir Create a scripting-engines directory to contain scripting engine implementation code, in anticipation of the addition of new scripting support. Also removes trace-event-perl.h. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-5-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit 7397d80ddde8eef3b1dce6c29e0c53bd322ef824 Author: Tom Zanussi Date: Wed Jan 27 02:27:54 2010 -0600 perf/scripts: Move common code out of Perl-specific files This stuff is needed by all scripting engines; move it from the Perl engine source to a more common place. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-4-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit e26207a3819684e9b4450a2d30bdd065fa92d9c7 Author: Tom Zanussi Date: Wed Jan 27 02:27:53 2010 -0600 perf/scripts: Fix bug in Util.pm Fix bogus calculation. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-3-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit f526d68b6ce9ba7a2bd94e663e240a022524c58a Author: Tom Zanussi Date: Wed Jan 27 02:27:52 2010 -0600 perf/scripts: Fix supported language listing option 'perf trace -s list' prints a list of the supported scripting languages. One problem with it is that it falls through and prints the trace as well. The use of 'list' for this also makes it easy to confuse with 'perf trace -l', used for listing available scripts. So change 'perf trace -s list' to 'perf trace -s lang' and fixes the fall-through problem. Signed-off-by: Tom Zanussi Cc: Ingo Molnar Cc: Steven Rostedt Cc: Keiichi KII Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo LKML-Reference: <1264580883-15324-2-git-send-email-tzanussi@gmail.com> Signed-off-by: Frederic Weisbecker commit 5e6dbc260704ce4d22fc9664f517f0bb6748feaa Author: Roland McGrath Date: Mon Feb 22 10:37:07 2010 -0800 parisc: Disable CONFIG_HAVE_ARCH_TRACEHOOK > FYI, this commit broke tip:master on PARISC (other architectures are fine): > > kernel/built-in.o: In function `ptrace_request': > (.text.ptrace_request+0x2cc): undefined reference to `task_user_regset_view' This means that parisc failed to meet the documented requirements for setting CONFIG_HAVE_ARCH_TRACEHOOK, but set it anyway. If arch folks don't follow the specs, it defeats the whole purpose of having clear statements of requirements for arch code. Until parisc finishes up its requirements, disable CONFIG_HAVE_ARCH_TRACEHOOK. Signed-off-by: H. Peter Anvin LKML-Reference: <20100222183707.8749D64C@magilla.sf.frob.com> Cc: Cc: Kyle McMartin Cc: Helge Deller Cc: James E.J. Bottomley commit 7bc5e3f2be32ae6fb0c74cd0f707f986b3a01a26 Author: Bjorn Helgaas Date: Tue Feb 23 10:24:41 2010 -0700 x86/PCI: use host bridge _CRS info by default on 2008 and newer machines The main benefit of using ACPI host bridge window information is that we can do better resource allocation in systems with multiple host bridges, e.g., http://bugzilla.kernel.org/show_bug.cgi?id=14183 Sometimes we need _CRS information even if we only have one host bridge, e.g., https://bugs.launchpad.net/ubuntu/+source/linux/+bug/341681 Most of these systems are relatively new, so this patch turns on "pci=use_crs" only on machines with a BIOS date of 2008 or newer. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 2fe2abf896c1e7a0ee65faaf3ef0ce654848abbd Author: Bjorn Helgaas Date: Tue Feb 23 10:24:36 2010 -0700 PCI: augment bus resource table with a list Previously we used a table of size PCI_BUS_NUM_RESOURCES (16) for resources forwarded to a bus by its upstream bridge. We've increased this size several times when the table overflowed. But there's no good limit on the number of resources because host bridges and subtractive decode bridges can forward any number of ranges to their secondary buses. This patch reduces the table to only PCI_BRIDGE_RESOURCE_NUM (4) entries, which corresponds to the number of windows a PCI-to-PCI (3) or CardBus (4) bridge can positively decode. Any additional resources, e.g., PCI host bridge windows or subtractively-decoded regions, are kept in a list. I'd prefer a single list rather than this split table/list approach, but that requires simultaneous changes to every architecture. This approach only requires immediate changes where we set up (a) host bridges with more than four windows and (b) subtractive-decode P2P bridges, and we can incrementally change other architectures to use the list. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 89a74ecccd1f78e51faf6287e5c0e93a92ac096e Author: Bjorn Helgaas Date: Tue Feb 23 10:24:31 2010 -0700 PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs No functional change; this converts loops that iterate from 0 to PCI_BUS_NUM_RESOURCES through pci_bus resource[] table to use the pci_bus_for_each_resource() iterator instead. This doesn't change the way resources are stored; it merely removes dependencies on the fact that they're in a table. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 2adf75160b10bf3f09ed7d3d04e937f923fc557e Author: Bjorn Helgaas Date: Tue Feb 23 10:24:26 2010 -0700 PCI: read bridge windows before filling in subtractive decode resources No functional change; this fills in the bus subtractive decode resources after reading the bridge window information rather than before. Also, print out the subtractive decode resources as we already do for the positive decode windows. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit fa27b2d108fa49685129867a8c5b968344d6e197 Author: Bjorn Helgaas Date: Tue Feb 23 10:24:21 2010 -0700 PCI: split up pci_read_bridge_bases() No functional change; this breaks up pci_read_bridge_bases() into separate pieces for the I/O, memory, and prefetchable memory windows, similar to how Yinghai recently split up pci_setup_bridge() in 68e84ff3bdc. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 94ea5e449ae834af058ef005d16a8ad44fcf13d6 Author: Paul Mundt Date: Tue Feb 23 12:56:30 2010 +0900 sh: wire up SET/GET_UNALIGN_CTL. This hooks up the SET/GET_UNALIGN_CTL knobs cribbing the bulk of it from the PPC and ia64 implementations. The thread flags happen to be the logical inverse of what the global fault mode is set to, so this works out pretty cleanly. By default the global fault mode is used, with tasks now being able to override their own settings via prctl(). Signed-off-by: Paul Mundt commit 7c1b2c6890a1a033dde4f6991c0a1fcd69cf58ce Author: Paul Mundt Date: Tue Feb 23 11:48:50 2010 +0900 sh: allow alignment fault mode to be configured at kernel boot. Follow the ARM change, which is what our alignment helpers are based on in the first place. Signed-off-by: Paul Mundt commit b16694f70c40ea8d539cdc93a422039771e85870 Author: Kenji Kaneshige Date: Mon Feb 22 14:13:39 2010 +0900 PCIe PME: use pci_pcie_cap() Use pci_pcie_cap() instead of pci_find_capability() to get PCIe capability offset. This reduces redundant search in PCI configuration space. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6cbf82148ff286ec22a55be6836c3a5bffc489c1 Author: Rafael J. Wysocki Date: Wed Feb 17 23:44:58 2010 +0100 PCI PM: Run-time callbacks for PCI bus type Introduce run-time PM callbacks for the PCI bus type. Make the new callbacks work in analogy with the existing system sleep PM callbacks, so that the drivers already converted to struct dev_pm_ops can use their suspend and resume routines for run-time PM without modifications. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 552be54cc4232dc5acc49ccb372129d6f1b6923f Author: Kenji Kaneshige Date: Mon Feb 22 14:12:24 2010 +0900 PCIe PME: use pci_is_pcie() Use pci_is_pcie() instead of looking at obsolete is_pcie field in struct pci_dev. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b67ea76172d4b1922c4b3c46c8ea8e9fec1ff38c Author: Rafael J. Wysocki Date: Wed Feb 17 23:44:09 2010 +0100 PCI / ACPI / PM: Platform support for PCI PME wake-up Although the majority of PCI devices can generate PMEs that in principle may be used to wake up devices suspended at run time, platform support is generally necessary to convert PMEs into wake-up events that can be delivered to the kernel. If ACPI is used for this purpose, PME signals generated by a PCI device will trigger the ACPI GPE associated with the device to generate an ACPI wake-up event that we can set up a handler for, provided that everything is configured correctly. Unfortunately, the subset of PCI devices that have GPEs associated with them is quite limited. The devices without dedicated GPEs have to rely on the GPEs associated with other devices (in the majority of cases their upstream bridges and, possibly, the root bridge) to generate ACPI wake-up events in response to PME signals from them. Add ACPI platform support for PCI PME wake-up: o Add a framework making is possible to use ACPI system notify handlers for run-time PM. o Add new PCI platform callback ->run_wake() to struct pci_platform_pm_ops allowing us to enable/disable the platform to generate wake-up events for given device. Implemet this callback for the ACPI platform. o Define ACPI wake-up handlers for PCI devices and PCI root buses and make the PCI-ACPI binding code register wake-up notifiers for all PCI devices present in the ACPI tables. o Add function pci_dev_run_wake() which can be used by PCI drivers to check if given device is capable of generating wake-up events at run time. Developed in cooperation with Matthew Garrett . Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 3f0be67188c60ebf1b5d00354b44b4b24f5af313 Author: Rafael J. Wysocki Date: Wed Feb 17 23:42:59 2010 +0100 ACPI / ACPICA: Multiple system notify handlers per device Currently it only is possible to install one system notify handler per namespace node, but this is not enough for PCI run-time power management, because we need to install power management notifiers for devices that already have hotplug notifiers installed. While in principle this could be handled at the PCI level, that would be suboptimal due to the way in which the ACPI-based PCI hotplug code is designed. For this reason, modify ACPICA so that it is possible to install more than one system notify handler per namespace node. Namely, make acpi_install_notify_handler(), acpi_remove_notify_handler() and acpi_ev_notify_dispatch() use a list of system notify handler objects associated with a namespace node. Make acpi_remove_notify_handler() call acpi_os_wait_events_complete() upfront to avoid a situation in which concurrent instance of acpi_remove_notify_handler() removes the handler from under us while we're waiting for the event queues to flush. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit f517709d65beed95f52f021b43e3035b52ef791a Author: Rafael J. Wysocki Date: Wed Feb 17 23:41:49 2010 +0100 ACPI / PM: Add more run-time wake-up fields Use the run_wake flag to mark all devices for which run-time wake-up events may be generated by the platform. Introduce a new wake-up flag, always_enabled, for marking devices that should be permanently enabled to generate run-time events. Also, introduce a reference counter for run-wake devices and a function that will initialize all of the run-time wake-up fields for given device. Signed-off-by: Rafael J. Wysocki Acked-by: Len Brown Signed-off-by: Jesse Barnes commit 9630bdd9b15d2f489c646d8bc04b60e53eb5ec78 Author: Rafael J. Wysocki Date: Wed Feb 17 23:41:07 2010 +0100 ACPI: Use GPE reference counting to support shared GPEs ACPI GPEs may map to multiple devices. The current GPE interface only provides a mechanism for enabling and disabling GPEs, making it difficult to change the state of GPEs at runtime without extensive cooperation between devices. Add an API to allow devices to indicate whether or not they want their device's GPE to be enabled for both runtime and wakeup events. Remove the old GPE type handling entirely, which gets rid of various quirks, like the implicit disabling with GPE type setting. This requires a small amount of rework in order to ensure that non-wake GPEs are enabled by default to preserve existing behaviour. Based on patches from Matthew Garrett . Signed-off-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit c39fae1416d59fd565606793f090cebe3720d50d Author: Rafael J. Wysocki Date: Wed Feb 17 23:40:07 2010 +0100 PCI PM: Make it possible to force using INTx for PCIe PME signaling Apparently, some machines may have problems with PCI run-time power management if MSIs are used for the native PCIe PME signaling. In particular, on the MSI Wind U-100 PCIe PME interrupts are not generated by a PCIe root port after a resume from suspend to RAM, if the system wake-up was triggered by a PME from the device attached to this port. [It doesn't help to free the interrupt on suspend and request it back on resume, even if that is done along with disabling the MSI and re-enabling it, respectively.] However, if INTx interrupts are used for this purpose on the same machine, everything works just fine. For this reason, add a kernel command line switch allowing one to request that MSIs be not used for the native PCIe PME signaling, introduce a DMI table allowing us to blacklist machines that need this switch to be set by default and put the MSI Wind U-100 into this table. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit c7f486567c1d0acd2e4166c47069835b9f75e77b Author: Rafael J. Wysocki Date: Wed Feb 17 23:39:08 2010 +0100 PCI PM: PCIe PME root port service driver PCIe native PME detection mechanism is based on interrupts generated by root ports or event collectors every time a PCIe device sends a PME message upstream. Once a PME message has been sent by an endpoint device and received by its root port (or event collector in the case of root complex integrated endpoints), the Requester ID from the message header is registered in the root port's Root Status register. At the same time, the PME Status bit of the Root Status register is set to indicate that there's a PME to handle. If PCIe PME interrupt is enabled for the root port, it generates an interrupt once the PME Status has been set. After receiving the interrupt, the kernel can identify the PCIe device that generated the PME using the Requester ID from the root port's Root Status register. [For details, see PCI Express Base Specification, Rev. 2.0.] Implement a driver for the PCIe PME root port service working in accordance with the above description. Based on a patch from Shaohua Li . Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 58ff463396ad00828e922d50998787e97fd32512 Author: Rafael J. Wysocki Date: Wed Feb 17 23:36:58 2010 +0100 PCI PM: Add function for checking PME status of devices Add function pci_check_pme_status() that will check the PME status bit of given device and clear it along with the PME enable bit. It will be necessary for PCI run-time power management. Based on a patch from Shaohua Li Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 6d3be84aab461815978d970aa45f5bc9e52dd772 Author: Kenji Kaneshige Date: Tue Feb 9 12:21:27 2010 +0900 PCI: mark is_pcie obsolete The "is_pcie" field in struct pci_dev is no longer needed because struct pci_dev has PCIe capability offset in "pcie_cap" field and (pcie_cap != 0) means the device is PCIe capable. This patch marks "is_pcie" fields obsolete. Current users of "is_pcie" field are: - drivers/ssb/scan.c - drivers/net/wireless/ath/ath9k/pci.c - drivers/net/wireless/ath/ath5k/attach.c - drivers/net/wireless/ath/ath5k/reset.c - drivers/acpi/hest.c - drivers/pci/pcie/pme/pcie_pme.c Will post patches for each to use pci_is_pcie() as a follow-up. Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 9958610552c0bd7558b41cb8addbd865587f142a Author: Yinghai Lu Date: Fri Jan 22 01:02:28 2010 -0800 PCI: set PCI_PREF_RANGE_TYPE_64 in pci_bridge_check_ranges Make pci_bridge_check_ranges() store the PCI_PREF_RANGE_TYPE_64 in addition to IORESOURCE_MEM_64. Just like pci_read_bridge_bases(). Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 32180e402f9ff1f3389c99edf3f393425e706080 Author: Yinghai Lu Date: Fri Jan 22 01:02:27 2010 -0800 PCI: pciehp: second try to get big range for pcie devices Handle the case where the slot bridge that doesn't get a pre-allocated resource big enough to handle its child resources.. For example pcie devices need 256M, but the bridge only gets 2M preallocated. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 9789ac979b6b6ae6cc09f7b29c88e95ecb14ec39 Author: Yinghai Lu Date: Fri Jan 22 01:02:26 2010 -0800 PCI: pciehp: cleanup flow in pciehp_configure_device Move bus_size_bridges and assign resources out of pciehp_add_bridge() and do them all together, one time, including slot bridge, to avoid to calling assign resources several times when there are several bridges under the slot bridge. Using pci_assign_unassigned_bridge_resources. Signed-off-by: Yinghai Lu Reviewed-by: Alex Chiang Signed-off-by: Jesse Barnes commit 6841ec681a88b66651e4563040b9c7a7ad25d7b5 Author: Yinghai Lu Date: Fri Jan 22 01:02:25 2010 -0800 PCI: introduce pci_assign_unassigned_bridge_resources For use by pciehp. pci_setup_bridge() will not check enabled for the slot bridge, otherwise update res is not updated to bridge BAR. That is, bridge is already enabled for port service. Signed-off-by: Yinghai Lu Reviewed-by: Alex Chiang Signed-off-by: Jesse Barnes commit 977d17bb1749517b353874ccdc9b85abc7a58c2a Author: Yinghai Lu Date: Fri Jan 22 01:02:24 2010 -0800 PCI: update bridge resources to get more big ranges in PCI assign unssigned BIOS separates IO ranges between several IOHs, and on some slots, BIOS assigns resources to a bridge, but stops assigning resources to the device under that bridge, because the device needs a big resource. So: 1. allocate resources and record the failed device resources 2. clear the BIOS assigned resources of the parent bridge of failing device 3. go back and call pci assign unassigned 4. if it still fails, go up the tree, clear more bridges. and try again Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit d65245c3297ac63abc51a976d92f45f2195d2854 Author: Yinghai Lu Date: Fri Jan 22 01:02:23 2010 -0800 PCI: don't shrink bridge resources When clearing leaf bridge resources, trying to get a big enough one, we could shrink the bridge if there is no resource under it. Confirm against the old resource side to make sure we're increasing the allocation. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit cd81e1ea1a4cda94aa5f3e942301cf0da497c262 Author: Yinghai Lu Date: Fri Jan 22 01:02:22 2010 -0800 PCI: reject mmio ranges starting at 0 on pci_bridge read We already track unassigned resources in struct resource, and this prevents us from overwriting resource flags and info in the unassigned case. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 568ddef8735d4a51a521ba6af026ee0c32281566 Author: Yinghai Lu Date: Fri Jan 22 01:02:21 2010 -0800 PCI: add failed_list to pci_bus_assign_resources This allows us to track failed allocations for later re-trying with reallocation. Signed-off-by: Yinghai Lu Reviewed-by: Alex Chiang Signed-off-by: Jesse Barnes commit 5009b46025acb2d3955d2c93574604fba667ef39 Author: Yinghai Lu Date: Fri Jan 22 01:02:20 2010 -0800 PCI: add pci_bridge_release_resources and pci_bus_release_bridge_resources We use this in later patches to free resrouce ranges for reassignment in an effort to support a wider variety of PCI topologies. Signed-off-by: Yinghai Lu Reviewed-by: Alex Chiang Signed-off-by: Jesse Barnes commit ba02b242bbf8e4e1bc63d62e8ccec33b4e5ea132 Author: Andrew Morton Date: Tue Feb 2 14:45:54 2010 -0800 PCI hotplug: check ioremap() return value in ibmphp_ebda.c check ioremap() return value. Cc: Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit 939fdc67350e15aeeea70457d5b4bc1116bb4fd5 Author: Randy Dunlap Date: Thu Feb 4 12:12:23 2010 -0800 PCI hotplug: fix ibmphp build error Add header file to fix build error: drivers/pci/hotplug/ibmphp_hpc.c:135: error: implicit declaration of function 'init_MUTEX' drivers/pci/hotplug/ibmphp_hpc.c:136: error: implicit declaration of function 'init_MUTEX_LOCKED' drivers/pci/hotplug/ibmphp_hpc.c:797: error: implicit declaration of function 'down' drivers/pci/hotplug/ibmphp_hpc.c:807: error: implicit declaration of function 'up' Signed-off-by: Randy Dunlap Signed-off-by: Jesse Barnes commit 4fb88c1a28a8dc302bdc09858e7cdafc97bef794 Author: Matthew Wilcox Date: Sun Jan 17 14:01:41 2010 -0700 PCI: Make pci_scan_slot more robust Yinghai pointed out that the new pci_scan_slot() crashes when called on an ARI-capable slot that is empty. Fix this by exiting early from pci_scan_slot if there is no device in the slot. Also make next_ari_func() robust against devices not existing in case the ARI capability is corrupt. ARI also requires that the devices be listed in order, so if we find a function listed that is out of order, stop scanning to prevent loops. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 0bf01c3c86d4b9ea279d6215420484db887f5db5 Author: Jiri Slaby Date: Wed Jan 20 14:15:54 2010 +0100 PCI: hotplug/cpcihp, fix pci device refcounting Stanse found an ommitted pci_dev_put on one error path in cpcihp_generic_init. The path is taken on !dev, but also when dev->hdr_type != PCI_HEADER_TYPE_BRIDGE. However it omits to pci_dev_put on the latter. As it is fine to pass NULL to pci_dev_put, put it in there uncoditionally. Signed-off-by: Jiri Slaby Cc: Scott Murray Signed-off-by: Jesse Barnes commit 41a68a748bbc61f5bcea999e33ba72926dfbe6f7 Author: Tilman Schmidt Date: Mon Jan 18 17:24:10 2010 +0100 PCI: push deprecated pci_find_device() function to last user The ISDN4Linux HiSax driver family contains the last remaining users of the deprecated pci_find_device() function. This patch creates a private copy of that function in HiSax, and removes the now unused global function together with its controlling configuration option, CONFIG_PCI_LEGACY. Signed-off-by: Tilman Schmidt Signed-off-by: Jesse Barnes commit 7c9342b8dd1a32386fc32bffb9eedebbfe264763 Author: Yinghai Lu Date: Tue Dec 22 15:02:24 2009 -0800 PCI: don't dump resource when bus resource flags indicates unused Don't print out resources without flags to avoid cluttering up the debug output. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 5eeec0ec931a01e85b3701ce121b7d8a1800ec60 Author: Yinghai Lu Date: Tue Dec 22 15:02:22 2009 -0800 resource: add release_child_resources Useful for freeing a portion of the resource tree, e.g. when trying to reallocate resources more efficiently. Signed-off-by: Yinghai Lu Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit 7cc5997d1dada3bdeed95a59c2f4f6c66cbb0767 Author: Yinghai Lu Date: Tue Dec 22 15:02:21 2009 -0800 PCI: separate pci_setup_bridge to small functions This is a good cleanup in itself, and makes it easier to modify specific resource types in later code. Signed-off-by: Yinghai Lu Acked-by: Linus Torvalds Signed-off-by: Jesse Barnes commit b0fc889c4311835ae7d02f433154bc20cad9ee11 Author: Chandru Date: Mon Jan 11 11:49:21 2010 +0530 PCI hotplug: ibmphp: read the length of ebda and map entire ebda region ibmphp driver currently maps only 1KB of ebda memory area into kernel address space during driver initialization. This causes kernel oops when the driver is modprobe'd and it accesses memory beyond 1KB within ebda segment. The first byte of ebda segment actually stores the length of the ebda region in Kilobytes. Hence make use of the length parameter and map the entire ebda region. Signed-off-by: Chandru Siddalingappa Signed-off-by: Jesse Barnes commit 6fcaf17ac7a512227112ac81c0e1a5862bab57a6 Author: Jiri Slaby Date: Wed Jan 6 17:47:56 2010 +0100 PCI hotplug: fix memory leaks Stanse found a cut&pasted memory leak in pciehp_queue_pushbutton_work and shpchp_queue_pushbutton_work. info is not freed/assigned on all paths. Fix that. Reviewed-by: Kenji Kaneshige Signed-off-by: Jiri Slaby Signed-off-by: Jesse Barnes commit 3b7a17fcdae532d29dffab9d564a28be08960988 Author: Dominik Brodowski Date: Fri Jan 1 17:40:50 2010 +0100 resource/PCI: mark struct resource as const Now that we return the new resource start position, there is no need to update "struct resource" inside the align function. Therefore, mark the struct resource as const. Cc: Bjorn Helgaas Cc: Yinghai Lu Signed-off-by: Dominik Brodowski Signed-off-by: Jesse Barnes commit b26b2d494b659f988b4d75eb394dfa0ddac415c9 Author: Dominik Brodowski Date: Fri Jan 1 17:40:49 2010 +0100 resource/PCI: align functions now return start of resource As suggested by Linus, align functions should return the start of a resource, not void. An update of "res->start" is no longer necessary. Cc: Bjorn Helgaas Cc: Yinghai Lu Signed-off-by: Dominik Brodowski Signed-off-by: Jesse Barnes commit 93da6202264ce1256b04db8008a43882ae62d060 Author: Seth Heasley Date: Tue Jan 12 16:56:37 2010 -0800 x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs This patch adds the Intel Cougar Point (PCH) LPC and SMBus Controller DeviceIDs. Signed-off-by: Seth Heasley Signed-off-by: Jesse Barnes commit 93177a748ba0d4f3d3e51c8e6c785773bf6a70df Author: Rafael J. Wysocki Date: Sat Jan 2 22:57:24 2010 +0100 PCI: Clean up build for CONFIG_PCI_QUIRKS unset Currently, drivers/pci/quirks.c is built unconditionally, but if CONFIG_PCI_QUIRKS is unset, the only things actually built in this file are definitions of global variables and empty functions (due to the #ifdef CONFIG_PCI_QUIRKS embracing all of the code inside the file). This is not particularly nice and if someone overlooks the #ifdef CONFIG_PCI_QUIRKS, build errors are introduced. To clean that up, move the definitions of the global variables in quirks.c that are always built to pci.c, move the definitions of the empty functions (compiled when CONFIG_PCI_QUIRKS is unset) to headers (additionally make these functions static inline) and modify drivers/pci/Makefile so that quirks.c is only built if CONFIG_PCI_QUIRKS is set. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 3804259475314a50e4d7a8a974a22fddb6ac7dd7 Author: Jesse Barnes Date: Mon Jan 4 15:44:10 2010 -0800 PCI hotplug: remove obsolete usage of get_bus_speed from rpaphp hotplug ops No longer needed and causes build breakage. Reported-by: Stephen Rothwell Signed-off-by: Jesse Barnes commit 9dfd97fe12f79ec8b68feb63912a4ef2f31f571a Author: Matthew Wilcox Date: Sun Dec 13 08:11:35 2009 -0500 PCI: Add support for reporting PCIe 3.0 speeds Add the 8.0 GT/s speed. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 45b4cdd57ef0e57555b2ab61b584784819b39365 Author: Matthew Wilcox Date: Sun Dec 13 08:11:34 2009 -0500 PCI: Add support for AGP in cur/max bus speed Take advantage of some gaps in the table to fit in support for AGP speeds. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 9be60ca0497a2563662fde4c9007841c3b79a742 Author: Matthew Wilcox Date: Sun Dec 13 08:11:33 2009 -0500 PCI: Add support for detection of PCIe and PCI-X bus speeds Both PCIe and PCI-X bridges report their secondary bus speed in their respective capabilities. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 3749c51ac6c1560aa1cb1520066bed84c6f8152a Author: Matthew Wilcox Date: Sun Dec 13 08:11:32 2009 -0500 PCI: Make current and maximum bus speeds part of the PCI core Move the max_bus_speed and cur_bus_speed into the pci_bus. Expose the values through the PCI slot driver instead of the hotplug slot driver. Update all the hotplug drivers to use the pci_bus instead of their own data structures. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit 536c8cb49eccd4f753b4782e7e975ef87359cb44 Author: Matthew Wilcox Date: Sun Dec 13 08:11:31 2009 -0500 PCI: Unify pcie_link_speed and pci_bus_speed These enums must not overlap anyway, since we only have a single pci_bus_speed_strings array. Use a single enum, and move it to pci.h. Add 'SPEED' to the pcie names to make it clear what they are. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit f07852d6442c46c50b59c7e2acc8a1b291f9ab6d Author: Matthew Wilcox Date: Sun Dec 13 08:10:02 2009 -0500 PCI: Rewrite pci_scan_slot The Alternate Routing-ID Interpretation capability allows a single device to have up to 256 functions. They can be populated sparsely, so the current technique of scanning every eighth function is not guaranteed to find them all. By introducing a 'next_fn' function pointer, we can use the linked list of functions in the ARI capability to scan all the functions which exist. We can then speed up the pci_scan_slot by skipping the scan of subsequent devfns for PCIe devices which are the direct children of Root Ports or Downstream Ports. These devices are only permitted to implement device 0, unless they are ARI devices, in which case they'll be scanned by the ARI code above. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit e01292b1fd68ff2abe234d584b06e64344d2c1de Author: Heiko Carstens Date: Thu Feb 18 14:25:21 2010 +0100 tracing/kprobes: Add short documentation for HAVE_REGS_AND_STACK_ACCESS_API So that arch developers know how to implement it without the need to dig into changelogs. Reported-by: Mike Frysinger Signed-off-by: Heiko Carstens Acked-by: Masami Hiramatsu Cc: Martin Schwidefsky Cc: "David S . Miller" Cc: Paul Mundt Cc: Steven Rostedt LKML-Reference: <20100218132521.GB2406@osiris.boeblingen.de.ibm.com> [added reference to ptrace.h in the config help] Signed-off-by: Frederic Weisbecker commit 16afc9fb0298a66da25ee015eb3c8a8f55e3744a Author: Kuninori Morimoto Date: Mon Feb 22 05:18:10 2010 +0000 sh: sh7724: Update FSI/SPU2 clock When FSI and Network (= NFS file system) were used at the same time, the I/O of FSI was unstable. This patch updates the SPU2 clock (which is used for FSI) to solve this issue. Special thanks to Jeremy. Signed-off-by: Jeremy Baker Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 6f26d19fce5907cdd0fd953ac1a1d0b1e6e5982c Author: Magnus Damm Date: Fri Feb 19 09:33:47 2010 +0000 sh: always enable sh7724 vpu_clk and set to 166MHz on Ecovec Update the sh7724 processor code to always enable vpu_clk. On the Ecovec board, set the vpu_clk to 166 Mhz. The 166MHz setting results in a divide-by-6 setup for vpu_clk and improves the VPU performance compared to the power-on-reset/bootloader configuration. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7be85c6eb4462cd973e680d9dcf897a7b5b26165 Author: Magnus Damm Date: Fri Feb 19 09:26:56 2010 +0000 sh: add sh7724 kick callback to clk_div4_table This patch adds a ->kick() callback to clk_div4_table and ties it into sh_clk_div4_set_rate(). A sh7724 specific kick function is also added that updates the KICK bit whenever div4 clocks in FRQCRA and FRQCRB have been set. Allows us to set the VPU clock. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0a5f337ecd20e70e84a5cfc0f2c24d0366087026 Author: Magnus Damm Date: Fri Feb 19 09:22:25 2010 +0000 sh: introduce struct clk_div4_table This patch introduces struct clk_div4_table. The structure will be used to keep div4 specific data, and is with this patch replacing the struct clk_div_mult_table pointer arg used by the sh_clk_div4_register() functions. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit de7ca2144c36291a491bd39afad172f56432a4bb Author: Magnus Damm Date: Fri Feb 19 09:12:00 2010 +0000 sh: clock-cpg div4 set_rate() shift fix Make sure the div4 bitfield is shifted according to the enable_bit value in sh_clk_div4_set_rate(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit faa5c5c36ec50bf43e39c7798ce9701e6b002db3 Author: Arnaldo Carvalho de Melo Date: Fri Feb 19 23:02:07 2010 -0200 perf tools: Don't use parent comm if not set at fork time As the parent comm then is worthless, confusing users about the thread where the sample really happened, leading to think that the sample happened in the parent, not where it really happened, in the children of a thread for which a PERF_RECORD_COMM event was not received. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1266627727-19715-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 10fe12ef631a7e85022ed26304a37f033a6a95b8 Author: Arnaldo Carvalho de Melo Date: Sat Feb 20 19:53:13 2010 -0200 perf symbols: Fix up map end too on modular kernels with no modules installed In 2161db9 we stopped failing when not finding modules when asked too, but then the kernel maps (just one, for vmlinux) wasn't having its ->end field correctly set up, so symbols were not being found for the vmlinux map because its range was 0-0. Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1266702793-29434-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8e92dc767abb58357e696a48fc3d8ce615a9c01a Author: H. Peter Anvin Date: Fri Feb 19 13:21:38 2010 -0800 x86, setup: Don't skip mode setting for the standard VGA modes The code for setting standard VGA modes probes for the current mode, and skips the mode setting if the mode is 3 (color text 80x25) or 7 (mono text 80x25). Unfortunately, there are BIOSes, including the VMware BIOS, which report the previous mode if function 0F is queried while the screen is in a VESA mode, and of course, nothing can help a mode poked directly into the hardware. As such, the safe option is to set the mode anyway, and only query to see if we should be using mode 7 rather than mode 3. People who don't want any mode setting at all should probably use vga=0x0f04 (VIDEO_CURRENT_MODE). It's possible that should be the kernel default. Reported-by Rene Arends Signed-off-by: H. Peter Anvin LKML-Reference: commit 77c9cfc51b0d732b2524799810fb30018074fd60 Author: Martin K. Petersen Date: Wed Jan 20 02:20:43 2010 -0500 [SCSI] Fix printing of failed 32-byte commands Having the large CDB allocation logic in sd.c means that scsi_io_completion does not have access to the command buffer. That in turn causes garbage to be printed when a 32-byte command fails. Move the command printing to sd_done where the command buffer is intact. Clear the command buffer pointer after the extended CDB has been freed. Make scsi_print_command ignore commands with NULL CDB pointers to inhibit printing of garbled command strings. Signed-off-by: Martin K. Petersen Reviewed-by: Boaz Harrosh Signed-off-by: James Bottomley commit 8475f688d796b875bf98ed161acd53d00a1483ff Author: Martin K. Petersen Date: Wed Jan 20 02:17:40 2010 -0500 [SCSI] Fix printing of variable length commands We dereferenced the MAINTENANCE IN array when decoding variable length commands. Use the right array. Also consolidate identical if statements below. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit 78d85019ba8c13e1094cad0ea9bb4f61caad8320 Author: Bart Van Assche Date: Wed Dec 9 19:52:19 2009 +0100 [SCSI] libsrp: fix bug in ADDITIONAL CDB LENGTH interpretation Fix a bug in the interpretation of the ADDITIONAL CDB LENGTH (add_cdb_len) field of SRP_CMD requests. According to the SRP specification, the layout of this single-byte field is as follows: * Bits 0 and 1 are reserved. * Bits 2 to 7 represent the ADDITIONAL CDB LENGTH field, symbolically represented as n. * Still according to the SRP specification, the ADDITIONAL CDB section takes 4*n bytes. Currently libsrp is only used by the ibmvscsi driver. Since the ibmvscsi driver doesn't support large CDB's, this bug hasn't caused any problems yet. [jejb: use & ~3 to mask the bits] Signed-off-by: Bart Van Assche Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 22963a37b3437a25812cc856afa5a84ad4a3f541 Author: Brian King Date: Fri Feb 19 10:08:31 2010 -0600 [SCSI] scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list Adds IBM Power Virtual SCSI ALUA devices to the ALUA device handler. Signed-off-by: Brian King Signed-off-by: James Bottomley commit cd4a8814d44672bd2c8f04a472121bfbe193809c Author: Mike Christie Date: Thu Feb 18 17:32:03 2010 -0600 [SCSI] scsi_dh_alua: add netapp to dev list Newer Netapp target software supports ALUA, so this patch adds them to the scsi_dev_alua dev list. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 35b7f0a76bb4307db7bcf9b73c4accf793cd88fa Author: Giridhar Malavali Date: Thu Feb 18 10:07:30 2010 -0800 [SCSI] qla2xxx: Update version number to 8.03.02-k1. Cc: stable@kernel.org Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 8c1496bda8aeeafd78ecf0c25c060b601e58dedf Author: Richard Lary Date: Thu Feb 18 10:07:29 2010 -0800 [SCSI] qla2xxx: EEH: Restore PCI saved state during pci slot reset. Cc: stable@kernel.org Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit ae97c91eb1f139b19c1e7cbc5c1380dae8ad874e Author: Andrew Vasquez Date: Thu Feb 18 10:07:28 2010 -0800 [SCSI] qla2xxx: Add firmware ETS burst support. Can be used to balance NIC/FCoE traffic distribution. Cc: stable@kernel.org Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit bb2d52b2fd8b19355957e34271f79917f69e4059 Author: Andrew Vasquez Date: Thu Feb 18 10:07:27 2010 -0800 [SCSI] qla2xxx: Correct loop-resync issues during SNS scans. Original code could inadvertently skip the post processing of port information returned from the SNS scan, if any link-flopping asynchronous-events were received (noticed in FCAL topologies). Cc: stable@kernel.org Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 715848ca6fffeb6362a50887d9c26245bd5dfba9 Author: Andrew Vasquez Date: Thu Feb 18 10:07:26 2010 -0800 [SCSI] qla2xxx: Correct use-after-free issue in terminate_rport_io callback. The explicit logout (LOGO) issued at the end of the callback will flush (via normal scsi_cmnd->done()) any outstanding commands (FCP2) the firmware is holding. While iterating through the outstanding_cmnd array in qla2x00_abort_fcport_cmds(), locking and unlocking of the hardware spinlock, opens-up the driver to cases where the processed SRB (sp) could be used after the command completed from interrupt context. Cc: stable@kernel.org Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 55e5ed273d758c62d2f1fad47c73716039f7c01c Author: Andrew Vasquez Date: Thu Feb 18 10:07:25 2010 -0800 [SCSI] qla2xxx: Correct EH bus-reset handling. Target-level resets are unlikely to complete if done after the bus (LIP/OLS/NOS) has been reset. Perform target-level resets, if necessary, prior to hitting the bus. Cc: stable@kernel.org Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit db3ad7f8852cfdfa03f72b27472e5a8bc9c1e1cf Author: Giridhar Malavali Date: Thu Feb 18 10:07:24 2010 -0800 [SCSI] qla2xxx: Proper clean-up of BSG requests when request times out. Fix for BSG request cleanup when the request timesout. Proper release of driver resources used for BSG request during timeout cleanup. Cc: stable@kernel.org Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 236b0249c2274cd24bc98a1fbbb5e78d861d4bd9 Author: Sarang Radke Date: Thu Feb 18 10:07:23 2010 -0800 [SCSI] qla2xxx: Initialize payload receive length in failure path of vendor commands Since bsg_job->reply->reply_payload_rcv_len is uninitialized in case of failure, fc-transport triggers a warning for each command failed. Cc: stable@kernel.org Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit eb572a5c7951288e265b3e8f9a5d37b6abb2e996 Author: H. Peter Anvin Date: Thu Feb 18 22:15:04 2010 -0800 x86-64, setup: Inhibit decompressor output if video info is invalid Inhibit output from the kernel decompressor if the video information is invalid. This was already the case for 32 bits, make 64 bits match. Signed-off-by: H. Peter Anvin LKML-Reference: commit cb19060abfdecac0d1eb2d2f0e7d6b7a3f8bc4f4 Author: Borislav Petkov Date: Thu Feb 18 19:37:14 2010 +0100 x86, cacheinfo: Enable L3 CID only on AMD Final stage linking can fail with arch/x86/built-in.o: In function `store_cache_disable': intel_cacheinfo.c:(.text+0xc509): undefined reference to `amd_get_nb_id' arch/x86/built-in.o: In function `show_cache_disable': intel_cacheinfo.c:(.text+0xc7d3): undefined reference to `amd_get_nb_id' when CONFIG_CPU_SUP_AMD is not enabled because the amd_get_nb_id helper is defined in AMD-specific code but also used in generic code (intel_cacheinfo.c). Reorganize the L3 cache index disable code under CONFIG_CPU_SUP_AMD since it is AMD-only anyway. Signed-off-by: Borislav Petkov LKML-Reference: <20100218184210.GF20473@aftab> Signed-off-by: H. Peter Anvin commit f619b3d8427eb57f0134dab75b0d217325c72411 Author: Borislav Petkov Date: Thu Feb 4 12:09:07 2010 +0100 x86, cacheinfo: Remove NUMA dependency, fix for AMD Fam10h rev D1 The show/store_cache_disable routines depend unnecessarily on NUMA's cpu_to_node and the disabling of cache indices broke when !CONFIG_NUMA. Remove that dependency by using a helper which is always correct. While at it, enable L3 Cache Index disable on rev D1 Istanbuls which sport the feature too. Signed-off-by: Borislav Petkov LKML-Reference: <20100218184339.GG20473@aftab> Signed-off-by: H. Peter Anvin commit 071c06cb570d38efe23a124e885f2f3e643a9206 Author: Thomas Gleixner Date: Thu Feb 18 02:22:27 2010 +0000 powerpc: Convert pmc_owner_lock to raw_spinlock pmc_owner_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit b8f87782e82709d613c5d2a165d1443478e57c00 Author: Thomas Gleixner Date: Thu Feb 18 02:22:31 2010 +0000 powerpc: Convert die.lock to raw_spinlock die.lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 3eb93c558a9e3651f86a88565e59488e936ff346 Author: Thomas Gleixner Date: Thu Feb 18 02:22:44 2010 +0000 powerpc: Convert tlbivax_lock to raw_spinlock tlbivax_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 203041ad1f66d2afb893c2adb9c11bfd13209d06 Author: Thomas Gleixner Date: Thu Feb 18 02:23:18 2010 +0000 powerpc: Convert mpic locks to raw_spinlock mpic_lock, irq_rover_lock and fixup_lock need to be real spinlocks in RT. Convert them to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit d0eab3eb557250cead42f22e6f1a4f7e326757f9 Author: Thomas Gleixner Date: Thu Feb 18 02:23:03 2010 +0000 powerpc: Convert pmac_pic_lock to raw_spinlock pmac_pic_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit f95e085b2531c86262b97a081eb0d1cf793606d3 Author: Thomas Gleixner Date: Thu Feb 18 02:22:24 2010 +0000 powerpc: Convert big_irq_lock to raw_spinlock big_irq_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 087d8c7d0cc8a79e6bd6223f9b0018483124e769 Author: Thomas Gleixner Date: Thu Feb 18 02:22:55 2010 +0000 powerpc: Convert feature_lock to raw_spinlock feature_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 47e3c9046bc884d4f727df00f0b6ec73fa387e50 Author: Thomas Gleixner Date: Thu Feb 18 02:23:11 2010 +0000 powerpc: Convert i8259_lock to raw_spinlock i8259_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 7cc8a5e3f52c146d46d286f3778b09181639dc61 Author: Thomas Gleixner Date: Thu Feb 18 02:22:47 2010 +0000 powerpc: Convert beat_htab_lock to raw_spinlock beat_htab_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 3d3726282850761938078cd2013435eeeb2d0375 Author: Thomas Gleixner Date: Thu Feb 18 02:23:07 2010 +0000 powerpc: Convert confirm_error_lock to raw_spinlock confirm_error_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit a9e8bf21cd0f5a5a8ebe63fa356a8f100b8a0955 Author: Thomas Gleixner Date: Thu Feb 18 02:23:14 2010 +0000 powerpc: Convert ipic_lock to raw_spinlock ipic_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 6b9c9b8a66f7696ce392d34f90d4d6aa7045f51d Author: Thomas Gleixner Date: Thu Feb 18 02:22:35 2010 +0000 powerpc: Convert native_tlbie_lock to raw_spinlock native_tlbie_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 5181e7909b28abe5ce6674412a74167fd074824a Author: Thomas Gleixner Date: Thu Feb 18 02:22:52 2010 +0000 powerpc: Convert beatic_irq_mask_lock to raw_spinlock beatic_irq_mask_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 7d725bdc1b25b9c4ff7c14e43d0d0d6c3d677727 Author: Thomas Gleixner Date: Thu Feb 18 02:22:59 2010 +0000 powerpc: Convert nv_lock to raw_spinlock nv_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit be833f3371bd9580d9f5a507390d72452577f394 Author: Thomas Gleixner Date: Thu Feb 18 02:22:39 2010 +0000 powerpc: Convert context_lock to raw_spinlock context_lock needs to be a real spinlock in RT. Convert it to raw_spinlock. Signed-off-by: Thomas Gleixner Signed-off-by: Benjamin Herrenschmidt commit 87d31345c0a90ccdf185feed9923ed14764f45dc Merge: e98efaf d24720a Author: Benjamin Herrenschmidt Date: Fri Feb 19 14:38:23 2010 +1100 Merge commit 'gcl/next' into next commit ee37e09d81a4acf328f68189af12f116401f8c0f Author: Alan Stern Date: Fri Feb 12 12:13:55 2010 -0500 [SCSI] fix duplicate removal on error path in scsi_sysfs_add_sdev This patch (as1335) fixes a bug in scsi_sysfs_add_sdev(). Its callers always remove the device if anything goes wrong, so it should never remove the device. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit d5469119f0098881ab7f991990ef4f81ef13a194 Author: Alan Stern Date: Fri Feb 12 12:13:39 2010 -0500 [SCSI] fix refcounting bug in scsi_get_host_dev This patch (as1334) fixes a bug in scsi_get_host_dev(). It incorrectly calls get_device() on the new device's target. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit 75f8ee8e01a6c96652f27da40d4bdac9e2e485f0 Author: Alan Stern Date: Fri Feb 12 12:13:31 2010 -0500 [SCSI] fix memory leak in scsi_report_lun_scan This patch (as1333) fixes a bug in scsi_report_lun_scan(). If a newly-allocated device can't be used, it should be deleted. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit 277e76f1821ab131a409c6a2e04492ef5774fb3c Author: James Smart Date: Thu Feb 18 11:07:15 2010 -0500 [SCSI] lpfc: correct PPC build failure Reported-by: Stephen Rothwell Signed-off-by: James Smart Signed-off-by: James Bottomley commit 8c563a30cdfff2833c4c2078d25b5d1469706a6d Author: Matt Fleming Date: Thu Feb 4 23:46:13 2010 +0000 sh: Turn on speculative return for SH7785 and SH7786 Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 77f36fcc035a5af19e95f50a2e648cda2a6ef2b9 Merge: 838a4a9 d01447b Author: Paul Mundt Date: Thu Feb 18 18:35:20 2010 +0900 Merge branch 'sh/pmb-dynamic' commit d01447b3197c2c470a14666be2c640407bbbfec7 Author: Paul Mundt Date: Thu Feb 18 18:13:51 2010 +0900 sh: Merge legacy and dynamic PMB modes. This implements a bit of rework for the PMB code, which permits us to kill off the legacy PMB mode completely. Rather than trusting the boot loader to do the right thing, we do a quick verification of the PMB contents to determine whether to have the kernel setup the initial mappings or whether it needs to mangle them later on instead. If we're booting from legacy mappings, the kernel will now take control of them and make them match the kernel's initial mapping configuration. This is accomplished by breaking the initialization phase out in to multiple steps: synchronization, merging, and resizing. With the recent rework, the synchronization code establishes page links for compound mappings already, so we build on top of this for promoting mappings and reclaiming unused slots. At the same time, the changes introduced for the uncached helpers also permit us to dynamically resize the uncached mapping without any particular headaches. The smallest page size is more than sufficient for mapping all of kernel text, and as we're careful not to jump to any far off locations in the setup code the mapping can safely be resized regardless of whether we are executing from it or not. Signed-off-by: Paul Mundt commit 2e450643d70b62e0192577681b227d7d5d2efa45 Author: Paul Mundt Date: Thu Feb 18 13:26:05 2010 +0900 sh: Use uncached I/O helpers in PMB setup. The PMB code is an example of something that spends an absurd amount of time running uncached when only a couple of operations really need to be. This switches over to the shiny new uncached helpers, permitting us to spend far more time running cached. Additionally, MMUCR twiddling is perfectly safe from cached space given that it's paired with a control register barrier, so fix that up, too. Signed-off-by: Paul Mundt commit b8f7918f332873a79e4c820e90e7a245ce4d3042 Author: Paul Mundt Date: Thu Feb 18 13:23:30 2010 +0900 sh: Provide uncached I/O helpers. There are lots of registers that can only be updated from the uncached mapping, so we add some helpers for those cases in order to make it easier to ensure that we only make the jump when it's absolutely necessary. Signed-off-by: Paul Mundt commit e98efaf303ccbff11522a054d155593d7f2bb41f Author: Anton Vorontsov Date: Sat Feb 6 00:06:26 2010 +0300 powerpc/85xx: Add NOR, LEDs and PIB support for MPC8568E-MDS boards This patch adds NOR Flash, LEDs and PIB support for MPC8568E-MDS boards. Plus, move bcsr node into localbus node, and add bcsr5 gpio-controller node. Some platform code modifications were also needed. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 32a6275f3076c9e511ea68869ed6b76c58128253 Author: Martyn Welch Date: Mon Jan 11 12:23:56 2010 +0000 powerpc/86xx: Enable VME driver on the GE SBC610 Enable the VME driver (which is currently in staging) on the SBC610. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit f987d82b807aa8f4d775e80287f3a5a85c55c1ba Author: Martyn Welch Date: Mon Jan 11 12:23:50 2010 +0000 powerpc/86xx: Enable VME driver on the GE PPC9A Enable the VME driver (which is currently in staging) on the PPC9A Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 41cbdeef37b6614f6bac4e3953dd2c7208bbe1d0 Author: Malcolm Crossley Date: Mon Jan 11 12:23:44 2010 +0000 powerpc/86xx: Add MSI section to GE PPC9A DTS Add the MSI section to the DTS file for the GE PPC9A. Signed-off-by: Malcolm Crossley Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 26216e3e15ed8257e582966989f5da3bdbdfa135 Author: Martyn Welch Date: Mon Jan 11 12:23:37 2010 +0000 powerpc/86xx: Switch on highmem support on GE SBC610 Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit ae1f7553b9c9ac3762dc91ecb92574bb9fac0b1e Author: Martyn Welch Date: Mon Jan 11 12:23:31 2010 +0000 powerpc/86xx: Basic flash support for GE SBC610 Support for the SBC610 VPX Single Board Computer from GE (PowerPC MPC8641D). This patch adds basic support for the on-board flash. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 6459ba984a57e90326b3eaf7a35cc2f3fffe26a0 Author: Malcolm Crossley Date: Mon Jan 11 12:23:24 2010 +0000 powerpc/86xx: Add MSI section to GE SBC610 DTS Add the MSI section to the DTS file for the GE SBC610. Signed-off-by: Malcolm Crossley Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 9b952a3970c75bd0b46f73976b3613b3c68476f4 Author: Malcolm Crossley Date: Mon Jan 11 12:23:18 2010 +0000 powerpc/86xx: Fix GE SBC310 XMC site support Correction to interrupt map mask for GE SBC310 XMC site and addition of alias. Signed-off-by: Malcolm Crossley Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit f5d570d32c836c108c4e64c285d5bdb75cc6a737 Author: Martyn Welch Date: Mon Jan 11 12:23:12 2010 +0000 powerpc/86xx: Add MSI section to GE SBC310 DTS Add the MSI section to the DTS file for the GE SBC310. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala commit 51adc548cb0b2441ee9d4c428a84b77021f4d3fa Author: Sebastian Andrzej Siewior Date: Fri Jan 15 17:41:35 2010 +0100 powerpc/fsl-booke: replace a hardcoded constant 24 is offset between the opcode past bl and past rfi. This makes it more obvious. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Kumar Gala commit f1f6baf8f1df29be38003089787e378567ce0086 Author: H. Peter Anvin Date: Wed Feb 17 18:32:06 2010 -0800 x86, setup: When restoring the screen, update boot_params.screen_info When we restore the screen content after a mode change, we return the cursor to its former position. However, we need to also update boot_params.screen_info accordingly, so that the decompression code knows where on the screen the cursor is. Just in case the video BIOS does something extra screwy, read the cursor position back from the BIOS instead of relying on it doing the right thing. While we're at it, make sure we cap the cursor position to the new screen coordinates. Reported-by: Wim Osterholt Bugzilla-Reference: http://bugzilla.kernel.org/show_bug.cgi?id=15329 Signed-off-by: H. Peter Anvin commit 8e4a0cf79d4645b88dd18ff717ec579e1ac48c80 Author: Kashyap, Desai Date: Wed Feb 17 16:13:04 2010 +0530 [SCSI] raid_class: add raid1e Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 3ed215259f2d8cd937abc833dc76e309173aaa52 Author: Kashyap, Desai Date: Wed Feb 17 16:08:36 2010 +0530 [SCSI] mpt2sas: Do not call sas_is_tlr_enabled for RAID volumes. For RAID volume sas_is_tlr_enabled call will hit BUG at scsi_transport_sas.c:163, since raid volume is not visible to sas transport layer. Now Added check to make sure arg pass in sas_is_tlr_enabled() is not a volume. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 34c2b712992540ca436e97432ffc57c84c8f8c18 Author: Christof Schmitt Date: Wed Feb 17 11:18:59 2010 +0100 [SCSI] zfcp: Introduce header file for qdio structs and inline functions Move the qdio related structs and some helper functions to a new zfcp_qdio.h header file. While doing this, rename the struct zfcp_queue_req to zfcp_qdio_req to adhere to the naming scheme used in zfcp. This allows a better seperation of the qdio code and inlining the helper functions will save some function calls. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 2d8e62bbf7e83facd5701c100f62fbf0df4ee486 Author: Christof Schmitt Date: Wed Feb 17 11:18:58 2010 +0100 [SCSI] zfcp: Replace FC4 constants with information from exchange port The FC4 types are already available from exchange port. Use this for reporting the FC4 types, instead of having the value hardcoded in zfcp. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ab72528a4498251a702fa7693b51b9311b2432f8 Author: Christof Schmitt Date: Wed Feb 17 11:18:57 2010 +0100 [SCSI] zfcp: Move scsi result tracing decision to zfcp_dbf.h Move the decision which trace tag and trace level to use for the scsi result trace to zfcp_dbf.h. zfcp_dbf_scsi_result is already an inline function, so move the trace code there, simplifying the response handling in zfcp_fsf.c. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 615f59e0daaf56e43dcaaf3ea228967d9bc21584 Author: Christof Schmitt Date: Wed Feb 17 11:18:56 2010 +0100 [SCSI] zfcp: Rename sysfs_device attribute to dev in zfcp_unit and zfcp_port Kernel code uses dev as short name for the struct device. Rename the sysfs_device in zfcp_unit and zfcp_port to match this convention. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5bdecd2248d4af6f3b311b4d8ca7f3f5f83a7191 Author: Christof Schmitt Date: Wed Feb 17 11:18:55 2010 +0100 [SCSI] zfcp: Remove duplicate assignment of req_seq_no zfcp_fsf_req_create assigns the same value twice to req_seq_no. Remove one assignment and move the req_id and seq_no assignments to one place. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d21e9daa63e009ce5b87bbcaa6d11ce48e07bbbe Author: Christof Schmitt Date: Wed Feb 17 11:18:54 2010 +0100 [SCSI] zfcp: Dont use 0 to indicate invalid LUN in rec trace 0 is a valid value for a LUN. It is slightly confusing to also see 0 in the trace entries relating to adapter and port. Change this to use 0xFFFFFFFFFFFFFFFF in the LUN field when the trace entry does not relate to a LUN or unit. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 22ed130719987d1081831dc1481160b216224ffd Author: Christof Schmitt Date: Wed Feb 17 11:18:53 2010 +0100 [SCSI] zfcp: Fix warnings from smatch The smatch tool from http://repo.or.cz/w/smatch.git warns about this: drivers/s390/scsi/zfcp_scsi.c +64 zfcp_scsi_command_fail(5) warn: variable dereferenced before check 'scpnt->device' drivers/s390/scsi/zfcp_scsi.c +64 zfcp_scsi_command_fail(5) warn: variable dereferenced before check 'scpnt->device->host' drivers/s390/scsi/zfcp_scsi.c +93 zfcp_scsi_queuecommand(23) warn: variable dereferenced before check 'unit' Fix the first two warnings by removing the checks for scpnt->device and -> host: As long as the SCSI command exists, there is also a scsi_device and a Scsi_Host. Fix the last warning by removing the BUG_ON checks in zfcp_scsi_queuecommand, they are leftovers from previous paranoia about wrong pointers between data structures. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 67feeebaa7038129ad58ae0dcece8142186b36a9 Author: Christof Schmitt Date: Wed Feb 17 11:18:52 2010 +0100 [SCSI] zfcp: Remove unused payload field from zfcp_dbf_san_record Remove the unused payload field from the struct zfcp_dbf_san_record, saving some space in the SAN trace. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 452b505c5ada345103bdfdb39dc550df3ffe9eea Author: Christof Schmitt Date: Wed Feb 17 11:18:51 2010 +0100 [SCSI] zfcp: Remove two FIXME comments On a link down, the adapter reopen is not strictly necessary, but it helps flushing pending requests as quickly as possible. Add a comment mentioning this. qdio returning a problem on the response queue is an unlikely event. The recovery mentioned in the comment might resolve it, so implement it. This also has the advantage that it creates an entry in the recovery trace to see if and when this is occurring. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b6bd2fb92a7bb9f1f3feecd9945c21e6c227dd51 Author: Christof Schmitt Date: Wed Feb 17 11:18:50 2010 +0100 [SCSI] zfcp: Move FSF request tracking code to new file Move the code for tracking FSF requests to new file to have this code in one place. The functions for adding and removing requests on the I/O path are already inline. The alloc and free functions are only called once, so it does not hurt to inline them and add them to the same file. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit e60a6d69f1f84c2ef1cc63aefaadfe7ae9f12934 Author: Christof Schmitt Date: Wed Feb 17 11:18:49 2010 +0100 [SCSI] zfcp: Remove function zfcp_reqlist_find_safe Always use the FSF request id as a reference to the FSF request. With this change the function zfcp_reqlist_find_safe is no longer needed and can be removed. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit cae727db30e9bcbc0256ec3282edce98b4a85433 Author: Robert Love Date: Tue Feb 16 12:16:00 2010 -0800 [SCSI] MAINTAINERS: Adding FCoE information to the MAINTAINERS file. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f90f50d7c530793c9c705a8f7fa3deb01714f21a Author: Venkata Siva Vijayendra Bhamidipati Date: Tue Feb 16 12:15:55 2010 -0800 [SCSI] fnic: Set fnic driver version Update fnic driver version. Signed-off-by: Venkata Siva Vijayendra Bhamidipati Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c693a71d2556128ef0b5b2440f0b579cd42c425d Author: Venkata Siva Vijayendra Bhamidipati Date: Tue Feb 16 12:15:50 2010 -0800 [SCSI] fnic: lport stats need to be initialized in fnic_probe() Incorrect initialization of lport stats in fnic_probe() causes fnic to crash at bootup and a node hang if fip is enabled and all links are brought up after fnic is loaded. Signed-off-by: Joe Eykholt Signed-off-by: Venkata Siva Vijayendra Bhamidipati Signed-off-by: Robert Love Signed-off-by: James Bottomley commit aaa5e569ca96f5cf70202679a5864e60798b8ef6 Author: Venkata Siva Vijayendra Bhamidipati Date: Tue Feb 16 12:15:44 2010 -0800 [SCSI] fnic: Allow multicast and unicast address registrations for fnic To enable FIP support in fnic, we have to register with hardware to receive FIP solication frames on a well-known multicast address. Before FIP support, the firmware interface allowed multicast address registrations only for enic devices. This is a minor change in fnic to allow the firmware interface to now register mcast addresses for fnic too. Signed-off-by: Brian Uchino Signed-off-by: Herman Lee Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e9ee2cf438066aa02df98db959733e1547432983 Author: Robert Love Date: Tue Feb 16 12:15:39 2010 -0800 [SCSI] fcoe: Only rmmod fcoe.ko if there are no active connections Currently we're gracefully tearing down each active connection when fcoe.ko is removed. We shouldn't allow the user to destroy connections by removing the module. We should force the user to destroy each connection and then the module can be removed. This patch makes it so a refrerence count on the module is taken each time a fcoe_interface is created. The reference count is dropped when the fcoe_interface is destroyed. This makes it so that module_exit() doesn't get called unless all fcoe_interfaces have been destroyed. This patch leaves the removal of interfaces in the module_exit routine so that if the user does a 'rmmod -f' we'll clean everything up before removing the module. The module_put line was put before the out_putdev goto line because we should only be decrementing the reference count if a fcoe_interface is actually destroyed. If we can't find the netdev or the fcoe_interface then it's assumed that something else has destroyed the fcoe_interface and it would have decremented the reference count at that time. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 03bf7a5af58e07aa13ea61993f5892f733b6f46d Author: Bhanu Prakash Gollapudi Date: Tue Feb 16 12:15:34 2010 -0800 [SCSI] libfcoe: Send port LKA every FIP_VN_KA_PERIOD secs. libfcoe module doesnt send port keep alive every FIP_VN_KA_PERIOD due to improper assignment of timeout value. Update the port_ka_time appropriately by incrementing it by FIP_VN_KA_PERIOD in fcoe_ctlr_timeout(), so that the link_work is scheduled to send the port LKA. Signed-off-by: Bhanu Gollapudi Acked-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 696c1cff5254bb3ac280fbbb639c66e9ff20306e Author: Hugh Daschbach Date: Tue Feb 16 12:15:28 2010 -0800 [SCSI] libfc: Don't assume response request present. Fix NULL pointer dereference crash occurs in fc_lport_bsg_request() for bsg requests that do not contain a response request. Specifically, FC_BSG_HST_ADD_RPORT and FC_BSG_HST_DEL_RPORT bsg requests are not guaranteed to include a response request. Signed-off-by: Hugh Daschbach Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5b7a381e55d187e50a148b750abf4525cadd3a4f Author: Hugh Daschbach Date: Tue Feb 16 12:15:23 2010 -0800 [SCSI] libfc: Fix e_d_tov ns -> ms scaling factor in PLOGI response. Both PLOGI and RTV response processing conditionally scale e_d_tov, but use different scaling factors. The scaling factor is correct in RTV response processing. Bring PLOGI e_d_tov scaling in line with RTV common service parameter inspection. Signed-off-by: Hugh Daschbach Acked-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit be88d3b26897e3e942f2f36ad3d0ffbe002c0088 Author: Vasu Dev Date: Tue Feb 16 12:15:18 2010 -0800 [SCSI] libfc: call ddp setup for only FCP reads to avoid accessing junk fsp pointer Adds check to call fc_fcp_ddp_setup for only FCP read cmds to avoid accessing junk fsp pointer at least in ESX since non FCP frame had junk fsp value, though fsp is implicitly initialized to null by __alloc_skb but with this patch no more relying on fsp initialized to null value and hitting junk fsp ptr access. Removes fsp pointer checking in fc_fcp_ddp_setup as this is not needed any more since its only caller for FCP read will always have a valid fsp. Reported by: Frank Zhang Reported by: Rob Love Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5fceef1f357e1b3485363e6e240369fc8cbee173 Author: James Smart Date: Fri Feb 12 14:43:34 2010 -0500 [SCSI] lpfc 8.3.9: Update Driver version to 8.3.9 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 72100cc43262fa39821b3debc04be1a7a17b3428 Author: James Smart Date: Fri Feb 12 14:43:01 2010 -0500 [SCSI] lpfc 8.3.9: Fix locking and memory issues - Use the hbalock when changing the fc_flag. - Use the host_lock when changeing the sli_flag. - Prevent NULL pointer dereference after dma_alloc_coherent failure. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 84d1b006978e78e27f22beb5cfbc4d349bac6df7 Author: James Smart Date: Fri Feb 12 14:42:33 2010 -0500 [SCSI] lpfc 8.3.9: Changes to sysfs interface for the lpfc driver. - Convert all sysfs parameters to uint instead of int. - Add lpfc_supress_link_up parameter. - Change link_state to writable sysfs parameter. - Add support to be able to "up" or "down" link from link_state parameter. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 28baac7492fa084dbff6a1b9c4b42ed0d014b558 Author: James Smart Date: Fri Feb 12 14:42:03 2010 -0500 [SCSI] lpfc 8.3.9: SLI enhancments to support new hardware. - Add support for the INTF (Interface) PCI register. - Add support for greater than 2 page SGLs. - Add support for up to 32 bit BDE lengths. - Implement the Port Capabilities Mailbox command. - Stop checking the Minor Code in the EQE structure. Signed-off-by: James Smart Signed-off-by: James Bottomley commit ecfd03c6a99ad98fea5cb75ec83cd9945adff8d9 Author: James Smart Date: Fri Feb 12 14:41:27 2010 -0500 [SCSI] lpfc 8.3.9: Discovery changes to the lpfc driver. - Add init_vpi mailbox command before re-registering VPI. - Add Fast FCF failover support. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 1dfb5a47bc76c700969e41cdc2df6d1bf0adeb62 Author: James Smart Date: Fri Feb 12 14:40:50 2010 -0500 [SCSI] lpfc 8.3.9: PCI Changes to lpfc driver - Call pci_save_state() after pci_restore_state() call to cope with kernel change. - Add support for PCI BAR region 0 if BAR0 is a 64 bit register. Signed-off-by: James Smart Signed-off-by: James Bottomley commit efd0f0f385da6ee6d1a22cfe1ac94607ebe2a292 Merge: 3bffb65 c7b6669 Author: Benjamin Herrenschmidt Date: Thu Feb 18 09:34:38 2010 +1100 Merge commit 'jwb/next' into next commit f98c96b0b6572b5491e954148509b20f08f31491 Author: Jayamohan Kallickal Date: Thu Feb 11 05:11:15 2010 +0530 [SCSI] be2iscsi: Adding support for BE3 This patch contains changes to support the BE3 chip Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit b3925514f6f6878e3f671fb6990874e731a26d02 Author: Mike Christie Date: Wed Feb 10 16:51:48 2010 -0600 [SCSI] qla4xxx: fix compile warning due to invalid extHwConfig If the nvram is invalid qla4xxx tries to set Asuint32_t based on the card type. If the card type is not listed then Asuint32_t is going to be gargabe. This just fixes that if/elseif by adding a else to catch the case for new hardware that might not be listed yet. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b64e77f70b8c11766e967e3485331a9e6ef01390 Author: Mike Christie Date: Wed Feb 10 16:51:47 2010 -0600 [SCSI] iscsi_tcp: wake xmit thread when killing session If the connection is bad, then the xmit thread could end up waiting a long time (up to sendtmeo seconds) in tcp_sendpage. This patch has us set the sk_error and wake up the xmit thread so we can quickly fail. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9f9127fd0cfac1ccbcf4a9456b3d36bc6971355e Author: Mike Christie Date: Wed Feb 10 16:51:46 2010 -0600 [SCSI] bnx2i: set change_queue_depth function No reason that we cannot set the change_queue_depth function for bnx2i. We just forgot to when the driver was created. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 92ed4d69934a1281abcc10c6a82274a04651a260 Author: Mike Christie Date: Wed Feb 10 16:51:45 2010 -0600 [SCSI] libiscsi: reset cmd timer if cmds are making progress This patch resets the cmd timer if cmds started before the timedout command are making progress. The idea is that the cmd probably timed out because we are trying to exeucte too many commands. If it turns out that the device the IO timedout on was bad or the cmd just got screwed up but other IO/devs were ok then we will will figure this out when the cmds ahead of the timed out one complete ok. This also fixes a bug where we were sort of detecting this by setting the last_timeout and last_xfer to the same value when the task was allocated. That caught the case where we never got to send any IO for it. However, if the problem had started right before we started the new task, then we were forced to wait an extra cmd timeout seconds to start the scsi eh. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9010b94636312c7fb12b591ef09e915f8f80bbd5 Author: Mike Christie Date: Wed Feb 10 16:51:44 2010 -0600 [SCSI] cxgb3i: check for setup netdev If the netdev has not been setup when the host is, we will oops when the iscsi layer calls into the driver and a it tries to reference the netdev in hba->ndev. This can happen if the iscsi driver is loaded before ifup is done. This patch just adds a check, so we can gracefully fail the operation. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d9573e7af16de0e3aa55db1703dbe544faf391de Author: Joe Perches Date: Wed Feb 10 16:51:43 2010 -0600 [SCSI] cxgb3i, bnx2i: remove uses of nipquad use %pi4 Remove uses of NIPQUAD, use %pI4 Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 81fc03909a80bead8f553287a2b749a1d29dca64 Author: Catalin Marinas Date: Mon Feb 8 11:16:24 2010 +0000 kmemcheck: Test the full object in kmemcheck_is_obj_initialized() This is a fix for bug #14845 (bugzilla.kernel.org). The update_checksum() function in mm/kmemleak.c calls kmemcheck_is_obj_initialised() before scanning an object. When KMEMCHECK_PARTIAL_OK is enabled, this function returns true. However, the crc32_le() reads smaller intervals (32-bit) for which kmemleak_is_obj_initialised() may be false leading to a kmemcheck warning. Note that kmemcheck_is_obj_initialized() is currently only used by kmemleak before scanning a memory location. Signed-off-by: Catalin Marinas Cc: Andrew Morton Cc: Christian Casteyde Cc: Vegard Nossum Signed-off-by: Pekka Enberg commit 03cb3829e0e5650518ce37e2b4420a35e034dc9e Author: Michael Reed Date: Wed Feb 10 14:32:00 2010 -0600 [SCSI] fusion: hold off error recovery while alternate ioc is initializing After discussing this patch with LSI, I resubmitting with a recommended 40 second wait for the alternate ioc's initialization to complete. -- Fusion FC chips are two function with some shared resources. During initialization of one function its driver inhibits the ability of the other function's driver to allocate message frames by clearing its "active" flag. Should mid-layer error recovery be initiated for a scsi command during this initialization (which can take up to 40 seconds) error recovery will escalate to the level of host reset. This host reset might fail (as the other function is resetting) resulting in all connected targets being taken offline. This patch holds off mid-layer error recovery for up to 40 seconds to permit initialization of the other function to complete. Signed-off-by: Michael Reed Acked-by: "Desai, Kashyap" Signed-off-by: James Bottomley commit 4b5aa7cff0e2bd1a9c81b59553ba8ecfa3aa7e1b Author: Stephen M. Cameron Date: Thu Feb 4 08:43:57 2010 -0600 [SCSI] hpsa: update driver version to 2.0.1-3 Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 71fe75a705aa4eabda23334095c382ad8c48f2d1 Author: Stephen M. Cameron Date: Thu Feb 4 08:43:51 2010 -0600 [SCSI] hpsa: Reorder compat ioctl functions to eliminate some forward declarations. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit e39eeaed1f75fcd46783aad34cb9ab8a6046bb01 Author: Stephen M. Cameron Date: Thu Feb 4 08:43:46 2010 -0600 [SCSI] hpsa: eliminate lock_kernel in compat_ioctl The use of the big kernel lock here appears to be ancient cruft that is no longer needed. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 2a8ccf3187aff6defed72f7d8fa562ff2f69ef2a Author: Stephen M. Cameron Date: Thu Feb 4 08:43:41 2010 -0600 [SCSI] hpsa: fix bug in adjust_hpsa_scsi_table fix bug in adjust_hpsa_scsi_table which caused devices which have changed size, etc. to do the wrong thing. The problem was as follows: The driver maintains its current idea of what devices are present in the h->dev[] array. When it updates this array, it scans the hardware, and produces a new list of devices, call it sd[], for scsi devices. Then, it compares each item in h->dev[] vs. sd[], and any items which are not present sd it removes from h->dev[], and any items present in sd[], but different, it modifies in h->dev[]. Then, it looks for items in sd[] which are not present in h->dev[], and adds those items into h->dev[]. All the while, it keeps track of what items were added and removed to/from h->dev[]. Finally, it updates the SCSI mid-layer by removing and adding the same devices it removed and added to/from h->dev[]. (modified devices count as a remove then add.) originally, when a "changed" device was discovered, it was removed then added to h->dev[]. The item was added to the *end* of h->dev[]. And, the item was removed from sd[] as well (nulled out). As it processed h->dev[], these newly added items at the end of the list were encountered, and sd[] was searched, but those items were nulled out. So they ended up getting removed immediately after they were added. The solution is to have a way to replace items in the h->dev[] array instead of doing a remove + add. Then the "changed" items. are not encountered a second time, and removed. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 23231048309ea8eed0189f1eb8f870f08703cac0 Author: Stephen M. Cameron Date: Thu Feb 4 08:43:36 2010 -0600 [SCSI] hpsa: Fix hpsa_find_scsi_entry so that it doesn't try to dereference NULL pointers Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit c7f172dca210bbd105aee02353c6b385c774caac Author: Stephen M. Cameron Date: Thu Feb 4 08:43:31 2010 -0600 [SCSI] hpsa: clarify obscure comment in adjust_hpsa_scsi_table Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 807be732f928c75b3dfb4273fe5f61b34f05df86 Author: Mike Miller Date: Thu Feb 4 08:43:26 2010 -0600 [SCSI] hpsa: print all the bytes of the CDB, not just the first one. Signed-off-by: Mike Miller Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit d416b0c75fc52e1ac840e6c8c1857ac52d1d7132 Author: Stephen M. Cameron Date: Thu Feb 4 08:43:21 2010 -0600 [SCSI] hpsa: when resetting devices, print out which device Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit a08a8471b7aed3d50df8e9c852dc2baa08ec8b01 Author: Stephen M. Cameron Date: Thu Feb 4 08:43:16 2010 -0600 [SCSI] hpsa: use scan_start and scan_finished entry points for scanning use scan_start and scan_finished entry points for scanning and route the CCISS_REGNEWD ioctl and sysfs triggering of same functionality through hpsa_scan_start. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit a23513e8413e02b7e34e96a03d6bfd1c1948ac00 Author: Stephen M. Cameron Date: Thu Feb 4 08:43:11 2010 -0600 [SCSI] hpsa: Add an shost_to_hba helper function. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 01fb21870d96c83ae01072674e380ac51ebc58c8 Author: Matt Gates Date: Thu Feb 4 08:43:05 2010 -0600 [SCSI] hpsa: Don't return DID_NO_CONNECT when a device is merely not ready Signed-off-by: Matt Gates Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 1d3b36090551a31b8b8c4ba972aac95eaa8f77dd Author: Matt Gates Date: Thu Feb 4 08:43:00 2010 -0600 [SCSI] hpsa: Retry commands completing with a sense key of ABORTED_COMMAND Signed-off-by: Matt Gates Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 5f0325ab280e92c023a5610dae4a6afb6c1ef151 Author: Matt Gates Date: Thu Feb 4 08:42:55 2010 -0600 [SCSI] hpsa: Return DID_RESET for commands which complete with status of UNSOLICITED ABORT The commands should be retried, and this will make that happen, instead of resulting in an i/o error. Signed-off-by: Matt Gates Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 339b2b14c634da58626eb742370d915591c2fb6d Author: Stephen M. Cameron Date: Thu Feb 4 08:42:50 2010 -0600 [SCSI] hpsa: Fix p1210m LUN assignment. The p1210m responsds to SCSI report LUNs, unlike traditional Smart Array controllers. This means that the bus, target, and lun assignments done by the driver cannot be arbitrary, but must match what SCSI REPORT LUNS returns. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit f8b01eb9049113920f4eb2f944a0c713ce597673 Author: Mike Miller Date: Thu Feb 4 08:42:45 2010 -0600 [SCSI] hpsa: add pci ids for storageworks 1210m, remove p400, p800, p700m and update pci_ids.h to include new PCI ID for StorageWorks 1210m variant. Signed-off-by: Mike Miller Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 303932fd4ff63e8650d5d5da6cc286a8b5f8318d Author: Don Brace Date: Thu Feb 4 08:42:40 2010 -0600 [SCSI] hpsa: Allow multiple command completions per interrupt. This is done by adding support for the so-called "performant mode" (that's really what they called it). Smart Array controllers have a mode which enables multiple command completions to be delivered with a single interrupt, "performant" mode. We want to use that mode, as some newer controllers will be requiring this mode. Signed-off-by: Don Brace Signed-off-by: Stephen M. Cameron Signed-off-by: Mike Miller Signed-off-by: James Bottomley commit 900c54404a9456b3ff10745e5e8f64b12c3a6ef7 Author: Stephen M. Cameron Date: Thu Feb 4 08:42:35 2010 -0600 [SCSI] hpsa: interrupt pending function should return bool not unsigned long Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 84ca0be2a2cd9730683310b831db9d2fa60b3b0b Author: Stephen M. Cameron Date: Thu Feb 4 08:42:30 2010 -0600 [SCSI] hpsa: fix some debug printks to use dev_dbg instead Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit a104c99f386191706a11d39be81b8f03cd4f2719 Author: Stephen M. Cameron Date: Thu Feb 4 08:42:24 2010 -0600 [SCSI] hpsa: make tag macros into functions Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 6df1e95496f8dfe08a520756187be59f7896f589 Author: Stephen M. Cameron Date: Thu Feb 4 08:42:19 2010 -0600 [SCSI] hpsa: eliminate unnecessary memcpys Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit a9a44cbd4b41bf4b9535c1eb7f5e942d8b2e9d54 Author: Stephen M. Cameron Date: Thu Feb 4 08:42:14 2010 -0600 [SCSI] hpsa: remove unwanted debug code Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit ea6d3bc3143a21ec5e1c9330555b36d67979431d Author: Stephen M. Cameron Date: Thu Feb 4 08:42:09 2010 -0600 [SCSI] hpsa: use kzalloc not kmalloc plus memset Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit e89c0ae7babc3e702a9da128b3ac1eb04ed73c2c Author: Stephen M. Cameron Date: Thu Feb 4 08:42:04 2010 -0600 [SCSI] hpsa: use sizeof() not an inline constant in memset. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit ecd9aad402765abce04a96b8d1ed15163ca6c8a1 Author: Stephen M. Cameron Date: Thu Feb 4 08:41:59 2010 -0600 [SCSI] hpsa: return proper error codes not minus one. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit bcc4425548ada73475606c9c5d7cfce7eae0eb64 Author: Stephen M. Cameron Date: Thu Feb 4 08:41:54 2010 -0600 [SCSI] hpsa: remove superfluous returns from void functions. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 4967bd3e5caa87da43c251ae32504230259b18c6 Author: Stephen M. Cameron Date: Thu Feb 4 08:41:49 2010 -0600 [SCSI] hpsa: make adjust_hpsa_scsi_table return void. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit b2ed4f79194e06766327ae581b063f8747d94ea9 Author: Stephen M. Cameron Date: Thu Feb 4 08:41:44 2010 -0600 [SCSI] hpsa: Use BUG_ON instead of an if statement. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 82a72c0a12326a56a323093297e2bad29fe6c29d Author: Stephen M. Cameron Date: Thu Feb 4 08:41:38 2010 -0600 [SCSI] hpsa: avoid unwanted promotion from unsigned to signed for raid level index Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 01a02ffcd55b74e3459bb7358140970e126d4731 Author: Stephen M. Cameron Date: Thu Feb 4 08:41:33 2010 -0600 [SCSI] hpsa: Use kernel integer types, not userland ones That is, use u64, u32, u16 and u8 rather than __u64, __u32, __u16 and __u8. Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 466dc22409b97343c6b2168094d5f867093a70c2 Author: Stephen M. Cameron Date: Thu Feb 4 08:41:28 2010 -0600 [SCSI] hpsa: fix typo in comments Signed-off-by: Stephen M. Cameron Signed-off-by: James Bottomley commit 08002af25a7a379780244b94c5d5eedb7c098629 Author: Roel Kluin Date: Fri Jan 29 11:25:19 2010 +0100 [SCSI] qla2xxx: negative error return in qla2x00_change_queue_depth() The *change_queue_depth functions usually return a negative error return. Signed-off-by: Roel Kluin Acked-by: Giridhar Malavali Signed-off-by: James Bottomley commit 63bad45db1d4e8aafe0633c5741c9720641f336a Author: Yang, Bo Date: Sun Dec 6 08:42:28 2009 -0700 [SCSI] megaraid_sas: version and documentation update Signed-off-by Bo Yang Signed-off-by: James Bottomley commit c978684254d11e3768c5a0b2780302fb0cada29c Author: Yang, Bo Date: Sun Dec 6 08:39:25 2009 -0700 [SCSI] megaraid_sas: driver fixed the device update issue driver fixed the device update issue after get the AEN PD delete/ADD and LD add/delete from FW. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit bdc6fb8d69fab7b4b7f70823e3932bd8e4cfd7db Author: Yang, Bo Date: Sun Dec 6 08:30:19 2009 -0700 [SCSI] megaraid_sas: add the logical drive list to driver Driver issue the get ld list to fw to get the logic drive list. Driver will keep the logic drive list for the internal use after driver load. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 780a3762fb9208748baac5aa9c63a4d4c9287753 Author: Yang, Bo Date: Sun Dec 6 08:24:21 2009 -0700 [SCSI] megaraid_sas: Zero pad_0 in mfi structure Add the pad_0 in mfi frame structure to 0 to fix the context value larger than 32bit value issue. Signed-off-by Bo Yang Signed-off-by: James Bottomley commit 39c662f60c556908faf861ef0430549b1731b891 Author: Thomas Gleixner Date: Sat Jul 25 19:15:48 2009 +0200 x86: Convert tlbstate_lock to raw_spinlock Signed-off-by: Thomas Gleixner commit b7e56edba4b02f2079042c326a8cd72a44635817 Merge: 13ca0fc b0483e7 Author: Thomas Gleixner Date: Wed Feb 17 18:27:37 2010 +0100 Merge branch 'linus' into x86/mm x86/mm is on 32-rc4 and missing the spinlock namespace changes which are needed for further commits into this topic. Signed-off-by: Thomas Gleixner commit f309cb3e4fe79a68cb2fdedfb8a8a950a2cfe490 Author: Dominik Brodowski Date: Wed Feb 17 14:35:33 2010 +0100 pcmcia: allow for extension of resource interval If a new interval overlaps or extends an existing interval in add_interval(), do not fail, but extend the existing interval. Signed-off-by: Dominik Brodowski commit d801c1409ef7d45339cbe8ac9de28ade6ed4699a Author: Dominik Brodowski Date: Wed Feb 17 11:02:22 2010 +0100 pcmcia: remove useless msleep in ds.c As this is the socket thread (pccardd) starting up, we do not have anything to wait for in ds.c. Instead, wait the same amount of time in pccardd to allow userspace to catch up and - possibly - execute pcmcia-socket-startup. Signed-off-by: Dominik Brodowski commit d700518a0e4d17a47321414e5e487ed53f4ae752 Author: Dominik Brodowski Date: Wed Feb 17 18:01:31 2010 +0100 pcmcia: use read_cis_mem return value Signed-off-by: Dominik Brodowski commit a78621bb11fbad32a3ef968c65f9b93858b3341a Author: Dominik Brodowski Date: Sun Jan 24 18:20:22 2010 +0100 pcmcia: handle error in serial_cs config calls Do not ignore the error returned by simple_config() / multi_config(). CC: linux-serial@vger.kernel.org Signed-off-by: Dominik Brodowski commit 7ab24855482fbc47712de46c05726d59cd0748e2 Author: Dominik Brodowski Date: Wed Feb 17 18:00:07 2010 +0100 pcmcia: add locking to pcmcia_{read,write}_cis_mem Signed-off-by: Dominik Brodowski commit 44961a03adbf16d872f0b83ec848d0759516d33f Author: Dominik Brodowski Date: Sun Jan 24 12:11:02 2010 +0100 pcmcia: avoid prod_id memleak Reported-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit c3bfc96ef7366aa996fb8286a36f3333a3b4ff25 Author: Dominik Brodowski Date: Mon Jan 18 08:43:39 2010 +0100 pcmcia: avoid sysfs-related lockup for cardbus In cb_free(), we remove some sysfs files -- other sysfs files might grab ops_mutex, so we cannot hold it while removing sysfs files. This fixes http://lkml.org/lkml/2010/1/17/88 . Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit aa584ca4cdd8db370a524c61fd3ca408303281e9 Author: Dominik Brodowski Date: Sun Jan 24 14:36:59 2010 +0100 pcmcia: use state machine for extended requery The requery callback now also handles the addition of a second pseudo multifunction device. Avoids messing with dev_{g,s}et_drvdata(), and fixes any workqueue <-> skt_mutex deadlock. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit af461fc1875b6ec18e23b5f670af36c4ed35c84e Author: Dominik Brodowski Date: Sun Jan 17 19:30:53 2010 +0100 pcmcia: delay re-scanning and re-querying of PCMCIA bus After a CIS update -- or the finalization of the resource database --, proceed with the re-scanning or re-querying of PCMCIA cards only in a separate thread to avoid deadlocks. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit f971dbd5da4e2fbf756d07b938a9c65a9c75178b Author: Dominik Brodowski Date: Sun Jan 17 18:13:31 2010 +0100 pcmcia: use pccardd to handle eject, insert, suspend and resume requests This avoids any sysfs-related deadlock (or lockdep warning), such as reported at http://lkml.org/lkml/2010/1/17/88 . Reported-by: Ming Lei Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit cfe5d809518eda3d5e2da87c5ccbe8647143573a Author: Dominik Brodowski Date: Sun Jan 17 19:31:45 2010 +0100 pcmcia: use ops_mutex for rsrc_{mgr,nonstatic} locking Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 3f565232c561fbd9d5e03354aac29b90cb2bc78a Author: Dominik Brodowski Date: Sat Jan 16 13:06:40 2010 +0100 pcmcia: use mutex for dynid lock Even though we weren't calling a blocking function within the dynid spinlock, we do not need a spinlock here but can and should be using a mutex. Reported-by: Jiri Slaby Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 94a819f80297e1f635a7cde4ed5317612e512ba7 Author: Dominik Brodowski Date: Sun Jan 17 18:31:34 2010 +0100 pcmcia: assert locking to struct pcmcia_device Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 3d068261854b00c930df4516cd617900935e7706 Author: Dominik Brodowski Date: Sat Jan 16 09:17:10 2010 +0100 pcmcia: add locking documentation Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 00ce99ff506a17882747a7d6874e3f5206a99043 Author: Dominik Brodowski Date: Sat Jan 16 09:14:11 2010 +0100 pcmcia: simplify locking replace pcmcia_socket->lock and pcmcia_dev_list_lock by using the per-socket "ops_mutex", as we do neither need different locks nor a spinlock here. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 3d3de32fad19e37695e6649136e4cb17f9d46329 Author: Dominik Brodowski Date: Sat Jan 16 08:32:56 2010 +0100 pcmcia: add locking to struct pcmcia_socket->pcmcia_state() Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit e6e4f397e5d0970ee1bb7a5591ac93b37cfa524a Author: Dominik Brodowski Date: Sat Jan 16 01:34:06 2010 +0100 pcmcia: protect s->device_count Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 64d8d46f5f501a19aec4db7ff93faf1b831d05ed Author: Dominik Brodowski Date: Sat Jan 16 01:14:38 2010 +0100 pcmcia: properly lock skt->irq, skt->irq_mask Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 9e86749cff70fca505c7c1a9dc760d193f27a059 Author: Dominik Brodowski Date: Sat Jan 16 00:26:33 2010 +0100 pcmcia: lock ops->set_socket As a side effect, socket_state_t socket; u_int state; u_int suspended_state; are properly protected now. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 8533ee31cdc08fc1f2533e5f21f8e4abf6a57dfc Author: Dominik Brodowski Date: Tue Jan 12 23:52:19 2010 +0100 pcmcia: lock ops->set_io_map() As a side effect, io_window_t io[MAX_IO_WIN]; is explicitely protected now. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 8680c4b3faa298dc768c2a78a94a84d89854eca9 Author: Dominik Brodowski Date: Tue Jan 12 22:05:36 2010 +0100 pcmcia: also lock fake and cache CIS by ops_mutex Specifically, struct list_head cis_cache; size_t fake_cis_len; u8 *fake_cis; are protected. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 6b8e087b86c59c3941e125738d30cf38014089e0 Author: Dominik Brodowski Date: Tue Jan 12 21:42:51 2010 +0100 pcmcia: add locking to set_mem_map() Protect the pccard_operations callback "set_mem_map" by a new mutex ops_mutex. This mutex also protects the following values in struct pcmcia_socket: pccard_mem_map win[] pccard_mem_map cis_mem void __iomem *cis_virt Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit c6958fdb041db6ed77f24e871dd4af5f059d1a2b Author: Wolfram Sang Date: Sat Feb 6 22:09:44 2010 +0100 pcmcia/i82365: fix typos in comments Signed-off-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 0d418dfae81987f09a2c13778318d56abee49529 Author: Uwe Kleine-König Date: Sat Jan 23 21:59:22 2010 +0100 pcmcia/omap_cf: don't redefine SZ_2K This fixes: drivers/pcmcia/omap_cf.c:74:1: warning: "SZ_2K" redefined Since c1191b0 ([ARM] Kirkwood: create a mapping for the Security Accelerator SRAM) SZ_2K is defined in arch/arm/include/asm/sizes.h. Signed-off-by: Uwe Kleine-König Signed-off-by: Dominik Brodowski commit 7432a5b6c7e38f5d89e890c6fcc00990006ab997 Author: Uwe Kleine-König Date: Fri Jan 22 20:13:27 2010 +0100 pcmcia/at91_cf: don't redefine SZ_2K This fixes: drivers/pcmcia/at91_cf.c:55:1: warning: "SZ_2K" redefined Since c1191b0 ([ARM] Kirkwood: create a mapping for the Security Accelerator SRAM) SZ_2K is defined in arch/arm/include/asm/sizes.h. Signed-off-by: Uwe Kleine-König Acked-by: Andrew Victor Signed-off-by: Dominik Brodowski commit 4aa50bc9c2b2d5ab5c63658e0fadad03a08835cc Author: Uwe Kleine-König Date: Wed Jan 13 12:05:45 2010 +0100 pcmcia/bfin_cf: don't check platform_get_irq's return value against zero platform_get_irq returns -ENXIO on failure, so !irq was probably always true. Better use irq <= 0. Note that a return value of zero is still handled as error even though this could mean irq0. This is a followup to 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 that changed the return value of platform_get_irq from 0 to -ENXIO on error. Signed-off-by: Uwe Kleine-König Cc: David Vrabel Cc: Greg Kroah-Hartman Cc: Rafael J. Wysocki Signed-off-by: Dominik Brodowski commit 35169529093be3bbef70afd3c4125e35cece7e03 Author: Wolfram Sang Date: Sun Jan 10 09:41:24 2010 +0100 pcmcia/yenta: add module parameter for O2 speedups O2-bridges can do read prefetch and write burst. However, for some combinations of older bridges and cards, this causes problems, so it is disabled for those bridges. Now, as some users know their setup works with the speedups enabled, a new parameter is introduced to the driver. Now, a user can specifically enable or disable these features, while the default is what we have today: detect the bridge and decide accordingly. Fixes Bugzilla entry 15014. Simplify and unify the printouts, fix a whitespace issue while we are here. Signed-off-by: Wolfram Sang Tested-by: frodone@gmail.com [linux@dominikbrodowski.net: whitespace fixes] Signed-off-by: Dominik Brodowski commit 63c9a8b3023e6e276343da56e0f31a98c28ece9b Author: Márton Németh Date: Tue Jan 12 08:56:13 2010 +0100 pcmcia: make Open Firmware device id constant The match_table field of the struct of_device_id is constant in so it is worth to make the initialization data also constant. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @r@ disable decl_init,const_decl_init; identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Cc: Julia Lawall Cc: cocci@diku.dk Acked-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit c6be9c5ab426693a052e67d7469df19a1c50faf4 Author: H Hartley Sweeten Date: Fri Jan 8 11:30:13 2010 -0700 cm4000_cs.c: Remove unnecessary cast The struct file 'private_data' member is a void *, the cast is not needed. Signed-off-by: H Hartley Sweeten Cc: Harald Welte Signed-off-by: Dominik Brodowski commit 9d9c98e89ee24b7d42f72c4f663c4d644d1c3f81 Author: Michal Marek Date: Thu Jan 7 21:03:11 2010 +0100 pcmcia: fix yenta dependency on PCCARD_NONSTATIC With CONFIG_PCMCIA=m and CONFIG_YENTA=y, we get drivers/built-in.o: In function `yenta_probe': yenta_socket.c:(.devinit.text+0x1e582): undefined reference to `pccard_nonstatic_ops' This is because select PCCARD_NONSTATIC if PCMCIA sets PCCARD_NONSTATIC = min(YENTA, PCMCIA). Change it to 'if PCMCIA!=n' to remove the upper limit. [linux@dominikbrodowski.net: propagate change to PCMICA_M8XX] Reported-by: Randy Dunlap Signed-off-by: Michal Marek Acked-by: Randy Dunlap Signed-off-by: Dominik Brodowski commit 3a86e1807a53b7164c4ca2aec538d8a5d15416f1 Author: Dominik Brodowski Date: Wed Jan 6 14:33:15 2010 +0100 pcmcia: do not use resource manager on !PCMCIA If only CardBus cards are used, but not PCMCIA cards, we do not need the extensive resource management functions provided for by rsrc_nonstatic.c (~240K). Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit a3ac9af56c14c366a76fb4916995e57392c7b7d5 Author: Dominik Brodowski Date: Wed Jan 6 14:03:03 2010 +0100 pcmcia: remove remaining rsrc_mgr indirections Move rsrc_mgr indirections only used by the pcmcia module to the pcmcia module. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 6e7b51a733fde86d3be748543215a69da04d5bb7 Author: Dominik Brodowski Date: Wed Jan 6 13:57:43 2010 +0100 pcmcia: move cistpl.c into pcmcia module As PCMCIA is the only real user of CIS access functions, include cistpl.c in the PCMCIA module, not in the PCMCIA & CardBus core module. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 4e8804ff6dd1a842d9531c819a0acc9eb3bcfa3b Author: Dominik Brodowski Date: Wed Jan 6 11:19:25 2010 +0100 pcmcia: m8xx_pcmcia.c should use iodyn resource manager The socket driver m8xx_pcmcia.c uses a static memory assignment, but io_offset is set to 0. Therefore, it seems proper to use the iodyn resource manager for this driver, as was previously the case (before commit 80128ff79d282cf71b1819dbca9b8dd47d8ed3e8). CC: Vitaly Bordug CC: Arnd Bergmann CC: Olof Johansson Signed-off-by: Dominik Brodowski commit d24720a45ad2928f687c6371482cdfba19b74fc5 Author: Anatolij Gustschin Date: Wed Feb 17 07:33:22 2010 -0700 powerpc/mpc5121: correct DIU compatible property The DIU driver should bind against "fsl,mpc5121-diu" directly. Add this compatible property to the match table and fix DTS and platform code accordingly. Signed-off-by: Anatolij Gustschin Signed-off-by: Grant Likely commit 85cd7467f3a66800c20815d3fca45d33038b9279 Author: Ernst Schwab Date: Wed Feb 17 07:33:02 2010 -0700 powerpc/of: added documentation for spi chipselects Added devicetree binding documentation for gpios used as chipselect. The code to evaluate these is already present in spi_mpc8xxx.c. Signed-off-by: Ernst Schwab Reviewed-by: Wolfram Sang Signed-off-by: Grant Likely commit 57ab12e418ec4fe24c11788bb1bbdabb29d05679 Author: Jiri Kosina Date: Wed Feb 17 14:25:01 2010 +0100 HID: usbhid: initialize interface pointers early enough Move the initialization of USB interface pointers from _start() over to _probe() callback, which is where it belongs. This fixes case where interface is NULL when parsing of report descriptor fails. LKML-Reference: <20100213135720.603e5f64@neptune.home> Reported-by: Alan Stern Tested-by: Bruno Prémont Signed-off-by: Jiri Kosina commit 952974ac61f686896bd4134dae106a886a5589f1 Author: Heiko Carstens Date: Fri Feb 12 13:38:40 2010 +0100 s390: Add pt_regs register and stack access API This API is needed for the kprobe-based event tracer. Signed-off-by: Heiko Carstens Reviewed-by: Masami Hiramatsu Cc: Martin Schwidefsky LKML-Reference: <20100212123840.GB27548@osiris.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit d53a0d33bc3a50ea0e8dd1680a2e8435770b162a Author: Paul Mundt Date: Wed Feb 17 21:17:02 2010 +0900 sh: PMB locking overhaul. This implements some locking for the PMB code. A high level rwlock is added for dealing with rw accesses on the entry map while a per-entry data structure spinlock is added to deal with the PMB entry changing out from underneath us. Signed-off-by: Paul Mundt commit f850c30c8b426ba1688cb63b1a3e534eed03a138 Author: Heiko Carstens Date: Wed Feb 10 17:25:17 2010 +0100 tracing/kprobes: Make Kconfig dependencies generic KPROBES_EVENT actually depends on the regs and stack access API (b1cf540f) and not on x86. So introduce a new config option which architectures can select if they have the API implemented and switch x86. Signed-off-by: Heiko Carstens Acked-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Martin Schwidefsky LKML-Reference: <20100210162517.GB6933@osiris.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit e7b8e675d9c71b868b66f62f725a948047514719 Author: Mike Frysinger Date: Tue Jan 26 04:40:03 2010 -0500 tracing: Unify arch_syscall_addr() implementations Most implementations of arch_syscall_addr() are the same, so create a default version in common code and move the one piece that differs (the syscall table) to asm/syscall.h. New arch ports don't have to waste time copying & pasting this simple function. The s390/sparc versions need to be different, so document why. Signed-off-by: Mike Frysinger Acked-by: David S. Miller Acked-by: Paul Mundt Acked-by: Heiko Carstens Cc: Steven Rostedt LKML-Reference: <1264498803-17278-1-git-send-email-vapier@gentoo.org> Signed-off-by: Frederic Weisbecker commit 83ab0aa0d5623d823444db82c3b3c34d7ec364ae Author: Thomas Gleixner Date: Wed Feb 17 09:05:48 2010 +0100 sched: Don't use possibly stale sched_class setscheduler() saves task->sched_class outside of the rq->lock held region for a check after the setscheduler changes have become effective. That might result in checking a stale value. rtmutex_setprio() has the same problem, though it is protected by p->pi_lock against setscheduler(), but for correctness sake (and to avoid bad examples) it needs to be fixed as well. Retrieve task->sched_class inside of the rq->lock held region. Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra Cc: stable@kernel.org commit 0065b96775f1eff167a2c3343a41582e8fab4c6c Author: Paul Mundt Date: Wed Feb 17 18:05:23 2010 +0900 sh: Fix up dynamically created write-through PMB mappings. Write-through PMB mappings still require the cache bit to be set, even if they're to be flagged with a different cache policy and bufferability bit. To reduce some of the confusion surrounding the flag encoding we centralize the cache mask based on the system cache policy while we're at it. Signed-off-by: Paul Mundt commit d7813bc9e8e384f5a293b05c095c799d41af3668 Author: Paul Mundt Date: Wed Feb 17 17:56:38 2010 +0900 sh: Build PMB entry links for existing contiguous multi-page mappings. This plugs in entry sizing support for existing mappings and then builds on top of that for linking together entries that are mapping contiguous areas. This will ultimately permit us to coalesce mappings and promote head pages while reclaiming PMB slots for dynamic remapping. Signed-off-by: Paul Mundt commit 7f978b9bf535cbbd1ae8d9fbdd7c4f60ab38f260 Author: Jiri Kosina Date: Wed Feb 17 09:36:35 2010 +0100 HID: extend mask for BUTTON usage page Now that joystick button usages can expand over 15 buttons, we have to properly mask out the code from hid usage to cover the whole 0xffff available space. Reported-by: Stefan Bader Signed-off-by: Jiri Kosina commit 9edef28653a519bf0a48250f36cce96b1736ec4e Author: Paul Mundt Date: Wed Feb 17 16:28:00 2010 +0900 sh: uncached mapping helpers. This adds some helper routines for uncached mapping support. This simplifies some of the cases where we need to check the uncached mapping boundaries in addition to giving us a centralized location for building more complex manipulation on top of. Signed-off-by: Paul Mundt commit 51becfd96287b3913b13075699433730984e2f4f Author: Paul Mundt Date: Wed Feb 17 15:33:30 2010 +0900 sh: PMB tidying. Some overdue cleanup of the PMB code, killing off unused functionality and duplication sprinkled about the tree. Signed-off-by: Paul Mundt commit e9cb0a49247ea6b3cd078716bcdcbd5d911e76ac Author: Anatolij Gustschin Date: Tue Feb 16 22:30:04 2010 -0700 powerpc/mpc5121: enable support for more PSC UARTs MPC5121 has 12 PSC devices. Enable UART support for all of them by defining the number of max. PSCs depending on selection of PPC_MPC512x platform support. Signed-off-by: Anatolij Gustschin Acked-by: Greg Kroah-Hartman Signed-off-by: Grant Likely commit 4f35e23eb0d62c5cd8b857933a0b6bd56ebdb010 Author: Anatolij Gustschin Date: Tue Feb 16 22:30:04 2010 -0700 powerpc: doc/dts-bindings: document mpc5121 psc uart dts-bindings Support for MPC5121 PSC UART in the mpc52xx_uart driver added new DTS properties for FSL MPC5121 PSC FIFO Controller. Provide documentation of the new properties and some examples. Signed-off-by: Anatolij Gustschin Acked-by: Greg Kroah-Hartman Signed-off-by: Grant Likely commit 6acc6833510db8f72b5ef343296d97480555fda9 Author: Anatolij Gustschin Date: Tue Feb 16 22:30:03 2010 -0700 serial: mpc52xx_uart: re-enable mpc5121 PSC UART support Currently the support for MPC5121 PSC UART in the mpc52xx_uart driver is broken (only console pre-initialized by the bootloader works). Re-enable it now by providing MPC5121 specific ops for PSCx clock activation, FIFO controller init/uninit and MPC5121 PSC FIFO shared interrupt handling functions. Signed-off-by: John Rigby Signed-off-by: Anatolij Gustschin Acked-by: Greg Kroah-Hartman Signed-off-by: Grant Likely commit 477346ff74f4c2aed50e8a0db96a61069f3e5b80 Author: Dave Airlie Date: Thu Jan 7 17:04:54 2010 +1000 x86-64: Allow fbdev primary video code For some reason the 64-bit tree was doing this differently and I can't see why it would need to. This correct behaviour when you have two GPUs plugged in and 32-bit put the console in one place and 64-bit in another. Signed-off-by: Dave Airlie LKML-Reference: <1262847894-27498-1-git-send-email-airlied@gmail.com> Signed-off-by: H. Peter Anvin commit 7bdda6209f224aa784a036df54b22cb338d2e859 Author: Paul Mundt Date: Wed Feb 17 13:23:00 2010 +0900 sh: Fix up more 64-bit pgprot truncation on SH-X2 TLB. Both the store queue API and the PMB remapping take unsigned long for their pgprot flags, which cuts off the extended protection bits. In the case of the PMB this isn't really a problem since the cache attribute bits that we care about are all in the lower 32-bits, but we do it just to be safe. The store queue remapping on the other hand depends on the extended prot bits for enabling userspace access to the mappings. Signed-off-by: Paul Mundt commit 838a4a9dcee0cbaeb0943531da00ac44d578f315 Author: Magnus Damm Date: Tue Feb 16 05:19:19 2010 +0000 sh: fix sh7723 SDHI support using INTC force_disable Update the sh7723 INTC tables with force_enable support to mask out pending unsupported SDHI interrupt sources. Without this patch the kernel locks up due to a pending SDHI interrupt that the tmio_mmc driver cannot handle. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e9125ac0bf78bc19181359a3411d2e2bb757942d Author: Magnus Damm Date: Tue Feb 16 05:17:52 2010 +0000 sh: fix sh7722 SDHI support using INTC force_disable Update the sh7722 INTC tables with force_enable support to mask out pending unsupported SDHI interrupt sources. Without this patch the kernel locks up due to a pending SDHI interrupt that the tmio_mmc driver cannot handle. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4d2185d93c670902b6e4716b360e2bcb7d2f7b2f Author: Paul Mundt Date: Wed Feb 17 12:37:42 2010 +0900 sh: Use dummy_irq_chip for INTC redirect vectors. Presently there's an ordering issue with the chained handler change which places the set_irq_chip() after set_irq_chained_handler(). This causes a warning to be emitted as the IRQ chip needs to be set first. However, there is the caveat that redirect IRQs can't use the parent IRQ's irq chip as they are just dummy redirects, resulting in intc_enable() blowing up when set_irq_chained_handler() attempts to start up the redirect IRQ. In these cases we can just use dummy_irq_chip directly, as we already extract the parent IRQ and chip from the redirect handler. Signed-off-by: Paul Mundt commit 49f3bfe9334a4cf86079d2ee1d08e674b58862a9 Author: Paul Mundt Date: Wed Feb 17 12:33:22 2010 +0900 sh: Setup boot CPU VBR early to enable early page faults. vmemmap and the vmsplit code amongst others need to be able to take page faults much earlier than trap_init() time, so move this in to the early CPU initialization. VBR setup for secondary CPUs is already handled through start_secondary(), so we only need to do this for the boot CPU. Signed-off-by: Paul Mundt commit 3bffb6529cf10d48a97ac0d6d789986894c25c37 Author: Dave Kleikamp Date: Mon Feb 8 11:51:18 2010 +0000 powerpc/booke: Add support for advanced debug registers powerpc/booke: Add support for advanced debug registers From: Dave Kleikamp Based on patches originally written by Torez Smith. This patch defines context switch and trap related functionality for BookE specific Debug Registers. It adds support to ptrace() for setting and getting BookE related Debug Registers Signed-off-by: Dave Kleikamp Cc: Torez Smith Cc: Benjamin Herrenschmidt Cc: David Gibson Cc: Josh Boyer Cc: Kumar Gala Cc: Sergio Durigan Junior Cc: Thiago Jung Bauermann Cc: linuxppc-dev list Signed-off-by: Benjamin Herrenschmidt commit 99396ac105f54fe3584374c7c70a5cb6def766e6 Author: Dave Kleikamp Date: Mon Feb 8 11:53:26 2010 +0000 powerpc/booke: Add definitions for advanced debug registers powerpc/booke: Add definitions for advanced debug registers From: Dave Kleikamp Based on patches originally written by Torez Smith. This patch adds additional definitions for BookE Debug Registers to the reg_booke.h header file. Signed-off-by: Dave Kleikamp Acked-by: David Gibson Cc: Torez Smith Cc: Benjamin Herrenschmidt Cc: Josh Boyer Cc: Kumar Gala Cc: Sergio Durigan Junior Cc: Thiago Jung Bauermann Cc: linuxppc-dev list Signed-off-by: Benjamin Herrenschmidt commit 3162d92dfb79a0b5fc03380b8819fa5f870ebf1e Author: Dave Kleikamp Date: Mon Feb 8 11:51:05 2010 +0000 powerpc: Extended ptrace interface powerpc: Extended ptrace interface From: Dave Kleikamp Based on patches originally written by Torez Smith. Add a new extended ptrace interface so that user-space has a single interface for powerpc, without having to know the specific layout of the debug registers. Implement: PPC_PTRACE_GETHWDEBUGINFO PPC_PTRACE_SETHWDEBUG PPC_PTRACE_DELHWDEBUG Signed-off-by: Dave Kleikamp Acked-by: David Gibson Cc: Torez Smith Cc: Benjamin Herrenschmidt Cc: Josh Boyer Cc: Kumar Gala Cc: Sergio Durigan Junior Cc: Thiago Jung Bauermann Cc: linuxppc-dev list Signed-off-by: Benjamin Herrenschmidt commit 172ae2e7f8ff9053905a36672453a6d2ff95b182 Author: Dave Kleikamp Date: Mon Feb 8 11:50:57 2010 +0000 powerpc/booke: Introduce new CONFIG options for advanced debug registers powerpc/booke: Introduce new CONFIG options for advanced debug registers From: Dave Kleikamp Introduce new config options to simplify the ifdefs pertaining to the advanced debug registers for booke and 40x processors: CONFIG_PPC_ADV_DEBUG_REGS - boolean: true for dac-based processors CONFIG_PPC_ADV_DEBUG_IACS - number of IAC registers CONFIG_PPC_ADV_DEBUG_DACS - number of DAC registers CONFIG_PPC_ADV_DEBUG_DVCS - number of DVC registers CONFIG_PPC_ADV_DEBUG_DAC_RANGE - DAC ranges supported Beginning conservatively, since I only have the facilities to test 440 hardware. I believe all 40x and booke platforms support at least 2 IAC and 2 DAC registers. For 440, 4 IAC and 2 DVC registers are enabled, as well as the DAC ranges. Signed-off-by: Dave Kleikamp Acked-by: David Gibson Signed-off-by: Benjamin Herrenschmidt commit 789c299ca280f96368c0296b739e89c0bb232f8a Author: Anton Blanchard Date: Wed Feb 10 14:56:26 2010 +0000 powerpc: Improve 64bit copy_tofrom_user Here is a patch from Paul Mackerras that improves the ppc64 copy_tofrom_user. The loop now does 32 bytes at a time and as well as pairing loads and stores. A quick test case that reads 8kB over and over shows the improvement: POWER6: 53% faster POWER7: 51% faster #define _XOPEN_SOURCE 500 #include #include #include #include #include #include #define BUFSIZE (8 * 1024) #define ITERATIONS 10000000 int main() { char tmpfile[] = "/tmp/copy_to_user_testXXXXXX"; int fd; char *buf[BUFSIZE]; unsigned long i; fd = mkstemp(tmpfile); if (fd < 0) { perror("open"); exit(1); } if (write(fd, buf, BUFSIZE) != BUFSIZE) { perror("open"); exit(1); } for (i = 0; i < 10000000; i++) { if (pread(fd, buf, BUFSIZE, 0) != BUFSIZE) { perror("pread"); exit(1); } } unlink(tmpfile); return 0; } Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 63e6c5b8102af7df7a5e1cebbd865d711645886a Author: Anton Blanchard Date: Wed Feb 10 18:07:54 2010 +0000 powerpc: Pair loads and stores in copy_4k_page A number of our chips like loads and stores to be paired. A small kernel module testcase shows the improvement of pairing loads and stores in copy_4k_page: POWER6: +9% POWER7: +1.5% #include #include #define ITERATIONS 10000000 static int __init copypage_init(void) { struct timespec before, after; unsigned long i; struct page *destpage, *srcpage; char *dest, *src; destpage = alloc_page(GFP_KERNEL); srcpage = alloc_page(GFP_KERNEL); dest = page_address(destpage); src = page_address(srcpage); getnstimeofday(&before); for (i = 0; i < ITERATIONS; i++) copy_4K_page(dest, src); getnstimeofday(&after); free_page((unsigned long)dest); free_page((unsigned long)src); printk(KERN_DEBUG "copy_4K_page loop took %lu ns\n", (after.tv_sec - before.tv_sec) * NSEC_PER_SEC + (after.tv_nsec - before.tv_nsec)); return 0; } static void __exit copypage_exit(void) { } module_init(copypage_init) module_exit(copypage_exit) MODULE_LICENSE("GPL"); MODULE_AUTHOR("Anton Blanchard"); Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 5a0e9b5718d921f5d8e17176d6b483f6b8f1844a Author: Anton Blanchard Date: Wed Feb 10 01:10:25 2010 +0000 powerpc: Use lwsync for acquire barrier if CPU supports it Nick Piggin discovered that lwsync barriers around locks were faster than isync on 970. That was a long time ago and I completely dropped the ball in testing his patches across other ppc64 processors. Turns out the idea helps on other chips. Using a microbenchmark that uses a lot of threads to contend on a global pthread mutex (and therefore a global futex), POWER6 improves 8% and POWER7 improves 2%. I checked POWER5 and while I couldn't measure an improvement, there was no regression. This patch uses the lwsync patching code to replace the isyncs with lwsyncs on CPUs that support the instruction. We were marking POWER3 and RS64 as lwsync capable but in reality they treat it as a full sync (ie slow). Remove the CPU_FTR_LWSYNC bit from these CPUs so they continue to use the faster isync method. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 53eae2281ad2607fa66a8ad1cb06186c8900da56 Author: Anton Blanchard Date: Wed Feb 10 01:07:19 2010 +0000 powerpc: Fix lwsync patching code on 64bit do_lwsync_fixups doesn't work on 64bit, we end up writing lwsyncs to the wrong addresses: 0:mon> di c0000001000bfacc c0000001000bfacc 7c2004ac lwsync Since the lwsync section has negative offsets we need to use a signed int pointer so we sign extend the value. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit f10e2e5b4b4c9937de596f96ffe028be3a565598 Author: Anton Blanchard Date: Wed Feb 10 01:04:06 2010 +0000 powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER For performance reasons we are about to change ISYNC_ON_SMP to sometimes be lwsync. Now that the macro name doesn't make sense, change it and LWSYNC_ON_SMP to better explain what the barriers are doing. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 66d99b883419b8df6d0a24ca957da7ab4831cf6e Author: Anton Blanchard Date: Wed Feb 10 01:03:06 2010 +0000 powerpc: Convert open coded native hashtable bit lock Now we have real bit locks use them instead of open coding it. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 864b9e6fd76489aab422bac62162f57c52e06ed8 Author: Anton Blanchard Date: Wed Feb 10 01:02:36 2010 +0000 powerpc: Use lwarx/ldarx hint in bit locks This patch implements the lwarx/ldarx hint bit for bit locks. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 4e14a4d17a8cd66ccab180d32c977091922cfbed Author: Anton Blanchard Date: Wed Feb 10 00:57:28 2010 +0000 powerpc: Use lwarx hint in spinlocks Recent versions of the PowerPC architecture added a hint bit to the larx instructions to differentiate between an atomic operation and a lock operation: > 0 Other programs might attempt to modify the word in storage addressed by EA > even if the subsequent Store Conditional succeeds. > > 1 Other programs will not attempt to modify the word in storage addressed by > EA until the program that has acquired the lock performs a subsequent store > releasing the lock. To avoid a binutils dependency this patch create macros for the extended lwarx format and uses it in the spinlock code. To test this change I used a simple test case that acquires and releases a global pthread mutex: pthread_mutex_lock(&mutex); pthread_mutex_unlock(&mutex); On a 32 core POWER6, running 32 test threads we spend almost all our time in the futex spinlock code: 94.37% perf [kernel] [k] ._raw_spin_lock | |--99.95%-- ._raw_spin_lock | | | |--63.29%-- .futex_wake | | | |--36.64%-- .futex_wait_setup Which is a good test for this patch. The results (in lock/unlock operations per second) are: before: 1538203 ops/sec after: 2189219 ops/sec An improvement of 42% A 32 core POWER7 improves even more: before: 1279529 ops/sec after: 2282076 ops/sec An improvement of 78% Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 17081102a6e0fe32cf47cdbdf8f2e9ab55273b08 Author: Anton Blanchard Date: Sun Jan 31 20:34:36 2010 +0000 powerpc: Convert global "BAD" interrupt to per cpu spurious I often get asked if BAD interrupts are really bad. On some boxes (eg IBM machines running a hypervisor) there are valid cases where are presented with an interrupt that is not for us. These cases are common enough to show up as thousands of BAD interrupts a day. Tone them down by calling them spurious. Since they can be a significant cause of OS jitter, we may as well log them per cpu so we know where they are occurring. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 89713ed10815401a1bfe12e3a076b64048381b56 Author: Anton Blanchard Date: Sun Jan 31 20:34:06 2010 +0000 powerpc: Add timer, performance monitor and machine check counts to /proc/interrupts With NO_HZ it is useful to know how often the decrementer is going off. The patch below adds an entry for it and also adds it into the /proc/stat summaries. While here, I added performance monitoring and machine check exceptions. I found it useful to keep an eye on the PMU exception rate when using the perf tool. Since it's possible to take a completely handled machine check on a System p box it also sounds like a good idea to keep a machine check summary. The event naming matches x86 to keep gratuitous differences to a minimum. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit fc380c0c8a17bc2bd2d9d7fb41d4a88c3e618db2 Author: Anton Blanchard Date: Sun Jan 31 20:33:41 2010 +0000 powerpc: Remove whitespace in irq chip name fields Now we use printf style alignment there is no need to manually space these fields. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit c86845ede8b643ca025aec277dec1892d0ccac01 Author: Anton Blanchard Date: Sun Jan 31 20:33:18 2010 +0000 powerpc: Rework /proc/interrupts On a large machine I noticed the columns of /proc/interrupts failed to line up with the header after CPU9. At sufficiently large numbers of CPUs it becomes impossible to line up the CPU number with the counts. While fixing this I noticed x86 has a number of updates that we may as well pull in. On PowerPC we currently omit an interrupt completely if there is no active handler, whereas on x86 it is printed if there is a non zero count. The x86 code also spaces the first column correctly based on nr_irqs. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit fda9d86100e0b412d0c8a16abe0651c8c8e39e81 Author: Anton Blanchard Date: Sun Jan 31 20:32:51 2010 +0000 powerpc: Reduce footprint of xics_ipi_struct Right now we allocate a cacheline sized NR_CPUS array for xics IPI communication. Use DECLARE_PER_CPU_SHARED_ALIGNED to put it in percpu data in its own cacheline since it is written to by other cpus. On a kernel with NR_CPUS=1024, this saves quite a lot of memory: text data bss dec hex filename 8767779 2944260 1505724 13217763 c9afe3 vmlinux.irq_cpustat 8767555 2813444 1505724 13086723 c7b003 vmlinux.xics A saving of around 128kB. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 8c007bfdf1bab536f824d91fccc76596c18aba78 Author: Anton Blanchard Date: Sun Jan 31 20:30:23 2010 +0000 powerpc: Reduce footprint of irq_stat PowerPC is currently using asm-generic/hardirq.h which statically allocates an NR_CPUS irq_stat array. Switch to an arch specific implementation which uses per cpu data: On a kernel with NR_CPUS=1024, this saves quite a lot of memory: text data bss dec hex filename 8767938 2944132 1636796 13348866 cbb002 vmlinux.baseline 8767779 2944260 1505724 13217763 c9afe3 vmlinux.irq_cpustat A saving of around 128kB. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 8d3d50bf1913561ef3b1f5b53115c5a481ba9b1e Author: Breno Leitao Date: Wed Feb 3 05:56:41 2010 +0000 powerpc/eeh: Fix a bug when pci structure is null During a EEH recover, the pci_dev structure can be null, mainly if an eeh event is detected during cpi config operation. In this case, the pci_dev will not be known (and will be null) the kernel will crash with the following message: Unable to handle kernel paging request for data at address 0x000000a0 Faulting instruction address: 0xc00000000006b8b4 Oops: Kernel access of bad area, sig: 11 [#1] NIP [c00000000006b8b4] .eeh_event_handler+0x10c/0x1a0 LR [c00000000006b8a8] .eeh_event_handler+0x100/0x1a0 Call Trace: [c0000003a80dff00] [c00000000006b8a8] .eeh_event_handler+0x100/0x1a0 [c0000003a80dff90] [c000000000031f1c] .kernel_thread+0x54/0x70 The bug occurs because pci_name() tries to access a null pointer. This patch just guarantee that pci_name() is not called on Null pointers. Signed-off-by: Breno Leitao Signed-off-by: Linas Vepstas Signed-off-by: Benjamin Herrenschmidt commit e0508b1516ad4423499d4118a9037ae0aa4e9c2f Author: Corey Minyard Date: Wed Feb 3 05:08:17 2010 +0000 powerpc: Add coherent_dma_mask to mv64x60 devices DMA ops requires that coherent_dma_mask be set properly for a device, but this was not being done for devices on the MV64x60 that use DMA. Both the serial and ethernet devices need this or they won't be able to allocate memory. Signed-off-by: Corey Minyard Signed-off-by: Benjamin Herrenschmidt commit ec144a81ade915b5b38adedf10e84690813ed768 Merge: b919ee8 8862627 Author: Benjamin Herrenschmidt Date: Wed Feb 17 10:00:42 2010 +1100 Merge commit 'origin/master' into next commit 4f4517c45f325ba511458465430a52864a5d0d30 Author: Ernst Schwab Date: Tue Feb 16 21:02:57 2010 -0700 spi: Correct SPI clock frequency setting in spi_mpc8xxx Correct SPI clock frequency division factor rounding, preventing clock rates higher than the maximum specified clock frequency being used. When specifying spi-max-frequency = <10000000> in the device tree, the resulting frequency was 11.1 MHz, with spibrg being 133333332. According to the freescale data sheet [1], the spi clock rate is spiclk = spibrg / (4 * (pm+1)) The existing code calculated pm = mpc8xxx_spi->spibrg / (hz * 4); pm--; resulting in pm = (int) (3.3333) - 1 = 2, resulting in spiclk = 133333332/(4*(2+1)) = 11111111 With the fix, pm = (mpc8xxx_spi->spibrg - 1) / (hz * 4) + 1; pm--; resulting in pm = (int) (4.3333) - 1 = 3, resulting in spiclk = 133333332/(4*(3+1)) = 8333333 Without the fix, for every desired SPI frequency that is not exactly derivable from spibrg, pm will be too small due to rounding down, resulting in a too high SPI clock, so we need a pm which is one higher. For values that are exactly derivable, spibrg will be dividable by (hz*4) without remainder, and (int) ((spibrg-1)/(hz*4)) will be one lower than (int) (spibrg)/(hz*4), which is compensated by adding 1. For these values, the fixed version calculates the same pm as the unfixed version. For all values that are not exactly derivable, spibrg will be not dividable by (hz*4) without remainder, and (int) ((spibrg-1)/(hz*4)) will be the same as (int) (spibrg)/(hz*4), and the calculated pm will be one higher than calculated by the unfixed version. References: [1] http://www.freescale.com/files/32bit/doc/ref_manual/MPC8315ERM.pdf, page 22-10 -> 1398 Signed-off-by: Ernst Schwab Signed-off-by: Grant Likely commit cf24dae14663b88cd64b37df3c7737269aa3cb5e Author: Anatolij Gustschin Date: Tue Feb 16 11:12:26 2010 -0700 powerpc/mpc5121: Add default config for MPC5121 Signed-off-by: Wolfgang Denk Signed-off-by: Detlev Zundel Signed-off-by: Anatolij Gustschin Signed-off-by: Grant Likely commit dcc79d7870cfc3b3f11137e040e743dc50f88acf Author: Anatolij Gustschin Date: Tue Feb 16 11:12:04 2010 -0700 powerpc/mpc5121: update mpc5121ads DTS Collects several changes needed after applying previous mpc5121 platform and driver patches: - Add mpc5121 reset module node - Clean up and fix NAND description, remove unused properties here and correct NAND flash chip size. - Clean up I2C nodes: remove obsolete "cell-index" properties, add "fsl,preserve-clocking" property - Add I2C RTC node for m41t61 RTC - Add I2C nodes for AD7414 temperature sensor and AT24C32CD3 EEPROM - Fix compatible property in DMA node - Clean up CAN nodes, remove unused "cell-index" properties - Fix compatible property in DIU node - USB node changes: - use "fsl,mpc5121-usb2-dr" compatible property only - remove "port0" and "port1" properties as these are only used for multi-port host(MHP) module which is not available on MPC5121. - use 'fsl,invert-drvvbus' and 'fsl,invert-pwr-fault' in USB node for internal PHY to specify polarities of the appropriate port pins. Signed-off-by: Piotr Ziecik Signed-off-by: Wolfgang Denk Signed-off-by: Detlev Zundel Signed-off-by: Anatolij Gustschin Signed-off-by: Grant Likely commit 5b2b6255f2fda198cd5176f6cddae600c946a87d Author: Anatolij Gustschin Date: Tue Feb 16 10:47:43 2010 -0700 powerpc/mpc5121: create and register NFC device Instantiate NAND Flash Controller device if it's description is found in the device tree. Signed-off-by: Anatolij Gustschin Signed-off-by: Grant Likely commit 50aae7241eb94e02d97e03cd88be425ef09e6ab4 Author: Anatolij Gustschin Date: Tue Feb 16 10:47:35 2010 -0700 rtc: Add MPC5121 Real time clock driver Add support for MPC5121 real time clock module. Signed-off-by: John Rigby Signed-off-by: Piotr Ziecik Signed-off-by: Wolfgang Denk Signed-off-by: Anatolij Gustschin Acked-by: Alessandro Zummo Signed-off-by: Grant Likely commit a8dbceb755f82f760b56bac4283f9cfc7774e62b Author: Anatolij Gustschin Date: Tue Feb 16 10:36:26 2010 -0700 powerpc/mpc5121: Add machine restart support Add reset module registers representation and machine restart callback for mpc5121 platform. Signed-off-by: Piotr Ziecik Signed-off-by: Wolfgang Denk Signed-off-by: Anatolij Gustschin Reviewed-by: Wolfram Sang Signed-off-by: Grant Likely commit 284ed66fc3beca509a7549aae06af5c74023304c Author: Anatolij Gustschin Date: Tue Feb 16 10:35:13 2010 -0700 powerpc/mpc5121: avoid using arch_initcall for clock init Move mpc5121_clk_init() call to platform init code so it won't get called on non-5121 platforms on a multiplatform kernel. Signed-off-by: Anatolij Gustschin Signed-off-by: Grant Likely commit 40d6753e78a602bdf62e7741c0caa36474882f00 Author: Thomas Gleixner Date: Sat Jul 25 18:33:11 2009 +0200 x86: Convert set_atomicity_lock to raw_spinlock Signed-off-by: Thomas Gleixner commit ff5cf34c809cd5950579e46e7c10c29bc647aaf1 Author: Rafi Rubin Date: Tue Feb 16 10:22:11 2010 -0500 HID: hid-ntrig: Single touch mode tap Add DOUBLETAP to events emitted when in single touch only mode. Users with a single touch firmware report not seeing the DOUBLETAP events; this is a side effect of dropping old mapping for confidence. The confidence mapping may be fine for singletouch mode but causes problems in multitouch mode. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit 17c0e7107bed3d578864e6519f7f4e4c324c8f58 Author: Ingo Molnar Date: Fri Jul 3 08:29:25 2009 -0500 x86: Mark atomic irq ops raw for 32bit legacy The atomic ops emulation for 32bit legacy CPUs floods the tracer with irq off/on entries. The irq disabled regions are short and therefor not interesting when chasing long irq disabled latencies. Mark them raw and keep them out of the trace. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6e40f5bbbc734231bc5809d3eb785e3c21f275d7 Merge: 301ba04 0970d29 Author: Thomas Gleixner Date: Tue Feb 16 16:48:56 2010 +0100 Merge branch 'sched/urgent' into sched/core Conflicts: kernel/sched.c Necessary due to the urgent fixes which conflict with the code move from sched.c to sched_fair.c Signed-off-by: Thomas Gleixner commit 83f0d53993b2967e54186468b0fc4321447f68f1 Author: Steven Rostedt Date: Tue Feb 16 10:38:47 2010 -0500 tracing: Add notrace to TRACE_EVENT implementation functions The functions used to implement the TRACE_EVENT macro show up in function tracing. This is considered a distraction, and these should not be displayed. For example: -0 [000] 57.202149: task_of <-update_stats_wait_end -0 [000] 57.202149: ftrace_raw_event_sched_stat_wait <-update_stats_wait_end -0 [000] 57.202150: ftrace_raw_event_id_sched_stat_template <-ftrace_raw_event_sched_stat_wait -0 [000] 57.202150: sched_stat_wait: comm=sshd pid=2735 delay=19207 [ns] The "ftrace_raw_event_*" traces are just the utility functions used by TRACE_EVENT tracepoints. Cc: Thomas Gleixner Requested-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 0970d2992dfd7d5ec2c787417cf464f01eeaf42a Author: Peter Zijlstra Date: Mon Feb 15 14:45:54 2010 +0100 sched: Fix race between ttwu() and task_rq_lock() Thomas found that due to ttwu() changing a task's cpu without holding the rq->lock, task_rq_lock() might end up locking the wrong rq. Avoid this by serializing against TASK_WAKING. Reported-by: Thomas Gleixner Signed-off-by: Peter Zijlstra LKML-Reference: <1266241712.15770.420.camel@laptop> Signed-off-by: Thomas Gleixner commit 9000f05c6d1607f79c0deacf42b09693be673f4c Author: Suresh Siddha Date: Fri Feb 12 17:14:22 2010 -0800 sched: Fix SMT scheduler regression in find_busiest_queue() Fix a SMT scheduler performance regression that is leading to a scenario where SMT threads in one core are completely idle while both the SMT threads in another core (on the same socket) are busy. This is caused by this commit (with the problematic code highlighted) commit bdb94aa5dbd8b55e75f5a50b61312fe589e2c2d1 Author: Peter Zijlstra Date: Tue Sep 1 10:34:38 2009 +0200 sched: Try to deal with low capacity @@ -4203,15 +4223,18 @@ find_busiest_queue() ... for_each_cpu(i, sched_group_cpus(group)) { + unsigned long power = power_of(i); ... - wl = weighted_cpuload(i); + wl = weighted_cpuload(i) * SCHED_LOAD_SCALE; + wl /= power; - if (rq->nr_running == 1 && wl > imbalance) + if (capacity && rq->nr_running == 1 && wl > imbalance) continue; On a SMT system, power of the HT logical cpu will be 589 and the scheduler load imbalance (for scenarios like the one mentioned above) can be approximately 1024 (SCHED_LOAD_SCALE). The above change of scaling the weighted load with the power will result in "wl > imbalance" and ultimately resulting in find_busiest_queue() return NULL, causing load_balance() to think that the load is well balanced. But infact one of the tasks can be moved to the idle core for optimal performance. We don't need to use the weighted load (wl) scaled by the cpu power to compare with imabalance. In that condition, we already know there is only a single task "rq->nr_running == 1" and the comparison between imbalance, wl is to make sure that we select the correct priority thread which matches imbalance. So we really need to compare the imabalnce with the original weighted load of the cpu and not the scaled load. But in other conditions where we want the most hammered(busiest) cpu, we can use scaled load to ensure that we consider the cpu power in addition to the actual load on that cpu, so that we can move the load away from the guy that is getting most hammered with respect to the actual capacity, as compared with the rest of the cpu's in that busiest group. Fix it. Reported-by: Ma Ling Initial-Analysis-by: Zhang, Yanmin Signed-off-by: Suresh Siddha Signed-off-by: Peter Zijlstra LKML-Reference: <1266023662.2808.118.camel@sbs-t61.sc.intel.com> Cc: stable@kernel.org [2.6.32.x] Signed-off-by: Thomas Gleixner commit 28f5318167adf23b16c844b9c2253f355cb21796 Author: Vaidyanathan Srinivasan Date: Mon Feb 8 15:35:55 2010 +0530 sched: Fix sched_mv_power_savings for !SMT Fix for sched_mc_powersavigs for pre-Nehalem platforms. Child sched domain should clear SD_PREFER_SIBLING if parent will have SD_POWERSAVINGS_BALANCE because they are contradicting. Sets the flags correctly based on sched_mc_power_savings. Signed-off-by: Vaidyanathan Srinivasan Signed-off-by: Peter Zijlstra LKML-Reference: <20100208100555.GD2931@dirshya.in.ibm.com> Cc: stable@kernel.org [2.6.32.x] Signed-off-by: Thomas Gleixner commit dbf2b17de505d390b5ecf5b5944fc0c88f6d66fe Author: Rafi Rubin Date: Fri Feb 12 21:13:05 2010 -0500 HID: hid-ntrig: multitouch cleanup and fix This cleans up the identification of multitouch groups and enables the end of group sync. Taps are now explicitly handled to adjust for the changes in the event stream in multitouch mode. Added triple and quad tap for the benefit of tools that recognize different tap types but do not have full multi touch support. This cleans up the behavior particularly for the latest firmware, which didn't work particularly well with the older version of the driver. In this form, when multitouch is active, both mt and st events will come out of the "N-Trig MultiTouch" device. And when its not st events will come out of "N-Trig Touchscreen". Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit b0549cf1a35a92edf053d94066e60fb0ed02bb71 Author: Rafi Rubin Date: Thu Feb 11 22:14:06 2010 -0500 HID: n-trig: remove unnecessary tool switching With the pen and touch split apart, we no longer need to inject additional tool switching events. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit 943ed464f3722de0569cf41ba6ec094768ac046d Author: Rafi Rubin Date: Thu Feb 11 22:14:05 2010 -0500 HID: hid-ntrig add multi input quirk and clean up Added a quirk to enable distinct input devices. The digitizer utilizes three inputs to represent pen, multitouch and a normal touch screen. With the Pen partitioned, it behaves well and does not need special handling. Also, I set names to the input devices to clarify the functions of the various inputs. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit 1d5cfcdff793e2f34ec61d902fa5ee0c7e4a2208 Author: Paul Mundt Date: Tue Feb 16 21:43:38 2010 +0900 sh: Kill off some superfluous legacy PMB special casing. The __va()/__pa() offsets and the boot memory offsets are consistent for all PMB users, so there is no need to special case these for legacy PMB. Kill the special casing off and depend on CONFIG_PMB across the board. This also fixes up yet another addressing bug for sh64. Signed-off-by: Paul Mundt commit 8d0c123f8b710561cfd34f6e1a5bebc27988edbe Author: Richard Hartmann Date: Tue Feb 16 20:34:59 2010 +0800 crypto: aes_generic - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 0047e81dc366a0690b4765250c3a1d8caf3797c4 Author: Richard Hartmann Date: Tue Feb 16 20:34:07 2010 +0800 crypto: fcrypt - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 5b37c19e36de46d2a96ce127addb4c4bbaa4619a Author: Richard Hartmann Date: Tue Feb 16 20:33:49 2010 +0800 crypto: ecb - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit a501121e30c4b41dbdae47302c1ebebc7821511a Author: Richard Hartmann Date: Tue Feb 16 20:32:31 2010 +0800 crypto: des_generic - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 9472d763b3087f2899379a77b39499fcd37d6d2b Author: Richard Hartmann Date: Tue Feb 16 20:32:13 2010 +0800 crypto: deflate - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit c9af70fb86bbede6197081ded69407a9192716c8 Author: Richard Hartmann Date: Tue Feb 16 20:31:54 2010 +0800 crypto: crypto_null - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit d150975bc759af51d655d109fd6633ad1bc67df8 Author: Richard Hartmann Date: Tue Feb 16 20:31:37 2010 +0800 crypto: cipher - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit db83aabfe115cb8a75f79ada5ce5fdc2d52f5a4d Author: Richard Hartmann Date: Tue Feb 16 20:31:19 2010 +0800 crypto: crc32 - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 0375d66dd04ba828066807edccf7ae8245f903d2 Author: Richard Hartmann Date: Tue Feb 16 20:31:04 2010 +0800 crypto: compress - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 87c3be87e9e1d8ec4ad57d0e505099529383dd4a Author: Richard Hartmann Date: Tue Feb 16 20:29:45 2010 +0800 crypto: cast6 - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit a1f4c9222d5e71f9c2646f47beb4a0a42b42fdc4 Author: Richard Hartmann Date: Tue Feb 16 20:29:01 2010 +0800 crypto: cast5 - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 621dd3692978a7dd84df2d8ea822b805b40de498 Author: Richard Hartmann Date: Tue Feb 16 20:27:57 2010 +0800 crypto: camellia - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit f3542e6d7b246e88b038e608358606ddd1f09870 Author: Richard Hartmann Date: Tue Feb 16 20:27:20 2010 +0800 crypto: authenc - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 3d01a33b77b120f8b11d8757c346442ed7961b11 Author: Richard Hartmann Date: Tue Feb 16 20:26:46 2010 +0800 crypto: api - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 189bd4b056af76325e491baea4338a140d0e86d8 Author: Richard Hartmann Date: Tue Feb 16 20:25:39 2010 +0800 crypto: anubis - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 5357c6c43ec0f420c33da91019ae24e17a929ece Author: Richard Hartmann Date: Tue Feb 16 20:25:21 2010 +0800 crypto: algapi - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 0d8fb0a139093297851f56e2070bf580e9667dd7 Author: Richard Hartmann Date: Tue Feb 16 20:24:30 2010 +0800 crypto: blowfish - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit 3922538fe1625e6ddded56c08c290b3440846cfd Author: Richard Hartmann Date: Tue Feb 16 20:24:07 2010 +0800 crypto: aead - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit c4ede64a6e0220c9b30f07ab41080c8e90245116 Author: Richard Hartmann Date: Tue Feb 16 20:23:37 2010 +0800 crypto: ablkcipher - Fix checkpatch errors Signed-off-by: Richard Hartmann Signed-off-by: Herbert Xu commit efd54ea315f645ef318708aab5714a5f1f432d03 Author: Paul Mundt Date: Tue Feb 16 18:39:30 2010 +0900 sh: Merge the legacy PMB mapping and entry synchronization code. This merges the code for iterating over the legacy PMB mappings and the code for synchronizing software state with the hardware mappings. There's really no reason to do the same iteration twice, and this also buys us the legacy entry logging facility for the dynamic PMB case. Signed-off-by: Paul Mundt commit 55cef91a5d553265f03fe159f9fcdfac36902248 Author: Paul Mundt Date: Tue Feb 16 17:14:04 2010 +0900 sh: Prevent fixed slot PMB remapping from clobbering boot entries. The PMB initialization code walks the entries and synchronizes the software PMB state with the hardware mappings, preserving the slot index. Unfortunately pmb_alloc() only tested the bit position in the entry map and failed to set it, resulting in subsequent remaps being able to be dynamically assigned a slot that trampled an existing boot mapping with general badness ensuing. Signed-off-by: Paul Mundt commit 319c2cc761505ee54a9536c5d0b9c2ee3fb33866 Author: Nobuhiro Iwamatsu Date: Mon Feb 15 08:37:50 2010 +0000 sh: Fix zImage boot using fixed PMB. Signed-off-by: Nobuhiro Iwamatsu Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit fb1e776050f0f6a7b90eba03a1d001756454f9dc Author: Magnus Damm Date: Mon Feb 15 11:53:43 2010 +0000 sh: fix sh7724 SDHI support using INTC force_disable Update the sh7724 INTC tables with force_enable support to mask out pending unsupported SDHI interrupt sources. Without this patch the kernel locks up due to a pending SDHI interrupt that the tmio_mmc driver cannot handle. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d85429a31790361b9e952be3817134c23b3b758a Author: Magnus Damm Date: Mon Feb 15 11:40:25 2010 +0000 sh: extend INTC with force_disable Extend the shared INTC code with force_disable support to allow keeping mask bits statically disabled. Needed for SDHI support to mask out unsupported interrupt sources. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 92e1f9a7ed613b36f3aaf8b04a79e2fd4fa37ec1 Author: Phil Edworthy Date: Thu Feb 11 10:24:25 2010 +0000 video: sh_mobile_lcdcfb: Fix panning. Fixed SH-Mobile panning. Previously the address of the frame to be displayed was updated in the VSync end interrupt. This meant there was a minimum of 1 frame bewteen calling FBIOPAN_DISPLAY ioctl and the pan occuring. This meant that apps were not able to use the FBIO_WAITFORVSYNC ioctl to wait for the pan to complete. This patch moves the write to LDSA1R mirror reg into the pan ioctl. Tested on MS7724 board against 2.6.33-rc7 Signed-off-by: Phil Edworthy Signed-off-by: Paul Mundt commit 40331b21f5fdb746e80fc609ef60ef71b5cd47d9 Author: Phil Edworthy Date: Mon Feb 15 13:57:49 2010 +0000 video: sh_mobile_lcdcfb: Add wait for vsync. Added FBIO_WAITFORVSYNC ioctl for SH-Mobile devices. Tested on MS7724 and MigoR boards against 2.6.33-rc7. Signed-off-by: Phil Edworthy Signed-off-by: Paul Mundt commit 942fa3b63eb525aa0512ba28c42e656d8efc6787 Author: Alan Cox Date: Mon Feb 8 10:03:17 2010 +0000 x86, mtrr: Kill over the top warn Fixes bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=12558 Fixes bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=12317 (and if this really needed to be a warn you'd be responding to the bugs left in bugzilla from it...) Signed-off-by: Alan Cox LKML-Reference: <20100208100239.2568.2940.stgit@localhost.localdomain> Signed-off-by: H. Peter Anvin commit ca2107c9d6cf44fb915402d6f12b9d9ff3925cd7 Author: David Rientjes Date: Mon Feb 15 13:43:33 2010 -0800 x86, numa: Remove configurable node size support for numa emulation Now that numa=fake=[MG] is implemented, it is possible to remove configurable node size support. The command-line parsing was already broken (numa=fake=*128, for example, would not work) and since fake nodes are now interleaved over physical nodes, this support is no longer required. Signed-off-by: David Rientjes LKML-Reference: Signed-off-by: H. Peter Anvin commit 8df5bb34defd685fe86f60746bbf3d47d1c6f033 Author: David Rientjes Date: Mon Feb 15 13:43:30 2010 -0800 x86, numa: Add fixed node size option for numa emulation numa=fake=N specifies the number of fake nodes, N, to partition the system into and then allocates them by interleaving over physical nodes. This requires knowledge of the system capacity when attempting to allocate nodes of a certain size: either very large nodes to benchmark scalability of code that operates on individual nodes, or very small nodes to find bugs in the VM. This patch introduces numa=fake=[MG] so it is possible to specify the size of each node to allocate. When used, nodes of the size specified will be allocated and interleaved over the set of physical nodes. FAKE_NODE_MIN_SIZE was also moved to the more-appropriate include/asm/numa_64.h. Signed-off-by: David Rientjes LKML-Reference: Signed-off-by: H. Peter Anvin commit 68fd111e02b979876359c7b471a8bcbca0628b75 Author: David Rientjes Date: Mon Feb 15 13:43:25 2010 -0800 x86, numa: Fix numa emulation calculation of big nodes numa=fake=N uses split_nodes_interleave() to partition the system into N fake nodes. Each node size must have be a multiple of FAKE_NODE_MIN_SIZE, otherwise it is possible to get strange alignments. Because of this, the remaining memory from each node when rounded to FAKE_NODE_MIN_SIZE is consolidated into a number of "big nodes" that are bigger than the rest. The calculation of the number of big nodes is incorrect since it is using a logical AND operator when it should be multiplying the rounded-off portion of each node with N. Signed-off-by: David Rientjes LKML-Reference: Signed-off-by: H. Peter Anvin commit 04c869735541c27dd137c55f35f8a18bb372bbe1 Author: Paul Mundt Date: Mon Feb 15 16:10:57 2010 +0900 sh: Fix up legacy PMB mode offset calculation. The change for fixing up sh64 inadvertently inverted the logic for legacy PMB, fix that back up. Signed-off-by: Paul Mundt commit 028c5d5d596651bce13d06737eb3707a7e99a30c Merge: 19f6b8b 4b505db Author: Paul Mundt Date: Mon Feb 15 14:49:37 2010 +0900 Merge branch 'sh/stable-updates' commit 8b833c506c05c498d4215e2c260be44225daf6de Author: Masami Hiramatsu Date: Fri Feb 5 01:24:34 2010 -0500 kprobes: Add mcount to the kprobes blacklist Since mcount function can be called from everywhere, it should be blacklisted. Moreover, the "mcount" symbol is a special symbol name. So, it is better to put it in the generic blacklist. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Ananth N Mavinakayanahalli Cc: Steven Rostedt LKML-Reference: <20100205062433.3745.36726.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit df0edeb59eb559be0bee53452fda2f5cc0ae133f Author: Grant Likely Date: Sun Feb 14 14:14:00 2010 -0700 of: remove undefined request_OF_resource & release_OF_resource Neither request_OF_resource or release_OF_resource are defined anywhere. Remove the declarations. Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 0d351c3e932c2e155ef5e4c3f5b87223abd4eea6 Author: Grant Likely Date: Sun Feb 14 14:13:57 2010 -0700 of/sparc: Remove sparc-local declaration of allnodes and devtree_lock Both allnodes and devtree_lock are defined in common code. The extern declaration should be in the common header too so that the compiler can type check. allnodes is already in of.h, but devtree_lock should be declared there too. This patch removes the SPARC declarations and uses decls in of.h instead. Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek Acked-by: David S. Miller commit fc0bdae49d810e4cb32d7b547bc6d4dfb08f9e2e Author: Grant Likely Date: Sun Feb 14 07:13:55 2010 -0700 of: move definition of of_chosen into common code. Rather than defining of_chosen in each arch, it can be defined for all in driver/of/base.c Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 22d5579e66101162fd1119f2e7f4f999ca8b48c7 Author: Grant Likely Date: Sun Feb 14 07:13:52 2010 -0700 of: remove unused extern reference to devtree_lock Neither the powerpc nor the microblaze code use devtree_lock anymore. Remove the extern reference. Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 7c7b60cb87547b1664a4385c187f029bf514a737 Author: Grant Likely Date: Sun Feb 14 07:13:50 2010 -0700 of: put default string compare and #a/s-cell values into common header Most architectures don't need to change these. Put them into common code to eliminate some duplication Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 4ef7b373df330bc0ff037dc4792d373c9346375f Author: Jeremy Kerr Date: Sun Feb 14 07:13:47 2010 -0700 of/flattree: Don't assume HAVE_LMB We don't always have lmb available, so make arches provide an early_init_dt_alloc_memory_arch() to handle the allocation of memory in the fdt code. When we don't have lmb.h included, we need asm/page.h for __va. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 9dfbf207802c7e8cda9d081a8d750b50633c82d2 Author: Jeremy Kerr Date: Sun Feb 14 07:13:43 2010 -0700 of: protect linux/of.h with CONFIG_OF For platforms that have CONFIG_OF optional, we need to make the contents of linux/of.h conditional on CONFIG_OF. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 7c540d9e3da38c3d1c15fb8059e4577a84ac0066 Author: Jeremy Kerr Date: Sun Feb 14 07:13:41 2010 -0700 proc_devtree: fix THIS_MODULE without module.h Commit e22f628395432b967f2f505858c64450f7835365 introduced a build breakage for ARM devtree work: the THIS_MODULE macro was added, but we don't have module.h This change adds the necessary #include to get THIS_MODULE defined. While we could just replace it with NULL (PROC_FS is a bool, not a tristate), using THIS_MODULE will prevent unexpected breakage if we ever do compile this as a module. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 21b082ecdd7e6b8a5eba2cc013cae41b24de7f51 Author: Grant Likely Date: Sun Feb 14 07:13:38 2010 -0700 of: Remove old and misplaced function declarations The following functions don't exist: finish_device_tree() print_properties() prom_n_intr_cells() prom_get_irq_senses() The following functions are in drivers/of/base.c, so the declaration belongs in of.h instead of of_fdt.h of_machine_is_compatible() prom_add_property() prom_remove_property() prom_update_property() Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Acked-by: Michal Simek commit 414bb144efa2d2fe16d104d836d0d6b6e9265788 Author: Joerg Roedel Date: Mon Dec 14 13:08:41 2009 +0100 x86, cpu: Print AMD virtualization features in /proc/cpuinfo This patch adds code to cpu initialization path to detect the extended virtualization features of AMD cpus to show them in /proc/cpuinfo. Signed-off-by: Joerg Roedel LKML-Reference: <1260792521-15212-1-git-send-email-joerg.roedel@amd.com> Signed-off-by: H. Peter Anvin commit 0d1622d7f526311d87d7da2ee7dd14b73e45d3fc Author: Avi Kivity Date: Sat Feb 13 10:33:12 2010 +0200 x86-64, rwsem: Avoid store forwarding hazard in __downgrade_write The Intel Architecture Optimization Reference Manual states that a short load that follows a long store to the same object will suffer a store forwading penalty, particularly if the two accesses use different addresses. Trivially, a long load that follows a short store will also suffer a penalty. __downgrade_write() in rwsem incurs both penalties: the increment operation will not be able to reuse a recently-loaded rwsem value, and its result will not be reused by any recently-following rwsem operation. A comment in the code states that this is because 64-bit immediates are special and expensive; but while they are slightly special (only a single instruction allows them), they aren't expensive: a test shows that two loops, one loading a 32-bit immediate and one loading a 64-bit immediate, both take 1.5 cycles per iteration. Fix this by changing __downgrade_write to use the same add instruction on i386 and on x86_64, so that it uses the same operand size as all the other rwsem functions. Signed-off-by: Avi Kivity LKML-Reference: <1266049992-17419-1-git-send-email-avi@redhat.com> Signed-off-by: H. Peter Anvin commit d67b1b03254c501fef371b0e5916c94a52bfc2c5 Author: Julia Lawall Date: Sat Feb 6 08:45:15 2010 +0000 fs/xfs: Correct NULL test Test the value that was just allocated rather than the previously tested one. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ expression *x; expression e; identifier l; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != goto l; when != x = e when != &x *x == NULL // Signed-off-by: Julia Lawall Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 180040b89ee2aed88c0a0b1fcf7ada9a512b12e3 Author: Christoph Hellwig Date: Fri Feb 5 09:57:55 2010 +0000 xfs: optimize log flushing in xfs_fsync If we have a pinned inode it must have a log item attached to it. Usually that log item will have ili_last_lsn already set, in which case we only need to flush the log up to that LSN instead of doing a full log force. This gives speedups of about 5% in some fsync heavy workloads. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 87185517de81101da5afbc82cefdeed6eeaa38fb Author: Christoph Hellwig Date: Wed Feb 3 19:43:31 2010 +0000 xfs: only clear the suid bit once in xfs_write file_remove_suid already calls into ->setattr to clear the suid and sgid bits if needed, no need to start a second transaction to do it ourselves. Note that xfs_write_clear_setuid issues a sync transaction while the path through ->setattr doesn't, but that is consistant with the other filesystems. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit c7b66698122796623f1838c0ee6a8e12ec832468 Author: Stefan Roese Date: Wed Feb 10 03:54:59 2010 +0000 powerpc/40x: Add support for PPC40x boards with > 512MB SDRAM This patch adds support for boards with more that 512MByte RAM. Currently only 512MB of memory are enabled in the DCCR/ICCR real-mode cache control registers. This patch now enables caching in real-mode for 2GByte. Signed-off-by: Stefan Roese Cc: Benjamin Herrenschmidt Cc: Josh Boyer Signed-off-by: Josh Boyer commit 858155fbcc0cd713f6382c527bb1c3abc0ed6d00 Author: Oliver Neukum Date: Fri Feb 12 13:02:28 2010 +0100 HID: usbhid: introduce timeout for stuck ctrl/out URBs Some devices do not react to a control request (seen on APC UPS's) resulting in a slow stream of messages, "generic-usb ... control queue full". Therefore request needs a timeout. Cc: stable@kernel.org Signed-off-by: Oliver Neukum Signed-off-by: David Fries Signed-off-by: Jiri Kosina commit 19f6b8b44e3f633d5d7d1ed68848b1eb89a1e800 Author: Paul Mundt Date: Fri Feb 12 15:41:45 2010 +0900 sh64: fix up memory offset calculation. The linker script offsets were broken by the recent 29/32-bit integration, so this fixes it up for sh64. Signed-off-by: Paul Mundt commit b0f3ae03aca0f331b851ae94bc066124e7f104df Author: Paul Mundt Date: Fri Feb 12 15:40:00 2010 +0900 sh: Isolate uncached mapping support. This splits out the uncached mapping support under its own config option, presently only used by 29-bit mode and 32-bit + PMB. This will make it possible to optionally add an uncached mapping on sh64 as well as booting without an uncached mapping for 32-bit. Signed-off-by: Paul Mundt commit 2225a122ae26d542bdce523d9d87a4a7ba10e07b Author: Suresh Siddha Date: Thu Feb 11 11:51:00 2010 -0800 ptrace: Add support for generic PTRACE_GETREGSET/PTRACE_SETREGSET Generic support for PTRACE_GETREGSET/PTRACE_SETREGSET commands which export the regsets supported by each architecture using the correponding NT_* types. These NT_* types are already part of the userland ABI, used in representing the architecture specific register sets as different NOTES in an ELF core file. 'addr' parameter for the ptrace system call encode the REGSET type (using the corresppnding NT_* type) and the 'data' parameter points to the struct iovec having the user buffer and the length of that buffer. struct iovec iov = { buf, len}; ret = ptrace(PTRACE_GETREGSET/PTRACE_SETREGSET, pid, NT_XXX_TYPE, &iov); On successful completion, iov.len will be updated by the kernel specifying how much the kernel has written/read to/from the user's iov.buf. x86 extended state registers are primarily exported using this interface. Signed-off-by: Suresh Siddha LKML-Reference: <20100211195614.886724710@sbs-t61.sc.intel.com> Acked-by: Hongjiu Lu Cc: Roland McGrath Signed-off-by: H. Peter Anvin commit 5b3efd500854d45d305b53c54c97db5970959980 Author: Suresh Siddha Date: Thu Feb 11 11:50:59 2010 -0800 x86, ptrace: regset extensions to support xstate Add the xstate regset support which helps extend the kernel ptrace and the core-dump interfaces to support AVX state etc. This regset interface is designed to support all the future state that gets supported using xsave/xrstor infrastructure. Looking at the memory layout saved by "xsave", one can't say which state is represented in the memory layout. This is because if a particular state is in init state, in the xsave hdr it can be represented by bit '0'. And hence we can't really say by the xsave header wether a state is in init state or the state is not saved in the memory layout. And hence the xsave memory layout available through this regset interface uses SW usable bytes [464..511] to convey what state is represented in the memory layout. First 8 bytes of the sw_usable_bytes[464..467] will be set to OS enabled xstate mask(which is same as the 64bit mask returned by the xgetbv's xCR0). The note NT_X86_XSTATE represents the extended state information in the core file, using the above mentioned memory layout. Signed-off-by: Suresh Siddha LKML-Reference: <20100211195614.802495327@sbs-t61.sc.intel.com> Signed-off-by: Hongjiu Lu Cc: Roland McGrath Signed-off-by: H. Peter Anvin commit c7c6b1fe9f942c1a30585ec2210a09dfff238506 Author: Li Zefan Date: Wed Feb 10 15:43:04 2010 +0800 ftrace: Allow to remove a single function from function graph filter I don't see why we can only clear all functions from the filter. After patching: # echo sys_open > set_graph_function # echo sys_close >> set_graph_function # cat set_graph_function sys_open sys_close # echo '!sys_close' >> set_graph_function # cat set_graph_function sys_open Signed-off-by: Li Zefan LKML-Reference: <4B726388.2000408@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 71b38bd4c1cc4f2b653064357e4efab77dfd711d Author: Michael Poole Date: Thu Feb 11 00:32:57 2010 -0500 HID: magicmouse: coding style and probe failure fixes Use proper values to initialize bool configuration variables, tabs rather than spaces, no braces for one-line else clause, __set_bit() when the operation doesn't have to be atomic, input_set_abs_params() rather than writing the fields directly, and call hid_hw_stop() when appropriate to handle failures in the probe. Signed-off-by: Michael Poole Signed-off-by: Jiri Kosina commit 0271f91003d3703675be13b8865618359a6caa1f Author: Haicheng Li Date: Thu Feb 4 19:06:33 2010 +0800 x86, acpi: Map hotadded cpu to correct node. When hotadd new cpu to system, if its affinitive node is online, should map the cpu to its own node. Otherwise, let kernel select one online node for the new cpu later. Signed-off-by: Haicheng Li LKML-Reference: <4B6AAA39.6000300@linux.intel.com> Tested-by: Thomas Renninger Signed-off-by: H. Peter Anvin commit c8a8602b76b6703df1243e31be01cf0e4451e4a6 Author: Jiri Kosina Date: Wed Feb 10 15:29:02 2010 +0100 HID: remove MODULE_VERSION from new drivers MODULE_VERSION doesn't make too much sense for drivers merged into main tree, as git is much better tracking revisions than any developer might ever be. Signed-off-by: Jiri Kosina commit 9f5231472340ebcaf2dec75428b67d5d0d872857 Author: Jiri Kosina Date: Wed Feb 10 14:59:03 2010 +0100 HID: fix up Kconfig entry for MagicMouse Make Apple MagicMouse Kconfig entry consistent with other dirvers. Also expand the tristate text a little bit more, so that it doesn't clash with already existing HID_APPLE. Signed-off-by: Jiri Kosina commit 128537cea464d919febeaea2000e256749f317eb Author: Michael Poole Date: Sat Feb 6 12:24:36 2010 -0500 HID: add a device driver for the Apple Magic Mouse. The Magic Mouse requires that a driver send an unlock Report(Feature) command, similar to the Wacom wireless tablet and Sixaxis controller quirks. This turns on an Input Report that isn't published in the input Report descriptor that contains touch data (and usually overrides the normal motion and click Report). Because the mouse has only one switch and no scroll wheel, the driver (under control of parameters) emulates a middle button and scroll wheel. User space could also ignore and/or re-synthesize those events based on the reported events. Some user-space tools to talk to the mouse directly (that is, when it is not associated with the host's HIDP stack) are at http://github.com/entrope/linux-magicmouse Signed-off-by: Michael Poole Signed-off-by: Jiri Kosina commit 90a006abf8015c8cab893555244d8fc673b24839 Author: Michael Poole Date: Sun Jan 24 22:32:29 2010 -0500 HID: Export hid_register_report The Apple Magic Mouse (and probably other devices) publish reports that are not called out in their HID report descriptors -- they only send them when enabled through other writes to the device. This allows a driver to handle these unlisted reports. Signed-off-by: Michael Poole Signed-off-by: Jiri Kosina commit 77f720b71d88a3cbf574c113566a31c93099f97d Author: Stephane Chatty Date: Sat Feb 6 15:17:13 2010 +0100 HID: Support for MosArt multitouch panel Added support for MosArt dual-touch panels, present in the Asus T91MT notebook. Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 573bff5ab9437b4e59ba9be34a7b08bca5ff054a Author: Stefan Roese Date: Tue Jan 26 05:53:20 2010 +0000 powerpc/44x: Add MTD support to katmai defconfig Signed-off-by: Stefan Roese Cc: Josh Boyer Signed-off-by: Josh Boyer commit 5a6543e8da6e338fef3cd42cc79ac85f6f53a8e7 Author: Stefan Roese Date: Tue Feb 9 23:08:28 2010 +0000 powerpc/44x: Update Glacier dts Sync Glacier dts with latest Canyonlands version: - Add l2 cache support - Add NDFC support - Add RTC support - Add AD7414 hwmon support - Change EMAC compatible node from emac4 to emac4sync and correct the register size - Add support for ISA holes on 4xx PCI/X/E (as done in Benjamin Herrenschmidt's patch for Canyonlands) - Add Crypto device node Signed-off-by: Stefan Roese Cc: Josh Boyer Signed-off-by: Josh Boyer commit 6f57518cfa097b170a8f500d6d70651e81589e30 Author: Stefan Roese Date: Tue Feb 9 23:08:34 2010 +0000 powerpc/44x: Update Arches dts Sync Arches dts with latest Canyonlands version: - Add 16k FIFO size to supported EMAC nodes - Add next-level-cache property - Add Crypto device node Signed-off-by: Stefan Roese Cc: Josh Boyer Signed-off-by: Josh Boyer commit 036f290d8952fdcafa9d6c9e2d94efbcb793d123 Author: Stefan Roese Date: Tue Jan 26 05:56:30 2010 +0000 powerpc/44x: Add MTD support (NOR FLASH) to Katmai dts This patch adds NOR FLASH MTD support to the Katmai (440SPe) dts file. For this the OPB ranges address is mapped differently (base 0x00000000 -> 0xe0000000). This results in the address being identical to the lower 32bit of its physical address. This is needed for the MTD mapping to work correctly, since U-Boot will insert the physical addresses of the EBC chip selects into the EBC ranges property. This is the way its done in most other 4xx dts files as well. Additionally with a small whitespace cleanup. Signed-off-by: Stefan Roese Cc: Josh Boyer Signed-off-by: Josh Boyer commit 28ef35eb33d7e291bf0e1fe1137915a7e38805ff Author: Stefan Roese Date: Tue Feb 9 23:08:17 2010 +0000 powerpc/44x: Fix L2-cache support for 460GT Also set L2C_CFG_RDBW on 460GT platforms and not only on 460EX. Signed-off-by: Stefan Roese Cc: Josh Boyer Signed-off-by: Josh Boyer commit 580363db92572cccbe6226bf83321e50a9ea50ea Author: Stephane Chatty Date: Sat Feb 6 15:20:03 2010 +0100 HID: add pressure support for the Stantum multitouch panel Added pressure handling for Stantum multitouch panels Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit b32758c7216f337044ceb6dcaa754b8eda95a59f Author: Stephane Chatty Date: Wed Feb 10 12:09:17 2010 +0100 HID: fixed bug in single-touch emulation on the stantum panel Fixed stupid copy-paste bug in touchscreen emulation for the Stantum multitouch panel: a flag was reset just before being tested. Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit a4dad4c75c4ae378c2a5d66938b8467802c2e98f Author: Paul Mundt Date: Wed Feb 10 16:06:42 2010 +0900 sh: update sdk7786 defconfig. This plugs in USB and PCI and other bits for SDK7786. Signed-off-by: Paul Mundt commit 7578a4c625a5cc32812946338a4549f3090be113 Author: Paul Mundt Date: Wed Feb 10 16:00:58 2010 +0900 sh: Fix up multi-resource mapping for SH7786 PCIe. This reworks some of the SH7786 PCIe initialization code to dynamically setup and size the various resource windows, as opposed to the original code that simply wired in a couple of them statically. At the same time, we tidy up the initialization code a bit, kill off some read-only register twiddling that was gleaned from the bus analyzer, and also propagate the physical slot/channel mapping. Signed-off-by: Paul Mundt commit ede55c9d78101fef0d8e620940a5163f14b02f29 Author: Steven Rostedt Date: Wed Jan 27 11:25:54 2010 -0500 tracing: Add correct/incorrect to sort keys for branch annotation output The branch annotation is a bit difficult to see the worst offenders because it only sorts by percentage: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 0 163 100 qdisc_restart sch_generic.c 179 0 163 100 pfifo_fast_dequeue sch_generic.c 447 0 4 100 pskb_trim_rcsum skbuff.h 1689 0 4 100 llc_rcv llc_input.c 170 0 18 100 psmouse_interrupt psmouse-base.c 304 0 3 100 atkbd_interrupt atkbd.c 389 0 5 100 usb_alloc_dev usb.c 437 0 11 100 vsscanf vsprintf.c 1897 0 2 100 IS_ERR err.h 34 0 23 100 __rmqueue_fallback page_alloc.c 865 0 4 100 probe_wakeup_sched_switch trace_sched_wakeup.c 142 0 3 100 move_masked_irq migration.c 11 Adding the incorrect and correct values as sort keys makes this file a bit more informative: correct incorrect % Function File Line ------- --------- - -------- ---- ---- 0 366541 100 audit_syscall_entry auditsc.c 1637 0 366538 100 audit_syscall_exit auditsc.c 1685 0 115839 100 sched_info_switch sched_stats.h 269 0 74567 100 sched_info_queued sched_stats.h 222 0 66578 100 sched_info_dequeued sched_stats.h 177 0 15113 100 trace_workqueue_insertion workqueue.h 38 0 15107 100 trace_workqueue_execution workqueue.h 45 0 3622 100 syscall_trace_leave ptrace.c 1772 0 2750 100 sched_move_task sched.c 10100 0 2750 100 sched_move_task sched.c 10110 0 1815 100 pre_schedule_rt sched_rt.c 1462 0 837 100 audit_alloc auditsc.c 879 0 814 100 tcp_mss_split_point tcp_output.c 1302 Signed-off-by: Steven Rostedt commit 04b954a673dd02f585a2769c4945a43880faa989 Author: David Gibson Date: Mon Feb 1 21:34:15 2010 -0700 of/flattree: Make the kernel accept ePAPR style phandle information Currently when processing flattened device trees, the kernel expects the phandle in a property called "linux,phandle". The ePAPR spec - not being Linux specific - instead requires phandles to be encoded in a property named simply "phandle". This patch makes the kernel accept either form when unflattening the device tree. Signed-off-by: David Gibson Signed-off-by: Grant Likely commit 087f79c48c090a2c0cd9ee45231d63290d2036d2 Author: Jeremy Kerr Date: Sat Jan 30 04:14:19 2010 -0700 of/flattree: endian-convert members of boot_param_header The boot_param_header has big-endian fields, so change the types to __be32, and perform endian conversion when we access them. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 337148812f97368a8ec4a69f1691e4c5ce3af494 Author: Jeremy Kerr Date: Sat Jan 30 01:45:26 2010 -0700 of: assume big-endian properties, adding conversions where necessary Properties in the device tree are specified as big-endian. At present, the only platforms to support device trees are also big-endian, so we've been acessing the properties as raw values. We'd like to add device tree support to little-endian platforms too, so add endian conversion to the sites where we access property values in the common of code. Compiled on powerpc (ppc44x_defconfig & ppc64_defconfig) and arm (fdt support only for now). Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 2e89e685a8fd0e8334de967739d11e2e28c1a4dd Author: Jeremy Kerr Date: Sat Jan 30 01:41:49 2010 -0700 of: use __be32 for cell value accessors Currently, we're using u32 for cell values, and hence assuming host-endian device trees. As we'd like to support little-endian platforms, use a __be32 for cell values, and convert in the cell accessors. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 36b9d3070d653af5807cef74ff129721d9047107 Author: Jeremy Kerr Date: Mon Feb 1 21:34:14 2010 -0700 of/flattree: use OF_ROOT_NODE_{SIZE,ADDR}_CELLS DEFAULT for fdt parsing At present we're using hard-coded values for defaults when parsing the FDT. This change uses the #defines instead. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 1406bc2f57787797d1f6a3675c019a7093769275 Author: Jeremy Kerr Date: Sat Jan 30 01:31:21 2010 -0700 of/flattree: use callback to setup initrd from /chosen At present, the fdt code sets the kernel-wide initrd_start and initrd_end variables when parsing /chosen. On ARM, we only set these once the bootmem has been reserved. This change adds an arch hook to setup the initrd from the device tree: void early_init_dt_setup_initrd_arch(unsigned long start, unsigned long end); The arch-specific code can then setup the initrd however it likes. Compiled on powerpc, with CONFIG_BLK_DEV_INITRD=y and =n. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 50ab2fe147e22c8786552cda1791a61ae81b84d2 Author: Jeremy Kerr Date: Mon Feb 1 21:34:14 2010 -0700 proc_devtree: include linux/of.h Currenly, proc_devtree.c depends on asm/prom.h to include linux/of.h, to provide some device-tree definitions (eg, struct property). Instead, include linux/of.h directly. We still need asm/prom.h for HAVE_ARCH_DEVTREE_FIXUPS. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 8cfb3343f70bcf9403218df120ecf345f06dd585 Author: Jeremy Kerr Date: Mon Feb 1 21:34:14 2010 -0700 of: make set_node_proc_entry private to proc_devtree.c We only need set_node_proc_entry in proc_devtree.c, so move it there. This fixes the !HAVE_ARCH_DEVTREE_FIXUPS build, as we can't make make the definition in linux/of.h conditional on this #define (definitions in asm/prom.h can't be exposed to linux/of.h, due to the enforced #include ordering). Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit a9f2f63a671d5e91ed89ade408d87f1692a373de Author: Jeremy Kerr Date: Mon Feb 1 21:34:14 2010 -0700 of: include linux/proc_fs.h We use a few procfs-specific functions (eg, proc_device_tree_*) which aren't covered by the current includes. This causes the following build error on arm: drivers/of/base.c: In function 'prom_add_property': drivers/of/base.c:861: error: implicit declaration of function 'proc_device_tree_add_prop' drivers/of/base.c: In function 'prom_remove_property': drivers/of/base.c:902: error: implicit declaration of function 'proc_device_tree_remove_prop' drivers/of/base.c: In function 'prom_update_property': drivers/of/base.c:946: error: implicit declaration of function 'proc_device_tree_update_prop' Add proc_fs.h for these prototypes. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit 51975db0b7333cf389b64b5040c2a910341d241a Author: Grant Likely Date: Mon Feb 1 21:34:14 2010 -0700 of/flattree: merge early_init_dt_scan_memory() common code Merge common code between PowerPC and Microblaze architectures. Signed-off-by: Grant Likely Acked-by: Michal Simek commit 71a157e8edca55198e808f8561dd49017a54ee34 Author: Grant Likely Date: Mon Feb 1 21:34:14 2010 -0700 of: add 'of_' prefix to machine_is_compatible() machine is compatible is an OF-specific call. It should have the of_ prefix to protect the global namespace. Signed-off-by: Grant Likely Acked-by: Michal Simek commit 89751a7cb70a20f0d604dd7c4be29dd7b0011718 Author: Jeremy Kerr Date: Mon Feb 1 21:34:11 2010 -0700 of: merge of_find_node_by_phandle Merge common function between powerpc, sparc and microblaze. Code is identical for powerpc and microblaze, but adds a lock (and release) of the devtree_lock on sparc. Signed-off-by: Jeremy Kerr Signed-off-by: Grant Likely commit fcdeb7fedf89f4bbc2e11959794968080cd8426e Author: Grant Likely Date: Fri Jan 29 05:04:33 2010 -0700 of: merge of_attach_node() & of_detach_node() Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Tested-by: Wolfram Sang Acked-by: Benjamin Herrenschmidt commit 580537140568caddbc8a727d4c2f238d38707f68 Author: Grant Likely Date: Thu Jan 28 22:18:56 2010 -0700 microblaze: remove early_init_dt_scan_cpus() and phyp_dump_*() Microblaze only has one CPU, it isn't SMP at all. early_init_dt_scan_cpus() is effectively just a no-op, so remove it. Microblaze doesn't support hypervisor assisted dump either, so the phyp stuff can also go. Signed-off-by: Grant Likely Acked-by: Michal Simek commit 301ba0457f1ed853fc08e57785f8c87fe7e49c68 Author: Anton Blanchard Date: Tue Feb 9 15:07:40 2010 +1100 kthread, sched: Remove reference to kthread_create_on_cpu kthread_create_on_cpu doesn't exist so update a comment in kthread.c to reflect this. Signed-off-by: Anton Blanchard Acked-by: Rusty Russell Cc: Peter Zijlstra LKML-Reference: <20100209040740.GB3702@kryten> Signed-off-by: Ingo Molnar commit eabe5c90580a065aed8ce6a5ba53eb443d317fae Author: Bastien Nocera Date: Tue Feb 9 11:43:19 2010 +0100 HID: fix typo in error message Signed-off-by: Jiri Kosina commit 0690535d6bcec5eb28573824df5c8a49ec85b696 Author: Leo P White Date: Mon Feb 8 13:02:05 2010 +0000 HID: add mapping for "AL Network Chat" usage Adding a mapping for the 'AL Network Chat' usage from the 'Consumer' usage page (USB HID Usage Tables v1.11). This usage is used by some keyboards for a multimedia key. Signed-off-by: Leo P White Signed-off-by: Jiri Kosina commit 801cd56e3e2c2b727399d2c50c50139b2d7c98e8 Author: Magnus Damm Date: Tue Feb 9 08:22:30 2010 +0000 sh: break out enable/reparent div4 clocks on sh7723 Break out sh7723 div4 clocks for SIU and IRDA as reparent / enable clocks. Similar to the SIU clock patch for sh7722 by Guennadi. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e6f077592d1de2f6a4fc760e7b5d6f20b37d3a27 Author: Magnus Damm Date: Tue Feb 9 07:17:20 2010 +0000 sh: fix INTC to use set_irq_chained_handler() for redirects This patch updates the shared INTC code to use set_irq_chained_handler() for intc_redirect_irq(). With this in place request_irq() on a merged irq which has been redirected will now return -EINVAL instead of 0 together with a crash. This thanks to the protection of the IRQ_NOREQUEST flag set for chained interrupt handlers. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3844eadcfd2ba975110e3ca8479efa8c093129ce Author: Magnus Damm Date: Tue Feb 9 06:50:04 2010 +0000 sh: sh7724/Ecovec24/KFR2R09/MS7724SE SDHI vector merge Merge the SDHI vectors in the sh7724 INTC table and update the SDHI platform data for Ecovec24, KFR2R09 and MS7724SE. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e3e80046e0ce2a595e607a62b650a9b4efea6558 Author: Magnus Damm Date: Tue Feb 9 06:49:56 2010 +0000 sh: sh7723/AP325 SDHI vector merge Merge the SDHI vectors in the sh7723 INTC table and update the SDHI platform data for AP325. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 8d9adabac3a3a3742c7a47da9e456108a0fd2efb Author: Magnus Damm Date: Tue Feb 9 06:49:48 2010 +0000 sh: sh7722/Migo-R SDHI vector merge Merge the SDHI vectors in the sh7722 INTC table and update the SDHI platform data for Migo-R. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7896cd0f5a4fa7eb833064e31d8970b95c9faac5 Merge: 7561f2d d519095 Author: Paul Mundt Date: Tue Feb 9 18:24:14 2010 +0900 Merge branch 'sh/intc-extension' commit d519095344fda705c9840a579acf6aa6205c37cc Author: Magnus Damm Date: Tue Feb 9 04:29:22 2010 +0000 sh: extend INTC with force_enable Extend the shared INTC code with force_enable support to allow keeping mask bits statically enabled. Needed by upcoming INTC SDHI patches that mux together a bunch of vectors to a single linux interrupt which is masked by a priority register, but needs individual mask bits constantly enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 577cd7584cf5199f1ea22cca0ad1fa129a98effa Author: Magnus Damm Date: Tue Feb 9 04:24:46 2010 +0000 sh: extend INTC with struct intc_hw_desc This patch updates the INTC code by moving all vectors, groups and registers from struct intc_desc to struct intc_hw_desc. The idea is that INTC tables should go from using the macro(s) DECLARE_INTC_DESC..() only to using struct intc_desc with name and hw initialized using the macro INTC_HW_DESC(). This move makes it easy to initialize an extended struct intc_desc in the future. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit b919ee827e048826786fd7e889a2b04f63382fe6 Author: Anton Blanchard Date: Sun Feb 7 19:26:29 2010 +0000 powerpc: Only print clockevent settings once The clockevent multiplier and shift is useful information, but we only need to print it once. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 44c9f3cc1a07503b653b571eac5792436da39a30 Author: Anton Blanchard Date: Sun Feb 7 19:37:29 2010 +0000 powerpc: Clear MSR_RI during RTAS calls RTAS should never cause an exception but if it does (for example accessing outside our RMO) then we might go a long way through the kernel before oopsing. If we unset MSR_RI we should at least stop things on exception exit. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 8354be9c104db8e92bb079e29540fbafb7f09b5c Author: Frans Pop Date: Sat Feb 6 07:47:20 2010 +0000 powerpc: Remove trailing space in messages Signed-off-by: Frans Pop Cc: linuxppc-dev@ozlabs.org Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Benjamin Herrenschmidt commit 0b9612c210f6bf6efb32ab84b8f34018eaacb08d Author: Anton Blanchard Date: Sun Feb 7 13:07:36 2010 +0000 powerpc: Make powerpc_firmware_features __read_mostly We use firmware_has_feature quite a lot these days, so it's worth putting powerpc_firmware_features into __read_mostly. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit a13672fb30b46eaf9fa50357e1e863de00631401 Author: Anton Blanchard Date: Sun Feb 7 13:23:30 2010 +0000 powerpc: Reformat SD_NODE_INIT to match x86 Clean up SD_NODE_INITS so we can easily compare it to x86. Similar to the work in 47734f89be0614b5acbd6a532390f9c72f019648 (sched: Clean up topology.h) Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 7317ac87119dfb6fac36af4bcc64a25b62b5898d Author: Anton Blanchard Date: Sun Feb 7 12:30:12 2010 +0000 powerpc: Convert mmu context allocator from idr to ida We can use the much more lightweight ida allocator since we don't need the pointer storage idr provides. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 66fcb1059deeae072c1bf1536a8e2613028bce3e Author: Anton Blanchard Date: Sun Feb 7 14:44:16 2010 +0000 powerpc: Add last sysfs file and dump of ftrace buffer to oops printout Add printout of last accessed sysfs file, added to x86 in ae87221d3ce49d9de1e43756da834fd0bf05a2ad (sysfs: crash debugging) Also add the notify_die hook that allows us to print out the ftrace buffer on oops. This is useful in conjunction with ftrace function_graph: Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=128 NUMA pSeries last sysfs file: /sys/class/net/tunl0/type Dumping ftrace buffer: ... 0) | .sysrq_handle_crash() { 0) 0.476 us | .hash_page(); 0) 0.488 us | .xmon_fault_handler(); 0) | .bad_page_fault() { 0) | .search_exception_tables() { 0) 0.590 us | .search_module_extables(); 0) 2.546 us | } 0) | .printk() { 0) | .vprintk() { 0) 0.488 us | ._raw_spin_lock(); 0) 0.572 us | .emit_log_char(); Showing the function graph of a sysrq-c crash. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit b926a88a7b77bc27c0e7f67166f34b854fe21ccc Author: Anton Blanchard Date: Sun Feb 7 12:26:28 2010 +0000 powerpc: Reduce differences between pseries and ppc64 defconfigs The pseries and ppc64 defconfigs have drifted apart over the years. Reduce some of the differences while still keeping the idea that the ppc64 defconfig is cross platform but enables fewer features than pseries, eg NR_CPUS is lower. Also enable a number of common adapters as modules. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 20a8ab97372e453f58a7b49e0d5e0f832406cffe Author: Anton Blanchard Date: Sun Feb 7 13:52:05 2010 +0000 powerpc/pseries: Quieten cede latency printk The cede latency stuff is relatively new and we don't need to complain about it not working on older firmware. Signed-off-by: Anton Blanchard Acked-by: Balbir Singh Signed-off-by: Benjamin Herrenschmidt commit 5a2ad98e920dd8ac4cfbc0c1556e930ba2d65427 Author: Joe Perches Date: Sun Jan 31 10:02:03 2010 +0000 arch/powerpc: Fix continuation line formats String constants that are continued on subsequent lines with \ are not good. Signed-off-by: Joe Perches Signed-off-by: Benjamin Herrenschmidt commit 25ef231de2678690198d95dca949c3caa67a76de Author: Will Schmidt Date: Wed Nov 25 06:12:09 2009 +0000 powerpc/pseries: Hypervisor call tracepoints hcall_stats touchup The tb_total and purr_total values reported via the hcall_stats code should be cumulative, rather than being replaced by the latest delta tb or purr value. Tested-by: Will Schmidt Signed-off-by: Will Schmidt Acked-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 7c0616b85ba23d0467bf0b5a6f288f5296eb05ff Author: James Smart Date: Tue Jan 26 23:10:40 2010 -0500 [SCSI] lpfc 8.3.8: Update Driver version to 8.3.8 Update Driver version to 8.3.8 Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3b5dd52aaffd291edea9f939ed46a960b240bb45 Author: James Smart Date: Tue Jan 26 23:10:15 2010 -0500 [SCSI] lpfc 8.3.8: (BSG4) Add new vendor specific BSG Commands Add the following new vendor specific BSG commands. - Add LPFC_BSG_VENDOR_GET_MGMT_REV command - Add LPFC_BSG_VENDOR_MBOX command - Add LPFC_BSG_VENDOR_DIAG_MODE command - Add LPFC_BSG_VENDOR_DIAG_TEST command Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4cc0e56e977f12e6f400cbab3df7cf1e11d6f58a Author: James Smart Date: Tue Jan 26 23:09:48 2010 -0500 [SCSI] lpfc 8.3.8: (BSG3) Modify BSG commands to operate asynchronously Modify the following BSG commands to operate asynchronously. - FC_BSG_RPT_ELS - FC_BSG_RPT_CT - LPFC_BSG_VENDOR_GET_CT_EVENT - LPFC_BSG_VENDOR_SET_CT_EVENT Signed-off-by: James Smart Signed-off-by: James Bottomley commit c79c1292df87fa9c63383ca551fa719c0c2fda7c Author: James Smart Date: Tue Jan 26 23:09:22 2010 -0500 [SCSI] lpfc 8.3.8: (BSG2) Create lpfc_bsg.h Create lpfc_bsg.h - structures, etc used by bsg-related routines. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4fede78f7552479c4bb3bab221133ec5244e4154 Author: James Smart Date: Tue Jan 26 23:08:55 2010 -0500 [SCSI] lpfc 8.3.8: (BSG1) Update BSG infrastructure Update BSG infrastructure to handle new vendor specific BSG commands. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 65467b6bdffd3efde111444663bc9de35b59b22a Author: James Smart Date: Tue Jan 26 23:08:29 2010 -0500 [SCSI] lpfc 8.3.8: Add code to display logical link speed Display Logical Link Speed when supported and is non-zero. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 695a814e18561c52456acf5051fac0ea4b8111da Author: James Smart Date: Tue Jan 26 23:08:03 2010 -0500 [SCSI] lpfc 8.3.8: BugFixes: Discovery relates changes Discovery relates changes: - Separated VPI_REGISTERED state of physical port into VFI_REGISTERED and VPI_REGISTERED state so that driver can unregister physical port VPI independent of VFI. - Add code to unregister, re-init and re-register physical port VPI when physical port NportID change. - Add code to unregister and re-register VPI of a vport when its Nport ID change. - Add code in FDISC completion path to re-start FLOGI discovery when a FDISC complete with LOGIN_REQUIRED reason code. - Fix a memory leak in lpfc_init_vpi_cmpl - Add code to start a timer for vport to retry FDISC when CVL is received by a vport or physical port. If all Nports receive CVLs, then all timers are cancelled and a logical link level discovery will be started after one second. - Flush ELS commands after killing all delayed ELS commands. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 341af10239c4c87192bf762f53c7bcb1f3a1e767 Author: James Smart Date: Tue Jan 26 23:07:37 2010 -0500 [SCSI] lpfc 8.3.8: BugFixes: SLI relates changes Fix hardware/SLI relates issues: - Handle XB bit so that ELS XRIs are not prematurely released. - Handle XB bit so that FCP XRIs are not prematurely released. - Define new security SLI Commands. - Remove unused security SLI commands - Skip receive data size parameter check on received FLOGI. - Added LPFC_USE_FCPWQIDX flag to iocb to force SLI layer to submit abort WQE on same WQ as the command WQE. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 2cec802980727f1daa46d8c31b411e083d49d7a2 Author: Ben Hutchings Date: Sat Jan 23 18:40:29 2010 +0000 [SCSI] qla1280: Drop host_lock while requesting firmware request_firmware() may sleep and it appears to be safe to release the spinlock here. Signed-off-by: Ben Hutchings Cc: stable@kernel.org Signed-off-by: James Bottomley commit 7c56533cf4fb072abc39e850e7ef4fb6166cc83b Author: Jayamohan Kallickal Date: Sat Jan 23 05:39:37 2010 +0530 [SCSI] be2iscsi: correction in the claculation for num_cxn_wrb This patch correct the math done for num_cxn_wrb Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit b30c6dab1d87cc638a7413dd0e778d8c9a5232eb Author: Jayamohan Kallickal Date: Sat Jan 23 05:38:56 2010 +0530 [SCSI] be2iscsi: changing the chip opcode for TEXT This patch corrects the chipopcode for text and chooses correct paramters for that command Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit caf818f118b1ea60226a884072f1c3a9d5714766 Author: Jayamohan Kallickal Date: Sat Jan 23 05:38:18 2010 +0530 [SCSI] be2iscsi: Ensure clean reuse of wrb This patch ensures that wrb is cleanly resued for io path and is memset to zero for non io path Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit f55a24f2c24b63f8b4329eb28b4aec02a4bcf5d0 Author: Jayamohan Kallickal Date: Sat Jan 23 05:37:40 2010 +0530 [SCSI] be2iscsi: correcting the return This patch fixes an issue where return was not called properly. Thanks to Mike Christie for spotting this Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 5dc1c416b39531e3bcf0651ca4123e64228dd553 Author: Jayamohan Kallickal Date: Sat Jan 23 05:36:52 2010 +0530 [SCSI] be2iscsi: Proper checking of state This patch adds proper checking of value in for hba state. We would be adding more states later on Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 230dceb4316da9c8e05c82b64f2527aee95da2ff Author: Jayamohan Kallickal Date: Sat Jan 23 05:36:10 2010 +0530 [SCSI] be2iscsi: Fix for first_burst This patch fixes the first_burst being modified instead of max_burst Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit d2eeb1ac35a7146cbd4b1f6bf09bb6384ccdfb0d Author: Jayamohan Kallickal Date: Sat Jan 23 05:35:15 2010 +0530 [SCSI] be2iscsi: changing copyright to 2010 This patch replaces 2009 with 2010 in copyright statement Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 32951dd8cd70e525eb523c9e2b62d79d9157fae9 Author: Jayamohan Kallickal Date: Sat Jan 23 05:34:24 2010 +0530 [SCSI] be2iscsi: Remove Ring mode from driver Ring mode is not used. This patch removes the code. Signed-off-by: Mike Christie Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit d0e2ddff7c4b493acff50a9000564b67cbe7d676 Author: Dmitry Torokhov Date: Tue Jan 19 10:24:40 2010 -0800 [SCSI] vmw_pvscsi: fix signedness warning with newer compilers pvscsi_setup_msix() expects 'irq' argument to be an int but is being passed unsigned int. Unsigned int is more proper type for IRQ number so let's use it. This shuts off a compile warning with recent compilers. Signed-off-by: Dmitry Torokhov Acked-by: Alok Kataria Signed-off-by: James Bottomley commit fa4698fcf59c3bd01c171e5e558bae9e8eb396f1 Author: Martin K. Petersen Date: Mon Jan 18 18:43:18 2010 -0500 [SCSI] sd: Combine DIF/DIX error handling DIF and DIX errors are handled identically at this point. Collapse the switch cases into one and let scsi_io_completion print result and sense data. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley commit d44a6d2bbffd9e5c87f0a78cbe9c089e21289162 Author: Roel Kluin Date: Sun Jan 17 16:15:57 2010 +0100 [SCSI] lpfc: unify two if branches with the same code in lpfc_decode_firmware_rev() Regardless of the flag state, the branches execute the same code Signed-off-by: Roel Kluin Acked-by: James Smart Signed-off-by: James Bottomley commit a3babda5b3b60b5d28dbab127b1ecc8ba707b6e7 Author: Jayamohan Kallickal Date: Thu Jan 7 01:51:44 2010 +0530 [SCSI] be2iscsi: Fix to allow driver to load when the FW allows more cids This fix allows the driver to load when the FW allows more cids than than the driver supports. The driver will limit the number of cid to what it can support. There was no reason to fail the driver load,so, correcting that Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit aa3590329fdf789902e3c1383589bad12a74fb09 Author: Jayamohan Kallickal Date: Thu Jan 7 01:51:04 2010 +0530 [SCSI] be2iscsi: Fixing the number of SGE's The number of SGE's supported is fixed to what the chip expects. Also, the max sectors set to tested values Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 48bd86cf213a5780346b603b703c4b83978611a8 Author: Jayamohan Kallickal Date: Thu Jan 7 01:50:19 2010 +0530 [SCSI] be2iscsi: Fixing Bug for multiple SGEs The patch fixes a but where the sg_next is not assigned and hence the first sge was being resused wrongly Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit e4b8972c6172950ce226afdf7a921098f7672d5c Author: Kashyap, Desai Date: Wed Dec 16 18:57:02 2009 +0530 [SCSI] mpt2sas: Bump version 04.100.01.00 Version upgraded to 04.100.01.00. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit 84f0b04a0e3b279a0b0a851b93eb403a626ca4b8 Author: Kashyap, Desai Date: Wed Dec 16 18:56:28 2009 +0530 [SCSI] mpt2sas: Enable TLR for SSP TAPE drives (Added SAS Transport APIs) If TLR is supported for end device, MPT2SAS driver will enable the TLR bit in the SCSI_IO for every request. If there is a response with MPI2_SCSITASKMGMT_RSP_INVALID_FRAME, the driver will turn off the TLR logic. [jejb: updated to new transport class TLR API] Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit f4af3c14113d1b0d98d5a5e717b8aa1f484065b6 Author: Kashyap, Desai Date: Wed Dec 16 18:55:54 2009 +0530 [SCSI] mpt2sas: Update driver header to latest MPI Spec. Update header to latest MPI SPEC revision. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit 50d5c60634673a79f8d88564e10345b50fca7378 Author: Kashyap, Desai Date: Wed Dec 16 18:55:26 2009 +0530 [SCSI] mpt2sas: Added phy_enable and set_phy_speed sysfs callback support. Added new callbacks phy_enable and set_phy_speed in the mpt2sas_transport_functions template. This will allow end user to enable/disable phys and change links rates using the SysFS interface. Current implementation only supports direct attached phys, but we could in the future add support for expander based phys. A new subroutine mpt2sas_config_set_sas_iounit_pg1 was added; this wrapper function used to send request to controller firmware to modify the phys and link rates. A new subroutine _transport_find_local_phy was added; a function for easly obtaining the local phy object for direct attached. Example to disable a phy echo 0 > /sys/class/phy3:0/enable Example to enable the same phy echo 1 > /sys/class/phy3:0/enable Example to change the link rate to 1.5 #echo "1.5 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 1.5 Gbit Example to change the link rate to 3.0 #echo "3.0 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 3.0 Gbit Example to change the link rate to 6.0 #echo "6.0 Gbit" > /sys/class/phy3:0/maximum_linkrate #cat /sys/class/phy3:0/negotiated_linkrate 6.0 Gbit Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit f7c95ef02b564d9984c0655c9659791b1dd5d7ad Author: Kashyap, Desai Date: Wed Dec 16 18:54:42 2009 +0530 [SCSI] mpt2sas: Added raid transport support Adding support for raid transport layer. This will provide sysfs attributes containing raid level, state, and resync rate. MPT2SAS module will select RAID_ATTRS. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit 22c88425e03e8476176375ab0457c88ff3a5b68c Author: Kashyap, Desai Date: Wed Dec 16 18:53:04 2009 +0530 [SCSI] mpt2sas: Use compat_ptr to setup the pointer compatibility. On ppc64, an 32bit application was failing due to data buffers not being copied properly from user to kernel memory. The problem due to improper conversion of 32 to 64 bit pointers. The fix is to use compat_ptr to setup the pointer compatibility in the routine _ctl_compat_mpt_command. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit e75b9b6d9d81e35aed5ef2692285c4948e173c5c Author: Kashyap, Desai Date: Wed Dec 16 18:52:39 2009 +0530 [SCSI] mpt2sas: Set ioc->fwfault_debug to the cmd line option mpt2sas_fwfault_debug. (1) change the formentioned string from logging_level to fwfault_debug (2) set ioc->fwfault_debug to the command line option mpt2sas_fwfault_debug setting at driver load time. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit 6846e75cdfa76c6609ac0381a6739c9f4af8fd3b Author: Kashyap, Desai Date: Wed Dec 16 18:51:45 2009 +0530 [SCSI] mpt2sas: User resource_size_t instead of unsigned long Use resource_size_t to define the type resource for the system interface register set. The existing implementation was using "unsigned long" which would be 32 bit in 32 bit OS. If 32 bit OS is using 64 bit physical address space for the system interface register set, we need to shift to using resource_size_t which takes care of physical address space. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit b2ff36ba19dec02b05d3e26e36923b71ab64f34a Author: Kashyap, Desai Date: Wed Dec 16 18:51:05 2009 +0530 [SCSI] mpt2sas: Return -ENODATA on IOCTL timeout The driver was modified to return -ENODATA when there is a timeout via ioctl path. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit d7384b28afb2bf2b7be835ddc8c852bdc5e0ce1c Author: Kashyap, Desai Date: Wed Dec 16 18:50:06 2009 +0530 [SCSI] mpt2sas: Delete volume before HBA detach. The driver hangs when doing `rmmod mpt2sas` if there are any IR volumes present.The hang is due the scsi midlayer trying to access the IR volumes after the driver releases controller resources. Perhaps when scsi_remove_host is called,the scsi mid layer is sending some request. This doesn't occur for bare drives becuase the driver is already reporting those drives deleted prior to calling mpt2sas_base_detach. To solve this issue, we need to delete the volumes as well. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit 0f88009d5cfae890bd3466126d1622ad4f16b798 Author: James Bottomley Date: Mon Jan 18 10:14:51 2010 -0600 [SCSI] scsi_transport_sas: add support for transport layer retries (TLR) The mpt2sas driver wants to use transport layer retries (TLR) so the simplest thing to do seems to be to add the enabling flags and checks to the SAS transport class, since they're a SAS specific protocol feature. Signed-off-by: James Bottomley commit f7e7ee36757f68778700cde1aaed89e1d23e59fd Author: austin_zhang@linux.intel.com Date: Fri Feb 5 09:02:42 2010 -0800 perf record: Fix existing process callgraph symbol When 'perf record -g' a existing process, even with debuginfo packages, still cannnot get symbol from 'perf report'. try: perf record -g -p `pidof xxx` -f perf report 68.26% :1181 b74870f2 [.] 0x000000b74870f2 | |--32.09%-- 0xb73b5b44 | 0xb7487102 | 0xb748a4e2 | 0xb748633d | 0xb73b41cd | 0xb73b4467 | 0xb747d531 The reason is: for existing process, in __cmd_record(), the pid is 0 rather than the existing process id. Signed-off-by: Austin Zhang Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4710.10.255.24.35.1265389362.squirrel@linux.intel.com> Signed-off-by: Ingo Molnar commit fa535a77bd3fa32b9215ba375d6a202fe73e1dd6 Author: Anton Blanchard Date: Tue Feb 2 14:46:13 2010 -0800 sched: cpuacct: Use bigger percpu counter batch values for stats counters When CONFIG_VIRT_CPU_ACCOUNTING and CONFIG_CGROUP_CPUACCT are enabled we can call cpuacct_update_stats with values much larger than percpu_counter_batch. This means the call to percpu_counter_add will always add to the global count which is protected by a spinlock and we end up with a global spinlock in the scheduler. Based on an idea by KOSAKI Motohiro, this patch scales the batch value by cputime_one_jiffy such that we have the same batch limit as we would if CONFIG_VIRT_CPU_ACCOUNTING was disabled. His patch did this once at boot but that initialisation happened too early on PowerPC (before time_init) and it was never updated at runtime as a result of a hotplug cpu add/remove. This patch instead scales percpu_counter_batch by cputime_one_jiffy at runtime, which keeps the batch correct even after cpu hotplug operations. We cap it at INT_MAX in case of overflow. For architectures that do not support CONFIG_VIRT_CPU_ACCOUNTING, cputime_one_jiffy is the constant 1 and gcc is smart enough to optimise min(s32 percpu_counter_batch, INT_MAX) to just percpu_counter_batch at least on x86 and PowerPC. So there is no need to add an #ifdef. On a 64 thread PowerPC box with CONFIG_VIRT_CPU_ACCOUNTING and CONFIG_CGROUP_CPUACCT enabled, a context switch microbenchmark is 234x faster and almost matches a CONFIG_CGROUP_CPUACCT disabled kernel: CONFIG_CGROUP_CPUACCT disabled: 16906698 ctx switches/sec CONFIG_CGROUP_CPUACCT enabled: 61720 ctx switches/sec CONFIG_CGROUP_CPUACCT + patch: 16663217 ctx switches/sec Tested with: wget http://ozlabs.org/~anton/junkcode/context_switch.c make context_switch for i in `seq 0 63`; do taskset -c $i ./context_switch & done vmstat 1 Signed-off-by: Anton Blanchard Reviewed-by: KOSAKI Motohiro Acked-by: Balbir Singh Tested-by: Balbir Singh Cc: Peter Zijlstra Cc: Martin Schwidefsky Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 0c9cf2efd74dbc90354e2ccc7dbd6bad68ec6c4d Author: Anton Blanchard Date: Tue Feb 2 14:46:10 2010 -0800 percpu_counter: Make __percpu_counter_add an inline function on UP Even though batch isn't used on UP, we may want to pass one in to keep the SMP and UP code paths similar. Convert __percpu_counter_add to an inline function so we wont get variable unused warnings if we do. Signed-off-by: Anton Blanchard Cc: KOSAKI Motohiro Cc: Peter Zijlstra Cc: Martin Schwidefsky Cc: "Luck, Tony" Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 6d3e0907b8b239d16720d144e2675ecf10d3bc3b Merge: 2357725 50200df Author: Ingo Molnar Date: Mon Feb 8 08:55:43 2010 +0100 Merge branch 'sched/urgent' into sched/core Merge reason: Merge dependent fix, update to latest -rc. Signed-off-by: Ingo Molnar commit 50200df462023b187d80a99a52f5f2cfe3c86c26 Author: Andrew Morton Date: Tue Feb 2 14:46:13 2010 -0800 kernel/sched.c: Suppress unused var warning On UP: kernel/sched.c: In function 'wake_up_new_task': kernel/sched.c:2631: warning: unused variable 'cpu' Signed-off-by: Andrew Morton Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7561f2dd393bd0c6397e6b2a6b021cdb827a2eb1 Author: Paul Mundt Date: Mon Feb 8 16:36:56 2010 +0900 sh: Fix up SH7786 PCI resource definitions. This adds in some of the missing memory resources for channels 1/2 and gets the code building again for the recent changes. Signed-off-by: Paul Mundt commit 13fd7aeb9af0a106905757369362137996f3feb0 Merge: 2e18e04 858918b 9e9622d Author: Paul Mundt Date: Mon Feb 8 11:48:10 2010 +0900 Merge branches 'sh/dwarf-unwinder', 'sh/g3-prep' and 'sh/stable-updates' commit 9e9622d1a064705181bea0600ea9eacd95adab7f Author: Magnus Damm Date: Mon Feb 8 11:47:44 2010 +0900 serial: sh-sci: remove SCIF code in sci_rxd_in() Since sci_rxd_in() is used by SCI only, clean up the header file by killing off code dealing with SCIF ports and their register definitions. Also introduce a default sci_rxd_in() function which can be shared by all SCIF-only processors. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2e18e047981ae04be9bd0d9760057f7c1a7b3785 Merge: b06ede8 cfefe99 Author: Paul Mundt Date: Mon Feb 8 11:34:03 2010 +0900 Merge branch 'sh/dmaengine' Conflicts: arch/sh/drivers/dma/dma-sh.c commit 858918b77b29d0e9ce7f524d1b57d602d85f5d64 Author: Matt Fleming Date: Sun Feb 7 12:40:36 2010 +0000 sh: Optimise FDE/CIE lookup by using red-black trees Now that the DWARF unwinder is being used to provide perf callstacks unwinding speed is an issue. It is no longer being used in exceptional circumstances where we don't care about runtime performance, e.g. when panicing, so it makes sense improve performance is possible. With this patch I saw a 42% improvement in unwind time when calling return_address(1). Greater improvements will be seen as the number of levels unwound increases as each unwind is now cheaper. Note that insertion time has doubled but that's just the price we pay for keeping the trees balanced. However, this is a one-time cost for kernel boot/module load and so the improvements in lookup time dominate the extra time we spend keeping the trees balanced. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit cfefe99795251d76d92e8457f4152f532a961ec5 Author: Guennadi Liakhovetski Date: Wed Feb 3 14:46:41 2010 +0000 sh: implement DMA_SLAVE capability in SH dmaengine driver Tested to work with a SIU ASoC driver on sh7722 (migor). Signed-off-by: Guennadi Liakhovetski Acked-by: Dan Williams Signed-off-by: Paul Mundt commit 623b4ac4bf9e767991c66e29b47dd4b19458fb42 Author: Guennadi Liakhovetski Date: Wed Feb 3 14:44:12 2010 +0000 sh: fix Transfer Size calculation in both DMA drivers Both the original arch/sh/drivers/dma/dma-sh.c and the new SH dmaengine drivers do not take into account bits 3:2 of the Transfer Size field in the CHCR register, besides, bit-field defines set bit 2, but the mask only passes bits 1:0 through. TS_16BLK and TS_32BLK macros are bogus too. This patch fixes all these issues for sh7722 and sh7724, other CPUs stay unchanged and might need to be fixed too. Signed-off-by: Guennadi Liakhovetski Acked-by: Dan Williams Signed-off-by: Paul Mundt commit fc4618575f79eea062cdc51715040e40cd35b71c Author: Guennadi Liakhovetski Date: Tue Jan 19 07:24:55 2010 +0000 sh: prepare the DMA driver for slave functionality Slave DMA functionality uses scatter-gather arrays for data transfers, whereas memcpy just uses a single data buffer. This patch converts the current memcpy implementation in shdma.c to use scatter-gather, making it just a special case with one SG-element. This allows us to isolate descriptor list manipulations and locking into one function, thus reducing error chances. Signed-off-by: Guennadi Liakhovetski Acked-by: Dan Williams Signed-off-by: Paul Mundt commit 076dc4a65a6d99a16979e2c7917e669fb8c91ee5 Author: Masami Hiramatsu Date: Fri Feb 5 12:16:47 2010 -0500 x86/alternatives: Fix build warning Fixes these warnings: arch/x86/kernel/alternative.c: In function 'alternatives_text_reserved': arch/x86/kernel/alternative.c:402: warning: comparison of distinct pointer types lacks a cast arch/x86/kernel/alternative.c:402: warning: comparison of distinct pointer types lacks a cast arch/x86/kernel/alternative.c:405: warning: comparison of distinct pointer types lacks a cast arch/x86/kernel/alternative.c:405: warning: comparison of distinct pointer types lacks a cast Caused by: 2cfa197: ftrace/alternatives: Introducing *_text_reserved functions Changes in v2: - Use local variables to compare, instead of type casts. Reported-by: Ingo Molnar Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20100205171647.15750.37221.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 3235dc3f22378f35ce77eba0d0f62db2d9c4844e Author: Frans Pop Date: Sat Feb 6 18:47:17 2010 +0100 x86: Remove trailing spaces in messages Signed-off-by: Frans Pop Cc: Avi Kivity Cc: x86@kernel.org LKML-Reference: <1265478443-31072-10-git-send-email-elendil@planet.nl> [ Left out the KVM bits. ] Signed-off-by: Ingo Molnar commit 5f485364365f00853e5249cb3ae31f876936b552 Author: Arnaldo Carvalho de Melo Date: Sun Feb 7 11:46:16 2010 -0200 perf top: Use address pattern in lookup_sym_source Because we may have aliases, like __GI___strcoll_l in /lib64/libc-2.10.2.so that appears in objdump as: $ objdump --start-address=0x0000003715a86420 \ --stop-address=0x0000003715a872dc -dS /lib64/libc-2.10.2.so 0000003715a86420 <__strcoll_l>: 3715a86420: 55 push %rbp 3715a86421: 48 89 e5 mov %rsp,%rbp 3715a86424: 41 57 push %r15 [root@doppio linux-2.6-tip]# So look for the address exactly at the start of the line instead so that annotation can work for in these cases. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Kirill Smelkov Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1265550376-12665-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit ee11b90b12eb1ec25e1044bac861e90bfd19ec9e Author: Kirill Smelkov Date: Sun Feb 7 11:46:15 2010 -0200 perf top: Fix annotate for userspace First, for programs and prelinked libraries, annotate code was fooled by objdump output IPs (src->eip in the code) being wrongly converted to absolute IPs. In such case there were no conversion needed, but in src->eip = strtoull(src->line, NULL, 16); src->eip = map->unmap_ip(map, src->eip); // = eip + map->start - map->pgoff we were reading absolute address from objdump (e.g. 8048604) and then almost doubling it, because eip & map->start are approximately close for small programs. Needless to say, that later, in record_precise_ip() there was no matching with real runtime IPs. And second, like with `perf annotate` the problem with non-prelinked *.so was that we were doing rip -> objdump address conversion wrong. Also, because unlike `perf annotate`, `perf top` code does annotation based on absolute IPs for performance reasons(*), new helper for mapping objdump addresse to IP is introduced. (*) we get samples info in absolute IPs, and since we do lots of hit-testing on absolute IPs at runtime in record_precise_ip(), it's better to convert objdump addresses to IPs once and do no conversion at runtime. I also had to fix how objdump output is parsed (with hardcoded 8/16 characters format, which was inappropriate for ET_DYN dsos with small addresses like '4ac') Also note, that not all objdump output lines has associtated IPs, e.g. look at source lines here: 000004ac : extern "C" int my_strlen(const char *s) 4ac: 55 push %ebp 4ad: 89 e5 mov %esp,%ebp 4af: 83 ec 10 sub $0x10,%esp { int len = 0; 4b2: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%ebp) 4b9: eb 08 jmp 4c3 while (*s) { ++len; 4bb: 83 45 fc 01 addl $0x1,-0x4(%ebp) ++s; 4bf: 83 45 08 01 addl $0x1,0x8(%ebp) So we mark them with eip=0, and ignore such lines in annotate lookup code. Signed-off-by: Kirill Smelkov [ Note: one hunk of this patch was applied by Mike in 57d8188 ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1265550376-12665-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 36028f3383872eefb558a4aae4c12ec2b5fa640f Author: Mike Travis Date: Tue Feb 2 17:45:01 2010 -0800 vgaarb: Add user selectability of the number of GPUS in a system Update the VGA Arbiter to allow the user to select the number of GPU's supported in a system. v2: simplify setting of MAX_USER_CARDS, revert back to original default of 16 Signed-off-by: Mike Travis LKML-Reference: <4B68D51D.6090401@sgi.com> Cc: Thomas Gleixner Cc: Robin Holt Cc: Jack Steiner Cc: Ingo Molnar Cc: Jesse Barnes Cc: David Airlie Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin commit 773a38dbdad03474c5ee235f7d9bf9f51c9e3c2b Author: Mike Travis Date: Tue Feb 2 14:38:15 2010 -0800 vgaarb: Fix VGA arbiter to accept PCI domains other than 0 Update the VGA Arbiter to accept PCI Domains other than 0. Signed-off-by: Mike Travis LKML-Reference: <201002022238.o12McFe8018730@imap1.linux-foundation.org> Cc: Thomas Gleixner Cc: Robin Holt Cc: Jack Steiner Cc: Ingo Molnar Cc: Jesse Barnes Cc: David Airlie Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin commit 841582ea9e29a8f757c30c5377ce649586ba793a Author: Mike Travis Date: Tue Feb 2 14:38:14 2010 -0800 x86, uv: Update UV arch to target Legacy VGA I/O correctly. Add function to direct Legacy VGA I/O traffic to correct I/O Hub. Signed-off-by: Mike Travis LKML-Reference: <201002022238.o12McEbi018727@imap1.linux-foundation.org> Cc: Thomas Gleixner Cc: Robin Holt Cc: Jack Steiner Cc: Ingo Molnar Cc: Jesse Barnes Cc: David Airlie Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin commit 95a8b6efc5d07103583f706c8a5889437d537939 Author: Mike Travis Date: Tue Feb 2 14:38:13 2010 -0800 pci: Update pci_set_vga_state() to call arch functions Update pci_set_vga_state to call arch dependent functions to enable Legacy VGA I/O transactions to be redirected to correct target. [akpm@linux-foundation.org: make pci_register_set_vga_state() __init] Signed-off-by: Mike Travis LKML-Reference: <201002022238.o12McE1J018723@imap1.linux-foundation.org> Cc: Thomas Gleixner Cc: Robin Holt Cc: Jack Steiner Cc: Ingo Molnar Cc: Jesse Barnes Cc: David Airlie Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin commit 1c5b9069e12e20d2fe883076ae0bf73966492108 Author: Brian Gerst Date: Fri Feb 5 09:37:09 2010 -0500 x86: Merge io.h io_32.h and io_64.h are now identical. Merge them into io.h. Signed-off-by: Brian Gerst LKML-Reference: <1265380629-3212-8-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 910bf6ad0be3e1efbda0e9d358794937b52c9860 Author: Brian Gerst Date: Fri Feb 5 09:37:08 2010 -0500 x86: Simplify flush_write_buffers() Always make it an inline instead of using a macro for the no-op case. Signed-off-by: Brian Gerst LKML-Reference: <1265380629-3212-7-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 6175ddf06b6172046a329e3abfd9c901a43efd2e Author: Brian Gerst Date: Fri Feb 5 09:37:07 2010 -0500 x86: Clean up mem*io functions. Iomem has no special significance on x86. Use the standard mem* functions instead of trying to call other versions. Some fixups are needed to match the function prototypes. Signed-off-by: Brian Gerst LKML-Reference: <1265380629-3212-6-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 2b4df4d4f7de1a834d252c7da3197fce634cbf0e Author: Brian Gerst Date: Fri Feb 5 09:37:06 2010 -0500 x86-64: Use BUILDIO in io_64.h Copied from io_32.h. Signed-off-by: Brian Gerst LKML-Reference: <1265380629-3212-5-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 2e16fc7728a77755b5b2dc6b27dde62cd97b9ea5 Author: Brian Gerst Date: Fri Feb 5 09:37:05 2010 -0500 x86-64: Reorganize io_64.h Make it more similar to io_32.h. No real code changes. Signed-off-by: Brian Gerst LKML-Reference: <1265380629-3212-4-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit bd2984e96452855d148ebce76f696dcecbc96340 Author: Brian Gerst Date: Fri Feb 5 09:37:04 2010 -0500 x86-32: Remove _local variants of in/out from io_32.h These were leftover from the numaq support that was removed in commit 1fba38703d0ce8a5ff0fad9df3eccc6b55cf2cfb. Signed-off-by: Brian Gerst LKML-Reference: <1265380629-3212-3-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 5c64c7019e571a726f4aa9c1896402c15391a8ed Author: Brian Gerst Date: Fri Feb 5 09:37:03 2010 -0500 x86-32: Move XQUAD definitions to numaq.h The XQUAD stuff is part of the NUMAQ architecture, so move it there. Signed-off-by: Brian Gerst LKML-Reference: <1265380629-3212-2-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 73c77e2ccc14413c232c3e0b3aa43a0c4b72ec70 Author: James Bottomley Date: Mon Jan 25 11:42:24 2010 -0600 xfs: fix xfs to work with Virtually Indexed architectures xfs_buf.c includes what is essentially a hand rolled version of blk_rq_map_kern(). In order to work properly with the vmalloc buffers that xfs uses, this hand rolled routine must also implement the flushing API for vmap/vmalloc areas. [style updates from hch@lst.de] Acked-by: Christoph Hellwig Signed-off-by: James Bottomley commit c9334f6067dbe0380141fc75b122e0a533878838 Author: James Bottomley Date: Mon Jan 25 11:42:23 2010 -0600 sh: add mm API for DMA to vmalloc/vmap areas Signed-off-by: James Bottomley commit 252a9afff76097667429b583e8b5b170b47665a4 Author: James Bottomley Date: Mon Jan 25 11:42:22 2010 -0600 arm: add mm API for DMA to vmalloc/vmap areas ARM cannot prevent cache movein, so this patch implements both the flush and invalidate pieces of the API. Signed-off-by: James Bottomley commit ef7cc35b0ee03431731186320b18e5da585341ff Author: James Bottomley Date: Mon Jan 25 11:42:21 2010 -0600 parisc: add mm API for DMA to vmalloc/vmap areas We already have an API to flush a kernel page along an alias address, so use it. The TLB purge prevents the CPU from doing speculative moveins on the flushed address, so we don't need to implement and invalidate. Acked-by: Kyle McMartin Signed-off-by: James Bottomley commit b06ede84dd1473dec7c6af03a41c8d04d2fee437 Author: Paul Mundt Date: Fri Feb 5 17:45:14 2010 +0900 sh: Fix up hp6xx build. With the sparseirq conversion there was a stray irq_desc reference left over, this tidies it up and brings the demuxer in line with what the solution engine boards are doing. Signed-off-by: Paul Mundt commit 5ecaafdbf44b1ba400b746c60c401d54c7ee0863 Author: Masami Hiramatsu Date: Fri Feb 5 01:24:34 2010 -0500 kprobes: Add mcount to the kprobes blacklist Since mcount function can be called from everywhere, it should be blacklisted. Moreover, the "mcount" symbol is a special symbol name. So, it is better to put it in the generic blacklist. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Ananth N Mavinakayanahalli Cc: Steven Rostedt LKML-Reference: <20100205062433.3745.36726.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 3b0be1a4f2f7d8280574aa6e5eac2dd3dd57e2b7 Author: Paul Mundt Date: Fri Feb 5 16:11:25 2010 +0900 sh: Fix an off-by-1 in SH7780 PCIC memory resource mapping. Signed-off-by: Paul Mundt commit 8e04221029067cbaff3fc8f4daf991532afbcbaf Merge: 9ad62ec 2c940db Author: Paul Mundt Date: Fri Feb 5 12:16:39 2010 +0900 Merge branch 'sh/stable-updates' commit c2c3489c5b0fdb8fbf0f5e9424905c2994ab5660 Author: Thadeu Lima de Souza Cascardo Date: Thu Feb 4 13:36:24 2010 -0200 HID: use multi input quirk for TouchPack touchscreen This device generates ABS_Z and ABS_RX events, while it should be generating ABS_X and ABS_Y instead. Using the MULTI_INPUT quirk solves this issue. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Daniel Oliveira Nascimento [jkosina@suse.cz: fixed blacklist ordering while resolving conflict] [jkosina@suse.cz: fixed typo to make it compile] Signed-off-by: Jiri Kosina commit 2161db969313cb94ffd9377a525fb75c3fee9eeb Author: Ingo Molnar Date: Thu Feb 4 10:22:01 2010 +0100 perf tools: Fix session init on non-modular kernels perf top and perf record refuses to initialize on non-modular kernels: refuse to initialize: $ perf top -v map_groups__set_modules_path_dir: cannot open /lib/modules/2.6.33-rc6-tip-00586-g398dde3-dirty/ Cc: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1265223128-11786-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f887f3019e56389a73617f4e70f512e82cc89adb Author: Xiao Guangrong Date: Thu Feb 4 16:46:42 2010 +0800 perf tools: Clean up O_LARGEFILE et al usage Setting _FILE_OFFSET_BITS and using O_LARGEFILE, lseek64, etc, is redundant. Thanks H. Peter Anvin for pointing it out. So, this patch removes O_LARGEFILE, lseek64, etc. Suggested-by: "H. Peter Anvin" Signed-off-by: Xiao Guangrong Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4B6A8972.3070605@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 34d2819f20782feb60f9434470ecfb200875fd41 Author: Borislav Petkov Date: Thu Feb 4 09:51:28 2010 +0100 x86, mtrr: Remove unused mtrr/state.c The last reference to the helpers in went away with 9a6b344ea967efa0bb5ca4cb5405f840652b66c4 leaving unused code. Remove it. Signed-off-by: Borislav Petkov LKML-Reference: <20100204085128.GA513@liondog.tnic> Signed-off-by: Ingo Molnar commit 447a194b393f32699607fd99617a40abd6a95114 Author: Stephane Eranian Date: Mon Feb 1 14:50:01 2010 +0200 perf_events, x86: Fix bug in hw_perf_enable() We cannot assume that because hwc->idx == assign[i], we can avoid reprogramming the counter in hw_perf_enable(). The event may have been scheduled out and another event may have been programmed into this counter. Thus, we need a more robust way of verifying if the counter still contains config/data related to an event. This patch adds a generation number to each counter on each cpu. Using this mechanism we can verify reliabilty whether the content of a counter corresponds to an event. Signed-off-by: Stephane Eranian Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4b66dc67.0b38560a.1635.ffffae18@mx.google.com> Signed-off-by: Ingo Molnar commit fce877e3a429940a986e085a41e8b57f2d922e36 Author: Peter Zijlstra Date: Fri Jan 29 13:25:12 2010 +0100 bitops: Ensure the compile time HWEIGHT is only used for such Avoid accidental misuse by failing to compile things Suggested-by: Andrew Morton Signed-off-by: Peter Zijlstra Cc: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit 8c48e444191de0ff84e85d41180d7bc3e74f14ef Author: Peter Zijlstra Date: Fri Jan 29 13:25:31 2010 +0100 perf_events, x86: Implement intel core solo/duo support Implement Intel Core Solo/Duo, aka. Intel Architectural Performance Monitoring Version 1. Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Arjan van de Ven LKML-Reference: Signed-off-by: Ingo Molnar commit 9717e6cd3db22eade7dbae0fc9235c66325a7132 Author: Peter Zijlstra Date: Thu Jan 28 13:57:44 2010 +0100 perf_events: Optimize perf_event_task_tick() Pretty much all of the calls do perf_disable/perf_enable cycles, pull that out to cut back on hardware programming. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 23577256953c870de9b724c3a2611ce7be6a1e4e Author: Yong Zhang Date: Fri Jan 29 14:58:47 2010 +0800 sched: Remove member rt_se from struct rt_rq It's a duplicate of tg->rt_se[cpu] and the only usage is sched_rt_rq_dequeue() and sched_rt_rq_enqueue(). After the first patch to those two function. rt_se can be removed. Signed-off-by: Yong Zhang Cc: Rusty Russell Signed-off-by: Peter Zijlstra LKML-Reference: <2674af741001282258q38781619u653ca4a7dd267347@mail.gmail.com> Signed-off-by: Ingo Molnar commit 74b7eb5885415ed41d012f432398d1b697115b5f Author: Yong Zhang Date: Fri Jan 29 14:57:52 2010 +0800 sched: Change usage of rt_rq->rt_se to rt_rq->tg->rt_se[cpu] This is the first step to remove rt_rq member rt_se because it have the same meaning with tg->rt_se[cpu]. And the latter style is also used by the fair scheduling class. Signed-off-by: Yong Zhang Cc: Rusty Russell Signed-off-by: Peter Zijlstra LKML-Reference: <2674af741001282257r28c97a92o9f90cf16fe8d3d84@mail.gmail.com> Signed-off-by: Ingo Molnar commit f24bb999d2b9f2950e5cac5b69bffedf73c24ea4 Author: Masami Hiramatsu Date: Tue Feb 2 16:49:25 2010 -0500 ftrace: Remove record freezing Remove record freezing. Because kprobes never puts probe on ftrace's mcount call anymore, it doesn't need ftrace to check whether kprobes on it. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: przemyslaw@pawelczyk.it Cc: Frederic Weisbecker LKML-Reference: <20100202214925.4694.73469.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 4554dbcb85a4ed2abaa2b6fa15649b796699ec89 Author: Masami Hiramatsu Date: Tue Feb 2 16:49:18 2010 -0500 kprobes: Check probe address is reserved Check whether the address of new probe is already reserved by ftrace or alternatives (on x86) when registering new probe. If reserved, it returns an error and not register the probe. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: przemyslaw@pawelczyk.it Cc: Frederic Weisbecker Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Mathieu Desnoyers Cc: Jason Baron LKML-Reference: <20100202214918.4694.94179.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 2cfa19780d61740f65790c5bae363b759d7c96fa Author: Masami Hiramatsu Date: Tue Feb 2 16:49:11 2010 -0500 ftrace/alternatives: Introducing *_text_reserved functions Introducing *_text_reserved functions for checking the text address range is partially reserved or not. This patch provides checking routines for x86 smp alternatives and dynamic ftrace. Since both functions modify fixed pieces of kernel text, they should reserve and protect those from other dynamic text modifier, like kprobes. This will also be extended when introducing other subsystems which modify fixed pieces of kernel text. Dynamic text modifiers should avoid those. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: przemyslaw@pawelczyk.it Cc: Frederic Weisbecker Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Mathieu Desnoyers Cc: Jason Baron LKML-Reference: <20100202214911.4694.16587.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 615d0ebbc782b67296e3226c293f520f93f93515 Author: Masami Hiramatsu Date: Tue Feb 2 16:49:04 2010 -0500 kprobes: Disable booster when CONFIG_PREEMPT=y Disable kprobe booster when CONFIG_PREEMPT=y at this time, because it can't ensure that all kernel threads preempted on kprobe's boosted slot run out from the slot even using freeze_processes(). The booster on preemptive kernel will be resumed if synchronize_tasks() or something like that is introduced. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Ananth N Mavinakayanahalli Cc: Frederic Weisbecker Cc: Jim Keniston Cc: Mathieu Desnoyers Cc: Steven Rostedt LKML-Reference: <20100202214904.4694.24330.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 57d818895f9d294ab9080e5a662675fdee943ff1 Author: Mike Galbraith Date: Thu Feb 4 07:31:46 2010 +0100 perf annotate: Fix perf top module symbol annotation Signed-off-by: Mike Galbraith Cc: Kirill Smelkov Cc: Arnaldo Carvalho de Melo Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <1265265106.6364.5.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 6cff0e8dbaa4d5d822a814e5028683d7e71c3291 Author: Kirill Smelkov Date: Wed Feb 3 16:52:08 2010 -0200 perf top: Teach it to autolocate vmlinux By relying on logic in dso__load_kernel_sym(), we can automatically load vmlinux. The only thing which needs to be adjusted, is how --sym-annotate option is handled - now we can't rely on vmlinux been loaded until full successful pass of dso__load_vmlinux(), but that's not the case if we'll do sym_filter_entry setup in symbol_filter(). So move this step right after event__process_sample() where we know the whole dso__load_kernel_sym() pass is done. By the way, though conceptually similar `perf top` still can't annotate userspace - see next patches with fixes. Signed-off-by: Kirill Smelkov Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1265223128-11786-9-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 7a2b6209863626cf8362e5ff4653491558f91e67 Author: Kirill Smelkov Date: Wed Feb 3 16:52:07 2010 -0200 perf annotate: Fix it for non-prelinked *.so The problem was we were incorrectly calculating objdump addresses for sym->start and sym->end, look: For simple ET_DYN type DSO (*.so) with one function, objdump -dS output is something like this: 000004ac : int my_strlen(const char *s) 4ac: 55 push %ebp 4ad: 89 e5 mov %esp,%ebp 4af: 83 ec 10 sub $0x10,%esp { i.e. we have relative-to-dso-mapping IPs (=RIP) there. For ET_EXEC type and probably for prelinked libs as well (sorry can't test - I don't use prelink) objdump outputs absolute IPs, e.g. 08048604 : extern "C" int zz_strlen(const char *s) 8048604: 55 push %ebp 8048605: 89 e5 mov %esp,%ebp 8048607: 83 ec 10 sub $0x10,%esp { So, if sym->start is always relative to dso mapping(*), we'll have to unmap it for ET_EXEC like cases, and leave as is for ET_DYN cases. (*) and it is - we've explicitely made it relative. Look for adjust_symbols handling in dso__load_sym() Previously we were always unmapping sym->start and for ET_DYN dsos resulting addresses were wrong, and so objdump output was empty. The end result was that perf annotate output for symbols from non-prelinked *.so had always 0.00% percents only, which is wrong. To fix it, let's introduce a helper for converting rip to objdump address, and also let's document what map_ip() and unmap_ip() do -- I had to study sources for several hours to understand it. Signed-off-by: Kirill Smelkov Signed-off-by: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1265223128-11786-8-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 29a9f66d703cb9464e24084e09edab5683e1b6b8 Author: Arnaldo Carvalho de Melo Date: Wed Feb 3 16:52:06 2010 -0200 perf tools: Adjust some verbosity levels Not to pollute too much 'perf annotate' debugging sessions. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1265223128-11786-7-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 6122e4e4f5d0913e319ef8a4dc60a47afe4abc0a Author: Arnaldo Carvalho de Melo Date: Wed Feb 3 16:52:05 2010 -0200 perf record: Stop intercepting events, use postprocessing to get build-ids We want to stream events as fast as possible to perf.data, and also in the future we want to have splice working, when no interception will be possible. Using build_id__mark_dso_hit_ops to create the list of DSOs that back MMAPs we also optimize disk usage in the build-id cache by only caching DSOs that had hits. Suggested-by: Peter Zijlstra Signed-off-by: Arnaldo Carvalho de Melo Cc: Xiao Guangrong Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Paul Mackerras LKML-Reference: <1265223128-11786-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 7b2567c1f57c059de29d3f2ca03aca84473865c8 Author: Arnaldo Carvalho de Melo Date: Wed Feb 3 16:52:04 2010 -0200 perf build-id: Move the routine to find DSOs with hits to the lib Because 'perf record' will have to find the build-ids in after we stop recording, so as to reduce even more the impact in the workload while we do the measurement. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1265223128-11786-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8ad94c6052649a8e32120b464eefa0ffd8f2f04f Author: Arnaldo Carvalho de Melo Date: Wed Feb 3 16:52:03 2010 -0200 perf probe: Don't use a perf_session instance just to resolve symbols With the recent modifications done to untie the session and symbol layers, 'perf probe' now can use just the symbols layer. Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Masami Hiramatsu Cc: Frédéric Weisbecker Cc: Masami Hiramatsu Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 8d92c02ab07602786eaa6d4e5b519395730b3fd3 Author: Arnaldo Carvalho de Melo Date: Wed Feb 3 16:52:02 2010 -0200 perf symbols: Ditch vdso global variable We can check using strcmp, most DSOs don't start with '[' so the test is cheap enough and we had to test it there anyway since when reading perf.data files we weren't calling the routine that created this global variable and thus weren't setting it as "loaded", which was causing a bogus: Failed to open [vdso], continuing without symbols Message as the first line of 'perf report'. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1265223128-11786-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 6275ce2d5f44ae4f8575c24724525cbb2a3a141b Author: Arnaldo Carvalho de Melo Date: Wed Feb 3 16:52:01 2010 -0200 perf symbols: Fixup vsyscall maps While debugging a problem reported by Pekka Enberg by printing the IP and all the maps for a thread when we don't find a map for an IP I noticed that dso__load_sym needs to fixup these extra maps it creates to hold symbols in different ELF sections than the main kernel one. Now we're back showing things like: [root@doppio linux-2.6-tip]# perf report | grep vsyscall 0.02% mutt [kernel.kallsyms].vsyscall_fn [.] vread_hpet 0.01% named [kernel.kallsyms].vsyscall_fn [.] vread_hpet 0.01% NetworkManager [kernel.kallsyms].vsyscall_fn [.] vread_hpet 0.01% gconfd-2 [kernel.kallsyms].vsyscall_0 [.] vgettimeofday 0.01% hald-addon-rfki [kernel.kallsyms].vsyscall_fn [.] vread_hpet 0.00% dbus-daemon [kernel.kallsyms].vsyscall_fn [.] vread_hpet [root@doppio linux-2.6-tip]# Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Pekka Enberg Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1265223128-11786-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 9de89fe7c577847877ae00ea1aa6315559b10243 Author: Arnaldo Carvalho de Melo Date: Wed Feb 3 16:52:00 2010 -0200 perf symbols: Remove perf_session usage in symbols layer I noticed while writing the first test in 'perf regtest' that to just test the symbol handling routines one needs to create a perf session, that is a layer centered on a perf.data file, events, etc, so I untied these layers. This reduces the complexity for the users as the number of parameters to most of the symbols and session APIs now was reduced while not adding more state to all the map instances by only having data that is needed to split the kernel (kallsyms and ELF symtab sections) maps and do vmlinux relocation on the main kernel map. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1265223128-11786-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f266d7f5f89652a68e21e9882c44ee9104ad8d61 Author: Alexey Dobriyan Date: Wed Feb 3 21:21:32 2010 +0200 x86_64: Print modules like i386 does Print modules list during kernel BUG. Signed-off-by: Alexey Dobriyan Cc: Arjan van de Ven Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: Signed-off-by: Ingo Molnar commit efec959f63de850fbd2442189f7dfc9c38efe251 Author: Benjamin Herrenschmidt Date: Thu Feb 4 14:33:54 2010 +1100 powerpc/pseries: Pass more accurate number of supported cores to firmware Updated variant of a patch by Joel Schopp. The field containing the number of supported cores which we pass to firmware via the ibm,client-architecture call was set by a previous patch statically as high as is possible (NR_CPUS). However, that value isn't quite right for a system that supports multiple threads per core, thus permitting the firmware to assign more cores to a Linux partition than it can really cope with. This patch improves it by using the device-tree to determine the number of threads supported by the processors in order to adjust the value passed to firmware. Signed-off-by: Joel Schopp Signed-off-by: Benjamin Herrenschmidt commit 5a1436beec5744029f3ac90b6fe71a698dcd6155 Author: Steffen Klassert Date: Thu Feb 4 11:40:17 2010 +1100 crypto: pcrypt - call the complete function on error This fixes three forgotten calls to the complete function in the error case. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit e054f1647162d7098a9ff619405a72bd7c417213 Author: Roel Kluin Date: Thu Feb 4 11:39:13 2010 +1100 crypto: geode-aes - Fix cip/blk confusion a crypto_cipher cip member was set where a crypto_cipher blk members should have been. Signed-off-by: Roel Kluin Signed-off-by: Herbert Xu commit 5322892d867e186c6b4c5fff5c99ea4863696a60 Author: Dave Chinner Date: Thu Feb 4 10:09:14 2010 +1100 xfs: kill xfs_bawrite There are no more users of this function left in the XFS code now that we've switched everything to delayed write flushing. Remove it. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 07fec73625dc0db6f9aed68019918208a2ca53f5 Author: Christoph Hellwig Date: Tue Feb 9 11:43:49 2010 +1100 xfs: log changed inodes instead of writing them synchronously When an inode has already be flushed delayed write, xfs_inode_clean() returns true and hence xfs_fs_write_inode() can return on a synchronous inode write without having written the inode. Currently these sycnhronous writes only come sync(1), unmount, a sycnhronous NFS export and cachefiles so should be relatively rare and out of common performance paths. Realistically, a synchronous inode write is not necessary here; we can avoid writing the inode by logging any non-transactional changes that are pending. This needs to be done with synchronous transactions, but it avoids seeking between the log and inode clusters as we do now. We don't force the log if the inode is pinned, though, so this differs from the fsync case. For normal sys_sync and unmount behaviour this is fine because we do a synchronous log force in xfs_sync_data which is called from the ->sync_fs code. It does however break the NFS synchronous export guarantees for now, but work is under way to fix this at a higher level or for the higher level to provide an additional flag in the writeback control to tell us that a log force is needed. Portions of this patch are based on work from Dave Chinner. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Reviewed-by: Alex Elder commit 3cebbb81c7e75321e25cc586d07a25a3d98278fc Author: Michal Marek Date: Wed Feb 3 17:20:14 2010 +0100 kconfig: Simplify LSMOD= handling Signed-off-by: Michal Marek LKML-Reference: <20100203162014.GA10956@sepie.suse.cz> Signed-off-by: Steven Rostedt commit 2dbf209d7a7ab94266b936bd2da6a4026c279992 Author: Jiri Kosina Date: Wed Feb 3 16:11:12 2010 +0100 HID: make full-fledged hid-bus drivers properly selectable For historical reasons, we don't have most of the in-tree drivers residing on hid-bus properly selectable in kernel configuration unless CONFIG_EMBEDDED is set. This has been introduced on Linus' request from 14 Oct === As to the Kconfig options - do they really add so much space that you need to ask for the quirks? You didn't use to. Can you make the questions depend on EMBEDDED, or at least on the HID_COMPAT thing or whatever? === This still makes perfect sense for small and tiny drivers, which just fix report descriptors, fix up HID->input mappings that slightly violates HUT standard, send one extra packet to the device that is needed before it becomes functional, etc. Since then, we have been gathering more and more HID-bus drivers, which are full-fledged drivers. For these, the size argument becomes more valid. Plus the devices are much more special than "just violates HID specification in this one or two tiny unimportant points". Therefore I am marking such drivers as properly selectable no matter the setting of CONFIG_EMBEDDED, while keeping all the small and tiny ones compiled by default. Signed-off-by: Jiri Kosina commit 342f31e84eec9002b75f6fcdec6bd932ac77a390 Author: Jiri Kosina Date: Wed Feb 3 15:52:31 2010 +0100 HID: make Wacom modesetting failures non-fatal With Wacom tablet mode-setting moved from userspace into kernel, we don't have to consider failures of device queries through the _raw callback as hard failure, as the driver can safely continue anyway. This is consistent with the current USB driver in wacom_sys.c Reported-by: Ping Cheng Signed-off-by: Jiri Kosina commit f9ce7c283c16538955d5d094101889792bcde109 Author: Bastien Nocera Date: Wed Jan 20 12:01:53 2010 +0000 HID: Enable Sixaxis controller over Bluetooth Now that hid_output_raw_report works, port the PS3 Sixaxis Bluetooth quirk from user-space, into kernel-space. Signed-off-by: Bastien Nocera Acked-by: Marcel Holtmann Signed-off-by: Jiri Kosina commit 46a709b900bfcf43244cd19cf3245c77484ec733 Author: Bastien Nocera Date: Wed Jan 20 12:00:53 2010 +0000 HID: Implement Wacom quirk in the kernel The hid-wacom driver required user-space to poke at the tablet to make it send data about the cursor location. This patch makes it do the same thing but in the kernel. Signed-off-by: Bastien Nocera Acked-by: Marcel Holtmann Signed-off-by: Jiri Kosina commit d4bfa033ed84e0ae446eff445d107ffd5ee78df3 Author: Jiri Kosina Date: Fri Jan 29 15:03:36 2010 +0100 HID: make raw reports possible for both feature and output reports In commit 2da31939a42 ("Bluetooth: Implement raw output support for HIDP layer"), support for Bluetooth hid_output_raw_report was added, but it pushes the data to the intr socket instead of the ctrl one. This has been fixed by 6bf8268f9a91f1 ("Bluetooth: Use the control channel for raw HID reports") Still, it is necessary to distinguish whether the report in question should be either FEATURE or OUTPUT. For this, we have to extend the generic HID API, so that hid_output_raw_report() callback provides means to specify this value so that it can be passed down to lower level hardware drivers (currently Bluetooth and USB). Based on original patch by Bastien Nocera Acked-by: Marcel Holtmann Signed-off-by: Jiri Kosina commit f54405db66fbec11679241daefd16fd8291a5762 Author: Alex Neblett Date: Tue Feb 2 21:16:03 2010 -0800 HID: add support for Pixart Imaging Optical Touch Screen Added support for the Pixart Imaging Inc. Optical Touch Screen found in the MSI AE2220 and other new all in one computers to the Quanta Optical Touch dual-touch panel driver found in the latest git clone git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git. Signed-off-by: Alex Neblett Signed-off-by: Jiri Kosina commit b8f46c5a34fa64fd456295388d18f50ae69d9f37 Author: Xiao Guangrong Date: Wed Feb 3 11:53:14 2010 +0800 perf tools: Use O_LARGEFILE to open perf data file Open perf data file with O_LARGEFILE flag since its size is easily larger that 2G. For example: # rm -rf perf.data # ./perf kmem record sleep 300 [ perf record: Woken up 0 times to write data ] [ perf record: Captured and wrote 3142.147 MB perf.data (~137282513 samples) ] # ll -h perf.data -rw------- 1 root root 3.1G ..... Signed-off-by: Xiao Guangrong Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <4B68F32A.9040203@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 9ad62ec4f752c82b39aa5927f23d894b46ae10b9 Author: Paul Mundt Date: Wed Feb 3 16:46:20 2010 +0900 sh: Fix up early PCI PERR/SERR IRQ handling. This adds support for handling early PERR/SERR triggering in between controller registration and the initial bus scan. Buggy cards end up asserting these as soon as the M66EN scan is undertaken, resulting in an early crash. Signed-off-by: Paul Mundt commit 28bb9ee13aa0ee4c57dc3568f539cc84920b43aa Author: jschopp@austin.ibm.com Date: Mon Feb 1 12:50:48 2010 +0000 powerpc: Add static fields to ibm,client-architecture call This patch adds 2 fields to the ibm_architecture_vec array. The first of these fields indicates the number of cores which Linux can boot. It does not account for SMT, so it may result in cpus assigned to Linux which cannot be booted. A second patch follows that dynamically updates this for SMT. The second field just indicates that our OS is Linux, and not another OS. The system may or may not use this hint to performance tune settings for Linux. Signed-off-by: Joel Schopp Signed-off-by: Benjamin Herrenschmidt commit 6c504d423147770d7bd73aab3228726379700786 Author: Thadeu Lima de Souza Cascardo Date: Sun Jan 17 11:23:14 2010 +0000 powerpc: Fix typo s/leve/level/ in TLB code Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Benjamin Herrenschmidt commit 24551f64d47af9539a7f324343bffeea09d9dcfa Author: Michael Ellerman Date: Tue Jan 12 21:25:24 2010 +0000 lmb: Add lmb_free() We can free memory allocated with lmb_alloc() by removing it from the list of reserved LMBs. Rework lmb_remove() to allow that possibility and add lmb_free() which exploits it. BenH: Removed some useless parenthesis Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 859aefc5afc6c00dae630680e5470f7a2c27c4a0 Author: Anton Blanchard Date: Sun Jan 31 01:14:03 2010 +0000 powerpc: Increase NR_IRQS Kconfig maximum to 32768 With dynamic irq descriptors the overhead of a large NR_IRQS is much lower than it used to be. With more MSI-X capable adapters and drivers exploiting multiple vectors we may as well allow the user to increase it beyond the current maximum of 512. 32768 seems large enough that we'd never have to bump it again (although I bet my prediction is horribly wrong). It boot tests OK and the vmlinux footprint increase is only around 500kB due to: struct irq_map_entry irq_map[NR_IRQS]; We format /proc/interrupts correctly with the previous changes: CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 286: 0 0 0 0 0 0 516: 0 0 0 0 0 0 16689: 1833 0 0 0 0 0 17157: 0 0 0 0 0 0 17158: 319 0 0 0 0 0 25092: 0 0 0 0 0 0 Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 98ceb75c7c14eada76b0aa9f03a635a735cee3cb Author: Jean Delvare Date: Sun Jan 31 04:03:23 2010 +0000 macintosh/hwmon/ams: Fix device removal sequence Some code that is in ams_exit() (the module exit code) should instead be called when the device (not module) is removed. It probably doesn't make much of a difference in the PMU case, but in the I2C case it does matter. I make no guarantee that my fix isn't racy, I'm not familiar enough with the ams driver code to tell for sure. Signed-off-by: Jean Delvare Tested-by: Christian Kujau Cc: Benjamin Herrenschmidt Cc: Stelian Pop Cc: Michael Hanselmann Cc: stable@kernel.org Signed-off-by: Benjamin Herrenschmidt commit 33a470f6d5e1879c26f16f6b34dc09f82d44f6e9 Author: Jean Delvare Date: Sun Jan 31 04:00:30 2010 +0000 macintosh/therm_adt746x: Fix sysfs attributes lifetime Looking at drivers/macintosh/therm_adt746x.c, the sysfs files are created in thermostat_init() and removed in thermostat_exit(), which are the driver's init and exit functions. These files are backed-up by a per-device structure, so it looks like the wrong thing to do: the sysfs files have a lifetime longer than the data structure that is backing it up. I think that sysfs files creation should be moved to the end of probe_thermostat() and sysfs files removal should be moved to the beginning of remove_thermostat(). Signed-off-by: Jean Delvare Tested-by: Christian Kujau Cc: Benjamin Herrenschmidt Cc: Colin Leroy Cc: stable@kernel.org Signed-off-by: Benjamin Herrenschmidt commit 119ea10947cc1402abbf9d6200815b0606536906 Author: Amit Shah Date: Mon Jan 18 03:44:58 2010 +0000 hvc_console: Remove __devinit annotation from hvc_alloc Virtio consoles can be hotplugged, so hvc_alloc gets called from multiple sites: from the initial probe() routine as well as later on from workqueue handlers which aren't __devinit code. So, drop the __devinit annotation for hvc_alloc. Signed-off-by: Amit Shah Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit b51130685817d8c1b56386f9957405b5be2cdfe0 Author: Rusty Russell Date: Mon Jan 18 03:44:57 2010 +0000 hvc_console: Make the ops pointer const. This is nicer for modern R/O protection. And noone needs it non-const, so constify the callers as well. Signed-off-by: Rusty Russell Signed-off-by: Amit Shah To: Christian Borntraeger Cc: linuxppc-dev@ozlabs.org Signed-off-by: Benjamin Herrenschmidt commit 7b62922a071aea362e879252d7482e448bd63d9c Author: Peter Tyser Date: Fri Dec 18 12:50:37 2009 +0000 powerpc/85xx: Fix SMP when "cpu-release-addr" is in lowmem Recent U-Boot commit 5ccd29c3679b3669b0bde5c501c1aa0f325a7acb caused the "cpu-release-addr" device tree property to contain the physical RAM location that secondary cores were spinning at. Previously, the "cpu-release-addr" property contained a value referencing the boot page translation address range of 0xfffffxxx, which then indirectly accessed RAM. The "cpu-release-addr" is currently ioremapped and the secondary cores kicked. However, due to the recent change in "cpu-release-addr", it sometimes points to a memory location in low memory that cannot be ioremapped. For example on a P2020-based board with 512MB of RAM the following error occurs on bootup: <...> mpic: requesting IPIs ... __ioremap(): phys addr 0x1ffff000 is RAM lr c05df9a0 Unable to handle kernel paging request for data at address 0x00000014 Faulting instruction address: 0xc05df9b0 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=2 P2020 RDB Modules linked in: <... eventual kernel panic> Adding logic to conditionally ioremap or access memory directly resolves the issue. Signed-off-by: Peter Tyser Signed-off-by: Nate Case Reported-by: Dipen Dudhat Tested-by: Dipen Dudhat Signed-off-by: Benjamin Herrenschmidt commit 5be3492f972b73051ead7ecbac6fb9efd1e8e0ec Author: Anton Blanchard Date: Tue Jan 12 00:50:14 2010 +0000 powerpc: Mark some variables in the page fault path __read_mostly Using perf to trace L1 dcache misses and dumping data addresses I found a few variables taking a lot of misses. Since they are almost never written, they should go into the __read_mostly section. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 61c03ddbdff2e080702521bc1b757854ca58c46a Author: Anton Blanchard Date: Wed Jan 13 12:04:11 2010 +0000 powerpc: Replace per_cpu(, smp_processor_id()) with __get_cpu_var() The cputime code has a few places that do per_cpu(, smp_processor_id()). Replace them with __get_cpu_var(). Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 4ba525d134a882e6994bf8f5bd93fd020376588c Author: Robert P. J. Day Date: Thu Dec 31 10:45:50 2009 +0000 powerpc: Simplify param.h by including Signed-off-by: Robert P. J. Day Signed-off-by: Benjamin Herrenschmidt commit dc942cee2fcb734d6f3ef7966040e4e034b67d5b Author: Joe Perches Date: Tue Dec 22 21:22:59 2009 +0000 powerpc/viodasd: Remove VIOD_KERN_ macros for printks Use #define pr_fmt(fmt) "viod: " fmt Remove #define VIOD_KERN_WARNING and VIOD_KERN_INFO Convert printk(VIOD_KERN_ to pr_ Coalesce long format strings Signed-off-by: Joe Perches Acked-by: Stephen Rothwell drivers/block/viodasd.c | 86 +++++++++++++++++++--------------------------- 1 files changed, 36 insertions(+), 50 deletions(-) Signed-off-by: Benjamin Herrenschmidt commit 615f0833aa4c4aa944ceb78895bbffa8bd1884df Author: Steven Rostedt Date: Tue Feb 2 21:51:27 2010 -0500 kconfig: Add LSMOD=file to override the lsmod for localmodconfig Doing the following: make LSMOD=file localmodconfig Will make the streamline-config code use the given file instead of lsmod. If the file is an executable, it will execute it, otherwise it will read it as text. make LSMOD=/my/local/path/lsmod localmodconfig The above will execute the lsmod in /my/local/path instead of the lsmods that may be located elsewhere. make LSMOD=embedded_board_lsmod localmodconfig The above will read the "embedded_board_lsmod" as a text file. This is useful if you are doing a cross compile and need to run the config against modules that exist on an embedded device. Note, if the LSMOD= file does is not a path, it will add the path to the object directory. That is, the above example will look for "embedded_board_lsmod" in the directory that the binary will be built in (the O=dir directory). Signed-off-by: Steven Rostedt On branch config/linus commit e1a0bdd8022317e98650e70850de73eccfcde5ad Merge: 8127f4e 1a45dcf Author: Jiri Kosina Date: Tue Feb 2 23:10:39 2010 +0100 Merge branch 'master' into upstream Conflicts: drivers/hid/hid-ids.h commit 8127f4e883666c9960cfa89cffd36313748f8bab Author: Thadeu Lima de Souza Cascardo Date: Tue Feb 2 18:09:06 2010 -0200 HID: use multi input quirk for eTurboTouch touchscreen This device generates ABS_Z and ABS_RX events, while it should be generating ABS_X and ABS_Y instead. Using the MULTI_INPUT quirk solves this issue. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Daniel Oliveira Nascimento Signed-off-by: Jiri Kosina commit 1c3a02c215a5b955b342f29dc1719e1a5771eaf1 Author: Alexander Shishkin Date: Tue Feb 2 18:43:32 2010 +0200 HID: add NOGET quirk for Prodige Cordless Combo I happen to own a keyboard identified as 05af:3062 which is labeled as "FlatX Coldless Combo" by "Prodige", which exhibits input problems without NOGET quirk. For some reason, lsusb reports this device as "Jing-Mold Enterprise Co., Ltd", which is not mentioned anywhere on the package. A quick search on the intenet shows that there a other people who have this in their lsusb output, but apparently they don't have the problem I am seeing (or they are not such furious typists as myself). Signed-off-by: Alexander Shishkin Signed-off-by: Jiri Kosina commit 7d39e849912f0c3c8c6fc94be7bf7d120b1ee0ba Author: Jiri Kosina Date: Tue Feb 2 20:46:34 2010 +0100 HID: update copyright Signed-off-by: Jiri Kosina commit 88f66ea98d7ae6a8b6a34e38b1b4fa51abc1c9ca Author: Steven Rostedt Date: Wed Jan 6 18:49:44 2010 -0500 kconfig: Look in both /bin and /sbin for lsmod in streamline_config.pl Distributions now have lsmod in /bin instead of /sbin. But to handle both cases, we look for it in /sbin /bin /usr/bin and /usr/sbin. If lsmod is not found in any of those paths, it defaults to use just lsmod and hopes that it lies in the path of the user. Tested-by: Xavier Chantry Signed-off-by: Steven Rostedt commit 37feecb0ae8c29b713b957c053b05ad10c42c73b Author: Paul Mundt Date: Tue Feb 2 19:17:42 2010 +0900 sh: Disable generic IRQ probing. IRQ autoprobing hasn't actually worked for us at all since very early in 2.6, but no one seems to have noticed given that none of the drivers that use it see much testing. yenta_socket is the odd one out, and that depends on PCI IRQs which are fixed on all SH platforms anyways. Consequently, turning off autoprobing fixes up crashes triggered by yenta_socket and at least gets it working again on r7785rp. Signed-off-by: Paul Mundt commit 4b842c8571240d1173eaf00e114cc5cc160f1722 Author: Paul Mundt Date: Tue Feb 2 19:15:17 2010 +0900 sh: enable sparseirq for highlander and r2d. highlander and r2d are the only remaining ones that were blocking sparseirq being turned on by default, but it turns out that they already work fine with it by virtue of register_intc_controller(). As such, we can kill off the dependencies and turn it on by default. Signed-off-by: Paul Mundt commit deb9b22b8968fa0166d89c8ad1346e816cf1aec4 Author: Paul Mundt Date: Tue Feb 2 18:01:55 2010 +0900 sh: mach-dreamcast: Convert to sparseirq. Signed-off-by: Paul Mundt commit 6eb6f98396f7bd653d8fb15b06364c8c7d70e22c Author: Paul Mundt Date: Tue Feb 2 17:48:17 2010 +0900 sh: hd6446x: Convert to sparseirq. Follows the se7724 change and converts the hd64461 IRQ handling to sparseirq. Signed-off-by: Paul Mundt commit c7a967273a539a9a38413753c58125e777e2d30d Author: Paul Mundt Date: Tue Feb 2 17:38:04 2010 +0900 sh: mach-se: Convert SH7724 solution engine FPGA to sparseirq. This uses the new create_irq_nr() to build up the FPGA's desired virtual IRQ mapping and permits us to finally flip on sparseirq for this board. Signed-off-by: Paul Mundt commit e9867c569970d8afb4b882bafbbe81426bd46333 Author: Paul Mundt Date: Tue Feb 2 17:35:13 2010 +0900 sh: Provide create_irq_nr() for dynamic IRQ creation by number. This just reworks the existing create_irq_on_node() in to the new create_irq_nr() which is generally exposed. This permits boards that haven't converted over to sparseirq to try and use their existing ranges, rather than having arbitrary vectors assigned to them. Signed-off-by: Paul Mundt commit 8a349d4b13c41c00564cd79f6fabdec347084758 Author: Joe Perches Date: Tue Feb 2 07:22:13 2010 +0000 spi/spi_s3c64xx.c: Fix continuation line formats String constants that are continued on subsequent lines with \ are not good. Signed-off-by: Joe Perches Signed-off-by: Grant Likely commit fb7899b1f0b748ef966071f5dc23c59ebd57d08f Merge: 212b3c8 abe94c7 Author: Grant Likely Date: Tue Feb 2 01:05:22 2010 -0700 Merge commit 'v2.6.33-rc6' into secretlab/next-spi commit 4a461c85b643258e305eb5a3aced34009db2f818 Author: Peter Zijlstra Date: Mon Feb 1 11:13:39 2010 +0100 sched: Remove unused update_shares_locked() Commit f492e12ef050e02bf0185b6b57874992591b9be1 ("sched: Remove load_balance_newidle()") removed the only user of this function, so remove it too. Reported-by: Stephen Rothwell Signed-off-by: Peter Zijlstra LKML-Reference: <1265019219.24455.128.camel@laptop> Signed-off-by: Ingo Molnar commit 90fdbdb48442a03c72cae5463e6edb64cb3a3a7d Author: Akinobu Mita Date: Sun Jan 31 20:53:24 2010 +0900 sched: Use for_each_bit No change in functionality. Signed-off-by: Akinobu Mita Cc: Peter Zijlstra Cc: Andrew Morton LKML-Reference: <1264938810-4173-1-git-send-email-akinobu.mita@gmail.com> Signed-off-by: Ingo Molnar commit b4f74767a04e175c028336e06507fcc05f5a8618 Author: Guennadi Liakhovetski Date: Tue Jan 19 07:31:13 2010 +0000 sh: add high impedance mode management for SIUA pins on sh7722 This improves power management for the SIUA controller on sh7722. Similar patches might be desired for other SIU-enabled SH platforms. Signed-off-by: Guennadi Liakhovetski Acked-by: Magnus Damm Signed-off-by: Paul Mundt commit 010ab820582d03bcd3648416b5837107e8a9c5f3 Author: Magnus Damm Date: Wed Jan 27 09:17:21 2010 +0000 mtd: sh_flctl SHBUSSEL and SEL_16BIT support This patch extends the sh_flctl driver with support for 16-bit bus configuration using SEL_16BIT and support for multiplexed pins using SHBUSSEL. Signed-off-by: Magnus Damm Acked-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit b79c7adf82e8b8a6d6ad1dadf7e687a4a030cf8c Author: Magnus Damm Date: Tue Feb 2 13:01:25 2010 +0900 mtd: trivial sh_flctl changes This patch contains a few changes for the sh_flctl driver: - not sh7723-only driver - get rid of kconfig dependency - use dev_err() instead of printk() - use __devinit and __devexit for probe()/remove() - fix probe() return values Signed-off-by: Magnus Damm Acked-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 9d3f1881abeae0494a27716b08fcf2d3264bb0fa Merge: b6c58b1 bc10e87 Author: Paul Mundt Date: Tue Feb 2 11:33:45 2010 +0900 Merge branch 'sh/stable-updates' commit 13ca0fcaa33f6b1984c4111b6ec5df42689fea6f Author: Wu Fengguang Date: Fri Jan 22 11:21:05 2010 +0800 x86: Use the generic page_is_ram() The generic resource based page_is_ram() works better with memory hotplug/hotremove. So switch the x86 e820map based code to it. CC: Andi Kleen CC: KAMEZAWA Hiroyuki CC: Yinghai Lu Signed-off-by: Wu Fengguang LKML-Reference: <20100122033004.470767217@intel.com> Cc: Andrew Morton Signed-off-by: H. Peter Anvin commit 1b5576e69a5fe168c08a159685ac366316ac9bbc Author: Yinghai Lu Date: Fri Jan 22 11:21:04 2010 +0800 x86: Remove BIOS data range from e820 In preparation for moving to the generic page_is_ram(), make explicit what we expect to be reserved and not reserved. Tested-by: Wu Fengguang Signed-off-by: Yinghai Lu LKML-Reference: <20100122033004.335813103@intel.com> Cc: Andrew Morton Signed-off-by: H. Peter Anvin commit 53df8fdc15fb646b0219e43c989c2cdab1ab100c Author: Wu Fengguang Date: Wed Jan 27 11:06:39 2010 +0800 Move page_is_ram() declaration to mm.h Move page_is_ram() declaration to mm.h, it makes no sense in . Signed-off-by: Wu Fengguang LKML-Reference: <20100127030639.GD8132@localhost> Signed-off-by: H. Peter Anvin commit e52730071567ec5b6f57e21d6693b112e01e1d0e Author: Andrew Morton Date: Tue Jan 26 16:31:19 2010 -0800 Generic page_is_ram: use __weak Use __weak instead of __attribute__((weak)). Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin commit 61ef2489dbf587258526cfd4ebf4bba3b079f401 Author: Wu Fengguang Date: Fri Jan 22 16:16:19 2010 +0800 resources: introduce generic page_is_ram() It's based on walk_system_ram_range(), for archs that don't have their own page_is_ram(). The static verions in MIPS and SCORE are also made global. v4: prefer plain 1 instead of PAGE_IS_RAM (H. Peter Anvin) v3: add comment (KAMEZAWA Hiroyuki) "AFAIK, this "System RAM" information has been used for kdump to grab valid memory area and seems good for the kernel itself." v2: add PAGE_IS_RAM macro (Américo Wang) Cc: Chen Liqin Cc: Lennox Wu Cc: Américo Wang Cc: linux-mips@linux-mips.org Cc: Yinghai Lu Acked-by: Ralf Baechle Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Wu Fengguang LKML-Reference: <20100122081619.GA6431@localhost> Cc: Andrew Morton Signed-off-by: H. Peter Anvin commit e8b217e7530c6a073ac69f1c85b922d93fdf5647 Author: Christoph Hellwig Date: Tue Feb 2 10:16:26 2010 +1100 xfs: remove invalid barrier optimization from xfs_fsync We always need to flush the disk write cache and can't skip it just because the no inode attributes have changed. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner commit 20026d92013d7bb3abb295337191def6758fc086 Author: Dave Chinner Date: Thu Feb 4 09:48:58 2010 +1100 xfs: kill the unused XFS_QMOPT_* flush flags V2 dquots are never flushed asynchronously. Remove the flag and the async write support from the flush function. Make the default flush a delwri flush to make the inode flush code, which leaves the XFS_QMOPT_SYNC the only flag remaining. Convert that to use SYNC_WAIT instead, just like the inode flush code. V2: - just pass flush flags straight through Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 3b9cfc0a99f88c0db7c72363620584a9b40b4543 Author: Emese Revfy Date: Sun Jan 31 20:16:34 2010 +0100 x86, mtrr: Constify struct mtrr_ops This is part of the ops structure constification effort started by Arjan van de Ven et al. Benefits of this constification: * prevents modification of data that is shared (referenced) by many other structure instances at runtime * detects/prevents accidental (but not intentional) modification attempts on archs that enforce read-only kernel data at runtime * potentially better optimized code as the compiler can assume that the const data cannot be changed * the compiler/linker move const data into .rodata and therefore exclude them from false sharing Signed-off-by: Emese Revfy LKML-Reference: <4B65D712.3080804@gmail.com> Signed-off-by: H. Peter Anvin commit b6c58b1d987a5795086c5c2babd8c7367d2fdb8c Author: Paul Mundt Date: Mon Feb 1 20:01:50 2010 +0900 sh: Improved multi-resource handling for SH7780 PCI. The SH7780 PCI controller supports 3 different ranges of PCI memory in addition to its PCI I/O window. In the case of 29-bit mode, only 2 memory windows are supported, while in 32-bit mode all 3 are visible. This attempts to make the resource handling completely dynamic and to permit platforms to map in as many apertures as they can handle. Signed-off-by: Paul Mundt commit ef407beefbd9928792ccc93857e408e0057bc17b Author: Paul Mundt Date: Mon Feb 1 16:39:46 2010 +0900 sh: Hook up ERR/PERR/SERR detection for SH7780 PCI host controllers. These were never handled before, so implement some common infrastructure to support them, then make use of that in the SH7780-specific code. In practice there is little here that can not be generalized for SH4 parts, which will be an incremental change as the 7780/7751 code is gradually unified. Signed-off-by: Paul Mundt commit bcf39352eb9e9026f7a1028d4bce3707b65f104b Author: Paul Mundt Date: Mon Feb 1 13:11:25 2010 +0900 sh: Handle PCI controller resource conflicts. register_pci_controller() can fail, but presently is a void function. Change this over to an int so that we can bail early before continuing on with post-registration initialization (such as throwing the controller in to 66MHz mode in the case of the SH7780 host controller). Signed-off-by: Paul Mundt commit 85b59f5bb24aeca1a987cbb206e228bf630c8327 Author: Paul Mundt Date: Mon Feb 1 13:01:42 2010 +0900 sh: Enable PCI66 support for SH7780 host controller. This adds some helper glue for scanning the bus and determining if all of the devices are 66MHz capable or not before flipping on 66MHz mode. This isn't quite to spec, but it's fairly consistent with what other embedded controllers end up having to do. Scanning code cribbed from the MIPS txx9 PCI code. Signed-off-by: Paul Mundt commit aee4467b5ce5047401efb4175b1360ec1734affc Author: Paul Mundt Date: Mon Feb 1 11:33:22 2010 +0900 sh: Fix up large system memory handling for SH7780 PCI. For systems that have more than 512MB we need to set up an additional mapping, this fixes up the rounding to the next power of two and splits out the mapping accordingly between the two local bus mapping windows. Signed-off-by: Paul Mundt commit 59f411b62c9282891274e721fea29026b0eda3cc Author: Ingo Molnar Date: Sun Jan 31 08:27:58 2010 +0100 perf lock: Clean up various details Fix up a few small stylistic details: - use consistent vertical spacing/alignment - remove line80 artifacts - group some global variables better - remove dead code Plus rename 'prof' to 'report' to make it more in line with other tools, and remove the line/file keying as we really want to use IPs like the other tools do. Signed-off-by: Ingo Molnar Cc: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1264851813-8413-12-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 9b5e350c7a46a471d5b452836dbafe9aeaeca435 Author: Hitoshi Mitake Date: Sat Jan 30 20:43:33 2010 +0900 perf lock: Introduce new tool "perf lock", for analyzing lock statistics Adding new subcommand "perf lock" to perf. I have a lot of remaining ToDos, but for now perf lock can already provide minimal functionality for analyzing lock statistics. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1264851813-8413-12-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit c965be10ca3cb0bdd04016c852764afaf8e647c8 Author: Hitoshi Mitake Date: Sat Jan 30 20:43:32 2010 +0900 perf lock: Enhance information of lock trace events Add wait time and lock identification details. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1264851813-8413-11-git-send-email-mitake@dcl.info.waseda.ac.jp> [ removed the file/line bits as we can do that better via IPs ] Signed-off-by: Ingo Molnar commit 18e97e06b5fb2d7f6cf272ca07d26d8247db8723 Author: Hitoshi Mitake Date: Sat Jan 30 20:43:24 2010 +0900 perf: Add util/include/linuxhash.h to include hash.h of kernel linux/hash.h, hash header of kernel, is also useful for perf. util/include/linuxhash.h includes linux/hash.h, so we can use hash facilities (e.g. hash_long()) in perf now. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1264851813-8413-3-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 86d8d29634de4464d568e7c335c0da6cba64e8ab Author: Hitoshi Mitake Date: Sat Jan 30 20:43:23 2010 +0900 perf tools: Add __data_loc support This patch is required to test the next patch for perf lock. At 064739bc4b3d7f424b2f25547e6611bcf0132415 , support for the modifier "__data_loc" of format is added. But, when I wanted to parse format of lock_acquired (or some event else), raw_field_ptr() did not returned correct pointer. So I modified raw_field_ptr() like this patch. Then raw_field_ptr() works well. Signed-off-by: Hitoshi Mitake Acked-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Tom Zanussi Cc: Steven Rostedt LKML-Reference: <1264851813-8413-2-git-send-email-mitake@dcl.info.waseda.ac.jp> [ v3: fixed minor stylistic detail ] Signed-off-by: Ingo Molnar commit a8e6f734ce9a79d44ebb296f2a341f435227b34e Author: Hitoshi Mitake Date: Sat Jan 30 20:55:41 2010 +0900 Revert "perf record: Intercept all events" This reverts commit f5a2c3dce03621b55f84496f58adc2d1a87ca16f. This patch is required for making "perf lock rec" work. The commit f5a2c3dce0 changes write_event() of builtin-record.c . And changed write_event() sometimes doesn't stop with perf lock rec. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: [ that commit also causes perf record to not be Ctrl-C-able, and it's concetually wrong to parse the data at record time (unconditionally - even when not needed), as we eventually want to be able to do zero-copy recording, at least for non-archive recordings. ] Signed-off-by: Ingo Molnar commit 31a090ae0693af189fc7a8ad16cece4878acad33 Author: Paul Mundt Date: Sat Jan 30 11:29:56 2010 +0900 sh: Fix up asm/hw_breakpoint.h header check. Presently headers_check complains about linux/kdebug.h being unexported, so just bump the __KERNEL__ ifdef up, as per the x86 change. Signed-off-by: Paul Mundt commit 97b19778ee5dd0484493f12f6a9cf9391cf0aefb Author: Paul Mundt Date: Sat Jan 30 11:04:38 2010 +0900 sh: mach-se: Fix up irq_desc reference. The irq_desc needs to be accessed with irq_to_desc(), this fixes up a build error with irq_desc being undefined. Signed-off-by: Paul Mundt commit 396c56a9c69ebb0baf9171a6365ac9fda322728d Author: Paul Mundt Date: Sat Jan 30 01:41:21 2010 +0900 sh: Kill off broken type 1 PCI config access checks. The host controllers only support type 1, so there's not much else to test for. Some of the older controllers also supported type 2 accesses, but we've never supported those, and likely never will. Beyond that, the P1SEG test is meaningless for 32-bit mode, so rather than refactoring it, just kill the type 1 test off completely. Signed-off-by: Paul Mundt commit 320e68da59353fe6ad51b81f6865c4b674ad66ea Author: Paul Mundt Date: Fri Jan 29 22:38:13 2010 +0900 sh: support PCI domains. Newer SH parts are now commonly shipping with multiple controllers, so we wire up PCI domain support to deal with them. Shamelessly cloned from the MIPS implementation. Signed-off-by: Paul Mundt commit ac8ab54a8e41a5ed0ee2161d45b6dc855490989f Author: Paul Mundt Date: Fri Jan 29 22:22:27 2010 +0900 sh: Bail out early on PCI resource conflicts. Presently we just call in to request_resource() for the ioport and iomem resources without checking for errors. This has already hidden a couple of bugs, so add some error handling in for good measure. Signed-off-by: Paul Mundt commit a45635dfb08a1fa2cf77bf1f2c4074961ce2e625 Author: Paul Mundt Date: Fri Jan 29 22:19:04 2010 +0900 sh: Reworked SH7780 PCI initialization. This consolidates the PCI initialization code for all of the pci-sh7780 users, and sets up the memory window dynamically as opposed to using hardcoded window positions. A number of bugs were fixed at the same time, including the PIO handling and master abort timeout settings being incorrect. Signed-off-by: Paul Mundt commit 6a1b751fb89b61ef7240f2e3ed65a2e2776e7cfd Author: John Kacur Date: Wed Jan 27 21:05:54 2010 -0200 perf: Ignore perf-archive temp file Tell git to ignore perf-archive. Signed-off-by: John Kacur Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1264633557-17597-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4c574159d03f4d8a136a7adff2d0b1d82cadcb18 Author: Thiago Farina Date: Wed Jan 27 21:05:55 2010 -0200 tools/perf/perf.c: Clean up trivial style issues Checked with: ./../scripts/checkpatch.pl --terse --file perf.c perf.c: 51: ERROR: open brace '{' following function declarations go on the next line perf.c: 73: ERROR: "foo*** bar" should be "foo ***bar" perf.c:112: ERROR: space prohibited before that close parenthesis ')' perf.c:127: ERROR: space prohibited before that close parenthesis ')' perf.c:171: ERROR: "foo** bar" should be "foo **bar" perf.c:213: ERROR: "(foo*)" should be "(foo *)" perf.c:216: ERROR: "(foo*)" should be "(foo *)" perf.c:217: ERROR: space required before that '*' (ctx:OxV) perf.c:452: ERROR: do not initialise statics to 0 or NULL perf.c:453: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Masami Hiramatsu LKML-Reference: <1264633557-17597-7-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit ae7f6711d6231c9ba54feb5ba9856c3775e482f8 Merge: 64abebf b23ff0e Author: Ingo Molnar Date: Fri Jan 29 09:24:57 2010 +0100 Merge branch 'perf/urgent' into perf/core Merge reason: We want to queue up a dependent patch. Also update to later -rc's. Signed-off-by: Ingo Molnar commit 64abebf731df87e6f4ae7d9ffc340bdf0c033e44 Author: Arnaldo Carvalho de Melo Date: Wed Jan 27 21:05:52 2010 -0200 perf session: Create kernel maps in the constructor Removing one extra step needed in the tools that need this, fixing a bug in 'perf probe' where this was not being done. Signed-off-by: Arnaldo Carvalho de Melo Cc: Masami Hiramatsu Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264633557-17597-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fd1d908c543fbdfae82839d24b0872c542fceedc Author: Arnaldo Carvalho de Melo Date: Wed Jan 27 21:05:51 2010 -0200 perf symbols: Split helpers used when creating kernel dso object To make it clear and allow for direct usage by, for instance, regression test suites. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264633557-17597-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a19afe46412452fef89cc623873a8931b3685944 Author: Arnaldo Carvalho de Melo Date: Wed Jan 27 21:05:50 2010 -0200 perf symbols: Factor out dso__load_vmlinux_path() So that we can call it directly from regression tests, and also to reduce the size of dso__load_kernel_sym(), making it more clear. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264633557-17597-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 72b8fa1730207274f6818b47b891ce5dff79287e Author: Arnaldo Carvalho de Melo Date: Wed Jan 27 21:05:49 2010 -0200 perf top: Exit if specified --vmlinux can't be used As we do lazy loading of symtabs we only will know if the specified vmlinux file is invalid when we actually have a hit in kernel space and then try to load it. So if we get kernel hits and there are _no_ symbols in the DSO backing the kernel map, bail out. Reported-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264633557-17597-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 75c9f3284a7ff957829f44baace82406a6354ceb Author: Peter Zijlstra Date: Fri Jan 29 09:04:26 2010 +0100 perf_events: Fix sample_period transfer on inherit One problem with frequency driven counters is that we cannot predict the rate at which they trigger, therefore we have to start them at period=1, this causes a ramp up effect. However, if we fail to propagate the stable state on fork each new child will have to ramp up again. This can lead to significant artifacts in sample data. Signed-off-by: Peter Zijlstra Cc: eranian@google.com Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1264752266.4283.2121.camel@laptop> Signed-off-by: Ingo Molnar commit 18c01f8abff51e4910cc5ffb4b710e8c6eea60c9 Author: Peter Zijlstra Date: Wed Jan 27 23:07:49 2010 +0100 perf_events, x86: Remove spurious counter reset from x86_pmu_enable() At enable time the counter might still have a ->idx pointing to a previously occupied location that might now be taken by another event. Resetting the counter at that location with data from this event will destroy the other counter's count. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100127221122.261477183@chello.nl> Signed-off-by: Ingo Molnar commit 452a339a976e7f782c786eb3f73080401e2fa3a6 Author: Peter Zijlstra Date: Wed Jan 27 23:07:48 2010 +0100 perf_events, x86: Implement Intel Westmere support The new Intel documentation includes Westmere arch specific event maps that are significantly different from the Nehalem ones. Add support for this generation. Found the CPUID model numbers on wikipedia. Also ammend some Nehalem constraints, spotted those when looking for the differences between Nehalem and Westmere. Signed-off-by: Peter Zijlstra Cc: Arjan van de Ven Cc: "H. Peter Anvin" Cc: Stephane Eranian LKML-Reference: <20100127221122.151865645@chello.nl> Signed-off-by: Ingo Molnar commit 1a6e21f791fe85b40a9ddbafe999ab8ccffc3f78 Author: Peter Zijlstra Date: Wed Jan 27 23:07:47 2010 +0100 perf_events, x86: Clean up hw_perf_*_all() implementation Put the recursion avoidance code in the generic hook instead of replicating it in each implementation. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100127221122.057507285@chello.nl> Signed-off-by: Ingo Molnar commit ed8777fc132e589d48a0ba854fdbb5d8203b58e5 Author: Peter Zijlstra Date: Wed Jan 27 23:07:46 2010 +0100 perf_events, x86: Fix event constraint masks Since constraints are specified on the event number, not number and unit mask shorten the constraint masks so that we'll actually match something. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100127221121.967610372@chello.nl> Signed-off-by: Ingo Molnar commit 2e8418736dff9c6fdadb2f87dcc2087cebf32167 Author: Peter Zijlstra Date: Mon Jan 25 15:58:43 2010 +0100 perf_event: x86: Deduplicate the disable code Share the meat of the x86_pmu_disable() code with hw_perf_enable(). Also remove the barrier() from that code, since I could not convince myself we actually need it. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit 184f412c3341cd24fbd26604634a5800b83dbdc3 Author: Ingo Molnar Date: Wed Jan 27 08:39:39 2010 +0100 perf, x86: Clean up event constraints code a bit - Remove stray debug code - Improve ugly macros a bit - Remove some whitespace damage - (Also fix up some accumulated damage in perf_event.h) Signed-off-by: Ingo Molnar Cc: Stephane Eranian Cc: Peter Zijlstra LKML-Reference: commit 6c9687abeb24d5b7aae7db5be070c2139ad29e29 Author: Peter Zijlstra Date: Mon Jan 25 11:57:25 2010 +0100 perf_event: x86: Optimize x86_pmu_disable() x86_pmu_disable() removes the event from the cpuc->event_list[], however since an event can only be on that list once, stop looking after we found it. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: Signed-off-by: Ingo Molnar commit c933c1a603d5bf700ddce79216c1be0ec3bc0e6c Author: Peter Zijlstra Date: Fri Jan 22 16:40:12 2010 +0100 perf_event: x86: Optimize the fast path a little more Remove num from the fast path and save a few ops. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100122155536.056430539@chello.nl> Signed-off-by: Ingo Molnar commit 272d30be622c9c6cbd514b1211ff359292001baa Author: Peter Zijlstra Date: Fri Jan 22 16:32:17 2010 +0100 perf_event: x86: Optimize constraint weight computation Add a weight member to the constraint structure and avoid recomputing the weight at runtime. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100122155535.963944926@chello.nl> Signed-off-by: Ingo Molnar commit 63b146490befc027a7e0923e333269e68b20d380 Author: Peter Zijlstra Date: Fri Jan 22 16:32:17 2010 +0100 perf_event: x86: Optimize the constraint searching bits Instead of copying bitmasks around, pass pointers to the constraint structure. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100122155535.887853503@chello.nl> Signed-off-by: Ingo Molnar commit 9f41699ed067fa695faff8e2e9981b2550abec62 Author: Peter Zijlstra Date: Fri Jan 22 15:59:29 2010 +0100 bitops: Provide compile time HWEIGHT{8,16,32,64} Provide compile time versions of hweight. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian Cc: Linus Torvalds Cc: Andrew Morton Cc: Thomas Gleixner LKML-Reference: <20100122155535.797688466@chello.nl> [ Remove some whitespace damage while we are at it ] Signed-off-by: Ingo Molnar commit 8433be1184e4f22c37d4b8ed36cde529a47882f4 Author: Peter Zijlstra Date: Fri Jan 22 15:38:26 2010 +0100 perf_event: x86: Reduce some overly long lines with some MACROs Introduce INTEL_EVENT_CONSTRAINT and FIXED_EVENT_CONSTRAINT to reduce some line length and typing work. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100122155535.688730371@chello.nl> Signed-off-by: Ingo Molnar commit c91e0f5da81c6f3a611a1bd6d0cca6717c90fdab Author: Peter Zijlstra Date: Fri Jan 22 15:25:59 2010 +0100 perf_event: x86: Clean up some of the u64/long bitmask casting We need this to be u64 for direct assigment, but the bitmask functions all work on unsigned long, leading to cast heaven, solve this by using a union. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100122155535.595961269@chello.nl> Signed-off-by: Ingo Molnar commit 81269a085669b5130058a0275aa7ba9f94abd1fa Author: Peter Zijlstra Date: Fri Jan 22 14:55:22 2010 +0100 perf_event: x86: Fixup constraints typing issue Constraints gets defined an u64 but in long quantities and then cast to long. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100122155535.504916780@chello.nl> Signed-off-by: Ingo Molnar commit 502568d563bcc37ac505a83341c0c95b88c015a8 Author: Peter Zijlstra Date: Fri Jan 22 14:35:46 2010 +0100 perf_event: x86: Allocate the fake_cpuc GCC was complaining the stack usage was too large, so allocate the structure. Signed-off-by: Peter Zijlstra Cc: Stephane Eranian LKML-Reference: <20100122155535.411197266@chello.nl> Signed-off-by: Ingo Molnar commit 8113070d6639d2245c6c79afb8df42cedab30540 Author: Stephane Eranian Date: Thu Jan 21 17:39:01 2010 +0200 perf_events: Add fast-path to the rescheduling code Implement correct fastpath scheduling, i.e., reuse previous assignment. Signed-off-by: Stephane Eranian [ split from larger patch] Signed-off-by: Peter Zijlstra LKML-Reference: <4b588464.1818d00a.4456.383b@mx.google.com> Signed-off-by: Ingo Molnar commit 1da53e023029c067ba1277a33038c65d6e4c99b3 Author: Stephane Eranian Date: Mon Jan 18 10:58:01 2010 +0200 perf_events, x86: Improve x86 event scheduling This patch improves event scheduling by maximizing the use of PMU registers regardless of the order in which events are created in a group. The algorithm takes into account the list of counter constraints for each event. It assigns events to counters from the most constrained, i.e., works on only one counter, to the least constrained, i.e., works on any counter. Intel Fixed counter events and the BTS special event are also handled via this algorithm which is designed to be fairly generic. The patch also updates the validation of an event to use the scheduling algorithm. This will cause early failure in perf_event_open(). The 2nd version of this patch follows the model used by PPC, by running the scheduling algorithm and the actual assignment separately. Actual assignment takes place in hw_perf_enable() whereas scheduling is implemented in hw_perf_group_sched_in() and x86_pmu_enable(). Signed-off-by: Stephane Eranian [ fixup whitespace and style nits as well as adding is_x86_event() ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <4b5430c6.0f975e0a.1bf9.ffff85fe@mx.google.com> Signed-off-by: Ingo Molnar commit 9762528f37ddc7071509dddb10e7b4b3b957fd01 Author: Paul Mundt Date: Fri Jan 29 16:14:29 2010 +0900 sh: Kill off deprecated fixed PCI memory window accessors. This kills off the deprected fixed memory range accessors for the cases of non-translatable ioremapping. Signed-off-by: Paul Mundt commit e0e53db6133c32964fd17f20b17073a402f07ed3 Author: K.Prasad Date: Thu Jan 28 16:44:15 2010 +0530 x86/hw-breakpoints: Optimize return code from notifier chain in hw_breakpoint_handler Processing of debug exceptions in do_debug() can stop if it originated from a hw-breakpoint exception by returning NOTIFY_STOP in most cases. But for certain cases such as: a) user-space breakpoints with pending SIGTRAP signal delivery (as in the case of ptrace induced breakpoints). b) exceptions due to other causes than breakpoints We will continue to process the exception by returning NOTIFY_DONE. Signed-off-by: K.Prasad Cc: Ingo Molnar Cc: Roland McGrath Cc: Alan Stern Cc: Jan Kiszka LKML-Reference: <20100128111415.GC13935@in.ibm.com> Signed-off-by: Frederic Weisbecker commit 40f9249a73f6c251adea492b1c3d19d39e2a9bda Author: K.Prasad Date: Thu Jan 28 16:44:01 2010 +0530 x86/debug: Clear reserved bits of DR6 in do_debug() Clear the reserved bits from the stored copy of debug status register (DR6). This will help easy bitwise operations such as quick testing of a debug event origin. Signed-off-by: K.Prasad Cc: Roland McGrath Cc: Jan Kiszka Cc: Alan Stern Cc: Ingo Molnar LKML-Reference: <20100128111401.GB13935@in.ibm.com> Signed-off-by: Frederic Weisbecker commit 1e12a4a7a3a78bc9c3aaf3486dde3b8ab1cdf465 Author: Xiao Guangrong Date: Thu Jan 28 09:34:27 2010 +0800 tracing/kprobe: Cleanup unused return value of tracing functions The return values of the kprobe's tracing functions are meaningless, lets remove these. Signed-off-by: Xiao Guangrong Acked-by: Masami Hiramatsu Cc: Steven Rostedt Cc: Ingo Molnar Cc: Paul Mackerras Cc: Jason Baron Cc: Peter Zijlstra LKML-Reference: <4B60E9A3.2040505@cn.fujitsu.com> [fweisbec@gmail: whitespace fixes, drop useless void returns in end of functions] Signed-off-by: Frederic Weisbecker commit 430ad5a600a83956749307b13257c464c3826b55 Author: Xiao Guangrong Date: Thu Jan 28 09:32:29 2010 +0800 perf: Factorize trace events raw sample buffer operations Introduce ftrace_perf_buf_prepare() and ftrace_perf_buf_submit() to gather the common code that operates on raw events sampling buffer. This cleans up redundant code between regular trace events, syscall events and kprobe events. Changelog v1->v2: - Rename function name as per Masami and Frederic's suggestion - Add __kprobes for ftrace_perf_buf_prepare() and make ftrace_perf_buf_submit() inline as per Masami's suggestion - Export ftrace_perf_buf_prepare since modules will use it Signed-off-by: Xiao Guangrong Acked-by: Masami Hiramatsu Cc: Ingo Molnar Cc: Steven Rostedt Cc: Paul Mackerras Cc: Jason Baron Cc: Peter Zijlstra LKML-Reference: <4B60E92D.9000808@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit ea2c68a08fedb5053ba312d661e47df9f4d72411 Author: Lai Jiangshan Date: Wed Jan 13 19:38:30 2010 +0800 tracing: Simplify test for function_graph tracing start point In the function graph tracer, a calling function is to be traced only when it is enabled through the set_graph_function file, or when it is nested in an enabled function. Current code uses TSK_TRACE_FL_GRAPH to test whether it is nested or not. Looking at the code, we can get this: (trace->depth > 0) <==> (TSK_TRACE_FL_GRAPH is set) trace->depth is more explicit to tell that it is nested. So we use trace->depth directly and simplify the code. No functionality is changed. TSK_TRACE_FL_GRAPH is not removed yet, it is left for future usage. Signed-off-by: Lai Jiangshan Cc: Ingo Molnar Cc: Steven Rostedt LKML-Reference: <4B4DB0B6.7040607@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 0ada0a73120c28cc432bcdbac061781465c2f48f Merge: 6016a36 92dcffb Author: Grant Likely Date: Thu Jan 28 14:38:25 2010 -0700 Merge commit 'v2.6.33-rc5' into secretlab/test-devicetree commit 6016a363f6b56b46b24655bcfc0499b715851cf3 Author: Grant Likely Date: Thu Jan 28 14:06:53 2010 -0700 of: unify phandle name in struct device_node In struct device_node, the phandle is named 'linux_phandle' for PowerPC and MicroBlaze, and 'node' for SPARC. There is no good reason for the difference, it is just an artifact of the code diverging over a couple of years. This patch renames both to simply .phandle. Note: the .node also existed in PowerPC/MicroBlaze, but the only user seems to be arch/powerpc/platforms/powermac/pfunc_core.c. It doesn't look like the assignment between .linux_phandle and .node is significantly different enough to warrant the separate code paths unless ibm,phandle properties actually appear in Apple device trees. I think it is safe to eliminate the old .node property and use phandle everywhere. Signed-off-by: Grant Likely Acked-by: David S. Miller Tested-by: Wolfram Sang Acked-by: Benjamin Herrenschmidt commit 923f7e30b480438f1e86e01e5cde814248b59a39 Author: Grant Likely Date: Thu Jan 28 13:52:53 2010 -0700 of: Merge of_node_get() and of_node_put() Merge common code between PowerPC and MicroBlaze Signed-off-by: Grant Likely Tested-by: Wolfram Sang Acked-by: Benjamin Herrenschmidt commit 1f43cfb9474d1c4f22598b6e3213ec035be6dd56 Author: Grant Likely Date: Thu Jan 28 13:47:25 2010 -0700 of: merge machine_is_compatible() Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Tested-by: Wolfram Sang Acked-by: Benjamin Herrenschmidt commit 339ce1a4dc2ca26444c4f65c31b71a5056f3bb0b Author: Anton Blanchard Date: Mon Jan 18 16:47:07 2010 +1100 perf: Fix inconsistency between IP and callchain sampling When running perf across all cpus with backtracing (-a -g), sometimes we get samples without associated backtraces: 23.44% init [kernel] [k] restore 11.46% init eeba0c [k] 0x00000000eeba0c 6.77% swapper [kernel] [k] .perf_ctx_adjust_freq 5.73% init [kernel] [k] .__trace_hcall_entry 4.69% perf libc-2.9.so [.] 0x0000000006bb8c | |--11.11%-- 0xfffa941bbbc It turns out the backtrace code has a check for the idle task and the IP sampling does not. This creates problems when profiling an interrupt heavy workload (in my case 10Gbit ethernet) since we get no backtraces for interrupts received while idle (ie most of the workload). Right now x86 and sh check that current is not NULL, which should never happen so remove that too. Idle task's exclusion must be performed from the core code, on top of perf_event_attr:exclude_idle. Signed-off-by: Anton Blanchard Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Benjamin Herrenschmidt Cc: Paul Mundt LKML-Reference: <20100118054707.GT12666@kryten> Signed-off-by: Frederic Weisbecker commit abec86a80247ab3a40d2afc9c8e8c26efcab2391 Author: Paul Mundt Date: Thu Jan 28 18:26:37 2010 +0900 sh: Kill off superfluous sh_bios references from compressed loader. The VBR value needs to be initialized in order for any of the bios trapping to work, and as we don't do that until slightly later in the boot process, this has no real chance of working. The only reason for using this in the past was due to the fact that early serial initialization wasn't possible, but now that early sh-sci is supported by everyone, there's no longer any reason to support the sh_bios hacks in the first place. Given that, we just kill off the references completely. Signed-off-by: Paul Mundt commit d627a2ebd1a303aa4ac1962c553d1e8738735d01 Author: Paul Mundt Date: Thu Jan 28 18:17:29 2010 +0900 sh: Fix up the ioremap_fixed() build for nommu. arch/sh/kernel/setup.c:455: error: implicit declaration of function 'ioremap_fixed_init' Signed-off-by: Paul Mundt commit 849593591ce3b5f9352966c9d410284dc04d03b6 Author: Paul Mundt Date: Thu Jan 28 18:15:05 2010 +0900 sh: Fix up read-only variable assignment in pcibios_align_resource(). arch/sh/drivers/pci/pci.c:167: error: assignment of read-only location '*res' Signed-off-by: Paul Mundt commit 621266bdf4b78fa92f7eabd7688b86f0dbd61d64 Author: Paul Mundt Date: Thu Jan 28 15:55:37 2010 +0900 sh: Quiet noisy coherent DMA unmapping on R2D. IRQs are re-enabled at a later stage when doing the unmapping on R2D via the sm501 USB coherent DMA, resulting in the irqs_disabled() check producing considerable noise for this configuration. Just kill off the check, which was blindly copied from x86 anyways. Signed-off-by: Paul Mundt commit f655f5e956eaf4fcda983f3b3d37c76371556c27 Author: Paul Mundt Date: Thu Jan 28 15:08:21 2010 +0900 sh: mach-titan: Kill off unused PIO port mangling. Nothing is using this, kill it off. Fixing up access sizes can be done with trapped I/O for anyone wanting to make use of this for devices that need it, everything else is already pure MMIO. Signed-off-by: Paul Mundt commit 2854e72b58dad82f5248b30a45dda0df49e5fe05 Author: Jiri Slaby Date: Wed Jan 27 17:32:22 2010 +0100 x86: Use helpers for rlimits Make sure compiler won't do weird things with limits. Fetching them twice may return 2 different values after writable limits are implemented. We can either use rlimit helpers added in 3e10e716abf3c71bdb5d86b8f507f9e72236c9cd or ACCESS_ONCE if not applicable; this patch uses the helpers. Signed-off-by: Jiri Slaby LKML-Reference: <1264609942-24621-1-git-send-email-jslaby@suse.cz> Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: H. Peter Anvin commit 7013109f52ff38ad9ea38952cedc144c8e8b9636 Author: Giuseppe CAVALLARO Date: Mon Jan 25 16:12:07 2010 +0100 sh: fixed cmpxchg gRB version This patch fixes a bug within the cmpxchg GRB version. A problem was notices while running some tests to stress the priority inheritance, for example pi_stress (http://rt.wiki.kernel.org/index.php/PI_Mutex_Test). Also, without this patch, after applying the latest work to consolidate atomic_cmpxchg() definitions (commit: 8c0b8139c87cfe8b95c6e763b4ca3190aa9b1ad0) the Kernel doesn't boot at all. Signed-off-by: Giuseppe Cavallaro Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 660e2acad81c19b404f7d7d06e57a6d5e6ce7426 Author: Chris Smith Date: Wed Jan 27 22:03:11 2010 +0900 sh: kmemleak support. Enables support for kmemleak on sh. Signed-off-by: Chris Smith Signed-off-by: Paul Mundt commit 08b36c4a02b5a9db609fc6d93b9c41d7fa75713c Author: Paul Mundt Date: Wed Jan 27 21:56:57 2010 +0900 sh: Optimize runtime disabling of trapped I/O. Presently trapped I/O is only registered if it's not explicitly disabled for the platforms that select it openly. From the fault path this runs through an address lookup before figuring out that nothing matches and falls back through the error path, but we can forego the lookup completely by testing if it's been explicitly disabled. This provides a measurable speedup for things like qemu that rely on runtime disabling. Signed-off-by: Paul Mundt commit 408f0d18ba6b9bb447f807f621b2c9663c5cf638 Author: Hitoshi Mitake Date: Fri Jan 22 22:45:29 2010 +0900 perf trace: Add -i option for choosing input file perf trace lacks -i option for choosing input file. This patch adds it to perf trace. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1264167929-6741-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 19fc2dedff448120a7aeaa3c136689c6b71777c6 Author: Arnaldo Carvalho de Melo Date: Fri Jan 22 14:35:02 2010 -0200 perf symbols: Use the right variable to check for kallsyms in the cache Probably this wasn't noticed when testing this on my parisc machine because I must have copied manually to its cache the vmlinux file used in the x86_64 machine, now that I tried looking on a x86-32 machine with a fresh cache, kernel symbols weren't being resolved even with the right kallsyms copy on its cache, duh. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264178102-4203-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit e1c7c6a40c8037478742ce134190c1a955853bfb Author: Arnaldo Carvalho de Melo Date: Fri Jan 22 14:35:01 2010 -0200 perf symbols: Fix inverted logic for showing kallsyms as the source of symbols Only if we parsed /proc/kallsyms (or a copy found in the buildid cache) we should set the dso long name to "[kernel.kallsyms]". Reported-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264178102-4203-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 0f35cd4cea08a8893e3e2ea03cbdb65f5d2b0e7a Author: Arnaldo Carvalho de Melo Date: Thu Jan 21 13:04:44 2010 -0200 perf top: Handle PERF_RECORD_{FORK,EXIT} events As noticed by Mike, symbols in new tasks were not being processed as we weren't processing these events. Reported-by: Mike Galbraith Tested-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264086284-1431-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 24bfef0f924b4ac4312614422a4982b5f4d9a4c7 Author: Arnaldo Carvalho de Melo Date: Thu Jan 21 13:04:43 2010 -0200 perf top: Fix sample counting Broken since "5b2bb75 perf top: Support userspace symbols too". Reported-by: Mike Galbraith Tested-by: Mike Galbraith Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264086284-1431-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit abd50713944c8ea9e0af5b7bffa0aacae21cc91a Author: Peter Zijlstra Date: Tue Jan 26 18:50:16 2010 +0100 perf: Reimplement frequency driven sampling There was a bug in the old period code that caused intel_pmu_enable_all() or native_write_msr_safe() to show up quite high in the profiles. In staring at that code it made my head hurt, so I rewrote it in a hopefully simpler fashion. Its now fully symetric between tick and overflow driven adjustments and uses less data to boot. The only complication is that it basically wants to do a u128 division. The code approximates that in a rather simple truncate until it fits fashion, taking care to balance the terms while truncating. This version does not generate that sampling artefact. Signed-off-by: Peter Zijlstra LKML-Reference: Cc: Signed-off-by: Ingo Molnar commit 7d6a7bde52e449f21a0e86a7a4955b4e08a49d69 Author: Dave Chinner Date: Tue Jan 26 15:13:41 2010 +1100 xfs: Use delay write promotion for dquot flushing xfs_qm_dqflock_pushbuf_wait() does a very similar trick to item pushing used to do to flush out delayed write dquot buffers. Change it to use the new promotion method rather than an async flush. Also, xfs_qm_dqflock_pushbuf_wait() can return without the flush lock held, yet the callers make the assumption that after this call the flush lock is held. Always return with the flush lock held. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 089716aa1480b7197bcd678b8477774c379a2768 Author: Dave Chinner Date: Tue Jan 26 15:13:25 2010 +1100 xfs: Sort delayed write buffers before dispatch Currently when the xfsbufd writes delayed write buffers, it pushes them to disk in the order they come off the delayed write list. If there are lots of buffers ѕpread widely over the disk, this results in overwhelming the elevator sort queues in the block layer and we end up losing the posibility of merging adjacent buffers to minimise the number of IOs. Use the new generic list_sort function to sort the delwri dispatch queue before issue to ensure that the buffers are pushed in the most friendly order possible to the lower layers. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit d808f617ad00a413585b806de340feda5ad9a2da Author: Dave Chinner Date: Tue Feb 2 10:13:42 2010 +1100 xfs: Don't issue buffer IO direct from AIL push V2 All buffers logged into the AIL are marked as delayed write. When the AIL needs to push the buffer out, it issues an async write of the buffer. This means that IO patterns are dependent on the order of buffers in the AIL. Instead of flushing the buffer, promote the buffer in the delayed write list so that the next time the xfsbufd is run the buffer will be flushed by the xfsbufd. Return the state to the xfsaild that the buffer was promoted so that the xfsaild knows that it needs to cause the xfsbufd to run to flush the buffers that were promoted. Using the xfsbufd for issuing the IO allows us to dispatch all buffer IO from the one queue. This means that we can make much more enlightened decisions on what order to flush buffers to disk as we don't have multiple places issuing IO. Optimisations to xfsbufd will be in a future patch. Version 2 - kill XFS_ITEM_FLUSHING as it is now unused. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit c854363e80b49dd04a4de18ebc379eb8c8806674 Author: Dave Chinner Date: Sat Feb 6 12:39:36 2010 +1100 xfs: Use delayed write for inodes rather than async V2 We currently do background inode flush asynchronously, resulting in inodes being written in whatever order the background writeback issues them. Not only that, there are also blocking and non-blocking asynchronous inode flushes, depending on where the flush comes from. This patch completely removes asynchronous inode writeback. It removes all the strange writeback modes and replaces them with either a synchronous flush or a non-blocking delayed write flush. That is, inode flushes will only issue IO directly if they are synchronous, and background flushing may do nothing if the operation would block (e.g. on a pinned inode or buffer lock). Delayed write flushes will now result in the inode buffer sitting in the delwri queue of the buffer cache to be flushed by either an AIL push or by the xfsbufd timing out the buffer. This will allow accumulation of dirty inode buffers in memory and allow optimisation of inode cluster writeback at the xfsbufd level where we have much greater queue depths than the block layer elevators. We will also get adjacent inode cluster buffer IO merging for free when a later patch in the series allows sorting of the delayed write buffers before dispatch. This effectively means that any inode that is written back by background writeback will be seen as flush locked during AIL pushing, and will result in the buffers being pushed from there. This writeback path is currently non-optimal, but the next patch in the series will fix that problem. A side effect of this delayed write mechanism is that background inode reclaim will no longer directly flush inodes, nor can it wait on the flush lock. The result is that inode reclaim must leave the inode in the reclaimable state until it is clean. Hence attempts to reclaim a dirty inode in the background will simply skip the inode until it is clean and this allows other mechanisms (i.e. xfsbufd) to do more optimal writeback of the dirty buffers. As a result, the inode reclaim code has been rewritten so that it no longer relies on the ambiguous return values of xfs_iflush() to determine whether it is safe to reclaim an inode. Portions of this patch are derived from patches by Christoph Hellwig. Version 2: - cleanup reclaim code as suggested by Christoph - log background reclaim inode flush errors - just pass sync flags to xfs_iflush Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 777df5afdb26c71634edd60582be620ff94e87a0 Author: Dave Chinner Date: Sat Feb 6 12:37:26 2010 +1100 xfs: Make inode reclaim states explicit A.K.A.: don't rely on xfs_iflush() return value in reclaim We have gradually been moving checks out of the reclaim code because they are duplicated in xfs_iflush(). We've had a history of problems in this area, and many of them stem from the overloading of the return values from xfs_iflush() and interaction with inode flush locking to determine if the inode is safe to reclaim. With the desire to move to delayed write flushing of inodes and non-blocking inode tree reclaim walks, the overloading of the return value of xfs_iflush makes it very difficult to determine the correct thing to do next. This patch explicitly re-adds the checks to the inode reclaim code, removing the reliance on the return value of xfs_iflush() to determine what to do next. It also means that we can clearly document all the inode states that reclaim must handle and hence we can easily see that we handled all the necessary cases. This also removes the need for the xfs_inode_clean() check in xfs_iflush() as all callers now check this first (safely). Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit d5db0f97fbbeff11c88dec1aaf1536a975afbaeb Author: Eric Sandeen Date: Fri Feb 5 22:59:53 2010 +0000 xfs: more reserved blocks fixups This mangles the reserved blocks counts a little more. 1) add a helper function for the default reserved count 2) add helper functions to save/restore counts on ro/rw 3) save/restore reserved blocks on freeze/thaw 4) disallow changing reserved count while readonly V2: changed field name to match Dave's changes Signed-off-by: Eric Sandeen Signed-off-by: Alex Elder commit 388f1f0c346b533b06d8bc792f7204ebc3e4b7da Author: Dave Chinner Date: Tue Jan 26 15:10:15 2010 +1100 xfs: turn off sign warnings Because they cause warnings in static inline functions conditionally compiled into XFS from the VFS (e.g. fsnotify). Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit cbe132a8bdcff0f9afd9060948fb50597c7400b8 Author: Dave Chinner Date: Tue Jan 26 15:08:49 2010 +1100 xfs: don't hold onto reserved blocks on remount,ro If we hold onto reserved blocks when doing a remount,ro we end up writing the blocks used count to disk that includes the reserved blocks. Reserved blocks are not actually used, so this results in the values in the superblock being incorrect. Hence if we run xfs_check or xfs_repair -n while the filesystem is mounted remount,ro we end up with an inconsistent filesystem being reported. Also, running xfs_copy on the remount,ro filesystem will result in an inconsistent image being generated. To fix this, unreserve the blocks when doing the remount,ro, and reserved them again on remount,rw. This way a remount,ro filesystem will appear consistent on disk to all utilities. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 485773f3e401fca31c112c1ff24797e42ff87afd Author: Paul Mundt Date: Tue Jan 26 13:02:10 2010 +0900 sh: flag ctrl_in/outX as __deprecated. These routines are unsuitable for cross-platform use and no new code should be using them, flag them as deprecated in order to give drivers sufficient time to migrate over. Signed-off-by: Paul Mundt commit 9d56dd3b083a3bec56e9da35ce07baca81030b03 Author: Paul Mundt Date: Tue Jan 26 12:58:40 2010 +0900 sh: Mass ctrl_in/outX to __raw_read/writeX conversion. The old ctrl in/out routines are non-portable and unsuitable for cross-platform use. While drivers/sh has already been sanitized, there is still quite a lot of code that is not. This converts the arch/sh/ bits over, which permits us to flag the routines as deprecated whilst still building with -Werror for the architecture code, and to ensure that future users are not added. Signed-off-by: Paul Mundt commit cd9ec30da58bcd8ab154eba9eb54d16c67e7ef3b Author: Johnathon Harris Date: Thu Jan 21 14:36:52 2010 +0000 HID: add support for Ortek WKB-2000 This patch adds a new USB HID driver for the Ortek WKB-2000, working around an incorrect LogicalMaximum value in the USB resource descriptor. Tracked by http://bugzilla.kernel.org/show_bug.cgi?id=14787 Bug originally reported by Ubuntu users: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/405390 Signed-off-by: Johnathon Harris Tested-by: Daniel J Blueman Signed-off-by: Jiri Kosina commit 9df5f74194871ebd0e51ef5ad2eca5084acaaaba Author: James Bottomley Date: Mon Jan 25 11:42:20 2010 -0600 mm: add coherence API for DMA to vmalloc/vmap areas On Virtually Indexed architectures (which don't do automatic alias resolution in their caches), we have to flush via the correct virtual address to prepare pages for DMA. On some architectures (like arm) we cannot prevent the CPU from doing data movein along the alias (and thus giving stale read data), so we not only have to introduce a flush API to push dirty cache lines out, but also an invalidate API to kill inconsistent cache lines that may have moved in before DMA changed the data Signed-off-by: James Bottomley commit a7eb169dc7292979d78f2d2f1655026ae3a9ff5f Author: Dominik Brodowski Date: Wed Jan 6 12:18:13 2010 +0100 pcmcia: m32r uses static socket resources m32r_cfc sets the socket capabilities to SS_CAP_STATIC_MAP and also sets io_offset != 0. This means no calls to &pccard_nonstatic_ops went through. Therfore, replace it with &pccard_static_ops which is exactly for this case. CC: Mamoru Sakugawa CC: Hirokazu Takata Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit f9c316f4a2d32e4d03497ecb24e1d2309361a5b8 Author: Dominik Brodowski Date: Wed Jan 6 11:32:22 2010 +0100 pcmcia: remove some rsrc_mgr indirections Remove rsrc_mgr indirections only used by pcmcia_resource.c Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 385ee871092a524869c71a8180888aadcd6ca36d Author: Dominik Brodowski Date: Wed Jan 6 11:23:58 2010 +0100 pcmcia: remove useless indirection As release_resoure_db() used to be called only from one place, and it's a two-line function, remove it. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 3970dd8c5169505f0cc5e4c3e2fde7bdd9bbad3e Author: Dominik Brodowski Date: Sat Jan 2 23:19:45 2010 +0100 pcmcia: do not lock socket driver module on card insert Do not lock the socket driver module on card insert, as the PCMCIA core can handle a socket module removal, at least if we add a call to socket_remove() on pccardd()'s shutdown. Signed-off-by: Dominik Brodowski commit 048a8774ca43488d78605031f11cc206d7a2682a Author: Borislav Petkov Date: Fri Jan 22 16:01:07 2010 +0100 x86, cacheinfo: Calculate L3 indices We need to know the valid L3 indices interval when disabling them over /sysfs. Do that when the core is brought online and add boundary checks to the sysfs .store attribute. Signed-off-by: Borislav Petkov LKML-Reference: <1264172467-25155-6-git-send-email-bp@amd64.org> Signed-off-by: H. Peter Anvin commit 897de50e08937663912c86fb12ad7f708af2386c Author: Borislav Petkov Date: Fri Jan 22 16:01:06 2010 +0100 x86, cacheinfo: Add cache index disable sysfs attrs only to L3 caches The cache_disable_[01] attribute in /sys/devices/system/cpu/cpu?/cache/index[0-3]/ is enabled on all cache levels although only L3 supports it. Add it only to the cache level that actually supports it. Signed-off-by: Borislav Petkov LKML-Reference: <1264172467-25155-5-git-send-email-bp@amd64.org> Signed-off-by: H. Peter Anvin commit dcf39daf3d6d97f8741e82f0b9fb7554704ed2d1 Author: Borislav Petkov Date: Fri Jan 22 16:01:05 2010 +0100 x86, cacheinfo: Fix disabling of L3 cache indices * Correct the masks used for writing the cache index disable indices. * Do not turn off L3 scrubber - it is not necessary. * Make sure wbinvd is executed on the same node where the L3 is. * Check for out-of-bounds values written to the registers. * Make show_cache_disable hex values unambiguous * Check for Erratum #388 Signed-off-by: Borislav Petkov LKML-Reference: <1264172467-25155-4-git-send-email-bp@amd64.org> Signed-off-by: H. Peter Anvin commit 48a719c238bcbb72d6da79de9c5b3b93ab472107 Author: Borislav Petkov Date: Fri Jan 22 16:01:04 2010 +0100 intel-agp: Switch to wbinvd_on_all_cpus Simplify if-statement while at it. [ hpa: we need to #include ] Cc: Dave Jones Cc: David Airlie Signed-off-by: Borislav Petkov LKML-Reference: <1264172467-25155-3-git-send-email-bp@amd64.org> Signed-off-by: H. Peter Anvin commit a7b480e7f30b3813353ec009f10f2ac7a6669f3b Author: Borislav Petkov Date: Fri Jan 22 16:01:03 2010 +0100 x86, lib: Add wbinvd smp helpers Add wbinvd_on_cpu and wbinvd_on_all_cpus stubs for executing wbinvd on a particular CPU. [ hpa: renamed lib/smp.c to lib/cache-smp.c ] [ hpa: wbinvd_on_all_cpus() returns int, but wbinvd() returns void. Thus, the former cannot be a macro for the latter, replace with an inline function. ] Signed-off-by: Borislav Petkov LKML-Reference: <1264172467-25155-2-git-send-email-bp@amd64.org> Signed-off-by: H. Peter Anvin commit 60db48cacb9b253d5607a5ff206112a59cd09e34 Author: Thomas Gleixner Date: Wed Jan 20 20:59:06 2010 +0000 sched: Queue a deboosted task to the head of the RT prio queue rtmutex_set_prio() is used to implement priority inheritance for futexes. When a task is deboosted it gets enqueued at the tail of its RT priority list. This is violating the POSIX scheduling semantics: rt priority list X contains two runnable tasks A and B task A runs with priority X and holds mutex M task C preempts A and is blocked on mutex M -> task A is boosted to priority of task C (Y) task A unlocks the mutex M and deboosts itself -> A is dequeued from rt priority list Y -> A is enqueued to the tail of rt priority list X task C schedules away task B runs This is wrong as task A did not schedule away and therefor violates the POSIX scheduling semantics. Enqueue the task to the head of the priority list instead. Reported-by: Mathias Weber Reported-by: Carsten Emde Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra Tested-by: Carsten Emde Tested-by: Mathias Weber LKML-Reference: <20100120171629.809074113@linutronix.de> commit 37dad3fce97f01e5149d69de0833d8452c0e862e Author: Thomas Gleixner Date: Wed Jan 20 20:59:01 2010 +0000 sched: Implement head queueing for sched_rt The ability of enqueueing a task to the head of a SCHED_FIFO priority list is required to fix some violations of POSIX scheduling policy. Implement the functionality in sched_rt. Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra Tested-by: Carsten Emde Tested-by: Mathias Weber LKML-Reference: <20100120171629.772169931@linutronix.de> commit ea87bb7853168434f4a82426dd1ea8421f9e604d Author: Thomas Gleixner Date: Wed Jan 20 20:58:57 2010 +0000 sched: Extend enqueue_task to allow head queueing The ability of enqueueing a task to the head of a SCHED_FIFO priority list is required to fix some violations of POSIX scheduling policy. Extend the related functions with a "head" argument. Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra Tested-by: Carsten Emde Tested-by: Mathias Weber LKML-Reference: <20100120171629.734886007@linutronix.de> commit 212b3c8b8ab94d983c2e0ee1821f17dd5b4e0859 Author: Jean-Hugues Deschenes Date: Fri Jan 22 10:08:31 2010 -0700 spi/dw_spi: Fix dw_spi_mmio to depend on HAVE_CLK dw_spi_mmio is dependent on the clock framework. This marks it as such in Kconfig. Signed-off-by: Jean-Hugues Deschenes Signed-off-by: Grant Likely commit 9b00f30762fe9f914eb6e03057a616ed63a4e8ca Author: Christoph Hellwig Date: Thu Jan 21 11:17:20 2010 +0000 xfs: quota limit statvfs available blocks A "df" run on an NFS client of an exported XFS file system reports the wrong information for "available" blocks. When a block quota is enforced, the amount reported as free is limited by the quota, but the amount reported available is not (and should be). Reported-by: Guk-Bong, Kwon Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit bdfb04301fa5fdd95f219539a9a5b9663b1e5fc2 Author: Christoph Hellwig Date: Wed Jan 20 21:55:30 2010 +0000 xfs: replace KM_LARGE with explicit vmalloc use We use the KM_LARGE flag to make kmem_alloc and friends use vmalloc if necessary. As we only need this for a few boot/mount time allocations just switch to explicit vmalloc calls there. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit a14a348bff2f99471a28e5928eb6801224c053d8 Author: Christoph Hellwig Date: Tue Jan 19 09:56:46 2010 +0000 xfs: cleanup up xfs_log_force calling conventions Remove the XFS_LOG_FORCE argument which was always set, and the XFS_LOG_URGE define, which was never used. Split xfs_log_force into a two helpers - xfs_log_force which forces the whole log, and xfs_log_force_lsn which forces up to the specified LSN. The underlying implementations already were entirely separate, as were the users. Also re-indent the new _xfs_log_force/_xfs_log_force which previously had a weird coding style. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 4139b3b337cffd106744386c842b89dc86e31d4b Author: Christoph Hellwig Date: Tue Jan 19 09:56:45 2010 +0000 xfs: kill XLOG_VEC_SET_TYPE This macro only obsfucates the log item type assignments, so kill it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit 0cadda1c5f194f98a05d252ff4385d86d2ed0862 Author: Christoph Hellwig Date: Tue Jan 19 09:56:44 2010 +0000 xfs: remove duplicate buffer flags Currently we define aliases for the buffer flags in various namespaces, which only adds confusion. Remove all but the XBF_ flags to clean this up a bit. Note that we still abuse XFS_B_ASYNC/XBF_ASYNC for some non-buffer uses, but I'll clean that up later. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit a210c1aa7f6c90b729cc3a72d03e789b13cb6c47 Author: Christoph Hellwig Date: Sun Jan 17 22:36:19 2010 +0000 xfs: implement quota warnings via netlink Wire up quota_send_warning to send quota warnings over netlink. This is used by various desktops to show user quota warnings. Tested by running the quota_nld daemon while running the xfstest quota tests and observing the warnings. I'll see how I can get a more formal testcase for it written. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit 4d1f88d75b00c4d23f4c51305ab5b779a86ef74e Author: Christoph Hellwig Date: Wed Jan 13 22:05:49 2010 +0000 xfs: clean up error handling in xfs_trans_dqresv Move the error code selection after the goto label and fold the xfs_quota_error helper into it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit 512dd1abd9539a474f2792eeaf6783c59ad7778a Author: Christoph Hellwig Date: Wed Jan 13 22:05:48 2010 +0000 xfs: kill XFS_QMOPT_ASYNC The option is unused and one of the few remaining users of xfs_bawrite, so let's get rid of it. Signed-off-by: Christoph Hellwig Reviewed-by: Dave Chinner Signed-off-by: Alex Elder commit 8ca8d15ade201b7723fa386eadcce2044463ff56 Author: Jean-Hugues Deschenes Date: Thu Jan 21 09:55:54 2010 -0700 spi/dw_spi: Allow dw_spi.c to be a module Signed-off-by: Jean-Hugues Deschenes Signed-off-by: Grant Likely commit 0a4c1d7d446d3ed6179f907541d180e49b56d4f4 Author: Jean-Hugues Deschenes Date: Thu Jan 21 09:55:42 2010 -0700 spi/dw_spi: mmio code style fixups Minor code style cleanups following comments by Wolfram Sang Signed-off-by: Jean-Hugues Deschenes Signed-off-by: Grant Likely commit f7b6fd6d1d3833529f1626c761ba7e338586d35e Author: Jean-Hugues Deschenes Date: Thu Jan 21 07:46:42 2010 -0700 Memory-mapped dw_spi driver Adds a memory-mapped I/O dw_spi platform device. Signed-off-by: Jean-Hugues Deschenes Signed-off-by: Grant Likely commit 8bcb4a88c5834c6a0fc7140edea32186664fe360 Author: Feng Tang Date: Thu Jan 21 07:25:38 2010 -0700 spi/dw_spi: fix missing export of dw_spi_remove_host So that interface drivers could be built as modules Signed-off-by: Feng Tang Signed-off-by: Grant Likely commit 052dc7c45d8f685fb3720a08331ba3e91e87937e Author: George Shore Date: Thu Jan 21 11:40:52 2010 +0000 spi/dw_spi: conditional transfer mode changes This allows the switching between transfer modes between 'transmit only', 'receive only' and 'transmit and receive' modes. Due to the design of the SPI block, changing transfer modes requires that the block be disabled; in doing so the chipselect line is inherently deasserted and (usually) the attached device discards its state. Consequentially, switching modes requires that a platform-specific chipselect function has been defined so that the chipselect is not dropped during the change. Signed-off-by: George Shore Signed-off-by: Grant Likely commit f4aec798ae5a837a1f062e295f9a5f1b00962589 Author: George Shore Date: Thu Jan 21 11:40:51 2010 +0000 spi/dw_spi: remove conditional from 'poll_transfer'. The 'poll_transfer' function employs a conditional to test whether the transmit buffer is valid; in doing so, on a receive operation no data is clocked out, thus no data is clocked in and ultimately errors appear. This removes the conditional as the transmit function will be set to a null writer when the transmit buffer is invalid, allowing the driver to clock 0x00 out to the device to receive data from the device. Signed-off-by: George Shore Signed-off-by: Grant Likely commit 426c0093d8da4d7b6b0e62cda917b1bae26db4c2 Author: George Shore Date: Thu Jan 21 11:40:50 2010 +0000 spi/dw_spi: fixed a spelling typo in a warning message. Signed-off-by: George Shore Signed-off-by: Grant Likely commit 20a588fcc862df79d8fcafbc41950e3ae93dea09 Author: George Shore Date: Thu Jan 21 11:40:49 2010 +0000 spi/dw_spi: add return value to empty mrst_spi_debugfs_init() As per the function signature. Signed-off-by: George Shore Signed-off-by: Grant Likely commit 83fe518a839e317480e50a138ef4acd73510d7ce Author: George Shore Date: Thu Jan 21 11:40:48 2010 +0000 spi/dw_spi: enable platform specific chipselect. The driver core allows for a platform-specific chipselect assert/deassert function, however the chipselect function in the core doesn't take advantage of this fact. This enables the use of a custom function, should it be defined. Signed-off-by: George Shore Signed-off-by: Grant Likely commit c587b6fa05106606053fc5e8e344f07cd34ace23 Author: Feng Tang Date: Thu Jan 21 10:41:10 2010 +0800 spi/dw_spi: add a FIFO depth detection FIFO depth is configurable for each implementation of DW core, so add a depth detection for those interface drivers who don't set the fifo_len explicitly Signed-off-by: Feng Tang Acked-by: Jean-Hugues Deschenes Signed-off-by: Grant Likely commit 7c9414385ebfdd87cc542d4e7e3bb0dbb2d3ce25 Author: Dhaval Giani Date: Wed Jan 20 13:26:18 2010 +0100 sched: Remove USER_SCHED Remove the USER_SCHED feature. It has been scheduled to be removed in 2.6.34 as per http://marc.info/?l=linux-kernel&m=125728479022976&w=2 Signed-off-by: Dhaval Giani Signed-off-by: Peter Zijlstra LKML-Reference: <1263990378.24844.3.camel@localhost> Signed-off-by: Ingo Molnar commit 871e35bc9733f273eaf5ceb69bbd0423b58e5285 Author: Gautham R Shenoy Date: Wed Jan 20 14:02:44 2010 -0600 sched: Fix the place where group powers are updated We want to update the sched_group_powers when balance_cpu == this_cpu. Currently the group powers are updated only if the balance_cpu is the first CPU in the local group. But balance_cpu = this_cpu could also be the first idle cpu in the group. Hence fix the place where the group powers are updated. Signed-off-by: Gautham R Shenoy Signed-off-by: Joel Schopp Signed-off-by: Peter Zijlstra LKML-Reference: <1264017764.5717.127.camel@jschopp-laptop> Signed-off-by: Ingo Molnar commit 8f190fb3f7a405682666d3723f6ec370b5afe4da Author: Peter Zijlstra Date: Thu Dec 24 14:18:21 2009 +0100 sched: Assume *balance is valid Since all load_balance() callers will have !NULL balance parameters we can now assume so and remove a few checks. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit f492e12ef050e02bf0185b6b57874992591b9be1 Author: Peter Zijlstra Date: Wed Dec 23 15:29:42 2009 +0100 sched: Remove load_balance_newidle() The two functions: load_balance{,_newidle}() are very similar, with the following differences: - rq->lock usage - sb->balance_interval updates - *balance check So remove the load_balance_newidle() call with load_balance(.idle = CPU_NEWLY_IDLE), explicitly unlock the rq->lock before calling (would be done by double_lock_balance() anyway), and ignore the other differences for now. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 1af3ed3ddf27499c3f57662c4c29871e2b95e5f9 Author: Peter Zijlstra Date: Wed Dec 23 15:10:31 2009 +0100 sched: Unify load_balance{,_newidle}() load_balance() and load_balance_newidle() look remarkably similar, one key point they differ in is the condition on when to active balance. So split out that logic into a separate function. One side effect is that previously load_balance_newidle() used to fail and return -1 under these conditions, whereas now it doesn't. I've not yet fully figured out the whole -1 return case for either load_balance{,_newidle}(). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit baa8c1102f0cd86e69c1497d61d2ee177e663663 Author: Peter Zijlstra Date: Thu Dec 17 18:10:09 2009 +0100 sched: Add a lock break for PREEMPT=y Since load-balancing can hold rq->locks for quite a long while, allow breaking out early when there is lock contention. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 230059de77a4e0f6afba98073e73bc9fd471506e Author: Peter Zijlstra Date: Thu Dec 17 17:47:12 2009 +0100 sched: Remove from fwd decls Move code around to get rid of fwd declarations. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 897c395f4c94ae19302f92393a0b8304e414ee06 Author: Peter Zijlstra Date: Thu Dec 17 17:45:42 2009 +0100 sched: Remove rq_iterator from move_one_task Again, since we only iterate the fair class, remove the abstraction. Since this is the last user of the rq_iterator, remove all that too. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit ee00e66ffff250fb0d3a789e5565462f71c7c9a7 Author: Peter Zijlstra Date: Thu Dec 17 17:25:20 2009 +0100 sched: Remove rq_iterator usage from load_balance_fair Since we only ever iterate the fair class, do away with this abstraction. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 3d45fd804a95055ecab5b3eed81f5ab2dbb047a2 Author: Peter Zijlstra Date: Thu Dec 17 17:12:46 2009 +0100 sched: Remove the sched_class load_balance methods Take out the sched_class methods for load-balancing. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 1e3c88bdeb1260edc341e45c9fb8efd182a5c511 Author: Peter Zijlstra Date: Thu Dec 17 17:00:43 2009 +0100 sched: Move load balance code into sched_fair.c Straight fwd code movement. Since non of the load-balance abstractions are used anymore, do away with them and simplify the code some. In preparation move the code around. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit ef12a141306c90336a3a10d40213ecd98624d274 Author: Arnaldo Carvalho de Melo Date: Wed Jan 20 15:28:45 2010 -0200 perf buildid-cache: Add new command to manage build-id cache For now it just has operations to examine a given file, find its build-id and add or remove it to/from the cache. Useful, for instance, when adding binaries sent together with a perf.data file, so that we can add them to the cache and have the tools find it when resolving symbols. It'll also manage the size of the cache like 'ccache' does. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1264008525-29025-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a077e91690fb32a1453423b2cf1df3492fd30c3a Author: Paul Mundt Date: Thu Jan 21 16:16:36 2010 +0900 sh: Conserve fixmap slots when IOREMAP_FIXED=n. Presently the IOREMAP_FIXED fixmaps are always defined, even if the platform isn't capable of supporting it. Since we already have an ifdef for it, ifdef the entries, too. Signed-off-by: Paul Mundt commit 2dc2f8e0c46864e2a3722c84eaa96513d4cf8b2f Author: Paul Mundt Date: Thu Jan 21 16:05:25 2010 +0900 sh: Kill off the special uncached section and fixmap. Now that cached_to_uncached works as advertized in 32-bit mode and we're never going to be able to map < 16MB anyways, there's no need for the special uncached section. Kill it off. Signed-off-by: Paul Mundt commit 3125ee72dca25fc2157dcddd07e2d740db921fc4 Author: Paul Mundt Date: Thu Jan 21 15:54:31 2010 +0900 sh: Track the uncached mapping size. This provides a variable for tracking the uncached mapping size, and uses it for pretty printing the uncached lowmem range. Beyond this, we'll also be building on top of this for figuring out from where the remainder of P2 becomes usable when constructing unrelated mappings. Signed-off-by: Paul Mundt commit 2023b843d7b62d99e7356b872e99abc7d6667e49 Author: Paul Mundt Date: Thu Jan 21 15:42:58 2010 +0900 sh: Rework P2 to only include kernel text. This effectively neutralizes P2 by getting rid of P1 identity mapping for all available memory and instead only establishes a single unbuffered PMB entry (16MB -- the smallest available) that covers the kernel. As using segmentation for abusing caching attributes in drivers is no longer supported (and there are no drivers that can be enabled in 32-bit mode that do this), this provides us with all of the uncached access needs by the kernel itself. Drivers and their ilk need to specify their caching attributes when remapping through page tables, as usual. Signed-off-by: Paul Mundt commit 77c2019fc1b4495ce483ef2af9cb12bae23e353b Author: Paul Mundt Date: Thu Jan 21 14:19:41 2010 +0900 sh: initial PMB mapping iteration by helper macro. All of the cached/uncached mapping setup is duplicated for each size, and also misses out on the 16MB case. Rather than duplicating the same iter code for that we just consolidate it in to a helper macro that builds an iter for each size. The 16MB case is then trivially bolted on at the end. Signed-off-by: Paul Mundt commit 99147b5c4167612a987860b661b9f8b79e66b81f Author: Grant Likely Date: Wed Jan 20 14:03:39 2010 -0700 spi/dw_spi: fix __init/__devinit section mismatch Section mismatch in reference from the function dw_spi_add_host() to the function init_queue() Signed-off-by: Grant Likely commit 9778214990af88ec6720bd771d7fc0fa1b140b02 Author: Paul Mundt Date: Wed Jan 20 13:49:45 2010 -0700 spi: xilinx_spi: Fix up I/O routine wrapping bogosity. xilinx_spi presently makes some fairly questionable assumptions about I/O routines, and attempts to assign ioread32/iowrite32 and friends directly to its own internal function pointers. On many platforms these I/O routines are macros or wrappers and not actual functions on their own, resulting in things like: ERROR: "ioread32be" [drivers/spi/xilinx_spi.ko] undefined! ERROR: "iowrite32be" [drivers/spi/xilinx_spi.ko] undefined! ERROR: "iowrite32" [drivers/spi/xilinx_spi.ko] undefined! ERROR: "ioread32" [drivers/spi/xilinx_spi.ko] undefined! If xilinx_spi wants to do this sort of casting, it needs to provide its own wrappers for these, or change how it does accesses completely. I've opted for the first approach, and the attached silly patch does that. If someone with the hardware available wants to give the second option a try that's ok too. In any event, the current code is broken for at least: arm, avr32, blackfin, microblaze, mn10300, and sh. Signed-off-by: Paul Mundt Acked-by: Richard Röjfors Signed-off-by: Grant Likely commit f4d4ecfe788b4141d8c90cfc3ac2831f620f5c1b Author: Alberto Panizzo Date: Wed Jan 20 13:49:45 2010 -0700 spi/spi_imx: add device information by switching pr_debug() to dev_dbg() Useful when debugging multiple spi channels. Signed-off-by: Alberto Panizzo Acked-by: Uwe Kleine-König Signed-off-by: Grant Likely commit ac48eee064f743a198cb38e5a6a62c3f1082ebc1 Author: Magnus Damm Date: Wed Jan 20 13:49:45 2010 -0700 spi: update MSIOF includes Update the MSIOF driver to remove the architecture speficic spi header file and add err.h. This makes the driver compile on non-SH architectures. Signed-off-by: Magnus Damm Signed-off-by: Grant Likely commit 552e450929a7298cc8834fd2824a60b2e914f70e Author: Feng Tang Date: Wed Jan 20 13:49:45 2010 -0700 spi/dw_spi: refine the IRQ mode working flow Now dw_spi core fully supports 3 transfer modes: pure polling, DMA and IRQ mode. IRQ mode will use the FIFO half empty as the IRQ trigger, so each interface driver need set the fifo_len, so that core driver can handle it properly Signed-off-by: Feng Tang Signed-off-by: Grant Likely commit 51f921c1eb1124fb99ab0728c19e8e14c82c81be Author: Feng Tang Date: Wed Jan 20 13:49:45 2010 -0700 spi/dw_spi: add a missed dw_spi_remove_host() in exit sequence Signed-off-by: Feng Tang Signed-off-by: Grant Likely commit b490e3704ccee12deb295f96029d68e0daf02feb Author: Feng Tang Date: Wed Jan 20 13:49:45 2010 -0700 spi/dw_spi: bug fix in wait_till_not_busy() Make the driver wait at least for 1 jiffie before issuing the warning, no matter what HZ is set to Signed-off-by: Feng Tang Signed-off-by: Grant Likely commit fa0fcde66ac3360678360104b24492015e7b852b Author: Jassi Brar Date: Wed Jan 20 13:49:45 2010 -0700 spi/s3c64xx: Add new parameter to cs callback Since most of the chip-selects are simply going to be like gpio_set_value, it would do good to have the same callback type so that it could simply be made to point at gpio_set_value. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit e6b873c9666015484a01373a4eebc6cfa82e670d Author: Jassi Brar Date: Wed Jan 20 13:49:45 2010 -0700 spi/s3c64xx: Include moved header Header for platform specific stuff has been rename to include the SoC type. Include the new header instead. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit ef6c680dc5a182a79b09567168d6713f46c85784 Author: Jassi Brar Date: Wed Jan 20 13:49:44 2010 -0700 spi/s3c64xx: Check before mem-region release Add precautionary check before releasing memory region. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit b0d5d6e55340348b0de75eb691b93d7e60dba879 Author: Jassi Brar Date: Wed Jan 20 13:49:44 2010 -0700 spi/s3c64xx: Move src_clk to local driver data The pointer to SPI rate source clock had better be the member of driver local data structure rather than platform specific. Also, remove definitions of variable 'sci' that are rendered useless as a consequence. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit ee64a37732c23ab2bcef5fe7785fd237a7e38951 Author: Jassi Brar Date: Wed Jan 20 13:49:44 2010 -0700 spi/s3c64xx: Differentiate ip and rate clock The instance of SPI clock for controller and that used for generating signals ought to be independently handled. Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit ad7de729c60380a48844f885f37451158169c50d Author: Jassi Brar Date: Wed Jan 20 13:49:44 2010 -0700 spi/s3c64xx: Rename s3c64xx_spi_cntrlr_info Rename 'struct s3c64xx_spi_cntrlr_info' to lesser wordy 'struct s3c64xx_spi_info' Signed-off-by: Jassi Brar Signed-off-by: Grant Likely commit e9a172f074ba85de144e63b0786c7c5c5ba93c3a Author: Uwe Kleine-König Date: Wed Jan 20 13:49:44 2010 -0700 spi/mpc8xxx: don't check platform_get_irq's return value against zero platform_get_irq returns -ENXIO on failure, so !irq was probably always true. Make irq a signed variable and compare irq <= 0. Note that a return value of zero is still handled as error even though this could mean irq0. This is a followup to 305b3228f9ff4d59f49e6d34a7034d44ee8ce2f0 that changed the return value of platform_get_irq from 0 to -ENXIO on error. Signed-off-by: Uwe Kleine-König Acked-by: Anton Vorontsov Signed-off-by: Grant Likely commit 34b8c66173666025020e3a6f8d4a5c238b19cde5 Author: Steven King Date: Wed Jan 20 13:49:44 2010 -0700 spi: Add Freescale/Motorola Coldfire QSPI driver Add support for the QSPI controller found some on Freescale/Motorola Coldfire MCUs. Full duplex, active high cs, spi modes 0-3 and word sizes 8-16 bits are supported. The hardware drives the MISO, MOSI and SCLK lines, but the chip selects are managed via GPIO and must be configured by the board code. The QSPI controller has an 80 byte buffer which allows us to transfer up to 16 words at a time. For transfers longer than 16 words, we split the buffer in half so we can update in one half while the controller is operating on the other half. Interrupt latencies then ultimately limits our sustained thru-put to something less than half the maximum speed supported by the part. Signed-off-by: Steven King Signed-off-by: Grant Likely commit 631e61b7ca12ef14c834f99f8948e410c539f585 Author: Márton Németh Date: Wed Jan 20 13:49:44 2010 -0700 spi: make Open Firmware device id constant The match_table field of the struct of_device_id is constant in so it is worth to make the initialization data constant. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @r@ disable decl_init,const_decl_init; identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Cc: Julia Lawall Cc: cocci@diku.dk Signed-off-by: Grant Likely commit 68ea2d82c3671d2eccb600e6871fcbec1cac7fca Author: Robert P. J. Day Date: Wed Jan 20 13:49:44 2010 -0700 spi: Fix reversed args to time_before() in Freescale stmp driver. Signed-off-by: Robert P. J. Day Signed-off-by: Grant Likely commit 358934a60d2180dcd1ed20691dbb66d4fb977ab2 Author: Sandeep Paulraj Date: Wed Dec 16 22:02:18 2009 +0000 spi: Add SPI master driver for DaVinci/DA8xx This patch adds support for a SPI master driver for the DaVinci series of SOCs Signed-off-by: Sandeep Paulraj Signed-off-by: Mark A. Greer Signed-off-by: Philby John Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman Signed-off-by: Grant Likely commit 35f99c0da17beb5004f06ba86a87d82c1a6467be Author: Paul Mundt Date: Wed Jan 20 18:48:17 2010 +0900 sh: pretty print virtual memory map on boot. This cribs the pretty printing from arch/x86/mm/init_32.c to dump the virtual memory layout on boot. This is primarily intended as a debugging aid, given that the newer CPUs have full control over their address space and as such have little to nothing in common with the legacy layout. Signed-off-by: Paul Mundt commit d9116d07f60383cef134c43a0ba15ec4375310fc Author: Paul Mundt Date: Wed Jan 20 18:25:19 2010 +0900 sh: mach-sdk7786: Probe system FPGA area mapping. This implements dynamic probing for the system FPGA. The system reset controller contains a fixed magic read word in order to identify the FPGA. This just utilizes a simple loop that scans across all of the fixed physical areas (area 0 through area 6) to locate the FPGA. The FPGA also contains register information detailing the area mappings and chip select settings for all of the other blocks, so this needs to be done before we can set up anything else. Signed-off-by: Paul Mundt commit 920efaabcbd34e6b8dc05c5b777df3e936af5812 Author: Paul Mundt Date: Wed Jan 20 18:10:30 2010 +0900 sh: Correct iounmap fixmap teardown. iounmap_fixed() had a couple of bugs in it that caused it to effectively fail at life. The total number of pages to unmap factored in the mapping offset and aligned up to the next page boundary, which doesn't match the ioremap_fixed() behaviour. When ioremap_fixed() pegs a slot, the address in the mapping data already contains the offset displacement, and the size is recorded verbatim given that we're only interested in total number of pages required. As such, we need to calculate the total number from the original size in the unmap path as well. At the same time, there was also an off-by-1 problem in the fixmap index calculation which has also been corrected. Previously subsequent remaps of an identical fixmap index would trigger the pte_ERROR() in set_pte_phys(): arch/sh/mm/init.c:77: bad pte 8053ffb0(0000781003fff506). arch/sh/mm/init.c:77: bad pte 8053ffb0(0000781003fff506). arch/sh/mm/init.c:77: bad pte 8053ffb0(0000781003fff506). arch/sh/mm/init.c:77: bad pte 8053ffb0(0000781003fff506). arch/sh/mm/init.c:77: bad pte 8053ffb0(0000781003fff506). arch/sh/mm/init.c:77: bad pte 8053ffb0(0000781003fff506). With this patch in place, the iounmap-driven fixmap teardown actually does what it's supposed to do. Signed-off-by: Paul Mundt commit 016ddd9b5b315fe52ac6ba3167521f50b3868d34 Author: Jiri Kosina Date: Mon Jan 18 17:05:40 2010 +0100 x86: Put 'nopat' in kernel-parameters Add missing 'nopat' boot option into Documentation/kernel-parameters.txt. Signed-off-by: Jiri Kosina LKML-Reference: Signed-off-by: Ingo Molnar commit dc8d6ab2b61a2d92b5d7438565ccd20b29724cb2 Author: Arnaldo Carvalho de Melo Date: Tue Jan 19 10:36:14 2010 -0200 perf symbols: Use only --vmlinux if specified Found while analysing a perf.data file collected on an ARM machine where an explicitely specified vmlinux was being disregarded. Reported-by: Jamie Iles Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263904574-30732-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f162f87ad6e98e8bfb2362955da46bed7b2514be Author: Arnaldo Carvalho de Melo Date: Tue Jan 19 10:36:13 2010 -0200 perf symbols: Set dso->kernel when handling the fake vmlinux MMAP event Because it may be possible that there was no buildid section, where we would set this to 1. Found while analysing a perf.data file collected on an ARM machine where an explicitely specified vmlinux was being disregarded. Reported-by: Jamie Iles Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263904574-30732-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d5526d8cb8e5aa3349c1ff4e409ad9b4cdac380c Author: Arnaldo Carvalho de Melo Date: Mon Jan 18 18:21:42 2010 -0200 perf archive: Fix installation steps in the Makefile Fix these warning: acme@parisc:~/git/linux-2.6-tip$ make -C tools/perf/ install make: Entering directory `/home/acme/git/linux-2.6-tip/tools/perf' Makefile:833: warning: overriding commands for target `perf-archive' Makefile:822: warning: ignoring old commands for target `perf-archive' Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263846102-24841-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit e8d433f335d44028d41af231ef5c52fd8a9b280b Author: Arnaldo Carvalho de Melo Date: Mon Jan 18 15:59:19 2010 -0200 perf archive: Add documentation This also makes it appear on the 'perf --help' output, i.e. util/generate-cmdlist.sh now takes it into account. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263837559-24168-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b51989b8afe9409ee68c67ce2a5de4390693bd2b Author: Paul Mundt Date: Wed Jan 20 16:53:11 2010 +0900 sh: mach-sdk7786: reset controller reboot support. This wires up the machine_ops reboot call to use the system reset controller. Signed-off-by: Paul Mundt commit fbb82b03653cdb7fd1863b911e7540011259d2ce Author: Paul Mundt Date: Wed Jan 20 16:42:52 2010 +0900 sh: machine_ops based reboot support. This provides a machine_ops-based reboot interface loosely cloned from x86, and converts the native sh32 and sh64 cases over to it. Necessary both for tying in SMP support and also enabling platforms like SDK7786 to add support for their microcontroller-based power managers. Signed-off-by: Paul Mundt commit 2efa53b269ec1e9289a108e1506f53f6f1de440b Author: Paul Mundt Date: Wed Jan 20 16:40:48 2010 +0900 sh: Make 29/32-bit mode check helper generally available. Presently __in_29bit_mode() is only defined for the PMB case, but it's also easily derived from the CONFIG_29BIT and CONFIG_32BIT && CONFIG_PMB=n cases. Signed-off-by: Paul Mundt commit 5f240718b475dcddee86b138b624f24c681dbb29 Author: Paul Mundt Date: Wed Jan 20 15:23:54 2010 +0900 sh: mach-sdk7786: Split out FPGA IRQ controller setup. This moves out the FPGA IRQ controller setup code to its own file, in preparation for switching off of IRL mode and having it provide its own irq_chip. Signed-off-by: Paul Mundt commit df3ab708b787a2b35de5101452bd51d4a8ae0ded Author: Motohiro KOSAKI Date: Mon Jan 18 21:35:12 2010 -0500 kprobetrace, doc: Add the explanation to remove probe points Latest kprobetrace can remove probe points selectively, thus the documentation should be updated too. Signed-off-by: KOSAKI Motohiro Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20100119023512.31880.35535.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar commit 580d9e00fdfb85e65c5097dcd739c6efcdbadc96 Author: Motohiro KOSAKI Date: Mon Jan 18 21:35:05 2010 -0500 kprobetrace, doc: Shell needs single quote to use $ character Shell interprets $val as shell variable, thus we need quote if we use the echo command. Signed-off-by: KOSAKI Motohiro Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20100119023505.31880.17367.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar commit efd590d57a5edddabaaf4cfaf532c0f674193b81 Author: Paul Mundt Date: Wed Jan 20 15:08:36 2010 +0900 sh: mach-sdk7786: FPGA updates. This does a bit of refactoring of the FPGA management code. The primary FPGA initialization is moved out to its own file in preparation for implementing some of the more complex capabilities, a complete set of register definitions is provided, and all of the existing users in the board code are moved over to use the new interface instead of setting up overlapping mappings. This also corrects the FPGA size, which previously was chomped off at the SDIF control register. Signed-off-by: Paul Mundt commit 587aa0feb74ffe3239b5e26ff5d017ba9f5daec9 Author: Dave Chinner Date: Wed Jan 20 12:04:53 2010 +1100 xfs: rearrange xfs_mod_sb() to avoid array subscript warning gcc warns of an array subscript out of bounds in xfs_mod_sb(). The code is written in such a way that if the array subscript is out of bounds, then it will assert fail. Rearrange the code to avoid the bounds check warning. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit f0a0eaa8da08ebc6519cacd731df05bbb4ca47ce Author: Dave Chinner Date: Wed Jan 20 10:50:06 2010 +1100 xfs: suppress spurious uninitialised var warning in xfs_bmapi() Initialise the xfs_bmalloca_t structure to zero to avoid uninitialised variable warnings. This is done by zeroing the arg structure rather than using the uninitialised_var() trick so we know for certain that the structure is correctly initialised as xfs_bmapi is a very complex function and it is difficult to prove warnings are spurious. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 58c75cfb51393a52b45262394c1fa81514b4d9bd Author: Dave Chinner Date: Wed Jan 20 10:49:18 2010 +1100 xfs: make compile warn about char sign mismatches again The -fno-unsigned-char directive has no effect anymore as the XFs build is clean. However, the kernel build hides pointer sign differences so turn that back on so that we can clean up all the mismatches prior to a userspace code resync. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 4a24cb71407dc25035d75dd3d118e0e55679e217 Author: Dave Chinner Date: Wed Jan 20 10:48:05 2010 +1100 xfs: clean up sign warnings in dir2 code We are now consistently using unsigned char strings for names so fix up the remaining warnings in the dir2 code to complete the cleanup. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit a9273ca5c6814f393e18ed66645f817b2b71e9ad Author: Dave Chinner Date: Wed Jan 20 10:47:48 2010 +1100 xfs: convert attr to use unsigned names To be consistent with the directory code, the attr code should use unsigned names. Convert the names from the vfs at the highest level to unsigned, and ænsure they are consistenly used as unsigned down to disk. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit b9c48649577dfc4a8c263c106d518effa24ea54b Author: Dave Chinner Date: Wed Jan 20 10:47:39 2010 +1100 xfs: xfs_buf_iomove() doesn't care about signedness xfs_buf_iomove() uses xfs_caddr_t as it's parameter types, but it doesn't care about the signedness of the variables as it is just copying the data. Change the prototype to use void * so that we don't get sign warnings at call sites. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit a3380ae39fa321282c407ba5e1835e14b64853d9 Author: Dave Chinner Date: Wed Jan 20 10:47:25 2010 +1100 xfs: make xfs_dir_cilookup_result use unsigned char For consistency with the result of the code. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 2bc754213d40d67c39ddd58cf240f2b948e1951e Author: Dave Chinner Date: Wed Jan 20 10:47:17 2010 +1100 xfs: convert dirnameops to unsigned char names To be consistent across the codebase, convert the dirnameops to pass the directory names by unsigned char strings. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 046ea753130fc51d885835458bf8c1d84765b9ac Author: Dave Chinner Date: Wed Jan 20 10:47:08 2010 +1100 xfs: convert DM ops to use unsigned char names dmops uses a signed char for it's namespace event. To be consistent with the rest of the code, convert them to unsigned char for the namespace string. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit e2bcd936eb95d0019ca5e05f9fdd27e770ddded1 Author: Dave Chinner Date: Wed Jan 20 10:44:58 2010 +1100 xfs: directory names are unsigned Convert the struct xfs_name to use unsigned chars for the name strings to match both what is stored on disk (__uint8_t) and what the VFS expects (unsigned char). Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit bdc27300f5718626a3817e6478e339f6cca6b994 Author: Paul Mundt Date: Wed Jan 20 03:38:56 2010 +0900 sh: Handle SH-4 FPU variants with broken CVR values. Usually we can look to the CVR to work out whether we have an FPU or not. Unfortunately not all parts comply with this, so just set the flag manually for all SH-4 parts and clear it on the only SH-4 that doesn't have one (SH4-501). Signed-off-by: Paul Mundt commit 50dd3145a58b5cef03a95c1b98765bcc847a72d0 Author: Magnus Damm Date: Tue Jan 19 13:52:28 2010 +0000 sh: update PFC to allow any enum in MARK lists This patch updates the PFC code with some clarifying comments together with a functional change. The change allows function type of GPIO to select any type of enum in their MARK lists. Without this patch only function type of enums are allowed in MARK lists. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 70911b861bfbba1851cbb3497635030f34703c7a Author: Paul Mundt Date: Wed Jan 20 02:45:05 2010 +0900 sh: Shut up noisy IOREMAP_FIXED=n build. The ioremap_fixed() stub neglected to provide a return value, resulting in a fairly noisy build. Signed-off-by: Paul Mundt commit 31c3af503eb75488aafb7a3d292b9e00962f2cee Author: Guennadi Liakhovetski Date: Tue Jan 19 11:14:31 2010 +0000 sh: support SIU sourcing from external clock on sh7722 Implement .set_rate() for all SH "div4 clocks," .enable(), .disable(), and .set_parent() for those, that support them. This allows, among other uses, reparenting of SIU clocks to the external source, and enabling and disabling of the IrDA clock on sh7722. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 14965f16b4bb8f3e51b09c1d8f61b8e98f9d12db Author: Paul Mundt Date: Tue Jan 19 20:10:33 2010 +0900 sh: Fix up sdk7780 and urquell builds. These two got broken in the heartbeat private data conversion, fix them up. Signed-off-by: Paul Mundt commit dea3cf1c3935047a5b0d21b21d26718e09135f97 Author: Paul Mundt Date: Tue Jan 19 20:09:28 2010 +0900 sh: urquell: Handle EXTAL configuration here, too. urquell happens to use the same mode pins and EXTAL configuration as SDK7786, so just copy it over. Signed-off-by: Paul Mundt commit c8098218271d19e7123d8b9137b9a4b87e5ffec0 Author: Paul Mundt Date: Tue Jan 19 19:38:36 2010 +0900 sh: mach-sdk7786: Detect/configure/propagate EXTAL. This uses the mode pins exposed through the FPGA to work out whether we're driven from EXTAL or not and does the appropriate setup and propagation through the clock framework. This will also -EINVAL out for anyone adding in their own oscillators, forcing proper configuration with the clock framework instead of proceeding on with bogus clock values. Signed-off-by: Paul Mundt commit 43a1839cb1e0e0ed08b8ace0adb3716865fd0c4c Author: Paul Mundt Date: Tue Jan 19 19:37:14 2010 +0900 sh: SH7786 clock framework rewrite. This rewrites the SH7786 clock framework support completely. It's reworked to provide all of the DIV4 and MSTP function clocks. This brings it in line with the current clock framework code and lets us drop SH7786 from the list of CPUs that require legacy CPG handling. Signed-off-by: Paul Mundt commit a4ae2b2b18d1766768987dc5de42dfa3c2a6d9f7 Author: Paul Mundt Date: Tue Jan 19 15:58:27 2010 +0900 sh64: Fixup build breakage from breakpoint handler rename. The breakpoint handler was renamed on sh32, but sh64 was overlooked in the conversion. Fix it up now. Signed-off-by: Paul Mundt commit d6db8888c8957fbdcd611e1321a6f6a0d6fb7e15 Author: Paul Mundt Date: Tue Jan 19 15:55:27 2010 +0900 sh64: Use the shared FPU state restorer. This kills off the sh64-specific state restorer and switches over to the generic one. Signed-off-by: Paul Mundt commit 88ea1a445a84fcfbedb810c01e84d6711352bd82 Author: Paul Mundt Date: Tue Jan 19 15:41:50 2010 +0900 sh64: Fix up PC casting in unaligned fixup notifier with 32bit ABI. Presently the build bails with the following: CC arch/sh/mm/alignment.o cc1: warnings being treated as errors arch/sh/mm/alignment.c: In function 'unaligned_fixups_notify': arch/sh/mm/alignment.c:69: warning: cast to pointer from integer of different size arch/sh/mm/alignment.c:74: warning: cast to pointer from integer of different size make[2]: *** [arch/sh/mm/alignment.o] Error 1 This is due to the fact that regs->pc is always 64-bit, while the pointer size depends on the ABI. Wrapping through instruction_pointer() takes care of the appropriate casting for both configurations. Signed-off-by: Paul Mundt commit 3ef2932b8c1fc89408ef1fd4b1e1c2caabc7f07d Author: Paul Mundt Date: Tue Jan 19 15:40:03 2010 +0900 sh64: Fix up the build for the thread_xstate changes. This updates the sh64 processor info with the sh32 changes in order to tie in to the generic task_xstate management code. Signed-off-by: Paul Mundt commit cb6d04468d16de5a6161167ec7e76a43be540a80 Author: Paul Mundt Date: Tue Jan 19 15:22:52 2010 +0900 sh: Kill off now bogus fixmap/page wiring documentation. The plans for _PAGE_WIRED were detailed in a comment with the fixmap code, but as it's now all taken care of, we no longer have any reason for keeping it around, particularly since it's no longer accurate. Kill it off. Signed-off-by: Paul Mundt commit bb29c677b366fdf4f6522cd82228a32567aa98c7 Author: Paul Mundt Date: Tue Jan 19 15:20:35 2010 +0900 sh: Split out MMUCR.URB based entry wiring in to shared helper. Presently this is duplicated between tlb-sh4 and tlb-pteaex. Split the helpers out in to a generic tlb-urb that can be used by any parts equipped with MMUCR.URB. At the same time, move the SH-5 code out-of-line, as we require single global state for DTLB entry wiring. Signed-off-by: Paul Mundt commit 046581f9623b53f551a93864bb74e15ad2514f0c Author: Paul Mundt Date: Tue Jan 19 14:23:39 2010 +0900 sh: Provide a dummy _PAGE_WIRED flag for non-X2TLB parts. This provides a dummy value for legacy parts which permits the entry wiring to be open-coded. The compiler takes care of optimizing the entry wiring away in these cases. Signed-off-by: Paul Mundt commit 6d63e73d520b690e4378cef3003eb5f01f7d128c Author: Paul Mundt Date: Tue Jan 19 14:00:14 2010 +0900 sh: Limit ioremap_prot() to 32bit pgprot parts. Presently ioremap_prot() uses an unsigned long to pass the pgprot value around. This results in the upper half of the pgprot being chomped when using 64-bit pgprots on a 32-bit ABI (X2TLB and SH-5). As the only users of ioremap_prot() are presently legacy parts, this doesn't cause too much of an issue. In the future when the interface is converted to use pgprot_t directly this can be re-enabled for the other parts, too. Signed-off-by: Paul Mundt commit f33609344acfdde1c1acedf6de3efe6b80af93a6 Author: Paul Mundt Date: Tue Jan 19 13:55:41 2010 +0900 sh: Convert p3_ioremap() users to ioremap_prot(). This kills off the ancient p3_ioremap(), converting over to the more generic ioremap_prot() instead. Signed-off-by: Paul Mundt commit acf2c9685fb8295cb62a623d7358a1cfde8b07ea Author: Paul Mundt Date: Tue Jan 19 13:49:19 2010 +0900 sh: Kill off duplicate address alignment in ioremap_fixed(). This is already taken care of in the top-level ioremap, and now that no one should be calling ioremap_fixed() directly we can simply throw the mapping displacement in as an additional argument. Signed-off-by: Paul Mundt commit d57d64080ddc0ff13fcffc898b6251074a482ba1 Author: Paul Mundt Date: Tue Jan 19 13:34:38 2010 +0900 sh: Prevent 64-bit pgprot clobbering across ioremap implementations. Presently 'flags' gets passed around a lot between the various ioremap helpers and implementations, which is only 32-bits. In the X2TLB case we use 64-bit pgprots which presently results in the upper 32bits being chopped off (which handily include our read/write/exec permissions). As such, we convert everything internally to using pgprot_t directly and simply convert over with pgprot_val() where needed. With this in place, transparent fixmap utilization for early ioremap works as expected. Signed-off-by: Paul Mundt commit 8605c46c171f02859fb3a32655fa226ce446c6ec Author: George Kadianakis Date: Sun Jan 17 21:19:31 2010 +0200 [SCSI] lpfc: restore MSI-X/MSI support A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts. This patch restores lpfc's ability to support MSI-X/MSI interrupts that the "Addition of SLI4 Interface - Base Support" patch [2] broke. It reestablishes MSI-X as the default interrupt method and in case MSI-X is not supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx. [1]: http://bugs.gentoo.org/show_bug.cgi?id=296319 [2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d [James Smart: Background: Nothing Broke. This was intended. We had originally enabled MSI-X by default, but in qualification within the last 12 months, we encountered a major catch-22: There were at least 4 platforms, from 2 major OEMs, that : - Say they support MSI-X - platform routines work and act as if they do. - We enable it, generate a test interrupt to check they really do deliver it, and it works. - But shortly after attachment, the system hangs or loses interrupts, resulting in a bad system behavior. Given the distro's picking up the 2.6.32 kernel, we had to stick with a default of MSI-X off, with user-enabled MSI-X as these platforms couldn't get fixed. However, we're also now encountering platforms that require MSI-X and never INTx, so we must change. It's desired also for also for performance reasons. So - now (2.6.33) is the right time to re-enable MSI-X by default. ] [jejb: fix up comment on default values] Signed-off-by: George Kadianakis Acked-by: James Smart Signed-off-by: James Bottomley commit e8a392444d338d3ce77d157bcbe4975828536efa Author: Giridhar Malavali Date: Tue Jan 12 13:02:49 2010 -0800 [SCSI] qla2xxx: Update version number to 8.03.02-k0. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit f8ac60855ebfa239319a4a9945799995feda3b06 Author: Giridhar Malavali Date: Tue Jan 12 13:02:48 2010 -0800 [SCSI] qla2xxx: Remove firmware hint for 81xx parts. Firmware is loaded from flash for these ISP types. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 9a069e196767d7b87184fd8d8211d22bb5b9c0b8 Author: Giridhar Malavali Date: Tue Jan 12 13:02:47 2010 -0800 [SCSI] qla2xxx: Add BSG support for FC ELS/CT passthrough and vendor commands. [jejb: fixed printk casting issues] Signed-off-by: Sarang Radke Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 1838ef1d782f7527e6defe87e180598622d2d071 Author: H. Peter Anvin Date: Mon Jan 18 14:00:34 2010 -0800 x86-64, rwsem: 64-bit xadd rwsem implementation For x86-64, 32767 threads really is not enough. Change rwsem_count_t to a signed long, so that it is 64 bits on x86-64. This required the following changes to the assembly code: a) %z0 doesn't work on all versions of gcc! At least gcc 4.4.2 as shipped with Fedora 12 emits "ll" not "q" for 64 bits, even for integer operands. Newer gccs apparently do this correctly, but avoid this problem by using the _ASM_ macros instead of %z. b) 64 bits immediates are only allowed in "movq $imm,%reg" constructs... no others. Change some of the constraints to "e", and fix the one case where we would have had to use an invalid immediate -- in that case, we only care about the upper half anyway, so just access the upper half. Signed-off-by: H. Peter Anvin Cc: Linus Torvalds LKML-Reference: commit 90a86fc05ffefe48581c88106d0b9cc37f6e060c Author: Joe Carnuccio Date: Tue Jan 12 13:02:46 2010 -0800 [SCSI] qla2xxx: Enhance EEH support and enable AER support. qla2xxx: EEH added call to pci_restore_state. qla2xxx: EEH added delay in slot reset routine. qla2xxx: EEH moved call to pci_save_state(), see (1). qla2xxx: EEH additional changes for RHEL5.5. qla2xxx: EEH added function call, removed function call, see (2). (1) In qla2xxx_probe_one the call to pci_save_state() has been moved to after the call to qla2xxx_request_irqs(). (2) Add call to pci_disable_pcie_error_reporting() in remove_one. Delete call to pci_cleanup_aer_uncorrect_error_status() in pci_resume. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 9db0fb3aa4cc4e42241e194ef64931321fa72196 Author: Jayamohan Kallickal Date: Tue Jan 5 05:12:43 2010 +0530 [SCSI] be2iscsi: Enable TEXT req resp This patch enables TEXT Request / Response for the driver Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit aa874f0738ecac7e5ac13b4d808a1026dcb5367d Author: Jayamohan Kallickal Date: Tue Jan 5 05:12:03 2010 +0530 [SCSI] be2iscsi: Fixing initialization of can_queue This patch fixes can_queue being uninitiallized since it was done before beiscsi_get_params was called. Thanks to Mike Christie for identifying this Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit da7408c800e3ae293275f52497d0ef7a9b09c9e4 Author: Jayamohan Kallickal Date: Tue Jan 5 05:11:23 2010 +0530 [SCSI] be2iscsi: The session failure only when Link Goes down This fixes a situation where the sessions were being killed whenever LinkUP is notified rather than LinkDown Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 756d29c8c7ed8887ed7d752371ce2f6d12399267 Author: Jayamohan Kallickal Date: Tue Jan 5 05:10:46 2010 +0530 [SCSI] be2iscsi: Enable async mode for mcc rings This patches enables async mode for mcc rings so that multiple requests can be queued. Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 51a462500fbed4a1e8110dc60a421a3f12b9580b Author: Jayamohan Kallickal Date: Tue Jan 5 05:10:01 2010 +0530 [SCSI] be2iscsi: No requirement for endianess change for data_count This patch removes the endianess change that was wrongly added for data_count Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 0ecb0b45f22df911c564070b64af21db36934f0f Author: Jayamohan Kallickal Date: Tue Jan 5 05:09:19 2010 +0530 [SCSI] be2iscsi: decide which requests need completion This patch decides whether ack based completion is required or not Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit d7aea67b8a7665fe5e53cdf59ba76c9b8d67b751 Author: Jayamohan Kallickal Date: Tue Jan 5 05:08:39 2010 +0530 [SCSI] be2iscsi: Use of opcode in beiscsi_alloc_pdu This patch enables use of opcode that is passed in Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 2807afb7411b97834fc7338f3735f3d152443551 Author: Jayamohan Kallickal Date: Tue Jan 5 05:07:49 2010 +0530 [SCSI] be2iscsi:moved pci_set_drvdata to inside beiscsi_hba_alloc This patch moves pci_set_drvdata to inside beiscsi_hba_alloc Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 7bd6e25cdbee7d4f6bc4946dc914310220e637b8 Author: Jayamohan Kallickal Date: Tue Jan 5 05:07:02 2010 +0530 [SCSI] be2iscsi: Added opcode for LOGOUT_RSP, TEXT_RESP, TMFUNC_RSP This patch adds opcodes in thecompletion path that were missed out earlier Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit d543148883f65c34e6cd54c5e9ed0592dfbb6acb Author: Jayamohan Kallickal Date: Tue Jan 5 05:06:21 2010 +0530 [SCSI] be2iscsi: Link Wrb with next Wrb This patch will link the current allocated wrb with the next wrb that will be allocated. This is a requirement from the chip. Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit c24622886fb934313a2a43ea1f516cbf1ddd947b Author: Jayamohan Kallickal Date: Tue Jan 5 05:05:34 2010 +0530 [SCSI] be2iscsi: Move freeing of resources to stop_conn We need to hold on to ep resources untill invalidate and close connection are completed Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 7da5087971b1a187f92be4efb74a991ac9ccb0a3 Author: Jayamohan Kallickal Date: Tue Jan 5 05:04:12 2010 +0530 [SCSI] be2iscsi: Use start cid and number of cid and icd from FW This patch enablesi be2iscsi to use the start number and number of cids/icd provided by FW rather than hard coded values. Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 1fe6dbf4d0afba52ad0249f398e6296a1433a004 Author: Dave Jones Date: Mon Jan 4 10:19:34 2010 -0500 [SCSI] gdth: Convert to use regular kernel types. converted using this script.. perl -p -i -e 's|ulong32|u32|g' drivers/scsi/gdth* perl -p -i -e 's|ulong64|u64|g' drivers/scsi/gdth* perl -p -i -e 's|ushort|u16|g' drivers/scsi/gdth* perl -p -i -e 's|unchar|u8|g' drivers/scsi/gdth* perl -p -i -e 's|ulong|unsigned long|g' drivers/scsi/gdth* perl -p -i -e 's|PACKED|__attribute__((packed))|g' drivers/scsi/gdth* sha1sum of the generated code was identical before and after. Signed-off-by: Dave Jones Signed-off-by: James Bottomley commit e7efe5932b1d3916c79326a4221693ea90a900e2 Author: Douglas Gilbert Date: Sun Jan 3 13:51:15 2010 -0500 [SCSI] skip sense logging for some ATA PASS-THROUGH cdbs Further to the lsml thread titled: "does scsi_io_completion need to dump sense data for ata pass through (ck_cond = 1) ?" This is a patch to skip logging when the sense data is associated with a SENSE_KEY of "RECOVERED_ERROR" and the additional sense code is "ATA PASS-THROUGH INFORMATION AVAILABLE". This only occurs with the SAT ATA PASS-THROUGH commands when CK_COND=1 (in the cdb). It indicates that the sense data contains ATA registers. Smartmontools uses such commands on ATA disks connected via SAT. Periodic checks such as those done by smartd cause nuisance entries into logs that are: - neither errors nor warnings - pointless unless the cdb that caused them are also logged Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley commit 5d7ebb9c7a04d29efce1099024944dfd94d9f63c Author: Dan Carpenter Date: Mon Dec 28 20:08:39 2009 +0200 [SCSI] FlashPoint: fix off by one tests The check on MAX_SCSI_TAR should be >= instead of > or we could go past the end of the array. Joe Eykholt aslo correctly points out that the check on MAX_LUN should be >= as well. That matches with how it is used in the rest of the file. Signed-off-by: Dan Carpenter Signed-off-by: James Bottomley commit 0ed8570ef4d51bb46e2028b2e3c3ddd1f860e193 Author: Jiri Slaby Date: Mon Dec 21 16:27:55 2009 -0800 [SCSI] cxgbi3: remove unnecessary NULL test Stanse found that c3cn is poked many times around in cxgb3i_conn_pdu_ready, there is no need to check if it is NULL. Remove the test. Signed-off-by: Jiri Slaby Reviewed-by: Mike Christie Acked-by: Karen Xie Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 3dbf6c0012d12473461b7485006db373e8192fa5 Author: Julia Lawall Date: Sat Dec 19 08:17:27 2009 +0100 [SCSI] pm8001: Use kzalloc for allocating only one thing Use kzalloc rather than kcalloc(1,...) The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ @@ - kcalloc(1, + kzalloc( ...) // Signed-off-by: Julia Lawall Acked-by:Jack Wang Signed-off-by: James Bottomley commit 4ffd005a4dedf536330756742595ec904f740f48 Author: Kashyap, Desai Date: Wed Dec 16 19:04:49 2009 +0530 [SCSI] mptfusion: Bump version 03.04.14 Version upgrade to 3.04.14. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit de81562f2f9852a1f2c609ede1e26c07ed457c60 Author: Kashyap, Desai Date: Wed Dec 16 19:02:59 2009 +0530 [SCSI] mptfusion: corrected if condition check for SCSIIO and PASSTHROUGH commands Modified the function type check to verify it is not MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH or MPI_FUNCTION_SCSI_IO_REQUEST. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 64e155adc250ab68255b761c1faa77799aa1e41a Author: Kashyap, Desai Date: Wed Dec 16 19:02:29 2009 +0530 [SCSI] mptfusion: block device when target is being removed by FW Add support to set the sdev state to SDEV_BLOCK during device removal to stop IOs comming to the deleting driver immediately. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit e0f553ab58f478321717100e44b28f765bd2a045 Author: Kashyap, Desai Date: Wed Dec 16 19:01:58 2009 +0530 [SCSI] mptfusion: Added sysfs expander manufacture information at the time of expander add. Added new function mptsas_exp_manufacture_info, which will obtain the REPORT_MANUFACTURING, and fill the details into the sas_expander_device object when the expander port is created. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 65f89c2396aa113a06fe7e2f6ba46f0712cb4806 Author: Kashyap, Desai Date: Wed Dec 16 19:01:13 2009 +0530 [SCSI] mptfusion: Added MPI_SCSIIO_CONTROL_HEADOFQ priority There is a 'ioprio' field in the BIO and the Request structure. check this priority field and set MPI_SCSIIO_CONTROL_HEADOFQ to pass down I/O priority. An enhancement to the LSI Disk Array Controller firmware is being developed to look at the Head Of Queue bit to allow I/Os with the HOQ bit set to be processed before I/Os which do not have the HOQ bit set. In order to set the HOQ bit, the mpt fusion driver needs to look at the 'ioprio' field in the request structure associated with the scsi command. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 02507a80b35edd720480540d917e9f92cc371009 Author: Finn Thain Date: Sat Dec 5 12:30:42 2009 +1100 [SCSI] mac_esp: fix PIO mode, take 2 The mac_esp PIO algorithm no longer works in 2.6.31 and crashes my Centris 660av. So here's a better one. Also, force async with esp_set_offset() rather than esp_slave_configure(). One of the SCSI drives I tested still doesn't like the PIO mode and fails with "esp: esp0: Reconnect IRQ2 timeout" (the same drive works fine in PDMA mode). This failure happens when esp_reconnect_with_tag() tries to read in two tag bytes but the chip only provides one (0x20). I don't know what causes this. I decided not to waste any more time trying to fix it because the best solution is to rip out the PIO mode altogether and use the DMA engine. Signed-off-by: Finn Thain Signed-off-by: James Bottomley commit f2818663c82b7297ff4aa38cbddb870dc02f7104 Author: Hannes Reinecke Date: Tue Dec 15 09:26:06 2009 +0100 [SCSI] scsi_transport_fc: Remove capping from dev_loss_tmo Currently dev_loss_tmo is capped by SCSI_DEVICE_BLOCK_MAX_TIMEOUT. This causes problem with multipathing when the 'no_path_retry' setting exceeds the dev_loss_tmo setting, as then the system might run into a deadlock when all paths have been removed temporarily for longer than dev_loss_tmo. The principal reasons for the capping has been that we should not allow a remote port to remain in status 'blocked' indefinitely, so the capping is there to ensure that the port status is being reset eventually. However, the fast_io_fail_tmo will also move the remote port out of the 'blocked' state, so for any HBA driver implementing both the capping should really be on the fast_io_fail_tmo, and not on the dev_loss_tmo. This patch implements just that, ie the fast_io_fail_tmo is capped to SCSI_DEVICE_BLOCK_TIMEOUT and the capping is removed from dev_loss_tmo when fast_io_fail_tmo is set. This allows us to synchronize the dev_loss_tmo setting to the 'no_path_retry' setting from multipathing thus avoiding the deadlock. Signed-off-by: Hannes Reinecke Acked-by: James Smart Signed-off-by: James Bottomley commit e47c11c7a402a054a85cb917a6ed020f6b5fae04 Author: Erik Ekman Date: Mon Dec 14 21:21:56 2009 +0100 [SCSI] fusion: fix warning when not using procfs Fixes the following warning: drivers/message/fusion/mptbase.c:129: warning: 'mpt_proc_root_dir' defined but not used also moves it from public data section since it is static. Signed-off-by: Erik Ekman Acked-by: "Desai, Kashyap" Signed-off-by: James Bottomley commit 340f052001d46aff9e7e853c492e0d3f5554d42f Author: Roel Kluin Date: Tue Dec 8 14:08:56 2009 -0800 [SCSI] ibmmca: fix buffer overflow Allows i == IM_MAX_HOSTS, which is out of range. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 4a02462af1f4c3498e6a330ffd5c063118309b31 Author: Roel Kluin Date: Tue Dec 8 14:08:59 2009 -0800 [SCSI] u14-34f: fix buffer overflow This allows i == MAX_INT_PARAM, which is out of range for ints[] Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8fe79162a6807bf120140d64e96da54fc273b88b Author: Roel Kluin Date: Tue Dec 8 14:08:57 2009 -0800 [SCSI] eata: fix buffer overflow Allows i == MAX_INT_PARAM, which is out of range. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 9b7dac086bec7c71722d6e79464609e17f0996e7 Author: Bart Van Assche Date: Fri Dec 4 20:43:37 2009 +0100 [SCSI] ibmvscsi: fix a typo in a source code comment Signed-off-by: Bart Van Assche Acked-by: Brian King Signed-off-by: James Bottomley commit 40c4f3e4eaa7eda2b0a00abd4d69778808d26f77 Author: Bart Van Assche Date: Fri Dec 4 20:38:49 2009 +0100 [SCSI] libsrp: fix typo -- replace RDAM by RDMA Fixed a typo in libsrp.c: replaced two occurrences of 'RDAM' by 'RDMA'. Signed-off-by: Bart Van Assche Acked-by: FUJITA Tomonori Signed-off-by: James Bottomley commit e3deec090558d5cb5ffdc574e5560f3ed9723394 Author: James Bottomley Date: Tue Nov 3 12:33:07 2009 -0600 [SCSI] eliminate potential kmalloc failure in scsi_get_vpd_page() The best way to fix this is to eliminate the intenal kmalloc() and make the caller allocate the required amount of storage. Signed-off-by: James Bottomley commit af1415314a4190b8ea06e53808d392fcf91555af Author: Paul Mundt Date: Mon Jan 18 21:45:00 2010 +0900 sh: Flag __ioremap_caller() __init_refok. The mem_init_done test makes sure that this path is only entered in __init cases, so leaving ioremap_fixed() as __init and flagging the caller __init_refok is sufficient. Signed-off-by: Paul Mundt commit 12b6b01cb47dc3eefbef866592193661dad7afb9 Author: Paul Mundt Date: Mon Jan 18 21:33:08 2010 +0900 sh: Handle unmapping of fixed slots transparently in iounmap(). iounmap() should balance whatever is done by ioremap(). Presently ioremap() can do any of fixed mappings, PMB mappings, or page table mappings. Presently only the latter two are handled through the standard unmap path, so tie in the fixed unmapping, too. Signed-off-by: Paul Mundt commit 4f744affc345f8b158615e0cdd01d1f4985837c3 Author: Paul Mundt Date: Mon Jan 18 21:30:29 2010 +0900 sh: Make iounmap_fixed() return success/failure for iounmap() path. This converts iounmap_fixed() to return success/error if it handled the unmap request or not. At the same time, drop the __init label, as this can be called in to later. Signed-off-by: Paul Mundt commit 0b59e38ffaf7b201ff6afe5b736365d16848c7e3 Author: Paul Mundt Date: Mon Jan 18 21:21:32 2010 +0900 sh: Merge _32/_64 ioremap implementations. There is nothing of interest in the _64 version anymore, so the _32 one can be renamed and used unconditionally. Signed-off-by: Paul Mundt commit edf711b66f2a8a9629aa253ad8b3a5a03b5d7af5 Author: Paul Mundt Date: Mon Jan 18 21:20:13 2010 +0900 sh: Fixup the IOREMAP_FIXED=n build. Presently the fixed ioremap API is only defined when CONFIG_IOREMAP_FIXED is set. As we want to call in to it unconditionally, provide a stubbed out interface. Signed-off-by: Paul Mundt commit d9b9487af79955a8e8fcddc963f56697e020cfed Author: Paul Mundt Date: Mon Jan 18 21:08:32 2010 +0900 sh: Handle early ioremaps through fixed mappings. This adds in a mem_init_done to work out when a standard ioremap() is possible, falling back to the fixmap based ioremap otherwise. Signed-off-by: Paul Mundt commit 0c54de146ef4303ed3c5879b043894c8db637507 Merge: 8faba61 7dc9c48 Author: Paul Mundt Date: Mon Jan 18 20:47:37 2010 +0900 Merge branch 'sh/stable-updates' commit 8faba6121566248330e738d25a2c43d7500fb9f0 Merge: 4291b73 78bf04f Author: Paul Mundt Date: Mon Jan 18 20:42:39 2010 +0900 Merge branch 'sh/ioremap-fixed' commit 4291b730cd0f0cf98a90d946b6cabbd804397350 Author: Paul Mundt Date: Mon Jan 18 20:39:49 2010 +0900 sh: Need IRQs enabled for init_fpu(). This tosses in a local_irq_enable()/disable() pair around the init_fpu() callsite in the FPU state restore exception handler. Fixes up a slab BUG triggered by making a slab cache allocation that can sleep whilst irqs_disabled(). This follows the behaviour undertaken by the x86 implementation. Signed-off-by: Paul Mundt commit 3d467676abf5f01f5ee99056273a58486968e252 Author: Matt Fleming Date: Mon Jan 18 19:33:10 2010 +0900 sh: Setup early PMB mappings. More and more boards are going to start shipping that boot with the MMU in 32BIT mode by default. Previously we relied on the bootloader to setup PMB mappings for use by the kernel but we also need to cater for boards whose bootloaders don't set them up. If CONFIG_PMB_LEGACY is not enabled we have full control over our PMB mappings and can compress our address space. Usually, the distance between the the cached and uncached mappings of RAM is always 512MB, however we can compress the distance to be the amount of RAM on the board. pmb_init() now becomes much simpler. It no longer has to calculate any mappings, it just has to synchronise the software PMB table with the hardware. Tested on SDK7786 and SH7785LCR. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e03bcb68629c7f0728c95f1afe06ce48565c7713 Author: Milton Miller Date: Mon Jan 18 13:00:51 2010 +1100 generic-ipi: Optimize accesses by using DEFINE_PER_CPU_SHARED_ALIGNED for IPI data The smp ipi data is passed around and given write access by other cpus and should be separated from per-cpu data consumed by this cpu. Looking for hot lines, I saw call_function_data shared with tick_cpu_sched. Signed-off-by: Milton Miller Acked-by: Anton Blanchard Acked-by: Jens Axboe Cc: Andrew Morton Cc: Linus Torvalds Cc: Peter Zijlstra Cc: : Nick Piggin LKML-Reference: <20100118020051.GR12666@kryten> Signed-off-by: Ingo Molnar commit 00097c4fdf117d9845d772f571a987ae95523f8c Author: Thadeu Lima de Souza Cascardo Date: Sun Jan 17 19:44:44 2010 -0200 x86, trivial: Fix grammo in tsc comment about Geode TSC reliability Signed-off-by: Thadeu Lima de Souza Cascardo Cc: marcelo@kvack.org Cc: dilinger@collabora.co.uk Cc: trivial@kernel.org LKML-Reference: <1263764685-9871-1-git-send-email-cascardo@holoscopio.com> Signed-off-by: Ingo Molnar commit f426a7e02918e2e992b28adeb02e5a0ab39a7a25 Merge: 231e36f 329c0e0 Author: Ingo Molnar Date: Mon Jan 18 08:56:41 2010 +0100 Merge branch 'perf/scheduling' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core commit 4126faf0ab7417fbc6eb99fb0fd407e01e9e9dfe Author: Linus Torvalds Date: Sun Jan 17 10:24:07 2010 -0800 x86: Fix breakage of UML from the changes in the rwsem system The patches 5d0b7235d83eefdafda300656e97d368afcafc9a and bafaecd11df15ad5b1e598adc7736afcd38ee13d broke the UML build: On Sun, 17 Jan 2010, Ingo Molnar wrote: > > FYI, -tip testing found that these changes break the UML build: > > kernel/built-in.o: In function `__up_read': > /home/mingo/tip/arch/x86/include/asm/rwsem.h:192: undefined reference to `call_rwsem_wake' > kernel/built-in.o: In function `__up_write': > /home/mingo/tip/arch/x86/include/asm/rwsem.h:210: undefined reference to `call_rwsem_wake' > kernel/built-in.o: In function `__downgrade_write': > /home/mingo/tip/arch/x86/include/asm/rwsem.h:228: undefined reference to `call_rwsem_downgrade_wake' > kernel/built-in.o: In function `__down_read': > /home/mingo/tip/arch/x86/include/asm/rwsem.h:112: undefined reference to `call_rwsem_down_read_failed' > kernel/built-in.o: In function `__down_write_nested': > /home/mingo/tip/arch/x86/include/asm/rwsem.h:154: undefined reference to `call_rwsem_down_write_failed' > collect2: ld returned 1 exit status Add lib/rwsem_64.o to the UML subarch objects to fix. LKML-Reference: Signed-off-by: H. Peter Anvin commit 8b0e58a70a7a41443c779de074288035b014cb94 Author: Stephane Chatty Date: Wed Jan 13 21:52:34 2010 +0100 HID: let hid-input accept digitizers Extended IS_INPUT_APPLICATION to accept digitzers that are actual input devices (touchscreens, light pens, touch pads, white boards) Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 593f010bc0d8f7fde2ce948cac3f77f6a3d9db2b Author: Dominik Brodowski Date: Sat Jan 2 22:59:15 2010 +0100 pcmcia: do not lock socket driver module in pcmcia_get_socket() Do not lock the socket driver module in pcmcia_get_socket(), as the PCMCIA core can handle a socket module removal: In pcmcia_unregister_socket(), we explicitely wait for the last put_device() to succeed. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 3f32b3c093eddc03ed477ae0d7a6938db6b94a05 Author: Dominik Brodowski Date: Sat Jan 2 22:22:50 2010 +0100 pcmcia: rsrc_nonstatic io memory probe improvements Add a lot of documentation to the rsrc_nonstatic io memory probe functions. Also, add a first memory probe call -- just checking whether request_resource() succeeds -- upon adding of resources. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 180c33ee409eb3ed605d4ad9884e4a526a7655ff Author: Dominik Brodowski Date: Sat Jan 2 17:34:09 2010 +0100 pcmcia: call CIS cleanup from ds.c As ds.c is the only real user of CIS access functions, call the cleanup functions from ds.c, too. Signed-off-by: Dominik Brodowski commit 57197b9b7712eb19f5344c466e8aefbac1adbe55 Author: Dominik Brodowski Date: Sat Jan 2 17:27:33 2010 +0100 pcmcia: CardBus doesn't need CIS access At least no in-kernel CardBus-capable PCI driver makes use of the CIS access functions. Therefore, it seems sensible to remove this unused code, and cleanup cardbus.c a lot. CC: Jesse Barnes CC: Linus Torvalds Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 88b060d6c03fcb9e4d2018b4349954c4242a5c7f Author: Dominik Brodowski Date: Sat Jan 2 14:14:23 2010 +0100 pcmcia: improve check for same card in slot after resume During a suspend/resume cycle, an user may change the card in the PCMCIA/CardBus slot. The pcmcia_core can at least look at the socket state to check whether it is the same. For PCMCIA devices, move the detection and handling of such a change to ds.c. For CardBus devices, the PCI hotplug interface doesn't offer a "rescan" facility which also _removes_ devices no longer to be found behind a bridge. Therefore, remove and re-add all devices unconditionally. CC: Jesse Barnes CC: Linus Torvalds Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit f131ddc4bd1713385c70606555d4d63bed5ec3fd Author: Dominik Brodowski Date: Sat Jan 2 12:58:10 2010 +0100 pcmcia: cleanup pccard_validate_cis() Cleanup pccard_validate_cis() and make it return an error code on all failures, not merely on some failures. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 904e377744bfdcea276c27167fa6a609929f39dc Author: Dominik Brodowski Date: Sat Jan 2 12:28:04 2010 +0100 pcmcia: validate CIS, not CIS cache. In pccard_validate_cis(), validate the card CIS, not the CIS cache. Also, destroy the CIS cache if pccard_validate_cis fails. Furthermore, do not remove the fake CIS in destroy_cis_cache() but do so explicitely in the code paths where it makes sense. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit fa0b3bc504ff813cc05988bb30bbb6c6a0263eb4 Author: Dominik Brodowski Date: Sat Jan 2 12:08:22 2010 +0100 pcmcia: do not meddle with already assigned resources Do not release any iomem resources already in use. Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit cd2e18fe785082b132d960063df83a02acc9a4f2 Author: Dominik Brodowski Date: Fri Jan 1 17:43:08 2010 +0100 pcmcia: remove remaining unused IRQ_FIRST_SHARED parameter Komuro pointed out correctly that I missed one IRQ_FIRST_SHARED parameter in smc91c92_cs.c, and that another line could be writter more beautifully. CC: netdev@vger.kernel.org CC: Komuro Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 933a838aa1aae8388438bb002fbdaf6fca519a5c Author: Dominik Brodowski Date: Tue Dec 29 18:21:39 2009 +0100 pcmcia: make use of pcmcia_dev_resume() return value In runtime_resume(), do not throw away the return value of pcmcia_dev_resume(), for we can use it (at least) in pcmcia_store_pm_state(). This also fixes the pointless assignment previosly seen there, as noted by Dan Carpenter. CC: Dan Carpenter Tested-by: Wolfram Sang Signed-off-by: Dominik Brodowski commit 329c0e012b99fa2325a0be205c052e4aba690f16 Author: Frederic Weisbecker Date: Sun Jan 17 12:56:05 2010 +0100 perf: Better order flexible and pinned scheduling When a task gets scheduled in. We don't touch the cpu bound events so the priority order becomes: cpu pinned, cpu flexible, task pinned, task flexible. So schedule out cpu flexibles when a new task context gets in and correctly order the groups to schedule in: task pinned, cpu flexible, task flexible. Cpu pinned groups don't need to be touched at this time. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit 7defb0f879bbcfe29e3c6f29d685d4f29b7a0700 Author: Frederic Weisbecker Date: Sun Jan 17 12:15:31 2010 +0100 perf: Don't schedule out/in pinned events on task tick We don't need to schedule in/out pinned events on task tick, now that pinned and flexible groups can be scheduled separately. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit 5b0311e1f2464547fc6f17a82d7ea2538c8c7a70 Author: Frederic Weisbecker Date: Sun Jan 17 11:59:13 2010 +0100 perf: Allow pinned and flexible groups to be scheduled separately Tune the scheduling helpers so that we can choose to schedule either pinned and/or flexible groups from a context. And while at it, refactor a bit the naming of these helpers to make these more consistent and flexible. There is no (intended) change in scheduling behaviour in this patch. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit 42cce92f4ddfa41e2dfe26fdcad4887943c032f2 Author: Frederic Weisbecker Date: Sun Jan 17 10:36:08 2010 +0100 perf: Make __perf_event_sched_out static __perf_event_sched_out doesn't need to be globally available, make it static. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit 7d6f75eb21b84cdc5dfb09789974f02b42a89058 Author: Max Vozeler Date: Sun Jan 17 21:55:31 2010 +1100 crypto: md5 - Add export support This patch adds export/import support to md5. The exported type is defined by struct md5_state. This is modeled after the equivalent change to sha1_generic. Signed-off-by: Max Vozeler Signed-off-by: Herbert Xu commit 6c3f975a4cafaf4dcc9795385da6d42caa37ddeb Author: Márton Németh Date: Sun Jan 17 21:54:01 2010 +1100 crypto: Make Open Firmware device id constant From: Márton Németh The match_table field of the struct of_device_id is constant in so it is worth to make the initialization data also constant. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @r@ disable decl_init,const_decl_init; identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Cc: Julia Lawall Cc: cocci@diku.dk Signed-off-by: Herbert Xu commit 73c89c15b959adf06366722c4be8d2eddec0a529 Author: Tobias Brunner Date: Sun Jan 17 21:52:11 2010 +1100 crypto: gcm - Add RFC4543 wrapper for GCM This patch adds the RFC4543 (GMAC) wrapper for GCM similar to the existing RFC4106 wrapper. The main differences between GCM and GMAC are the contents of the AAD and that the plaintext is empty for the latter. Signed-off-by: Tobias Brunner Signed-off-by: Herbert Xu commit 231e36f4d2e63dd770db80b9f5113310c2bcfcfd Author: Masami Hiramatsu Date: Thu Jan 14 00:12:12 2010 -0500 tracing/kprobe: Update kprobe tracing self test for new syntax Update kprobe tracing self test for new syntax (it supports deleting individual probes, and drops $argN support) and behavior change (new probes are disabled in default). This selftest includes the following checks: - Adding function-entry probe and return probe with arguments. - Enabling these probes. - Deleting it individually. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <20100114051211.7814.29436.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar commit 6d686f4564f3fc7c6e678852919e48ad331d276b Author: H Hartley Sweeten Date: Wed Jan 13 20:21:52 2010 -0700 sched: Don't expose local functions kernel/sched: don't expose local functions The get_rr_interval_* functions are all class methods of struct sched_class. They are not exported so make them static. Signed-off-by: H Hartley Sweeten Cc: Peter Zijlstra LKML-Reference: <201001132021.53253.hartleys@visionengravers.com> Signed-off-by: Ingo Molnar commit 24a53652e361321b09df5040711e69387344ce09 Author: Frederic Weisbecker Date: Thu Jan 14 08:23:15 2010 +0100 tracing: Drop the tr check from the graph tracing path Each time we save a function entry from the function graph tracer, we check if the trace array is set, which is wasteful because it is set anyway before we start the tracer. All we need is to ensure we have good read and write orderings. When we set the trace array, we just need to guarantee it to be visible before starting tracing. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Cc: Lai Jiangshan Cc: Paul E. McKenney LKML-Reference: <1263453795-7496-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0eda7385db1f30271ade830a231006938a76fb53 Author: Hitoshi Mitake Date: Sat Jan 16 21:31:16 2010 +0900 perf probe: Fix build error of builtin-probe.c I got this build error when building tip tree: | cc1: warnings being treated as errors | builtin-probe.c:123: error: 'opt_show_lines' defined but not used This error is caused by: | #ifndef NO_LIBDWARF | OPT_CALLBACK('L', "line", NULL, | "FUNC[:RLN[+NUM|:RLN2]]|SRC:ALN[+NUM|:ALN2]", | "Show source code lines.", opt_show_lines), | #endif My environment defines NO_LIBDWARF, so gcc treated opt_show_lines() as garbage. So I moved opt_show_lines() into #ifndef NO_LIBDWARF ... #endif block. Signed-off-by: Hitoshi Mitake Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Masami Hiramatsu Cc: Mike Galbraith LKML-Reference: <1263645076-9993-1-git-send-email-mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 69e3f52d1b1a3ed4390bb8a09bb1324265af7fbf Author: Frederic Weisbecker Date: Sat Jan 16 14:21:15 2010 +0100 perf: Fix implicit declaration of getline in util.c getline() is considered as undeclared in util/util.c because it includes string.h, that in turn includes stdio.h, without having defined _GNU_SOURCE. But util.c also includes util.h that handles the _GNU_SOURCE and all the needed inclusions already. Let's include only util.h and sys/mman.h which is the only one header not handled by util.h This fixes the following build error: util/util.c: In function 'slow_copyfile': util/util.c:49: erreur: implicit declaration of function 'getline' util/util.c:49: erreur: nested extern declaration of 'getline' Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras LKML-Reference: <1263648075-3858-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 78bf04fc96f509474c6b443b515d6b79bb7bf584 Author: Paul Mundt Date: Sun Jan 17 01:45:26 2010 +0900 sh: Tidy up non-translatable checks in iounmap path. This tidies up the iounmap path with consolidated checks for nontranslatable mappings. This is in preparation of unifying the implementations. Signed-off-by: Paul Mundt commit 597fe76ec36e782aa45b8dac5e12e4dbb0588967 Author: Matt Fleming Date: Thu Nov 5 20:49:05 2009 +0000 sh: Use ioremap_fixed() to implement SH-5 ioremap() Use the fixmap-based memory mapping implementation for SH-5's ioremap() functions and delete the old static allocator that was borrowed from sparc. Signed-off-by: Matt Fleming commit 6f82b6ebb1dcc0c3c23820a70a5d79a60c4f5e84 Author: Matt Fleming Date: Thu Nov 5 08:01:10 2009 +0000 sh: Use ioremap_fixmed to map the SM501 DRAM config register We need to write to the DRAM config register very early and at such an early stage ioremap() is not available. So use ioremap_fixed() to map the register. The reason that we are avoiding using the legacy P2 mapping is that there will come a day when the legacy P2 mappings no longer exist. Signed-off-by: Matt Fleming commit 4d35b93a66e9b87df20784fcf130d2e8760be53f Author: Matt Fleming Date: Thu Nov 5 07:54:17 2009 +0000 sh: Add fixed ioremap support Some devices need to be ioremap'd and accessed very early in the boot process. It is not possible to use the standard ioremap() function in this case because that requires kmalloc()'ing some virtual address space and kmalloc() may not be available so early in boot. This patch provides fixmap mappings that allow physical address ranges to be remapped into the kernel address space during the early boot stages. Signed-off-by: Matt Fleming commit 07cad4dc1bfdaefd20c6329e9d8179ad1c600e92 Author: Matt Fleming Date: Tue Nov 17 22:03:41 2009 +0000 sh: Generalise the pte handling code for the fixmap path Generalise the code for setting and clearing pte's and allow TLB entries to be pinned and unpinned if the _PAGE_WIRED flag is present. Signed-off-by: Matt Fleming commit 24ef7fc4dcc57afa0c33166c25bfe7676ffd4296 Author: Matt Fleming Date: Thu Nov 19 21:11:05 2009 +0000 sh: Acquire some more page flags for SH-5. We need some more page flags to hook up _PAGE_WIRED (and eventually other things). So use the unused PTE bits above the PPN field as no implementations use these for anything currently. Now that we have _PAGE_WIRED let's provide the SH-5 functions for wiring up TLB entries. Signed-off-by: Matt Fleming commit 8eda55142080f0373b1f0268fe6d6807f193e713 Author: Matt Fleming Date: Tue Nov 17 21:05:31 2009 +0000 sh: New extended page flag to wire/unwire TLB entries Provide a new extended page flag, _PAGE_WIRED and an SH4 implementation for wiring TLB entries and use it in the fixmap code path so that we can wire the fixmap TLB entry. Signed-off-by: Matt Fleming commit d6f962b57bfaab62891c7abbf1469212a56d6103 Author: Frederic Weisbecker Date: Sun Jan 10 01:25:51 2010 +0100 perf: Export software-only event group characteristic as a flag Before scheduling an event group, we first check if a group can go on. We first check if the group is made of software only events first, in which case it is enough to know if the group can be scheduled in. For that purpose, we iterate through the whole group, which is wasteful as we could do this check when we add/delete an event to a group. So we create a group_flags field in perf event that can host characteristics from a group of events, starting with a first PERF_GROUP_SOFTWARE flag that reduces the check on the fast path. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit e286417378b4f9ce6e473b556193465ab22e12ab Author: Frederic Weisbecker Date: Sat Jan 9 21:05:28 2010 +0100 perf: Round robin flexible groups of events using list_rotate_left() This is more proper that doing it through a list_for_each_entry() that breaks after the first entry. v2: Don't rotate pinned groups as its not needed to time share them. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit 5908cdc85eb30f8d07f2cb11d4a62334d7229048 Author: Frederic Weisbecker Date: Sat Jan 9 20:53:14 2010 +0100 list: Introduce list_rotate_left() Bring a new list_rotate_left() helper that rotates a list to the left. This is useful for codes that need to round roubin elements which queue priority increases from tail to head. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit 889ff0150661512d79484219612b7e2e024b6c07 Author: Frederic Weisbecker Date: Sat Jan 9 20:04:47 2010 +0100 perf/core: Split context's event group list into pinned and non-pinned lists Split-up struct perf_event_context::group_list into pinned_groups and flexible_groups (non-pinned). This first appears to be useless as it duplicates various loops around the group list handlings. But it scales better in the fast-path in perf_sched_in(). We don't anymore iterate twice through the entire list to separate pinned and non-pinned scheduling. Instead we interate through two distinct lists. The another desired effect is that it makes easier to define distinct scheduling rules on both. Changes in v2: - Respectively rename pinned_grp_list and volatile_grp_list into pinned_groups and flexible_groups as per Ingo suggestion. - Various cleanups Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Ingo Molnar Cc: Arnaldo Carvalho de Melo commit 881516eb828a3f7276c378bcef96b7788fc99016 Author: Arnaldo Carvalho de Melo Date: Fri Jan 15 18:08:27 2010 -0200 perf symbols: Accept an alias when looking for "_text" As it is in PARISC64: parisc:~# uname -a Linux parisc 2.6.33-rc4-tip+ #1 SMP Thu Jan 14 13:33:34 BRST 2010 parisc64 GNU/Linux parisc:~# grep -w _text /proc/kallsyms 0000000040100000 A _text parisc:~# grep 0000000040100000 /proc/kallsyms 0000000040100000 T stext 0000000040100000 T _stext 0000000040100000 A _text parisc:~# Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263586107-1756-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f5a2c3dce03621b55f84496f58adc2d1a87ca16f Author: Arnaldo Carvalho de Melo Date: Fri Jan 15 18:08:26 2010 -0200 perf record: Intercept all events The event interception we need to do in 'perf record' to create a list of all DSOs in PERF_RECORD_MMAP events wasn't seeing all events, make sure that happens by checking size agains event_t->header.size. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263586107-1756-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 2c5851747bcf751908c02e253cb7582d342b4612 Author: Arnaldo Carvalho de Melo Date: Fri Jan 15 13:17:52 2010 -0200 perf archive: Add helper script to package files needed to do analysis It uses 'perf buildid-list --with-hits' to create a tarball with what is needed to have in the destination machine ~/.debug hierarchy to properly decode the perf.data file specified. Here is an example where a perf.data file collected on a x86-64 machine running Fedora 12 is used and then the data is packaged, transferred and decoded on a PARISC64 machine running Debian Testing, 32-bit userspace: [root@doppio linux-2.6-tip]# uname -a Linux doppio.ghostprotocols.net 2.6.33-rc4-tip+ #3 SMP Wed Jan 13 11:58:15 BRST 2010 x86_64 x86_64 x86_64 GNU/Linux [root@doppio linux-2.6-tip]# perf archive [root@doppio linux-2.6-tip]# ls -la perf.data* -rw------- 1 root root 737696 2010-01-14 23:36 perf.data -rw-r--r-- 1 root root 8840025 2010-01-15 12:27 perf.data.tar.bz2 [root@doppio linux-2.6-tip]# scp perf.data.* parisc64:. Password: perf.data.tar.bz2 100% 8633KB 1.4MB/s 00:06 [root@doppio linux-2.6-tip]# ssh parisc64 Password: Linux parisc 2.6.19-g2bbf29ac-dirty #1 Sun Dec 3 17:24:04 BRST 2006 parisc64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Jan 14 11:23:24 2010 from d parisc:~# uname -a Linux parisc 2.6.19-g2bbf29ac-dirty #1 Sun Dec 3 17:24:04 BRST 2006 parisc64 GNU/Linux parisc:~# mkdir .debug parisc:~# tar xvf perf.data.tar.bz2 -C ~/.debug tar: Record size = 8 blocks .build-id/74/f9930ee94475b6b3238caf3725a50d59cb994b [kernel.kallsyms]/74f9930ee94475b6b3238caf3725a50d59cb994b .build-id/9f/fdcac0a7935922d1f04b6cc9029dfef0f066ef lib/modules/2.6.33-rc4-tip+/kernel/arch/x86/crypto/aes-x86_64.ko/9ffdcac0a7935922d1f04b6cc9029dfef0f066ef .build-id/3a/af89c32ebfc438ff546c93597d41788e3e65f3 lib/modules/2.6.33-rc4-tip+/kernel/drivers/net/wireless/iwlwifi/iwl3945.ko/3aaf89c32ebfc438ff546c93597d41788e3e65f3 .build-id/19/f46033f73e1ec612937189bb118c5daba5a0c8 lib/modules/2.6.33-rc4-tip+/kernel/net/mac80211/mac80211.ko/19f46033f73e1ec612937189bb118c5daba5a0c8 .build-id/17/72f014a7a7272859655acb0c64a20ab20b75ee lib/modules/2.6.33-rc4-tip+/kernel/drivers/net/e1000e/e1000e.ko/1772f014a7a7272859655acb0c64a20ab20b75ee .build-id/eb/4ec8fa8b2a5eb18cad173c92f27ed8887ed1c1 lib64/libc-2.10.2.so/eb4ec8fa8b2a5eb18cad173c92f27ed8887ed1c1 .build-id/5c/68f7afeb33309c78037e374b0deee84dd441f6 lib64/libpthread-2.10.2.so/5c68f7afeb33309c78037e374b0deee84dd441f6 .build-id/e9/c9ad5c138ef882e4507d2605645b597da43873 bin/dbus-daemon/e9c9ad5c138ef882e4507d2605645b597da43873 .build-id/bc/da7d09eb6c9ee380dae0ed3d591d4311decc31 lib64/libdbus-1.so.3.4.0/bcda7d09eb6c9ee380dae0ed3d591d4311decc31 .build-id/7c/c449a77f48b85d6088114000e970ced613bed8 usr/lib64/libcrypto.so.0.9.8k/7cc449a77f48b85d6088114000e970ced613bed8 .build-id/fd/d1ccd1ff7917ab020653147ab3bacf0a85b5b9 lib64/libglib-2.0.so.0.2000.5/fdd1ccd1ff7917ab020653147ab3bacf0a85b5b9 .build-id/e4/417ebb8762e5f2eee93c8011a71115ff5edad8 lib64/libgobject-2.0.so.0.2000.5/e4417ebb8762e5f2eee93c8011a71115ff5edad8 .build-id/93/1e49461f6df99104f0febcc52f6fed5e2efce6 usr/sbin/sshd/931e49461f6df99104f0febcc52f6fed5e2efce6 .build-id/da/b5f724c088f89fbd8304da553ed6cb30bbec96 usr/lib64/libgdk-x11-2.0.so.0.1600.6/dab5f724c088f89fbd8304da553ed6cb30bbec96 .build-id/f2/037a091ef36b591187a858d75e203690ea9409 usr/sbin/openvpn/f2037a091ef36b591187a858d75e203690ea9409 .build-id/a8/e4f743b40fb1fd8b85e2f9b88d93b661472b8f bin/find/a8e4f743b40fb1fd8b85e2f9b88d93b661472b8f .build-id/81/120aada06e68b1e85882925a0fc6d7345ef59a home/acme/bin/perf/81120aada06e68b1e85882925a0fc6d7345ef59a parisc:~# perf report 2> /dev/null | head -25 9.07% find find [.] 0x0000000000fb0e 3.29% perf libc-2.10.2.so [.] __GI_strcmp 3.19% find [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore 2.70% find libc-2.10.2.so [.] __GI_memmove 2.62% perf [kernel.kallsyms] [k] vsnprintf 2.03% find libc-2.10.2.so [.] _int_malloc 2.02% perf [kernel.kallsyms] [k] format_decode 1.70% find [kernel.kallsyms] [k] n_tty_write 1.70% find [kernel.kallsyms] [k] half_md4_transform 1.67% find libc-2.10.2.so [.] _IO_vfprintf_internal 1.66% perf [kernel.kallsyms] [k] audit_free_aux 1.62% swapper [kernel.kallsyms] [k] mwait_idle_with_hints 1.58% find [kernel.kallsyms] [k] __kmalloc 1.35% find [kernel.kallsyms] [k] sched_clock_local 1.35% find [kernel.kallsyms] [k] ext4_check_dir_entry 1.35% find [kernel.kallsyms] [k] ext4_htree_store_dirent 1.35% find [kernel.kallsyms] [k] sys_write 1.35% find [e1000e] [k] e1000_clean 1.35% find [kernel.kallsyms] [k] _atomic_dec_and_lock 1.34% find [kernel.kallsyms] [k] __d_lookup parisc:~# Probably the next step is to have 'perf report' notice that there is a perf.data.tar.bz2 file in the same directory and look if it was already added to ~/.debug/. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263568672-30323-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 460848fceffc91652b2d36d19db4ac40d12fb607 Author: Arnaldo Carvalho de Melo Date: Fri Jan 15 13:17:51 2010 -0200 perf symbols: The synthesized kernel modules MMAP must use the pathnames Since we use ->long_name in dsos__find now. Now 'perf buildid_list' is not duplicating those and managing to show the proper build-ids for the DSOs with hits: [root@doppio linux-2.6-tip]# perf buildid-list -H 74f9930ee94475b6b3238caf3725a50d59cb994b [kernel.kallsyms] 9ffdcac0a7935922d1f04b6cc9029dfef0f066ef /lib/modules/2.6.33-rc4-tip+/kernel/arch/x86/crypto/aes-x86_64.ko 3aaf89c32ebfc438ff546c93597d41788e3e65f3 /lib/modules/2.6.33-rc4-tip+/kernel/drivers/net/wireless/iwlwifi/iwl3945.ko 19f46033f73e1ec612937189bb118c5daba5a0c8 /lib/modules/2.6.33-rc4-tip+/kernel/net/mac80211/mac80211.ko 1772f014a7a7272859655acb0c64a20ab20b75ee /lib/modules/2.6.33-rc4-tip+/kernel/drivers/net/e1000e/e1000e.ko eb4ec8fa8b2a5eb18cad173c92f27ed8887ed1c1 /lib64/libc-2.10.2.so 5c68f7afeb33309c78037e374b0deee84dd441f6 /lib64/libpthread-2.10.2.so e9c9ad5c138ef882e4507d2605645b597da43873 /bin/dbus-daemon bcda7d09eb6c9ee380dae0ed3d591d4311decc31 /lib64/libdbus-1.so.3.4.0 7cc449a77f48b85d6088114000e970ced613bed8 /usr/lib64/libcrypto.so.0.9.8k fdd1ccd1ff7917ab020653147ab3bacf0a85b5b9 /lib64/libglib-2.0.so.0.2000.5 e4417ebb8762e5f2eee93c8011a71115ff5edad8 /lib64/libgobject-2.0.so.0.2000.5 931e49461f6df99104f0febcc52f6fed5e2efce6 /usr/sbin/sshd dab5f724c088f89fbd8304da553ed6cb30bbec96 /usr/lib64/libgdk-x11-2.0.so.0.1600.6 f2037a091ef36b591187a858d75e203690ea9409 /usr/sbin/openvpn a8e4f743b40fb1fd8b85e2f9b88d93b661472b8f /bin/find 81120aada06e68b1e85882925a0fc6d7345ef59a /home/acme/bin/perf [root@doppio linux-2.6-tip]# Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263568672-30323-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 88d3d9b7c843a42cb73c55a2d13cd1041da31fb9 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 23:45:30 2010 -0200 perf buildid-list: Introduce --with-hits option Using this option 'perf buildid-list' will process all samples, marking the DSOs that had some hits to list just them. This in turn will be used by a new porcelain, 'perf archive', that will be just a shell script to create a tarball from the 'perf buildid-list --with-hits' output and the files cached by 'perf record' in ~/.debug. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263519930-22803-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 59ee68ecd1561a233fb6ad351980bea8402533e7 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 23:45:29 2010 -0200 perf symbols: Create thread__find_addr_map from thread__find_addr_location Because some tools will only want to know with maps had hits, not needing the full symbol resolution done by thread__find_addr_location. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263519930-22803-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 18c3daa4961b9fa1f2db0711d93c0acf0c39fd12 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 23:45:28 2010 -0200 perf record: Encode the domain while synthesizing MMAP events In the past 'perf record' had to process only userspace MMAP events, the ones generated in the kernel, but after we reused the MMAP events to encode the module mapings we ended up adding them first to the list of userspace DSOs (dsos__user) and to the kernel one (dsos__kernel). Fix this by encoding the header.misc field and then using it, like other parts to decide the right DSOs list to insert/find. The gotcha here is that since the kernel puts zero in .misc, which isn't PERF_RECORD_MISC_KERNEL (1 << 1), to differentiate, we put 1 in .misc. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263519930-22803-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit cf4e5b0838e822dd404638ad00d35b63fffe8191 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 23:45:27 2010 -0200 perf symbols: Use dso->long_name in dsos__find() If not we end up duplicating the module DSOs because first we insert them using the short name found in /proc/modules, then, when processing synthesized MMAP events we add them again. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263519930-22803-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 9e201442de7c954f03710ac76f28c1927d07550c Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 18:30:06 2010 -0200 perf symbols: Cache /proc/kallsyms files by build-id So that when we don't have a vmlinux handy we can store the kallsyms for later use by 'perf report'. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263501006-14185-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8d0591f6ad9edf66697ce29de176fb6f3213b9e3 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 18:30:05 2010 -0200 perf symbols: Don't try to load kallsyms if doesn't match the record build-id Now a perf.data file collected on a x86_64 fedora 12 machine gets properly parsed on a Debian testing PARISC64 machine with 32-bit userland: acme@parisc:~/git/linux-2.6-tip$ perf report 2> /dev/null | head -15 # Samples: 293085637 # # Overhead Command Shared Object Symbol # ........ ............... ................................. ...... # 35.11% find [kernel.kallsyms] [k] 0xffffffff81002b5a 18.25% perf [kernel.kallsyms] [k] 0xffffffff8102235f 9.07% find find [.] 0x0000000000fb0e 5.80% swapper [kernel.kallsyms] [k] 0xffffffff8102235f 3.29% perf libc-2.10.2.so [.] __GI_strcmp 2.70% find libc-2.10.2.so [.] __GI_memmove 2.33% init [kernel.kallsyms] [k] 0xffffffff810091b9 2.03% find libc-2.10.2.so [.] _int_malloc 1.67% find libc-2.10.2.so [.] _IO_vfprintf_internal 1.65% sshd libcrypto.so.0.9.8k [.] 0x00000000105440 acme@parisc:~/git/linux-2.6-tip$ Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263501006-14185-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1b75962e92d48a41019d4b440e221638aa2a7238 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 18:30:04 2010 -0200 perf tools: Convert getpagesize() uses to sysconf(_SC_GETPAGESIZE) Using the more portable and equivalent sysconf call. Reported-by: Aristeu Rozanski Reported-by: Ulrich Drepper Signed-off-by: Arnaldo Carvalho de Melo Cc: Aristeu Rozanski Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Ulrich Drepper LKML-Reference: <1263501006-14185-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit ba21594cddee0a3af582971656702b1c4509d8f5 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 12:23:10 2010 -0200 perf tools: Cross platform perf.data analysis support There are still some problems related to loading vmlinux files, but those are unrelated to the feature implemented in this patch, so will get fixed in the next patches, but here are some results: 1. collect perf.data file on a Fedora 12 machine, x86_64, 64-bit userland 2. transfer it to a Debian Testing machine, PARISC64, 32-bit userland acme@parisc:~/git/linux-2.6-tip$ perf buildid-list | head -5 74f9930ee94475b6b3238caf3725a50d59cb994b [kernel.kallsyms] 55fdd56670453ea66c011158c4b9d30179c1d049 /lib/modules/2.6.33-rc4-tip+/kernel/net/ipv4/netfilter/ipt_MASQUERADE.ko 41adff63c730890480980d5d8ba513f1c216a858 /lib/modules/2.6.33-rc4-tip+/kernel/net/ipv4/netfilter/iptable_nat.ko 90a33def1077bb8e97b8a78546dc96c2de62df46 /lib/modules/2.6.33-rc4-tip+/kernel/net/ipv4/netfilter/nf_nat.ko 984c7bea90ce1376d5c8e7ef43a781801286e62d /lib/modules/2.6.33-rc4-tip+/kernel/drivers/net/tun.ko acme@parisc:~/git/linux-2.6-tip$ perf buildid-list | tail -5 22492f3753c6a67de5c7ccbd6b863390c92c0723 /usr/lib64/libXt.so.6.0.0 353802bb7e1b895ba43507cc678f951e778e4c6f /usr/lib64/libMagickCore.so.2.0.0 d10c2897558595efe7be8b0584cf7e6398bc776c /usr/lib64/libfprint.so.0.0.0 a83ecfb519a788774a84d5ddde633c9ba56c03ab /home/acme/bin/perf d3ca765a8ecf257d263801d7ad8c49c189082317 /usr/lib64/libdwarf.so.0.0 acme@parisc:~/git/linux-2.6-tip$ acme@parisc:~/git/linux-2.6-tip$ perf report --sort comm The file [kernel.kallsyms] cannot be used, trying to use /proc/kallsyms... ^^^^ The problem related to vmlinux handling, it shouldn't be trying this ^^^^ rather alien /proc/kallsyms at all... /lib64/libpthread-2.10.2.so with build id 5c68f7afeb33309c78037e374b0deee84dd441f6 not found, continuing without symbols /lib64/libc-2.10.2.so with build id eb4ec8fa8b2a5eb18cad173c92f27ed8887ed1c1 not found, continuing without symbols /home/acme/bin/perf with build id a83ecfb519a788774a84d5ddde633c9ba56c03ab not found, continuing without symbols /usr/sbin/openvpn with build id f2037a091ef36b591187a858d75e203690ea9409 not found, continuing without symbols Failed to open /lib/modules/2.6.33-rc4-tip+/kernel/drivers/net/e1000e/e1000e.ko, continuing without symbols Failed to open /lib/modules/2.6.33-rc4-tip+/kernel/drivers/net/wireless/iwlwifi/iwlcore.ko, continuing without symbols # Samples: 293085637 # # Overhead Command # ........ ............... # 61.70% find 23.50% perf 5.86% swapper 3.12% sshd 2.39% init 0.87% bash 0.86% sleep 0.59% dbus-daemon 0.25% hald 0.24% NetworkManager 0.19% hald-addon-rfki 0.15% openvpn 0.07% phy0 0.07% events/0 0.05% iwl3945 0.05% events/1 0.03% kondemand/0 acme@parisc:~/git/linux-2.6-tip$ Which matches what we get when running the same command for the same perf.data file on the F12, x86_64, source machine: [root@doppio linux-2.6-tip]# perf report --sort comm # Samples: 293085637 # # Overhead Command # ........ ............... # 61.70% find 23.50% perf 5.86% swapper 3.12% sshd 2.39% init 0.87% bash 0.86% sleep 0.59% dbus-daemon 0.25% hald 0.24% NetworkManager 0.19% hald-addon-rfki 0.15% openvpn 0.07% phy0 0.07% events/0 0.05% iwl3945 0.05% events/1 0.03% kondemand/0 [root@doppio linux-2.6-tip]# The other modes work as well, modulo the problem with vmlinux: acme@parisc:~/git/linux-2.6-tip$ perf report --sort comm,dso 2> /dev/null | head -15 # Samples: 293085637 # # Overhead Command Shared Object # ........ ............... ................................. # 35.11% find ffffffff81002b5a 18.25% perf ffffffff8102235f 16.17% find libc-2.10.2.so 9.07% find find 5.80% swapper ffffffff8102235f 3.95% perf libc-2.10.2.so 2.33% init ffffffff810091b9 1.65% sshd libcrypto.so.0.9.8k 1.35% find [e1000e] 0.68% sleep libc-2.10.2.so acme@parisc:~/git/linux-2.6-tip$ And the lack of the right buildids: acme@parisc:~/git/linux-2.6-tip$ perf report --sort comm,dso,symbol 2> /dev/null | head -15 # Samples: 293085637 # # Overhead Command Shared Object Symbol # ........ ............... ................................. ...... # 35.11% find ffffffff81002b5a [k] 0xffffffff81002b5a 18.25% perf ffffffff8102235f [k] 0xffffffff8102235f 16.17% find libc-2.10.2.so [.] 0x00000000045782 9.07% find find [.] 0x0000000000fb0e 5.80% swapper ffffffff8102235f [k] 0xffffffff8102235f 3.95% perf libc-2.10.2.so [.] 0x0000000007f398 2.33% init ffffffff810091b9 [k] 0xffffffff810091b9 1.65% sshd libcrypto.so.0.9.8k [.] 0x00000000105440 1.35% find [e1000e] [k] 0x00000000010948 0.68% sleep libc-2.10.2.so [.] 0x0000000011ad5b acme@parisc:~/git/linux-2.6-tip$ But if we: acme@parisc:~/git/linux-2.6-tip$ ls ~/.debug ls: cannot access /home/acme/.debug: No such file or directory acme@parisc:~/git/linux-2.6-tip$ mkdir -p ~/.debug/lib64/libc-2.10.2.so/ acme@parisc:~/git/linux-2.6-tip$ scp doppio:.debug/lib64/libc-2.10.2.so/* ~/.debug/lib64/libc-2.10.2.so/ acme@doppio's password: eb4ec8fa8b2a5eb18cad173c92f27ed8887ed1c1 100% 1783KB 714.7KB/s 00:02 acme@parisc:~/git/linux-2.6-tip$ mkdir -p ~/.debug/.build-id/eb acme@parisc:~/git/linux-2.6-tip$ ln -s ../../lib64/libc-2.10.2.so/eb4ec8fa8b2a5eb18cad173c92f27ed8887ed1c1 ~/.debug/.build-id/eb/4ec8fa8b2a5eb18cad173c92f27ed8887ed1c1 acme@parisc:~/git/linux-2.6-tip$ perf report --dsos libc-2.10.2.so 2> /dev/null # dso: libc-2.10.2.so # Samples: 64281170 # # Overhead Command Symbol # ........ ............... ...... # 14.98% perf [.] __GI_strcmp 12.30% find [.] __GI_memmove 9.25% find [.] _int_malloc 7.60% find [.] _IO_vfprintf_internal 6.10% find [.] _IO_new_file_xsputn 6.02% find [.] __GI_close 3.08% find [.] _IO_file_overflow_internal 3.08% find [.] malloc_consolidate 3.08% find [.] _int_free 3.08% find [.] __strchrnul 3.08% find [.] __getdents64 3.08% find [.] __write_nocancel 3.08% sleep [.] __GI__dl_addr 3.08% sshd [.] __libc_select 3.08% find [.] _IO_new_file_write 3.07% find [.] _IO_new_do_write 3.06% find [.] __GI___errno_location 3.05% find [.] __GI___libc_malloc 3.04% perf [.] __GI_memcpy 1.71% find [.] __fprintf_chk 1.29% bash [.] __gconv_transform_utf8_internal 0.79% dbus-daemon [.] __GI_strlen # # (For a higher level overview, try: perf report --sort comm,dso) # acme@parisc:~/git/linux-2.6-tip$ Which matches what we get on the source, F12, x86_64 machine: [root@doppio linux-2.6-tip]# perf report --dsos libc-2.10.2.so # dso: libc-2.10.2.so # Samples: 64281170 # # Overhead Command Symbol # ........ ............... ...... # 14.98% perf [.] __GI_strcmp 12.30% find [.] __GI_memmove 9.25% find [.] _int_malloc 7.60% find [.] _IO_vfprintf_internal 6.10% find [.] _IO_new_file_xsputn 6.02% find [.] __GI_close 3.08% find [.] _IO_file_overflow_internal 3.08% find [.] malloc_consolidate 3.08% find [.] _int_free 3.08% find [.] __strchrnul 3.08% find [.] __getdents64 3.08% find [.] __write_nocancel 3.08% sleep [.] __GI__dl_addr 3.08% sshd [.] __libc_select 3.08% find [.] _IO_new_file_write 3.07% find [.] _IO_new_do_write 3.06% find [.] __GI___errno_location 3.05% find [.] __GI___libc_malloc 3.04% perf [.] __GI_memcpy 1.71% find [.] __fprintf_chk 1.29% bash [.] __gconv_transform_utf8_internal 0.79% dbus-daemon [.] __GI_strlen # # (For a higher level overview, try: perf report --sort comm,dso) # [root@doppio linux-2.6-tip]# So I think this is really, really nice in that it demonstrates the portability of perf.data files and the use of build-ids accross such aliens worlds :-) There are some things to fix tho, like the bitmap on the header, but things are looking good. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263478990-8200-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 0d755034dbd01e240eadf2d31f4f75d3088ccd21 Author: Arnaldo Carvalho de Melo Date: Thu Jan 14 12:23:09 2010 -0200 perf tools: Don't cast RIP to pointers Since they can come from another architecture with bigger pointers, i.e. processing a 64-bit perf.data on a 32-bit arch. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263478990-8200-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 017c426138122c8e9b9f5057fbd0567c37b35247 Author: Paul E. McKenney Date: Thu Jan 14 16:10:58 2010 -0800 rcu: Fix sparse warnings Rename local variable "i" in rcu_init() to avoid conflict with RCU_INIT_FLAVOR(), restrict the scope of RCU_TREE_NONCORE, and make __synchronize_srcu() static. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12635142581560-git-send-email-> Signed-off-by: Ingo Molnar commit 4c54005ca438a8b46dd542b497d4f0dc2ca375e8 Author: Paul E. McKenney Date: Thu Jan 14 16:10:57 2010 -0800 rcu: 1Q2010 update for RCU documentation Add expedited functions. Review documentation and update obsolete verbiage. Also fix the advice for the RCU CPU-stall kernel configuration parameter, and document RCU CPU-stall warnings. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12635142581866-git-send-email-> Signed-off-by: Ingo Molnar commit 4e23471a3f3aba885ea70100db47ccacb5f069f6 Author: Christoph Hellwig Date: Wed Jan 13 22:17:56 2010 +0000 xfs: move more buffer helpers into xfs_buf.c Move xfsbdstrat and xfs_bdstrat_cb from xfs_lrw.c and xfs_bioerror and xfs_bioerror_relse from xfs_rw.c into xfs_buf.c. This also means xfs_bioerror and xfs_bioerror_relse can be marked static now. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 64e0bc7d2a6609ad265757a600e2a0d93c8adb47 Author: Christoph Hellwig Date: Wed Jan 13 22:17:58 2010 +0000 xfs: clean up xfs_bwrite Fold XFS_bwrite into it's only caller, xfs_bwrite and move it into xfs_buf.c instead of leaving it as a fairly large inline function. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 873ff5501d8cd1a21045d6c1da34f0c3876bc235 Author: Christoph Hellwig Date: Wed Jan 13 22:17:57 2010 +0000 xfs: clean up log buffer writes Don't bother using XFS_bwrite as it doesn't provide much code for our use case. Instead opencode it and fold xlog_bdstrat_cb into the new xlog_bdstrat helper. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit e57336ff7fc7520bec7b3a7741043bdebaf622ea Author: Dave Chinner Date: Mon Jan 11 11:47:49 2010 +0000 xfs: embed the pagb_list array in the perag structure Now that the perag structure is allocated memory rather than held in an array, we don't need to have the busy extent array external to the structure. Embed it into the perag structure to avoid needing an extra allocation when setting up. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 8b26c5825e023b1bccac7afd174ebe55b8905cb1 Author: Dave Chinner Date: Mon Jan 11 11:47:48 2010 +0000 xfs: handle ENOMEM correctly during initialisation of perag structures Add proper error handling in case an error occurs while initializing new perag structures for a mount point. The mount structure is restored to its previous state by deleting and freeing any perag structures added during the call. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit b657fc82a3ca6d7ad16a59e81765f0fb0e86cdbb Author: Dave Chinner Date: Mon Jan 11 11:47:47 2010 +0000 xfs: Kill filestreams cache flush The filestreams cache flush is not needed in the sync code as it does not affect data writeback, and it is now not used by the growfs code, either, so kill it. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 0fa800fbd549736dfdc1d7761f87e33dc8cd973b Author: Dave Chinner Date: Mon Jan 11 11:47:46 2010 +0000 xfs: Add trace points for per-ag refcount debugging. Uninline xfs_perag_{get,put} so that tracepoints can be inserted into them to speed debugging of reference count problems. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit aed3bb90abaf0b42e8c8747e192f7bb97f445279 Author: Dave Chinner Date: Mon Jan 11 11:47:45 2010 +0000 xfs: Reference count per-ag structures Reference count the per-ag structures to ensure that we keep get/put pairs balanced. Assert that the reference counts are zero at unmount time to catch leaks. In future, reference counts will enable us to safely remove perag structures by allowing us to detect when they are no longer in use. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 1c1c6ebcf5284aee4910f3b906ac90c20e510c82 Author: Dave Chinner Date: Mon Jan 11 11:47:44 2010 +0000 xfs: Replace per-ag array with a radix tree The use of an array for the per-ag structures requires reallocation of the array when growing the filesystem. This requires locking access to the array to avoid use after free situations, and the locking is difficult to get right. To avoid needing to reallocate an array, change the per-ag structures to an allocated object per ag and index them using a tree structure. The AGs are always densely indexed (hence the use of an array), but the number supported is 2^32 and lookups tend to be random and hence indexing needs to scale. A simple choice is a radix tree - it works well with this sort of index. This change also removes another large contiguous allocation from the mount/growfs path in XFS. The growing process now needs to change to only initialise the new AGs required for the extra space, and as such only needs to exclusively lock the tree for inserts. The rest of the code only needs to lock the tree while doing lookups, and hence this will remove all the deadlocks that currently occur on the m_perag_lock as it is now an innermost lock. The lock is also changed to a spinlock from a read/write lock as the hold time is now extremely short. To complete the picture, the per-ag structures will need to be reference counted to ensure that we don't free/modify them while they are still in use. This will be done in subsequent patch. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 44b56e0a1aed522a10051645e85d300e10926fd3 Author: Dave Chinner Date: Mon Jan 11 11:47:43 2010 +0000 xfs: convert remaining direct references to m_perag Convert the remaining direct lookups of the per ag structures to use get/put accesses. Ensure that the loops across AGs and prior users of the interface balance gets and puts correctly. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 4196ac08c023c6dab90c3fa460d9c06deaa304c4 Author: Dave Chinner Date: Mon Jan 11 11:47:42 2010 +0000 xfs: Convert filestreams code to use per-ag get/put routines Use xfs_perag_get() and xfs_perag_put() in the filestreams code. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit a862e0fdcb8862aab2538ec2fc2f0dc07a625c59 Author: Dave Chinner Date: Mon Jan 11 11:47:41 2010 +0000 xfs: Don't directly reference m_perag in allocation code Start abstracting the perag references so that the indexing of the structures is not directly coded into all the places that uses the perag structures. This will allow us to separate the use of the perag structure and the way it is indexed and hence avoid the known deadlocks related to growing a busy filesystem. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 5017e97d52628fb8ae56e434e86ac2e72ddaac2b Author: Dave Chinner Date: Mon Jan 11 11:47:40 2010 +0000 xfs: rename xfs_get_perag xfs_get_perag is really getting the perag that an inode belongs to based on it's inode number. Convert the use of this function to just get the perag from a provided ag number. Use this new function to obtain the per-ag structure when traversing the per AG inode trees for sync and reclaim. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit c9c129714e71c890bed1bd5b61697a896c3c2d54 Author: Dave Chinner Date: Mon Jan 11 11:49:59 2010 +0000 xfs: Don't wake xfsbufd when idle The xfsbufd wakes every xfsbufd_centisecs (once per second by default) for each filesystem even when the filesystem is idle. If the xfsbufd has nothing to do, put it into a long term sleep and only wake it up when there is work pending (i.e. dirty buffers to flush soon). This will make laptop power misers happy. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 453eac8a9aa417878a38bdfbccafd5f7ce4e8e4e Author: Dave Chinner Date: Mon Jan 11 11:49:58 2010 +0000 xfs: Don't wake the aild once per second Now that the AIL push algorithm is traversal safe, we don't need a watchdog function in the xfsaild to catch pushes that fail to make progress. Remove the watchdog timeout and make pushes purely driven by demand. This will remove the once-per-second wakeup that is seen when the filesystem is idle and make laptop power misers happy. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit f0a7695380efa31cd281730917f7e907a724d5cb Author: Dave Chinner Date: Mon Jan 11 11:49:57 2010 +0000 xfs: Use list_heads for log recovery item lists Remove the roll-your-own linked list operations. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 5d77c0dc0c05c2c65aee16149fae06831a118730 Author: Eric Sandeen Date: Thu Nov 19 15:52:00 2009 +0000 xfs: make several more functions static Just minor housekeeping, a lot more functions can be trivially made static; others could if we reordered things a bit... Signed-off-by: Eric Sandeen Signed-off-by: Alex Elder commit 6bded0f383fd7971b76ad6c194dda7d5b814b871 Author: Dave Chinner Date: Thu Jan 14 01:33:56 2010 +0000 xfs: clean up inconsistent variable naming in xfs_swap_extent The swap extent ioctl passes in a target inode and a temporary inode which are clearly named in the ioctl structure. The code then assigns temp to target and vice versa, making it extremely difficult to work out which inode is which later in the code. Make this consistent throughout the code. Also make xfs_swap_extent static as there are no external users of the function. Signed-off-by: Dave Chinner Signed-off-by: Alex Elder commit 3a85cd96d3ab3c6dcf88b81fc6eaddb84e565a43 Author: Dave Chinner Date: Thu Jan 14 01:33:55 2010 +0000 xfs: add tracing to xfs_swap_extents To be able to diagnose whether the swap extents function is detecting compatible inode data fork configurations for swapping extents, add tracing points to the code to allow us to see the format of the inode forks before and after the swap. Signed-off-by: Dave Chinner Signed-off-by: Alex Elder commit 62e62da856dba2edb897b672cbd05a69edd4485c Author: H Hartley Sweeten Date: Thu Jan 14 19:10:07 2010 -0700 HID: hid-debug.c: make local symbols static hid-debug.c: make local symbols static The symbols hid_resolv_event and hid_dump_input_mapping are only used locally in this file. Make them static to prevent the following sparse warnings: warning: symbol 'hid_resolv_event' was not declared. Should it be static? warning: symbol 'hid_dump_input_mapping' was not declared. Should it be static? Signed-off-by: H Hartley Sweeten Signed-off-by: Jiri Kosina commit 7dcaa8e8e67b2cfbe0097c9bb52e23aed5443b8b Author: Paul Mundt Date: Fri Jan 15 19:13:56 2010 +0900 sh: Generalize SH7786 PCIe support. Previously this was only built in for Urquell boards, but the same approach can be used on SDK7786 now that the mode pin reading is supported, so make it generic to SH7786. Signed-off-by: Paul Mundt commit 6f832e8aab8c4c6d28629e970e4a85e74a8d0be6 Author: Paul Mundt Date: Fri Jan 15 16:31:04 2010 +0900 sh: mach-sdk7786: mode pins support. This wires up the mode pins support on the SDK7786. The pins are standard SH7786 pins, and all are fixed in software. Needed for the clock framework, PCIe, and so forth. Signed-off-by: Paul Mundt commit f0cb77372c3cf8c0cb17bbfb30a62506ea119286 Author: Paul Mundt Date: Fri Jan 15 15:13:48 2010 +0900 sh: Fix up the secondary CPU entry point for 32bit mode. Presently the secondary CPU entry point is only aimed at 29bit phys mode, causing it to point to a stray virtual address in 32bit mode. Fix it up after consulting with our shiny new __in_29bit_mode(). Signed-off-by: Paul Mundt commit a6198a238baceae9d4e0ce3915f6d239c89b5c08 Author: Paul Mundt Date: Fri Jan 15 14:21:37 2010 +0900 sh: Guard against early IPIs in flush_cache_all(). flush_cache_all() gets called in to when we do some early ioremapping. Unfortunately on SDK7786 the interrupt controller itself requires ioremapping, leading to a bit of a chicken and egg scenario. For now, don't bother with IPI crosscalls if there aren't any other CPUs online. Signed-off-by: Paul Mundt commit a09d2831b3457a92a58d67bddfed370516acfe28 Author: Paul Mundt Date: Fri Jan 15 12:24:34 2010 +0900 sh: heartbeat: Update boards for access size hinting. This updates the existing boards that specify the register width through platform data to use the resource flags instead. This eliminates platform data completely in most cases, and permits further improvement in the heartbeat driver as well as shrinking the overall private data size. Signed-off-by: Paul Mundt commit 2267c7875b3a3a41b7a8cc9659d75ec934c98ffd Author: Paul Mundt Date: Fri Jan 15 12:11:30 2010 +0900 sh: mach-sdk7786: heartbeat support. Hand off the user LEDs to the heartbeat driver. Signed-off-by: Paul Mundt commit 10ab92d8c336c25af1fce46113ed85856e02e95d Author: Paul Mundt Date: Fri Jan 15 12:08:31 2010 +0900 sh: heartbeat: Support access size specification via resource flags. This permits the resource access size to be handed off through the resource flags, which saves platforms from having to establish platform data only to specify the register width. Signed-off-by: Paul Mundt commit 46c4e5daea3d5df06e27bf5a49a0c42274db6725 Author: Matt Fleming Date: Fri Jan 15 08:00:45 2010 +0900 sh: Fix CONFIG_PMB=n build. The last commit introduced the following breakage arch/sh/include/asm/mmu.h: In function 'pmb_remap': arch/sh/include/asm/mmu.h:79: error: expected ';' before '}' token and... arch/sh/include/asm/mmu.h:78: error: 'EINVAL' undeclared (first use in this function) arch/sh/include/asm/mmu.h:78: error: (Each undeclared identifier is reported only once arch/sh/include/asm/mmu.h:78: error: for each function it appears in.) arch/sh/include/asm/mmu.h: In function 'pmb_init': arch/sh/include/asm/mmu.h:87: error: 'ENODEV' undeclared (first use in this function) Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 02bf6cc72cc2a6258411ddf1649f33a65fc9a06e Author: Paul Mundt Date: Thu Jan 14 20:58:58 2010 +0900 sh: Preliminary SDK7786 board support. This stubs in some preliminary board support for the RTE SDK7786. This is quite stunted at the moment, and primarily builds on top of the system FPGA. FPGA IRQs are handled via CPU IRL masking for simplicity, with initial peripheral support restricted to the debug ethernet. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit bafaecd11df15ad5b1e598adc7736afcd38ee13d Author: Linus Torvalds Date: Tue Jan 12 18:16:42 2010 -0800 x86-64: support native xadd rwsem implementation This one is much faster than the spinlock based fallback rwsem code, with certain artifical benchmarks having shown 300%+ improvement on threaded page faults etc. Again, note the 32767-thread limit here. So this really does need that whole "make rwsem_count_t be 64-bit and fix the BIAS values to match" extension on top of it, but that is conceptually a totally independent issue. NOT TESTED! The original patch that this all was based on were tested by KAMEZAWA Hiroyuki, but maybe I screwed up something when I created the cleaned-up series, so caveat emptor.. Also note that it _may_ be a good idea to mark some more registers clobbered on x86-64 in the inline asms instead of saving/restoring them. They are inline functions, but they are only used in places where there are not a lot of live registers _anyway_, so doing for example the clobbers of %r8-%r11 in the asm wouldn't make the fast-path code any worse, and would make the slow-path code smaller. (Not that the slow-path really matters to that degree. Saving a few unnecessary registers is the _least_ of our problems when we hit the slow path. The instruction/cycle counting really only matters in the fast path). Signed-off-by: Linus Torvalds LKML-Reference: Signed-off-by: H. Peter Anvin commit 5d0b7235d83eefdafda300656e97d368afcafc9a Author: Linus Torvalds Date: Tue Jan 12 17:57:35 2010 -0800 x86: clean up rwsem type system The fast version of the rwsems (the code that uses xadd) has traditionally only worked on x86-32, and as a result it mixes different kinds of types wildly - they just all happen to be 32-bit. We have "long", we have "__s32", and we have "int". To make it work on x86-64, the types suddenly matter a lot more. It can be either a 32-bit or 64-bit signed type, and both work (with the caveat that a 32-bit counter will only have 15 bits of effective write counters, so it's limited to 32767 users). But whatever type you choose, it needs to be used consistently. This makes a new 'rwsem_counter_t', that is a 32-bit signed type. For a 64-bit type, you'd need to also update the BIAS values. Signed-off-by: Linus Torvalds LKML-Reference: Signed-off-by: H. Peter Anvin commit 3bef444797f7624f8fbd27f4e0334ce96a108725 Author: Brian Gerst Date: Wed Jan 13 10:45:55 2010 -0500 x86: Merge show_regs() Using kernel_stack_pointer() allows 32-bit and 64-bit versions to be merged. This is more correct for 64-bit, since the old %rsp is always saved on the stack. Signed-off-by: Brian Gerst LKML-Reference: <1263397555-27695-1-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 66aeb6d5cb701aedd508187e08612bfd1e108e2e Author: Kirill Smelkov Date: Wed Jan 13 13:22:19 2010 -0200 perf top: Fix code typo in prompt_symbol() sym_filter is what was (if ever) passed with -s option. What was typed by user, and what we were looking for, is in buf. Signed-off-by: Kirill Smelkov Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1263396139-4798-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 0895cf0a823e03ea6d79736611e90186006c805e Author: Kirill Smelkov Date: Wed Jan 13 13:22:18 2010 -0200 perf: Fix few typos + cosmetics Signed-off-by: Kirill Smelkov Signed-off-by: Arnaldo Carvalho de Melo LKML-Reference: <1263396139-4798-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b7cece76783c68fb391f9882235b4b0c9c300c46 Author: Arnaldo Carvalho de Melo Date: Wed Jan 13 13:22:17 2010 -0200 perf tools: Encode kernel module mappings in perf.data We were always looking at the running machine /proc/modules, even when processing a perf.data file, which only makes sense when we're doing 'perf record' and 'perf report' on the same machine, and in close sucession, or if we don't use modules at all, right Peter? ;-) Now, at 'perf record' time we read /proc/modules, find the long path for modules, and put them as PERF_MMAP events, just like we did to encode the reloc reference symbol for vmlinux. Talking about that now it is encoded in .pgoff, so that we can use .{start,len} to store the address boundaries for the kernel so that when we reconstruct the kmaps tree we can do lookups right away, without having to fixup the end of the kernel maps like we did in the past (and now only in perf record). One more step in the 'perf archive' direction when we'll finally be able to collect data in one machine and analyse in another. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1263396139-4798-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4bb9508bbbb06f10bc3e249dd34375b4a4d6bfc0 Author: Jiri Kosina Date: Wed Dec 23 14:13:46 2009 +0100 HID: remove TENX iBuddy from blacklist There were multiple reports which indicate that vendor messed up horribly and the same VID/PID combination is used for completely different devices, some of them requiring the blacklist entry and other not. Remove the blacklist entry for this combination of VID/PID completely, and let the user decide and unbind the driver via sysfs eventually, if needed. Proper fix would be fixing the vendor. References: http://lkml.org/lkml/2009/2/10/434 http://bugzilla.kernel.org/show_bug.cgi?id=13411 Signed-off-by: Jiri Kosina commit e44d6c4010a4c84369013932eea4721d16cbc08d Author: Paul Mundt Date: Wed Jan 13 19:18:39 2010 +0900 sh: Rename split-level pgtable headers. These were originally named _nopmd and _pmd to follow their asm-generic counterparts, but we rename them to -2level and -3level for general consistency. Signed-off-by: Paul Mundt commit 782bb5a532f883540bf403afb19f735a4eefd95b Author: Paul Mundt Date: Wed Jan 13 19:11:14 2010 +0900 sh: default to extended TLB support. All SH-X2 and SH-X3 parts support an extended TLB mode, which has been left as experimental since support was originally merged. Now that it's had some time to stabilize and get some exposure to various platforms, we can drop it as an option and default enable it across the board. This is also good future proofing for newer parts that will drop support for the legacy TLB mode completely. This will also force 3-level page tables for all newer parts, which is necessary both for the varying page sizes and larger memories. Signed-off-by: Paul Mundt commit ff314d3903c2843de65c2148f66f277f2440ed26 Author: Wenji Huang Date: Wed Jan 13 17:01:38 2010 +0800 perf: Make cmd_to_page() function more compact Remove branch for is_perf_command. Signed-off-by: Wenji Huang Cc: fweisbec@gmail.com Cc: jkacur@redhat.com Cc: acme@redhat.com LKML-Reference: <1263373298-13282-1-git-send-email-wenji.huang@oracle.com> Signed-off-by: Ingo Molnar commit 9ca94d7c016130f9ed77f142424ace9c19742809 Author: John Kacur Date: Mon Jan 11 21:21:06 2010 +0100 plist: Fix grammar mistake, and c-style mistake Signed-off-by: John Kacur Acked-by: Peter Zijlstra LKML-Reference: <1263241267-25204-2-git-send-email-jkacur@redhat.com> Signed-off-by: Ingo Molnar commit 206582c3161f165f5bf49ececa962c5f95fdf0a3 Author: Paul Mundt Date: Wed Jan 13 18:45:12 2010 +0900 sh: Make all PxSEGADDR() calls fatal for non-legacy configs. This stubs out all of the PxSEGADDR() wrappers for non-legacy code. 29-bit will continue to work with these, while 32-bit code will now blow up on compile rather than at runtime. The vast majority of the in-tree offenders are gone, with the only remaining culprits being unable to support 32-bit mode. Hopefully this will prevent anyone from ever using these again. Signed-off-by: Paul Mundt commit 8381f65d097dad90416808314737dd7d3ae38ea9 Author: Jamie Iles Date: Fri Jan 8 15:27:33 2010 +0000 sched/perf: Make sure irqs are disabled for perf_event_task_sched_in() perf_event_task_sched_in() expects interrupts to be disabled, but on architectures with __ARCH_WANT_INTERRUPTS_ON_CTXSW defined, this isn't true. If this is defined, disable irqs around the call in finish_task_switch(). Signed-off-by: Jamie Iles Acked-by: Peter Zijlstra Cc: Russell King - ARM Linux LKML-Reference: <1262964453-27370-1-git-send-email-jamie.iles@picochip.com> Signed-off-by: Ingo Molnar commit 88f73d22853cb080432e91d68759323477a8b835 Author: Paul Mundt Date: Wed Jan 13 18:37:19 2010 +0900 sh: Fix up L2 cache comment typo. Valid sizes include 256kB, not 258kB. Signed-off-by: Paul Mundt commit a0ab36689a36e583b6e736f1c99ac8c9aebdad59 Author: Paul Mundt Date: Wed Jan 13 18:31:48 2010 +0900 sh: fixed PMB mode refactoring. This introduces some much overdue chainsawing of the fixed PMB support. fixed PMB was introduced initially to work around the fact that dynamic PMB mode was relatively broken, though they were never intended to converge. The main areas where there are differences are whether the system is booted in 29-bit mode or 32-bit mode, and whether legacy mappings are to be preserved. Any system booting in true 32-bit mode will not care about legacy mappings, so these are roughly decoupled. Regardless of the entry point, PMB and 32BIT are directly related as far as the kernel is concerned, so we also switch back to having one select the other. With legacy mappings iterated through and applied in the initialization path it's now possible to finally merge the two implementations and permit dynamic remapping overtop of remaining entries regardless of whether boot mappings are crafted by hand or inherited from the boot loader. Signed-off-by: Paul Mundt commit cf5531148ff34938840d6da775c0a4ace442d573 Author: Arnaldo Carvalho de Melo Date: Thu Jan 7 19:59:40 2010 -0200 perf tools: Create typedef for common event synthesizing callback Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262901583-8074-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit a89e5abe3efcc7facc666d3985769278937f86b0 Author: Arnaldo Carvalho de Melo Date: Thu Jan 7 19:59:39 2010 -0200 perf symbols: Record the domain of DSOs in HEADER_BUILD_ID header table So that we can restore them to the right DSO list (either dsos__kernel or dsos__user). We do that just like the kernel does for the other events, encoding PERF_RECORD_MISC_{KERNEL,USER} in perf_event_header. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262901583-8074-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit fed5af61dc0d9402d26e7fb8fb9731a60a8e05ca Author: Arnaldo Carvalho de Melo Date: Thu Jan 7 19:59:38 2010 -0200 perf buildid-list: No need to process the header sections again As it is already processed by: perf_session__new perf_session__open perf_session__read This was harmless, because we use dsos__findnew, that would already find it, but is unnecessary work and removing it makes builtin-buildid-list.c even shorter. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262901583-8074-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8d9e503928638fc95317be42c416fb7907322aff Author: Alexander Beregalov Date: Thu Jan 7 19:40:47 2010 +0300 perf: Fix memory leak: counterwidth Signed-off-by: Alexander Beregalov Cc: a.p.zijlstra@chello.nl Cc: paulus@samba.org LKML-Reference: <1262882447-23776-2-git-send-email-a.beregalov@gmail.com> Signed-off-by: Ingo Molnar commit 631c9def804b2c92b5cca04fb9ff7b5df9e35094 Author: Masami Hiramatsu Date: Wed Jan 6 09:45:34 2010 -0500 perf probe: Support --line option to show probable source-code lines Add --line option to support showing probable source-code lines. perf probe --line SRC:LN[-LN|+NUM] or perf probe --line FUNC[:LN[-LN|+NUM]] This option shows source-code with line number if the line can be probed. Lines without line number (and blue color) means that the line can not be probed, because debuginfo doesn't have the information of those lines. The argument specifies the range of lines, "source.c:100-120" shows lines between 100th to l20th in source.c file. And "func:10+20" shows 20 lines from 10th line of func function. e.g. # ./perf probe --line kernel/sched.c:1080 * * called with rq->lock held and irqs disabled */ static void hrtick_start(struct rq *rq, u64 delay) { struct hrtimer *timer = &rq->hrtick_timer; 1086 ktime_t time = ktime_add_ns(timer->base->get_time(), delay); hrtimer_set_expires(timer, time); 1090 if (rq == this_rq()) { 1091 hrtimer_restart(timer); 1092 } else if (!rq->hrtick_csd_pending) { 1093 __smp_call_function_single(cpu_of(rq), &rq->hrtick_csd, 1094 rq->hrtick_csd_pending = 1; If you specifying function name, this shows function-relative line number. # ./perf probe --line schedule asmlinkage void __sched schedule(void) 1 { struct task_struct *prev, *next; unsigned long *switch_count; struct rq *rq; int cpu; need_resched: preempt_disable(); 9 cpu = smp_processor_id(); 10 rq = cpu_rq(cpu); 11 rcu_sched_qs(cpu); 12 prev = rq->curr; 13 switch_count = &prev->nivcsw; Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20100106144534.27218.77939.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 6964cd2c8efe6e048401f1fe3952a06c563c34c1 Author: Masami Hiramatsu Date: Tue Jan 5 17:47:24 2010 -0500 perf tools: Enhance glob string matching Enhance strglobmatch() for supporting character classes([CHARS], complementation and ranges are also supported) and escaped special characters (\*, \? etc). Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20100105224724.19431.56271.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit fb1d2edf7ee25a26ad0b238d0ee335a3b28b7aa3 Author: Masami Hiramatsu Date: Tue Jan 5 17:47:17 2010 -0500 perf tools: Support tracepoint glob matching Support glob wildcard when selecting tracepoint events by -e option. Without this patch, perf-tools supports 'GROUP:*:record' syntax for selecting all tracepoints under GROUP group. With this patch, user can choose tracepoints more flexibly by using partial wildcards, e.g. 'block:*bio*:record'. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20100105224717.19431.68972.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 72041334b8c75ae7e1da2f17ba2b7afee8f2abd7 Author: Masami Hiramatsu Date: Tue Jan 5 17:47:10 2010 -0500 perf probe: Show probe list in pager Show probe list in pager, because the list can be longer than a page. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20100105224710.19431.61542.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit bbaa46fac6d1c652bfa6282420d36a44bdc53b64 Author: Masami Hiramatsu Date: Tue Jan 5 17:47:03 2010 -0500 perf probe: Remove newline from die() Remove newline from die(), because it is automatically added. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20100105224703.19431.42475.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit aa5add93e92019018e905146f8c3d3f8e3c08300 Author: Masami Hiramatsu Date: Tue Jan 5 17:46:56 2010 -0500 x86/ptrace: Remove unused regs_get_argument_nth API Because of dropping function argument syntax from kprobe-tracer, we don't need this API anymore. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Roland McGrath Cc: Oleg Nesterov Cc: Mahesh Salgaonkar Cc: Benjamin Herrenschmidt Cc: Michael Neuling Cc: Steven Rostedt Cc: linuxppc-dev@ozlabs.org LKML-Reference: <20100105224656.19431.92588.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 14640106f243a3b29944d7198569090fa6546f2d Author: Masami Hiramatsu Date: Tue Jan 5 17:46:48 2010 -0500 tracing/kprobe: Drop function argument access syntax Drop function argument access syntax, because the function arguments depend on not only architecture but also compile-options and function API. And now, we have perf-probe for finding register/memory assigned to each argument. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Roland McGrath Cc: Oleg Nesterov Cc: Mahesh Salgaonkar Cc: Benjamin Herrenschmidt Cc: Michael Neuling Cc: linuxppc-dev@ozlabs.org LKML-Reference: <20100105224648.19431.52309.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit ec3a9039601af210fca4650d229621fe5a21df0b Author: Masami Hiramatsu Date: Tue Jan 5 17:46:41 2010 -0500 tracing/kprobe: Update example output in documentation Update example output in documentation according to current implementation. Signed-off-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: systemtap Cc: DLE Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <20100105224641.19431.34967.stgit@dhcp-100-2-132.bos.redhat.com> Signed-off-by: Ingo Molnar commit 56b03f3c4d641dbdbce2e52a2969712e85b0e030 Author: Arnaldo Carvalho de Melo Date: Tue Jan 5 16:50:31 2010 -0200 perf tools: Handle relocatable kernels DSOs don't have this problem because the kernel emits a PERF_MMAP for each new executable mapping it performs on monitored threads. To fix the kernel case we simulate the same behaviour, by having 'perf record' to synthesize a PERF_MMAP for the kernel, encoded like this: [root@doppio ~]# perf record -a -f sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.344 MB perf.data (~15038 samples) ] [root@doppio ~]# perf report -D | head -10 0xd0 [0x40]: event: 1 . . ... raw event: size 64 bytes . 0000: 01 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 ......@........ . 0010: 00 00 00 81 ff ff ff ff 00 00 00 00 00 00 00 00 ............... . 0020: 00 00 00 00 00 00 00 00 5b 6b 65 72 6e 65 6c 2e ........ [kernel . 0030: 6b 61 6c 6c 73 79 6d 73 2e 5f 74 65 78 74 5d 00 kallsyms._text] . 0xd0 [0x40]: PERF_RECORD_MMAP 0/0: [0xffffffff81000000((nil)) @ (nil)]: [kernel.kallsyms._text] I.e. we identify such event as having: .pid = 0 .filename = [kernel.kallsyms.REFNAME] .start = REFNAME addr in /proc/kallsyms at 'perf record' time and use now a hardcoded value of '.text' for REFNAME. Then, later, in 'perf report', if there are any kernel hits and thus we need to resolve kernel symbols, we search for REFNAME and if its address changed, relocation happened and we thus must change the kernel mapping routines to one that uses .pgoff as the relocation to apply. This way we use the same mechanism used for the other DSOs and don't have to do a two pass in all the kernel symbols. Reported-by: Xiao Guangrong Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: "H. Peter Anvin" Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Xiao Guangrong LKML-Reference: <1262717431-1246-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit b9a63b9b56d6910a25e3d4905525aef150420a9b Author: Arnaldo Carvalho de Melo Date: Tue Jan 5 11:54:45 2010 -0200 perf report: Fix --no-call-chain option handling To avoid the funny: [root@doppio ~]# perf record -a -f sleep 2s [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.334 MB perf.data (~14572 samples) ] [root@doppio ~]# perf report --no-call-graph selected -g but no callchain data. Did you call perf record without -g? And fix the bug reported by peterz when we do indeed record with callchains and then ask for a report without: [root@doppio ~]# perf record -a -g -f sleep 2s [root@doppio ~]# perf report --no-call-graph Segmentation fault [root@doppio ~]# Reported-by: Peter Zijlstra Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262699685-27820-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit de1764892a61a3ed212973cc028c80dd083179dd Author: Arnaldo Carvalho de Melo Date: Mon Jan 4 16:19:29 2010 -0200 perf session: Keep pointers to the vmlinux maps So that tools such as 'perf probe' don't have to lookup '[kernel.kallsyms]' but instead access them directly after perf_session__create_kernel_maps or map_groups__create_kernel_maps. Signed-off-by: Arnaldo Carvalho de Melo Cc: Masami Hiramatsu Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262629169-22797-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f92cb24c78a7c853435e46a20d1bd5c894378132 Author: Arnaldo Carvalho de Melo Date: Mon Jan 4 16:19:28 2010 -0200 perf tools: Create write_padded routine out of __dsos__write_buildid_table Will be used by other options where padding is needed. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262629169-22797-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 36a3e6461a0dac8e84b8c94877365324010c151b Author: Arnaldo Carvalho de Melo Date: Mon Jan 4 16:19:27 2010 -0200 perf symbols: Export symbol_type__is_a Will be needed by the new HEADER_DSO_INFO feature that will be a HEADER_BUILD_ID superset, replacing it. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262629169-22797-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 682b335a5bccf9e5b7e74380784aa2f145d04444 Author: Arnaldo Carvalho de Melo Date: Mon Jan 4 16:19:26 2010 -0200 perf symbols: Generalise the kallsyms parsing routine Will be used to find an specific symbol by name on 'perf record' to support relocation reference symbols to support relocatable kernels. Still have to conver the perf trace tools to use it instead of their current reimplementation. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262629169-22797-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 60666c630bdb33983a894b050b588b663f38f368 Author: Liming Wang Date: Thu Dec 31 16:05:50 2009 +0800 perf tools: Fix --pid option for stat current pid option doesn't work for perf stat. Change it to what perf record --pid acts as. Signed-off-by: Liming Wang Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1262246750-2191-1-git-send-email-liming.wang@windriver.com> Signed-off-by: Ingo Molnar commit 0fb8ee48d9dfff6a0913ceb0be2068d8be203763 Author: Frederic Weisbecker Date: Thu Dec 31 05:53:03 2009 +0100 perf: Drop useless check for ignored frame The check that ignores the debug and nmi stack frames is useless now that we have a frame pointer that makes us start at the right place. We don't anymore have to deal with these. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras LKML-Reference: <1262235183-5320-2-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 61405fea92c42d072d9b8bd189689f1502a838af Merge: 9c443df 1703f2c Author: Ingo Molnar Date: Wed Jan 13 09:58:37 2010 +0100 Merge branch 'perf/urgent' into perf/core Merge reason: queue up dependent patch, update to -rc4 Signed-off-by: Ingo Molnar commit b6407e863934965cdc66cbc244d811ceeb6f4d77 Author: Paul E. McKenney Date: Mon Jan 4 16:04:02 2010 -0800 rcu: Give different levels of the rcu_node hierarchy distinct lockdep names Previously, each level of the rcu_node hierarchy had the same rather unimaginative name: "&rcu_node_class[i]". This makes lockdep diagnostics involving these lockdep classes less helpful than would be nice. This patch fixes this by giving each level of the rcu_node hierarchy a distinct name: "rcu_node_level_0", "rcu_node_level_1", and so on. This version of the patch includes improved diagnostics suggested by Josh Triplett and Peter Zijlstra. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626498421830-git-send-email-> Signed-off-by: Ingo Molnar commit cba8244a0f1c277b6b1e48ed6504fa434119e24d Author: Paul E. McKenney Date: Mon Jan 4 16:04:01 2010 -0800 rcu: Add debug check for too many rcu_read_unlock() TREE_PREEMPT_RCU maintains an rcu_read_lock_nesting counter in the task structure, which happens to be a signed int. So this patch adds a check for this counter being negative at the end of __rcu_read_unlock(). This check is under CONFIG_PROVE_LOCKING, so can be thought of as being part of lockdep. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626498423064-git-send-email-> Signed-off-by: Ingo Molnar commit f9094d8e5587cf21091a9516628147c0b55e4264 Author: Paul E. McKenney Date: Mon Jan 4 16:04:00 2010 -0800 rcu: Make MAINTAINERS file match new RCU reality Both rcutorture and RCU are supported. Also, update the files to match the new layout. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626498422334-git-send-email-> Signed-off-by: Ingo Molnar commit bf66f18e79e34c421bbd8f6511e2c556b779df2f Author: Paul E. McKenney Date: Mon Jan 4 15:09:10 2010 -0800 rcu: Add force_quiescent_state() testing to rcutorture Add force_quiescent_state() testing to rcutorture, with a separate thread that repeatedly invokes force_quiescent_state() in bursts. This can greatly increase the probability of encountering certain types of race conditions. Suggested-by: Josh Triplett Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1262646551116-git-send-email-> Signed-off-by: Ingo Molnar commit 46a1e34eda805501a8b32f26394faa435149f6d1 Author: Paul E. McKenney Date: Mon Jan 4 15:09:09 2010 -0800 rcu: Make force_quiescent_state() start grace period if needed Grace periods cannot be started while force_quiescent_state() is active. This is OK in that the affected CPUs will try again later, but it does induce needless grace-period delays. This patch causes rcu_start_gp() to record a failed attempt to start a grace period. When force_quiescent_state() prepares to return, it then starts the grace period if there was such a failed attempt. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626465501854-git-send-email-> Signed-off-by: Ingo Molnar commit 45f014c52eef022873b19d6a20eb0ec9668f2b09 Author: Paul E. McKenney Date: Mon Jan 4 15:09:08 2010 -0800 rcu: Remove redundant grace-period check The rcu_process_dyntick() function checks twice for the end of the current grace period. However, it holds the current rcu_node structure's ->lock field throughout, and doesn't get to the second call to rcu_gp_in_progress() unless there is at least one CPU corresponding to this rcu_node structure that has not yet checked in for the current grace period, which would prevent the current grace period from ending. So the current grace period cannot have ended, and the second check is redundant, so remove it. Also, given that this function is used even with !CONFIG_NO_HZ, its name is quite misleading. Change from rcu_process_dyntick() to force_qs_rnp(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1262646550562-git-send-email-> Signed-off-by: Ingo Molnar commit ee47eb9f4da6f44af965d6d049e77ee8c8a4b822 Author: Paul E. McKenney Date: Mon Jan 4 15:09:07 2010 -0800 rcu: Remove leg of force_quiescent_state() switch statement The comparisons of rsp->gpnum nad rsp->completed in rcu_process_dyntick() and force_quiescent_state() can be replaced by the much more clear rcu_gp_in_progress() predicate function. After doing this, it becomes clear that the RCU_SAVE_COMPLETED leg of the force_quiescent_state() function's switch statement is almost completely a no-op. A small change to the RCU_SAVE_DYNTICK leg renders it a complete no-op, after which it can be removed. Doing so also eliminates the forcenow local variable from force_quiescent_state(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626465501781-git-send-email-> Signed-off-by: Ingo Molnar commit 0f10dc826646134dce3e5751512b87d30f3903e4 Author: Paul E. McKenney Date: Mon Jan 4 15:09:06 2010 -0800 rcu: Eliminate rcu_process_dyntick() return value Because a new grace period cannot start while we are executing within the force_quiescent_state() function's switch statement, if any test within that switch statement or within any function called from that switch statement shows that the current grace period has ended, we can safely re-do that test any time before we leave the switch statement. This means that we no longer need a return value from rcu_process_dyntick(), as we can simply invoke rcu_gp_in_progress() to check whether the old grace period has finished -- there is no longer any need to worry about whether or not a new grace period has been started. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626465501857-git-send-email-> Signed-off-by: Ingo Molnar commit eb1ba45f1e7f6e626fefc063b340c7cbec9bd8c7 Author: Paul E. McKenney Date: Mon Jan 4 15:09:05 2010 -0800 rcu: Eliminate second argument of rcu_process_dyntick() At this point, the second argument to all calls to rcu_process_dyntick() is a function of the same field of the structure passed in as the first argument, namely, rsp->gpnum-1. So propagate rsp->gpnum-1 to all uses of the second argument within rcu_process_dyntick() and then eliminate the second argument. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626465503786-git-send-email-> Signed-off-by: Ingo Molnar commit 39c0bbfc07c6e28db7346d0e11106f2d045d3035 Author: Paul E. McKenney Date: Mon Jan 4 15:09:04 2010 -0800 rcu: Eliminate local variable lastcomp from force_quiescent_state() Because rsp->fqs_active is set to 1 across force_quiescent_state()'s switch statement, rcu_start_gp() will refrain from starting a new grace period during this time. Therefore, rsp->gpnum is constant, and can be propagated to all uses of lastcomp, eliminating this local variable. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626465502985-git-send-email-> Signed-off-by: Ingo Molnar commit f3a8b5c6aa543bd87764418d63632eb65b80e2f6 Author: Paul E. McKenney Date: Mon Jan 4 15:09:03 2010 -0800 rcu: Eliminate local variable signaled from force_quiescent_state() Because the root rcu_node lock is held across entry to the switch statement in force_quiescent_state(), it is no longer necessary to snapshot rsp->signaled to a local variable. Eliminate both the snapshotting and the local variable. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1262646550602-git-send-email-> Signed-off-by: Ingo Molnar commit 07079d5357a4d53c2b13126c4a38fb40e6e04966 Author: Paul E. McKenney Date: Mon Jan 4 15:09:02 2010 -0800 rcu: Prohibit starting new grace periods while forcing quiescent states Reduce the number and variety of race conditions by prohibiting the start of a new grace period while force_quiescent_state() is active. A new fqs_active flag in the rcu_state structure is used to trace whether or not force_quiescent_state() is active, and this new flag is tested by rcu_start_gp(). If the CPU that closed out the last grace period needs another grace period, this new grace period may be delayed up to one scheduling-clock tick, but it will eventually get started. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <126264655052-git-send-email-> Signed-off-by: Ingo Molnar commit 559569acf94f538b56bd6eead80b439d6a78cdff Author: Paul E. McKenney Date: Mon Jan 4 15:09:01 2010 -0800 rcu: Adjust force_quiescent_state() locking, step 2 This patch releases rnp->lock after the end of force_quiescent_state()'s switch statement. This is a second step towards prohibiting starting grace periods while force_quiescent_state() is executing, which will reduce the number and complexity of races that force_quiescent_state() is involved in. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626465501994-git-send-email-> Signed-off-by: Ingo Molnar commit f96e9232e04856c781d4f71923a46dd3f7b429fa Author: Paul E. McKenney Date: Mon Jan 4 15:09:00 2010 -0800 rcu: Adjust force_quiescent_state() locking, step 1 This causes rnp->lock to be held on entry to force_quiescent_state()'s switch statement. This is a first step towards prohibiting starting grace periods while force_quiescent_state() is executing, which will reduce the number and complexity of races that force_quiescent_state() is involved in. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <12626465501455-git-send-email-> Signed-off-by: Ingo Molnar commit 2ca49b2fcf5813571663c3c4c894b78148c43690 Author: Dave Jones Date: Mon Jan 4 09:47:35 2010 -0500 x86: Macroise x86 cache descriptors Use a macro to define the cache sizes when cachesize > 1 MB. This is less typing, and less prone to introducing bugs like we saw in e02e0e1a130b9ca37c5186d38ad4b3aaf58bb149, and means we don't have to do maths when adding new non-power-of-2 updates like those seen recently. Signed-off-by: Dave Jones LKML-Reference: <20100104144735.GA18390@redhat.com> Signed-off-by: Ingo Molnar commit 7f33306ee57bce9c79825e89c457a91025aa5aad Author: Matt Fleming Date: Wed Jan 13 16:35:58 2010 +0900 sh: PVR detection for 2nd cut SH7786. The mass produced cuts use an updated PVR value, add them to the list. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit eca50f14b88315bd31183a17c89e53534f2ed2fa Author: Paul Mundt Date: Wed Jan 13 16:28:47 2010 +0900 sh: Add a vmlinux.bin target. This makes vmlinux.bin generation an explicit make target, as opposed to just a dependency for some of the other targets. Signed-off-by: Paul Mundt commit 59c33fa7791e9948ba467c2b83e307a0d087ab49 Author: Linus Torvalds Date: Tue Jan 12 16:21:09 2010 -0800 x86-32: clean up rwsem inline asm statements This makes gcc use the right register names and instruction operand sizes automatically for the rwsem inline asm statements. So instead of using "(%%eax)" to specify the memory address that is the semaphore, we use "(%1)" or similar. And instead of forcing the operation to always be 32-bit, we use "%z0", taking the size from the actual semaphore data structure itself. This doesn't actually matter on x86-32, but if we want to use the same inline asm for x86-64, we'll need to have the compiler generate the proper 64-bit names for the registers (%rax instead of %eax), and if we want to use a 64-bit counter too (in order to avoid the 15-bit limit on the write counter that limits concurrent users to 32767 threads), we'll need to be able to generate instructions with "q" accesses rather than "l". Since this header currently isn't enabled on x86-64, none of that matters, but we do want to use the xadd version of the semaphores rather than have to take spinlocks to do a rwsem. The mm->mmap_sem can be heavily contended when you have lots of threads all taking page faults, and the fallback rwsem code that uses a spinlock performs abysmally badly in that case. [ hpa: modified the patch to skip size suffixes entirely when they are redundant due to register operands. ] Signed-off-by: Linus Torvalds LKML-Reference: Signed-off-by: H. Peter Anvin commit c7b16efb7d0c7fce218b2cdafa2432c5fbf57314 Author: Paul Mundt Date: Wed Jan 13 13:29:19 2010 +0900 sh: Add support for LZO-compressed kernels. Plugs in LZO along with the others. Signed-off-by: Paul Mundt commit 644755e7867710a23e6243dcc69cfc071985f560 Merge: 6430a59 0ea820c fa94dde 066000d Author: Paul Mundt Date: Wed Jan 13 13:02:55 2010 +0900 Merge branches 'sh/xstate', 'sh/hw-breakpoints' and 'sh/stable-updates' commit 6430a5987f8bb9a7c5187b343956aa8ef404d571 Author: Matt Fleming Date: Wed Jan 13 12:59:24 2010 +0900 sh: Don't perform an icbi on a P2 address The legacy P2 area may not always be mapped (for example when using PMB). So perform an icbi on an address that we know will always be mapped. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 0ea820cf9bf58f735ed40ec67947159c4f170012 Author: Paul Mundt Date: Wed Jan 13 12:51:40 2010 +0900 sh: Move over to dynamically allocated FPU context. This follows the x86 xstate changes and implements a task_xstate slab cache that is dynamically sized to match one of hard FP/soft FP/FPU-less. This also tidies up and consolidates some of the SH-2A/SH-4 FPU fragmentation. Now fpu state restorers are commonly defined, with the init_fpu()/fpu_init() mess reworked to follow the x86 convention. The fpu_init() register initialization has been replaced by xstate setup followed by writing out to hardware via the standard restore path. As init_fpu() now performs a slab allocation a secondary lighterweight restorer is also introduced for the context switch. In the future the DSP state will be rolled in here, too. More work remains for math emulation and the SH-5 FPU, which presently uses its own special (UP-only) interfaces. Signed-off-by: Paul Mundt commit 49e4739a0cf681cbfe08c72232c1dcc130b66dde Author: Stephane Chatty Date: Wed Jan 13 00:29:16 2010 +0100 HID: add support for Acer T230H multitouch Add support for the Quanta Optical Touch dual-touch panel, present in the Acer T230H monitor, HP L2105tm, and Packard-Bell Video 200t. Signed-off-by: Stephane Chatty Tested-by: Jerome Vidal Tested-by: Cedric Berthier Acked-by: Dmitry Torokhov Signed-off-by: Jiri Kosina commit 74f292ca8c7a2b9370f80d97a49e48174f4c7635 Author: Gary Stein Date: Wed Jan 13 00:25:58 2010 +0100 HID: add driver for the Logitech Flight System G940 Implements a new USB-HID for Force Feedback based on the normal Logitech Force Feedback code and FF-Memless. Currently only supports the FF_CONSTANT effect although the joystick appears to support additional non-standard ones. Signed-off-by: Gary Stein Signed-off-by: Jiri Kosina commit d67dec5b2cc208215de21dc7806945bf6a6e85d0 Author: Márton Németh Date: Sun Jan 10 17:59:22 2010 +0100 HID: make USB device id constant The id_table field of the struct usb_device_id is constant in so it is worth to make the initialization data also constant. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @r@ disable decl_init,const_decl_init; identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Cc: Julia Lawall Cc: cocci@diku.dk Signed-off-by: Jiri Kosina commit a3705799e2cc5fb69d88ad6a7f317a8f5597f18d Author: Paul Mundt Date: Tue Jan 12 19:10:06 2010 +0900 sh: Use SLAB_PANIC for thread_info slab cache. Presently this has a BUG_ON() for failure cases, as powerpc does. Switch this over to a SLAB_PANIC instead. Signed-off-by: Paul Mundt commit cbf6b1ba7ae12b3f7cb6b0d060b88d44649f9eda Author: Paul Mundt Date: Tue Jan 12 19:01:11 2010 +0900 sh: Always provide thread_info allocators. Presently the thread_info allocators are special cased, depending on THREAD_SHIFT < PAGE_SHIFT. This provides a sensible definition for them regardless of configuration, in preparation for extended CPU state. Signed-off-by: Paul Mundt commit 70e068eef97d05c97c3512f82352f39fdadfa8cb Author: Paul Mundt Date: Tue Jan 12 18:52:00 2010 +0900 sh: Move start_thread() out of line. start_thread() will become a bit heavier with the xstate freeing to be added in, so move it out-of-line in preparation. Signed-off-by: Paul Mundt commit 94cd049522136c2f3bbe063d2e98b2b8d4286fd3 Author: Paul Mundt Date: Tue Jan 12 18:42:52 2010 +0900 sh: sh_bios detection. This adds some VBR sanity checks in the sh_bios code to ensure that the BIOS VBR is in range before blindly trapping in to it. This permits boards with varying boot loader configurations to always leave support for sh-bios enabled and it will just be disabled at run-time if not found. Signed-off-by: Paul Mundt commit a99eae5417a09e0be66bf574a9a79a2a7388c967 Author: Paul Mundt Date: Tue Jan 12 16:12:25 2010 +0900 sh: Split out the unaligned counters and user bits. This splits out the unaligned access counters and userspace bits in to their own generic interface, which will allow them to be wired up on sh64 too. Signed-off-by: Paul Mundt commit 776258df925acd0563f471ee4b3f19bbffb3c04f Author: Paul Mundt Date: Tue Jan 12 15:31:20 2010 +0900 sh: Consolidate the sh_bios earlyprintk code. Now that the sh-sci earlyprintk is taken care of by the sh-sci driver directly, there's no longer any reason for having a split-out early_printk framework. sh_bios is the only other thing that uses it, so we just migrate the leftovers in to there. As it's possible to have multiple early_param()'s for the same string, there's not much point in having this split out anymore anyways, particularly since the sh_bios dependencies are still special-cased within sh-sci itself. Signed-off-by: Paul Mundt commit b9303a79567d4a45b015dff7e71dd24923332d8d Author: Paul Mundt Date: Tue Jan 12 15:26:11 2010 +0900 sh: Kill off more unused sh_bios callbacks. sh_bios_char_out() is not used by anything in-tree these days, so just get rid of it. Signed-off-by: Paul Mundt commit 65fedbbef8404be5e1dbd18bdad252616b49a24b Author: Paul Mundt Date: Tue Jan 12 15:22:26 2010 +0900 sh64: Fix up early serial fixmap. This was conditionalized on CONFIG_EARLY_PRINTK, which has subsequently gone away. Now that the serial driver always supports the early console, make sure we always establish the mapping. Signed-off-by: Paul Mundt commit 191d0d24b632eb69767705acded5cbf7449ad457 Author: Paul Mundt Date: Tue Jan 12 14:50:43 2010 +0900 sh: Tidy up the sh bios VBR handling. This moves the VBR handling out of the main trap handling code and in to the sh-bios helper code. A couple of accessors are added in order to permit other kernel code to get at the VBR value for state save/restore paths. Signed-off-by: Paul Mundt commit ee2760ea58d81fc00bcc2137232ed9bc28202aec Author: Paul Mundt Date: Tue Jan 12 13:48:27 2010 +0900 sh: default to sparseirq. As SH has a very sparse IRQ map by default, all new CPUs and boards benefit from using sparseirq by default. Despite this, there are still a few stragglers (mostly due to using a fixed IRQ range for their FPGA IRQ mappings), and these still need to be converted over one by one. As these are now in the minority, and we do not want to encourage this sort of brain-damage in newer board ports, we force sparseirq on. Signed-off-by: Paul Mundt commit 53e6d8e0060fe2bb9b11238f8250fdfbb0589425 Author: Paul Mundt Date: Tue Jan 12 13:37:04 2010 +0900 sh: mach-se: Convert SE7343 FPGA to dynamic IRQ allocation. This gets rid of the arbitrary set of vectors used by the SE7722 FPGA interrupt controller and switches over to a completely dynamic set. No assumptions regarding a contiguous range are made, and the platform resources themselves need to be filled in lazily. Signed-off-by: Paul Mundt commit 8c0b8139c87cfe8b95c6e763b4ca3190aa9b1ad0 Author: Paul Mundt Date: Fri Jan 8 17:02:17 2010 +0900 sh: consolidate atomic_cmpxchg()/atomic_add_unless() definitions. The LL/SC and IRQ versions were using generic stubs while the GRB version was just reimplementing what it already had for the standard cmpxchg() code. As we have optimized cmpxchg() implementations that are decoupled from the atomic code, simply falling back on the generic wrapper does the right thing. With this in place the GRB case is unaffected while the LL/SC case gets to use its optimized cmpxchg(). Signed-off-by: Paul Mundt commit faad98f29606d9d3c6bddae7c88693be37d2fb43 Author: Roel Kluin Date: Fri Jan 8 14:19:21 2010 +1100 crypto: geode-aes - access .cip instead of .blk in cipher mode The fallback code in cipher mode touch the union fallback.blk instead of fallback.cip. This is wrong because we use the cipher and not the blockcipher. This did not show any side effects yet because both types / structs contain the same element right now. Signed-off-by: Roel Kluin Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit d7ac769068df87ca8c7f72d99cf67ead16739f18 Author: Roel Kluin Date: Fri Jan 8 14:18:34 2010 +1100 crypto: aes_s390 - access .cip instead of .blk in cipher mode The fallback code in cipher mode touch the union fallback.blk instead of fallback.cip. This is wrong because we use the cipher and not the blockcipher. This did not show any side effects yet because both types / structs contain the same element right now. Signed-off-by: Roel Kluin Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit 99659a929d653d0c9ce458091870544768add871 Author: Roel Kluin Date: Thu Jan 7 15:35:42 2010 +0100 x86, uv: Remove recursion in uv_heartbeat_enable() The recursion is not needed and does not improve readability. Signed-off-by: Roel Kluin LKML-Reference: <4B45F13E.3040202@gmail.com> Signed-off-by: H. Peter Anvin commit e1e0138d7d10fd447c71cc70f367eac514bd3ce4 Author: Jack Steiner Date: Thu Jan 7 10:12:40 2010 -0600 x86, uv: uv_global_gru_mmr_address() macro fix Fix bug in uv_global_gru_mmr_address macro. Macro failed to cast an int value to a long prior to a left shift > 32. Signed-off-by: Jack Steiner LKML-Reference: <20100107161240.GA2610@sgi.com> Cc: Signed-off-by: H. Peter Anvin commit 5abbbbf0b0cd4abf5898136d0c345dc99b859c8c Author: Brian Gerst Date: Thu Jan 7 11:53:35 2010 -0500 x86: Merge asm/atomic_{32,64}.h Merge the now identical code from asm/atomic_32.h and asm/atomic_64.h into asm/atomic.h. Signed-off-by: Brian Gerst LKML-Reference: <1262883215-4034-4-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 3ce59bb8352e1c53446bef1ead1c63956dfef64a Author: Brian Gerst Date: Thu Jan 7 11:53:34 2010 -0500 x86: Sync asm/atomic_32.h and asm/atomic_64.h Prepare for merging into asm/atomic.h. Signed-off-by: Brian Gerst LKML-Reference: <1262883215-4034-3-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 1a3b1d89eded68d64e5ea409ad37827310059441 Author: Brian Gerst Date: Thu Jan 7 11:53:33 2010 -0500 x86: Split atomic64_t functions into seperate headers Split atomic64_t functions out into separate headers, since they will not be practical to merge between 32 and 64 bits. Signed-off-by: Brian Gerst LKML-Reference: <1262883215-4034-2-git-send-email-brgerst@gmail.com> Signed-off-by: H. Peter Anvin commit 5068c7a883d1694f0fb3631b664827644153cd08 Author: Steffen Klassert Date: Thu Jan 7 15:57:19 2010 +1100 crypto: pcrypt - Add pcrypt crypto parallelization wrapper This patch adds a parallel crypto template that takes a crypto algorithm and converts it to process the crypto transforms in parallel. For the moment only aead algorithms are supported. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit d931369b74b3d6f2044f595af6f3dd074f65d9cf Author: Steven Rostedt Date: Wed Jan 6 17:27:11 2010 -0500 tracing: Add stack dump to trace_printk if stacktrace option is set If the ftrace stacktrace option is set, then add the stack dumps to trace_printk. Requested-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit dfaa9e2c5707b2c217c0121aac796e0fa3051482 Author: Wolfram Sang Date: Tue Jan 5 21:41:22 2010 +0100 tracing: Use appropriate perl constructs in recordmcount.pl Modified recordmcount.pl to use perl constructs that are still understandable by C hackers that are not perl programmers. Signed-off-by: Wolfram Sang LKML-Reference: <1262724082-9517-1-git-send-email-w.sang@pengutronix.de> Signed-off-by: Steven Rostedt commit 13d7e9385644d376a0816ad663ba3dfc45359f2f Author: Steven Rostedt Date: Wed Jan 6 17:56:12 2010 -0500 kconfig: Check for if conditions in Kconfig for localmodconfig The streamline_config.pl misses the if conditions for checking dependencies. For Kconfigs with the following construct: if MEDIA_SUPPORT config VIDEO_DEV [...] If VIDEO_DEV was enabled, the script will miss the fact that MEDIA_SUPPORT is also needed. This patch changes streamline_config.pl to include if conditions into the dependencies of configs. Reported-by: Anton Blanchard Tested-by: Anton Blanchard Signed-off-by: Steven Rostedt commit 17263baf958b7ab1d8c60445f412a1080362c88c Author: Steven Rostedt Date: Wed Jan 6 16:43:08 2010 -0500 kconfig: Create include/generated for localmodconfig If someone downloads a brand new kernel and runs localmodconfig or localyesconfig, the ending result will report: *** Error during update of the kernel configuration. This is because localmodconfig and localyesconfig must create the include/generated directory to place the autoconf.h file. Signed-off-by: Steven Rostedt commit dc4f8845ee2ca39fe054a2d911729ffd269b4b66 Author: Wolfram Sang Date: Tue Jan 5 19:27:51 2010 +0100 tracing: optimize recordmcount.pl for offsets-handling - move check for open file in front of the writing loop - use perl-constructs to access the array Signed-off-by: Wolfram Sang LKML-Reference: <1262716072-14414-2-git-send-email-w.sang@pengutronix.de> Signed-off-by: Steven Rostedt commit 7e53bd42d14c75192b99674c40fcc359392da59d Author: Lai Jiangshan Date: Wed Jan 6 20:08:50 2010 +0800 tracing: Consolidate protection of reader access to the ring buffer At the beginning, access to the ring buffer was fully serialized by trace_types_lock. Patch d7350c3f4569 gives more freedom to readers, and patch b04cc6b1f6 adds code to protect trace_pipe and cpu#/trace_pipe. But actually it is not enough, ring buffer readers are not always read-only, they may consume data. This patch makes accesses to trace, trace_pipe, trace_pipe_raw cpu#/trace, cpu#/trace_pipe and cpu#/trace_pipe_raw serialized. And removes tracing_reader_cpumask which is used to protect trace_pipe. Details: Ring buffer serializes readers, but it is low level protection. The validity of the events (which returns by ring_buffer_peek() ..etc) are not protected by ring buffer. The content of events may become garbage if we allow another process to consume these events concurrently: A) the page of the consumed events may become a normal page (not reader page) in ring buffer, and this page will be rewritten by the events producer. B) The page of the consumed events may become a page for splice_read, and this page will be returned to system. This patch adds trace_access_lock() and trace_access_unlock() primitives. These primitives allow multi process access to different cpu ring buffers concurrently. These primitives don't distinguish read-only and read-consume access. Multi read-only access is also serialized. And we don't use these primitives when we open files, we only use them when we read files. Signed-off-by: Lai Jiangshan LKML-Reference: <4B447D52.1050602@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 0fa0edaf32b9a78b9854f1da98d4511a501089b0 Author: Lai Jiangshan Date: Tue Dec 15 15:39:57 2009 +0800 tracing: Remove show_format and related macros from TRACE_EVENT The previous patches added the use of print_fmt string and changes the trace_define_field() function to also create the fields and format output for the event format files. text data bss dec hex filename 5857201 1355780 9336808 16549789 fc879d vmlinux 5884589 1351684 9337896 16574169 fce6d9 vmlinux-orig The above shows the size of the vmlinux after this patch set compared to the vmlinux-orig which is before the patch set. This saves us 27k on text, 1k on bss and adds just 4k of data. The total savings of 24k in size. Signed-off-by: Lai Jiangshan LKML-Reference: <4B273D4D.40604@cn.fujitsu.com> Acked-by: Masami Hiramatsu Signed-off-by: Steven Rostedt commit 5a65e956220efc2421e21ee56d6153fd5c533a95 Author: Lai Jiangshan Date: Tue Dec 15 15:39:53 2009 +0800 tracing: Use defined fields and print_fmt to print formats The calls ftrace_format_##call() and ftrace_define_fields_##call() are almost duplicate in functionality. With the addition of the print_fmt in previous patches, these two functions can be merged into one. The trace_define_field() defines the fields and links them into the struct ftrace_event_call. The previous patches introduced the print_fmt field and this can now be used with the trace_define_field() to create the event format file fields and print_fmt field. The struct ftrace_event_call->fields are used to print the fields The struct ftrace_event_call->print_fmt is used to print the "print fmt: XXXXXXXXXXX" line. Signed-off-by: Lai Jiangshan LKML-Reference: <4B273D49.5000006@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit c7ef3a9004201bca90626db246a19dadd2c29c9b Author: Steven Rostedt Date: Mon Dec 28 21:13:59 2009 -0500 tracing: Have syscall tracing call its own init function In the clean up of having all events call one specific function, the syscall event init was changed to call this helper function. With the new print_fmt updates, the syscalls need to do special initializations. This patch converts the syscall events to call its own init function again. Cc: Lai Jiangshan Cc: Li Zefan Signed-off-by: Steven Rostedt commit a342a0280b981c130e32dbb94dbd3a57959c4d04 Author: Lai Jiangshan Date: Tue Dec 15 15:39:49 2009 +0800 tracing/kprobes: Init print_fmt for kprobe events This is part of a patch set that removes the show_format method in the ftrace event macros. Add the print_fmt initialization to the kprobe events. The print_fmt is still not used, but will be in the follow up patches. Signed-off-by: Lai Jiangshan LKML-Reference: <4B273D45.3080100@cn.fujitsu.com> Acked-by: Masami Hiramatsu Signed-off-by: Steven Rostedt commit 50307a45f8515f6244e3b08e6b19824b9fbfe293 Author: Lai Jiangshan Date: Tue Dec 15 15:39:45 2009 +0800 tracing/syscalls: Init print_fmt for syscall events This is part of a patch set that removes the show_format method in the ftrace event macros. Add the print_fmt initialization to the syscall events. The print_fmt is still not used, but will be in the follow up patches. Signed-off-by: Lai Jiangshan LKML-Reference: <4B273D41.609@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 509e760cd91c831983097ae174cb6c0b8c6c8e6b Author: Lai Jiangshan Date: Tue Dec 15 15:39:42 2009 +0800 tracing: Add print_fmt field This is part of a patch set that removes the show_format method in the ftrace event macros. The print_fmt field is added to hold the string that shows the print_fmt in the event format files. This patch only adds the field but it is currently not used. Later patches will use this field to enable us to remove the show_format field and function. Signed-off-by: Lai Jiangshan LKML-Reference: <4B273D3E.2000704@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 809826a389040e0ad9d646b587bccc0e34691afd Author: Lai Jiangshan Date: Tue Dec 15 15:39:34 2009 +0800 tracing: Have __dynamic_array() define a field This is part of a patch set that removes the show_format method in the ftrace event macros. This patch set requires that all fields are added to the ftrace_event_call->fields. This patch changes __dynamic_array() to call trace_define_field() to include fields that use __dynamic_array(). Signed-off-by: Lai Jiangshan LKML-Reference: <4B273D36.8090100@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 54a6593d65e638ad7e1e8cc986159d76054dab4b Author: Stefan Glasenhardt Date: Tue Jan 5 23:30:30 2010 +0100 HID: allow disabling hard-coded ISO-layout for Apple keyboards This patch adds a new option named "iso_layout" to the driver "hid-apple.ko", to allow disabling of the hard-coded ISO-layout. Disabling the hard-coded layout solves the problem that the kernel-module only works perfectly for the english/american version of the Apple aluminum keyboard. Other versions have swapped keys, e.g. the "<"-key is swapped with "^"-key on the german keyboard. There is a very long bug-entry on Launchpad to this problem: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/214786 Signed-off-by: Stefan Glasenhardt Signed-off-by: Jiri Kosina commit 16295bec6398a3eedc9377e1af6ff4c71b98c300 Author: Steffen Klassert Date: Wed Jan 6 19:47:10 2010 +1100 padata: Generic parallelization/serialization interface This patch introduces an interface to process data objects in parallel. The parallelized objects return after serialization in the same order as they were before the parallelization. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit fa94ddea2b29fdda7640672c8a933dbd901f0278 Merge: 6fbfe8d 56d45b6 Author: Paul Mundt Date: Wed Jan 6 15:49:08 2010 +0900 Merge branch 'master' into sh/hw-breakpoints commit 6fbfe8d7cd7e71ceb281c5a1b9de6e5e0dfbf1c8 Author: Paul Mundt Date: Wed Jan 6 15:46:53 2010 +0900 sh: select HAVE_HW_BREAKPOINT for all SUPERH32 CPUs. All SH CPUs (with the exception of sh64) support the UBC, so select HW_BREAKPOINT support by default. This fixes up the build for non-SH4A targets. Signed-off-by: Paul Mundt commit 56d45b62ce622a003da972428fdbba2b42102efb Author: Paul Mundt Date: Wed Jan 6 14:45:14 2010 +0900 sh: Fix up nommu build for out-of-line pgtable changes. pgtable_cache_init() has been moved out-of-line, so we also need a dummy definition for it on nommu to fix up the build. Signed-off-by: Paul Mundt commit 722612cd51cf1b574c89dff57cc5dbedf1f645bb Author: Jiri Kosina Date: Tue Jan 5 11:45:52 2010 +0100 HID: fix parsing of local delimiter with size 0 Acording to HID standard 1.11, value 0 allows for size being 0. Local delimiter tag has has 0 one of the possible values. Therefore we need to handle this case properly, to be fully compliant with the specification. Reported-by: Marcin Tolysz Signed-off-by: Jiri Kosina commit 9fae4fb3ce38cc657ff0aba570ae875aae2806d4 Author: Paul Mundt Date: Tue Jan 5 19:30:18 2010 +0900 sh: Reclaim TIF_DEBUG. This was used by the old hw-breakpoints API, but now there is nothing is using it anymore, so just kill it off. Signed-off-by: Paul Mundt commit 7025bec9125b0a02edcaf22c2dce753bf2c95480 Author: Paul Mundt Date: Tue Jan 5 19:16:35 2010 +0900 sh: Kill off dead UBC headers. Nothing is using these now, so kill them all off. Signed-off-by: Paul Mundt commit 4352fc1b12fae4c753a063a2f162ddf9277af774 Author: Paul Mundt Date: Tue Jan 5 19:06:45 2010 +0900 sh: Abstracted SH-4A UBC support on hw-breakpoint core. This is the next big chunk of hw_breakpoint support. This decouples the SH-4A support from the core and moves it out in to its own stub, following many of the conventions established with the perf events layering. In addition to extending SH-4A support to encapsulate the remainder of the UBC channels, clock framework support for handling the UBC interface clock is added as well, allowing for dynamic clock gating. This also fixes up a regression introduced by the SIGTRAP handling that broke the ksym_tracer, to the extent that the current support works well with all of the ksym_tracer/ptrace/kgdb. The kprobes singlestep code will follow in turn. With this in place, the remaining UBC variants (SH-2A and SH-4) can now be trivially plugged in. Signed-off-by: Paul Mundt commit c4761815ab49feca904776dec464046bc7138d3a Author: Paul Mundt Date: Tue Jan 5 12:44:02 2010 +0900 sh: Fix up breakpoint trap handler patching on SH-2A. SH-2A was referencing the old handler that no longer exists, fix it up. Signed-off-by: Paul Mundt commit 0176bd3dab4fe522bfb6ceab9e3c441fe0305738 Author: Paul Mundt Date: Tue Jan 5 12:35:00 2010 +0900 sh: Drop down to a single quicklist. We previously had 2 quicklists, one for the PGD case and one for PTEs. Now that the PGD/PMD cases are handled through slab caches due to the multi-level configurability, only the PTE quicklist remains. As such, reduce NR_QUICK to its appropriate size and bump down the PTE quicklist index. Signed-off-by: Paul Mundt commit a7595fe7e8a93a73ce6199dace75a0caca7024c1 Merge: 921a220 2a5eacc Author: Paul Mundt Date: Tue Jan 5 12:27:46 2010 +0900 Merge branch 'sh/pgtable' of git://github.com/mfleming/linux-2.6 commit cf2f765f1896064e34c6f0f2ef896ff058dd5c06 Author: Jiri Kosina Date: Mon Jan 4 12:20:56 2010 +0100 HID: handle joysticks with large number of buttons Current HID code doesn't properly handle HID joysticks which have larger number of buttons than what fits into current range reserved for BTN_JOYSTICK. One such joystick reported to not work properly is Saitek X52 Pro Flight System. We can't extend the range to fit more buttons in, because of backwards compatibility reasons. Therefore this patch introduces a new BTN_TRIGGER_HAPPY range, and uses these to map the buttons which are over BTN_JOYSTICK limit. Acked-by: Dmitry Torokhov [for the input.h part] Signed-off-by: Jiri Kosina commit 92688c0c3c1c9e2daf705d307e8fda1b5a180d26 Author: Jiri Kosina Date: Mon Jan 4 12:04:59 2010 +0100 HID: make Stantum driver standalone config option Analogically to commit "HID: make 3M PCT touchscreen driver standalone config option", remove the dependency of Stantum driver on CONFIG_EMBEDDED, as it is a standalone driver rather than device quirk. Signed-off-by: Jiri Kosina commit d3fb5454a8474d5d22c8f8fe4d043b05732d91d5 Author: Stephane Chatty Date: Mon Jan 4 12:04:08 2010 +0100 HID: add support for Stantum multitouch panel Added support for the Stantum multitouch panel. Signed-off-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 921a220857cdd3c553cde7c114f9f6757ac80cd5 Merge: 17eb9d6 2f48912 Author: Paul Mundt Date: Mon Jan 4 16:45:56 2010 +0900 Merge branch 'sh/stable-updates' commit 2a5eacca85d39d8b6dffae821d7d260f05584dc7 Author: Matt Fleming Date: Thu Dec 31 12:19:24 2009 +0000 sh: Move page table allocation out of line We also switched away from quicklists and instead moved to slab caches. After benchmarking both implementations the difference is negligible. The slab caches suit us better though because the size of a pgd table is just 4 entries when we're using a 3-level page table layout and quicklists always deal with pages. Signed-off-by: Matt Fleming commit b4c892762373c5e59c7e8db35f5f9a7658602bda Author: Matt Fleming Date: Thu Dec 24 22:17:35 2009 +0000 sh: Optimise flush_dcache_page() on SH4 If the page is not mapped into any process's address space then aliases cannot exist in the cache. So reduce the amount of flushing we perform. Signed-off-by: Matt Fleming commit 3f5ab768164df9a44721660b96e0accb92eb2c24 Author: Matt Fleming Date: Thu Dec 24 20:38:45 2009 +0000 sh: Correct the PTRS_PER_PMD and PMD_SHIFT values The previous expressions were wrong which made free_pmd_range() explode when using anything other than 4KB pages (which is why 8KB and 64KB pages were disabled with the 3-level page table layout). The problem was that pmd_offset() was returning an index of non-zero when it should have been returning 0. This non-zero offset was used to calculate the address of the pmd table to free in free_pmd_range(), which ended up trying to free an object that was not aligned on a page boundary. Now 3-level page tables should work with 4KB, 8KB and 64KB pages. Signed-off-by: Matt Fleming commit e591a517230a97e93f5edd19e7bef7ec8d22ac2b Author: Matt Fleming Date: Sun Dec 13 22:18:09 2009 +0000 sh: Remove unused functions Apply some TLC to the SH64 header files and remove some functions that are not used anymore. Signed-off-by: Matt Fleming commit 9c443dfdd31eddea6cbe6ee0ca469fbcc4e1dc3b Author: Arnaldo Carvalho de Melo Date: Mon Dec 28 22:48:36 2009 -0200 perf diff: Fix support for all --sort combinations When we finish creating the hist_entries we _already_ have them sorted "by name", in fact by what is in --sort, that is exactly how we can find the pairs in perf_session__match_hists as 'comm', 'dso' & 'symbol' all are strings we need to find the matches in the baseline session. So only do the sort by hits followed by a resort by --sort if we need to find the position for shwowing the --displacement of hist entries. Now all these modes work correctly: Example is a simple 'perf record -f find / > /dev/null' ran twice then followed by the following commands: $ perf diff -f --sort comm # Baseline Delta Command # ........ .......... ....... # 0.00% +100.00% find $ perf diff -f --sort dso # Baseline Delta Shared Object # ........ .......... .................. # 59.97% -0.44% [kernel] 21.17% +0.28% libc-2.5.so 18.49% +0.16% [ext3] 0.37% find $ perf diff -f --sort symbol | head -8 # Baseline Delta Symbol # ........ .......... ...... # 6.21% +0.36% [k] ext3fs_dirhash 3.43% +0.41% [.] __GI_strlen 3.53% +0.16% [k] __kmalloc 3.17% +0.49% [k] system_call 3.06% +0.37% [k] ext3_htree_store_dirent $ perf diff -f --sort dso,symbol | head -8 # Baseline Delta Shared Object Symbol # ........ .......... .................. ...... # 6.21% +0.36% [ext3] [k] ext3fs_dirhash 3.43% +0.41% libc-2.5.so [.] __GI_strlen 3.53% +0.16% [kernel] [k] __kmalloc 3.17% +0.49% [kernel] [k] system_call 3.06% +0.37% [ext3] [k] ext3_htree_store_dirent $ And we don't have to do two expensive resorts in the common, non --displacement case. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262047716-23171-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit cdbae31408cf39372402076cf2e189ec693daa71 Author: Arnaldo Carvalho de Melo Date: Mon Dec 28 22:48:35 2009 -0200 perf diff: Don't add the period for unresolved symbols Since we don't add histograms buckets for them, this way the sum of baselines should be 100%. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262047716-23171-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 71289be7630fb97f2de6bb2e18a50289dc869f9d Author: Arnaldo Carvalho de Melo Date: Mon Dec 28 22:48:34 2009 -0200 perf report: Add --hide-unresolved/-U command line option Useful to match the 'overhead' column in 'perf report' with the 'baseline' one in 'perf diff'. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262047716-23171-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit ae99fb2c335ef018520950ddc9692faacab39cf2 Author: Arnaldo Carvalho de Melo Date: Mon Dec 28 22:48:33 2009 -0200 perf header: perf_header__push_event() shouldn't die Just propagate eventual errors. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262047716-23171-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 769885f372300a7fcfb9e54e4e2990718d40b529 Author: Arnaldo Carvalho de Melo Date: Mon Dec 28 22:48:32 2009 -0200 perf header: Do_read shouldn't die Propagate the errors instead, its callers already propagate other errors. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1262047716-23171-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 63bbd5e2d539c9290b229c832f62d42aac23db94 Author: Liming Wang Date: Tue Dec 29 16:37:09 2009 +0800 perf probe: Change CONFIG_KPROBE_TRACER to CONFIG_KPROBE_EVENT make the config name consistent Signed-off-by: Liming Wang Acked-by: Masami Hiramatsu Cc: Frederic Weisbecker Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1262075829-16257-3-git-send-email-liming.wang@windriver.com> Signed-off-by: Ingo Molnar commit 41bdcb23dab22bf27361c5f2d89fe895d8904915 Author: Liming Wang Date: Tue Dec 29 16:37:07 2009 +0800 perf tools: Unify event type description make event type description to a unified array and the array index consistent to perf_type_id. Signed-off-by: Liming Wang Cc: Frederic Weisbecker Cc: Masami Hiramatsu Cc: Paul Mackerras Cc: Peter Zijlstra LKML-Reference: <1262075829-16257-1-git-send-email-liming.wang@windriver.com> Signed-off-by: Ingo Molnar commit 7269e8812a59f74fb1ce134465d0bcf5683b93a1 Author: Jan Beulich Date: Fri Dec 18 16:16:03 2009 +0000 x86-64: Modify memcpy()/memset() alternatives mechanism In order to avoid unnecessary chains of branches, rather than implementing memcpy()/memset()'s access to their alternative implementations via a jump, patch the (larger) original function directly. The memcpy() part of this is slightly subtle: while alternative instruction patching does itself use memcpy(), with the replacement block being less than 64-bytes in size the main loop of the original function doesn't get used for copying memcpy_c() over memcpy(), and hence we can safely write over its beginning. Also note that the CFI annotations are fine for both variants of each of the functions. Signed-off-by: Jan Beulich Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <4B2BB8D30200007800026AF2@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 1b1d9258181bae199dc940f4bd0298126b9a73d9 Author: Jan Beulich Date: Fri Dec 18 16:12:56 2009 +0000 x86-64: Modify copy_user_generic() alternatives mechanism In order to avoid unnecessary chains of branches, rather than implementing copy_user_generic() as a function consisting of just a single (possibly patched) branch, instead properly deal with patching call instructions in the alternative instructions framework, and move the patching into the callers. As a follow-on, one could also introduce something like __EXPORT_SYMBOL_ALT() to avoid patching call sites in modules. Signed-off-by: Jan Beulich Cc: Nick Piggin Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <4B2BB8180200007800026AE7@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 499a5f1efa0b0ac56ec5d060412aed84ae68e63e Author: Jan Beulich Date: Fri Dec 18 16:05:51 2009 +0000 x86: Lift restriction on the location of FIX_BTMAP_* The early ioremap fixmap entries cover half (or for 32-bit non-PAE, a quarter) of a page table, yet they got uncondtitionally aligned so far to a 256-entry boundary. This is not necessary if the range of page table entries anyway falls into a single page table. This buys back, for (theoretically) 50% of all configurations (25% of all non-PAE ones), at least some of the lowmem necessarily lost with commit e621bd18958ef5dbace3129ebe17a0a475e127d9. Signed-off-by: Jan Beulich Cc: Linus Torvalds Cc: Andrew Morton LKML-Reference: <4B2BB66F0200007800026AD6@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit d894837f23f491aa7ed167aae767fc07cfe6e6e6 Author: Simon Kagstrom Date: Wed Dec 23 11:08:18 2009 +0100 sched: might_sleep(): Make file parameter const char * Fixes a warning when building with g++: warning: deprecated conversion from string constant to 'char*' And the file parameter use is constant, so mark it as such. Signed-off-by: Simon Kagstrom Cc: peterz@infradead.org LKML-Reference: <20091223110818.442d848e@marrow.netinsight.se> Signed-off-by: Ingo Molnar commit 39d997b514e12d5aff0dca206eb8996b3957927e Author: Akinobu Mita Date: Mon Dec 21 16:20:16 2009 -0800 x86, core: Optimize hweight32() Optimize hweight32 by using the same technique in hweight64. The proof of this technique can be found in the commit log for f9b4192923fa6e38331e88214b1fe5fc21583fcc ("bitops: hweight() speedup"). The userspace benchmark on x86_32 showed 20% speedup with bitmap_weight() which uses hweight32 to count bits for each unsigned long on 32bit architectures. int main(void) { #define SZ (1024 * 1024 * 512) static DECLARE_BITMAP(bitmap, SZ) = { [0 ... 100] = 1, }; return bitmap_weight(bitmap, SZ); } Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Cc: Linus Torvalds LKML-Reference: <1258603932-4590-1-git-send-email-akinobu.mita@gmail.com> [ only x86 sets ARCH_HAS_FAST_MULTIPLIER so we do this via the x86 tree] Signed-off-by: Ingo Molnar commit 9967411e5b324a908e344d6ce66b77bd5d372c3e Author: Xiao Guangrong Date: Mon Dec 28 16:49:38 2009 +0800 perf trace: Fix forgotten close of file/dir Signed-off-by: Xiao Guangrong Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Clark Williams Cc: John Kacur LKML-Reference: <4B387122.7090801@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 61be3e59ba7a6dbd39f92fd1f107285a0caeb008 Author: Xiao Guangrong Date: Mon Dec 28 16:48:30 2009 +0800 perf trace: Clean up find_debugfs() Remove redundant code for 'perf trace' Signed-off-by: Xiao Guangrong Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Clark Williams Cc: John Kacur LKML-Reference: <4B3870DE.7090500@cn.fujitsu.com> [ v2: resolved conflicts with recent changes ] Signed-off-by: Ingo Molnar commit 29c52aa2300173dd45df04dae1f5acc81a2c93b1 Author: Xiao Guangrong Date: Mon Dec 28 16:47:12 2009 +0800 perf tools: Mount debugfs automatically Mount debugfs filesystem under '/sys/kernel/debug', if it's not mounted. Signed-off-by: Xiao Guangrong Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Clark Williams Cc: John Kacur LKML-Reference: <4B387090.7080407@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 07b139c8c81b97bbe55c68daf0cbeca8b1c609ca Author: Li Zefan Date: Mon Dec 21 14:27:35 2009 +0800 perf events: Remove CONFIG_EVENT_PROFILE Quoted from Ingo: | This reminds me - i think we should eliminate CONFIG_EVENT_PROFILE - | it's an unnecessary Kconfig complication. If both PERF_EVENTS and | EVENT_TRACING is enabled we should expose generic tracepoints. | | Nor is it limited to event 'profiling', so it has become a misnomer as | well. Signed-off-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <4B2F1557.2050705@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 659d8cfbb225f1fa5a4f8671a847ef3ab5a89660 Author: Ulrich Drepper Date: Sat Dec 19 16:40:28 2009 -0500 perf tools: Do a few more directory handling optimizations A few more optimizations for perf when dealing with directories. Some of them significantly cut down the work which has to be done. d_type should always be set; otherwise fix the kernel code. And there are functions available to parse fstab-like files, so use them. Signed-off-by: Ulrich Drepper Acked-by: Pekka Enberg Cc: a.p.zijlstra@chello.nl Cc: acme@redhat.com Cc: eranian@google.com Cc: fweisbec@gmail.com Cc: lizf@cn.fujitsu.com Cc: paulus@samba.org Cc: xiaoguangrong@cn.fujitsu.com LKML-Reference: <200912192140.nBJLeSfA028905@hs20-bc2-1.build.redhat.com> [ v2: two small stylistic fixlets ] Signed-off-by: Ingo Molnar commit 34d0b5af50a063cded842716633501b38ff815fb Author: Paul Mundt Date: Mon Dec 28 17:53:47 2009 +0900 sh: Convert ptrace to hw_breakpoint API. This is the initial step for converting singlestep handling via ptrace over to hw_breakpoints. Signed-off-by: Paul Mundt commit fd2a50a0240f5f5b59070474eabd83a85720a406 Author: Naga Chumbalkar Date: Thu Dec 24 01:54:47 2009 +0000 x86, perfctr: Remove unused func avail_to_resrv_perfctr_nmi() avail_to_resrv_perfctr_nmi() is neither EXPORT'd, nor used in the file. So remove it. Signed-off-by: Naga Chumbalkar Acked-by: Cyrill Gorcunov Cc: oprofile-list@lists.sf.net LKML-Reference: <20091224015441.6005.4408.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit 49f474331e563a6ecf3b1e87ec27ec5482b3e4f1 Author: Peter Zijlstra Date: Sun Dec 27 11:51:52 2009 +0100 perf events: Remove arg from perf sched hooks Since we only ever schedule the local cpu, there is no need to pass the cpu number to the perf sched hooks. This micro-optimizes things a bit. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 4cf40131a5cf4918e83b3756e58a1fc9e984f8ef Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:37:06 2009 -0200 perf record: Introduce a symtab cache Now a cache will be created in a ~/.debug debuginfo like hierarchy, so that at the end of a 'perf record' session all the binaries (with build-ids) involved get collected and indexed by their build-ids, so that perf report can find them. This is interesting when developing software where you want to do a 'perf diff' with the previous build and opens avenues for lots more interesting tools, like a 'perf diff --graph' that takes more than two binaries into account. Tunables for collecting just the symtabs can be added if one doesn't want to have the full binary, but having the full binary allows things like 'perf rerecord' or other tools that can re-run the tests by having access to the exact binary in some perf.data file, so it may well be interesting to keep the full binary there. Space consumption is minimised by trying to use hard links, a 'perf cache' tool to manage the space used, a la ccache is required to purge older entries. With this in place it will be possible also to introduce new commands, 'perf archive' and 'perf restore' (or some more suitable and future proof names) to create a cpio/tar file with the perf data and the files in the cache that _had_ perf hits of interest. There are more aspects to polish, like finding the right vmlinux file to cache, etc, but this is enough for a first step. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-10-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 55aa640f54280da25046acd2075842d464f451e6 Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:37:05 2009 -0200 perf session: Remove redundant prefix & suffix from perf_event_ops Since now all that we have are perf event handlers, leave just the name of the event. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-9-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f7d87444e6ee6f4a19634e5412664c1c529a2370 Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:37:04 2009 -0200 perf session: Move full_paths config to symbol_conf Now perf_event_ops has just that, event handlers. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-8-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 31d337c4ee3152b7271897eae576251643f5a3b5 Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:37:03 2009 -0200 perf session: Move total_unknown to perf_session->unknown events As this is a session property, not belonging to perf_event_ops, that can be shared by many perf_session instances. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-7-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d549c7690190d9739005e19604faad6da4b802ac Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:37:02 2009 -0200 perf session: Remove sample_type_check from event_ops This is really something tools need to do before asking for the events to be processed, leaving perf_session__process_events to do just that, process events. Also add a msg parameter to perf_session__has_traces() so that the right message can be printed, fixing a regression added by me in the previous cset (right timechart message) and also fixing 'perf kmem', that was not asking if 'perf kmem record' was ran. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 27295592c22e71bbd38110c302da8dbb43912a60 Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:37:01 2009 -0200 perf session: Share the common trace sample_check routine as perf_session__has_traces Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 4a58e61161074776aa34187ea369414ce4852394 Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:37:00 2009 -0200 perf tools: Move the map class definition to a separate header And this resulted in the need for adding some missing includes in some places that were getting the definitions needed out of sheer luck. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 06aae590033d1ae3c35b2920ef950cfc603e2a2d Author: Arnaldo Carvalho de Melo Date: Sun Dec 27 21:36:59 2009 -0200 perf session: Move the event processing routines to session.c No need for an extra "data_map" file since the routines there operate mainly on a perf_session instance. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1261957026-15580-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 3912f2abc942a002ef611fc973add5e5eadb3432 Author: Amerigo Wang Date: Mon Dec 14 03:23:56 2009 -0500 perf: Use format string of printf to align strings Instead of filling whitespaces to do alignment, use printf's format string. This simplifies the code a bit. Signed-off-by: WANG Cong Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20091214082700.4224.57640.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit 17eb9d62828c3688f41f31ac00d7fee6da9675bf Merge: 76e7461 f34548c Author: Paul Mundt Date: Thu Dec 24 15:16:41 2009 +0900 Merge branches 'sh/g3-prep' and 'sh/stable-updates' commit 4b186f72033611c2b526c7341534e71ee4afd222 Author: Jiri Kosina Date: Wed Dec 23 13:12:32 2009 +0100 HID: make 3M PCT touchscreen driver standalone config option The point behind 'default !EMBEDDED' for certain HID drivers that simple and straightforward quirks for HID devices (which are implemented as drivers on HID bus) wouldn't have to be enabled separately, if the device is otherwise more-or-less HID standard compliant. But this driver is rather standalone driver, so we'd want to have it normally selectable. Signed-off-by: Jiri Kosina commit 863b557a88f8c033f7419fabafef4712a5055f85 Author: Youquan, Song Date: Wed Dec 23 19:45:20 2009 +0800 crypto: testmgr - Fix complain about lack test for internal used algorithm When load aesni-intel and ghash_clmulni-intel driver,kernel will complain no test for some internal used algorithm. The strange information as following: alg: No test for __aes-aesni (__driver-aes-aesni) alg: No test for __ecb-aes-aesni (__driver-ecb-aes-aesni) alg: No test for __cbc-aes-aesni (__driver-cbc-aes-aesni) alg: No test for __ecb-aes-aesni (cryptd(__driver-ecb-aes-aesni) alg: No test for __ghash (__ghash-pclmulqdqni) alg: No test for __ghash (cryptd(__ghash-pclmulqdqni)) This patch add NULL test entries for these algorithm and driver. Signed-off-by: Youquan, Song Signed-off-by: Ying, Huang Signed-off-by: Herbert Xu commit b6353f4f36f03a12edaf3fa5365b475a28106035 Author: Stephane Chatty Date: Tue Dec 22 23:04:17 2009 +0100 HID: Support for 3M multitouch panel Add support for 3M multitouch panels. Signed-off-by: Stephane Chatty [jkosina@suse.cz: fix build failure because of inconsistent 3M/MMM defines] Signed-off-by: Jiri Kosina commit 22648735405f73299b717bb5933767e9a9c335ca Author: Paul Mundt Date: Tue Dec 22 12:44:14 2009 +0900 sh: kgdb: Rework breakpoint handling on top of notifier chain. This kills off kgdb's breakpoint handler and ties in to the notifier chain instead. Signed-off-by: Paul Mundt commit b74ab703b1326aafadb5604ff6200da62c61df49 Author: Paul Mundt Date: Tue Dec 22 12:40:38 2009 +0900 sh: Don't NOTIFY_STOP for non-UBC breakpoint traps. Presently the hw_breakpoint code is the primary notifier dispatch for breakpoint traps, although it's only UBC traps that are of particular interest there. This patches in a check to allow non-UBC generated breakpoints to pass through down the remainder of the notifier chain, giving things like kgdb a chance at getting notified. Signed-off-by: Paul Mundt commit 6c0ee6a4bba0e21eb0fb4de5bdac03c11b74242d Author: Paul Mundt Date: Mon Dec 21 17:35:00 2009 +0900 sh: hw-breakpoint support requires perf events. This follows the x86 change to select perf events when hw_breakpoint support is enabled. This fixes up build issues where perf events can otherwise be disabled on their own. Signed-off-by: Paul Mundt commit a28b460ec7968f430a2d6ea2809b249ee9fe1d28 Author: Paul Mundt Date: Mon Dec 21 15:56:24 2009 +0900 sh: Fix up hw-breakpoints build for API changes. The event callback handling has been removed in favour of going through a generic event handler to handle overflows. Follows the x86 change. Signed-off-by: Paul Mundt commit 4b4f887fb2780e39383c1f202b72f5a2780b2d4c Merge: 6424db5 76e7461 Author: Paul Mundt Date: Mon Dec 21 15:44:34 2009 +0900 Merge branch 'master' into sh/hw-breakpoints commit 76e7461a21dfe13565b2a323b53c8cc963541126 Merge: d0b873f dd59f6c Author: Paul Mundt Date: Mon Dec 21 11:59:55 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit d0b873fc73b793277c8a0824ce986b5bfeaef157 Merge: 5d9b4b1 73a38b8 Author: Paul Mundt Date: Mon Dec 21 11:58:17 2009 +0900 Merge branch 'sh/stable-updates' commit d2392ba06a477cf1876ce3d505b7cd77e295cfd4 Author: Alessandro Rubini Date: Sat Dec 19 19:46:33 2009 +0800 hwrng: nomadik - Add platform device for rng in cpu-8815 Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit bc85b25e5de17d714e8001cb3dc0feb66eac2750 Author: Alessandro Rubini Date: Sat Dec 19 19:45:43 2009 +0800 hwrng: nomadik - Add hardware RNG driver The hardware random number generator by ST is used in both the Nomadik 8815 SoC and the U8500. It returns 16 bits every 400ns with automatic delay if a read is issued too early. It depends on PLAT_NOMADIK. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit b76365a18f7593c9df32a74bf2b4a39741b67bc6 Author: Russ Anderson Date: Thu Dec 17 10:53:25 2009 -0600 x86, uv: Add serial number parameter to uv_bios_get_sn_info() Add system_serial_number to the information returned by uv_bios_get_sn_info() UV BIOS call. Signed-off-by: Russ Anderson LKML-Reference: <20091217165323.GA30774@sgi.com> Cc: Jack Steiner Signed-off-by: H. Peter Anvin commit 5d9b4b19f118abfb75e352841f7bf74580d7e427 Author: Matt Fleming Date: Sun Dec 13 14:38:50 2009 +0000 sh: Definitions for 3-level page table layout If using 64-bit PTEs and 4K pages then each page table has 512 entries (as opposed to 1024 entries with 32-bit PTEs). Unlike MIPS, SH follows the convention that all structures in the page table (pgd_t, pmd_t, pgprot_t, etc) must be the same size. Therefore, 64-bit PTEs require 64-bit PGD entries, etc. Using 2-levels of page tables and 64-bit PTEs it is only possible to map 1GB of virtual address space. In order to map all 4GB of virtual address space we need to adopt a 3-level page table layout. This actually works out better for CONFIG_SUPERH32 because we only waste 2 PGD entries on the P1 and P2 areas (which are untranslated) instead of 256. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit b73c806341cfc7492ede6a2ce713cb579547d0ab Author: Matt Fleming Date: Wed Nov 25 22:00:08 2009 +0000 sh: Abstract the number of page table levels Keep the dimensions of the page tables in a separate header file in preparation for allowing a three level page table structure. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 86e032213424958b45564d0cc96b3316641a49d3 Author: Grant Likely Date: Thu Dec 10 23:42:21 2009 -0700 of/flattree: merge early_init_dt_scan_chosen() Merge common code between PowerPC and Microblaze. This patch splits the arch-specific stuff out into a new function, early_init_dt_scan_chosen_arch(). Signed-off-by: Grant Likely Tested-by: Wolfram Sang Acked-by: Benjamin Herrenschmidt commit 0f0b56c3f2df4a083fc9e934266e5bab1710e286 Author: Grant Likely Date: Thu Dec 10 23:42:17 2009 -0700 of/flattree: eliminate cell_t typedef A cell is firmly established as a u32. No need to do an ugly typedef to redefine it to cell_t. Eliminate the unnecessary typedef so that it doesn't have to be added to the of_fdt header file Signed-off-by: Grant Likely Tested-by: Wolfram Sang Acked-by: Benjamin Herrenschmidt commit 83f7a06eb479e2aeb83536e77a2cb14cc2285e32 Author: Grant Likely Date: Tue Nov 24 03:37:56 2009 -0700 of/flattree: merge dt_mem_next_cell Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Tested-by: Wolfram Sang commit f00abd94918c9780f9d2d961fc0e419c11457922 Author: Grant Likely Date: Tue Nov 24 03:27:10 2009 -0700 of/flattree: Merge earlyinit_dt_scan_root() Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Acked-by: Benjamin Herrenschmidt Tested-by: Wolfram Sang commit f7b3a8355ba6cad251297844a0bdd08898ea36e0 Author: Grant Likely Date: Tue Nov 24 03:26:58 2009 -0700 of/flattree: Merge early_init_dt_check_for_initrd() Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Tested-by: Wolfram Sang Acked-by: Benjamin Herrenschmidt commit 6424db52e24e8cdf89917fa3c10395116440160e Merge: 09a0729 6a5a0b9 Author: Paul Mundt Date: Tue Dec 8 15:47:12 2009 +0900 Merge branch 'master' into sh/hw-breakpoints Conflict between FPU thread flag migration and debug thread flag addition. Conflicts: arch/sh/include/asm/thread_info.h arch/sh/include/asm/ubc.h arch/sh/kernel/process_32.c commit 09a072947791088b88ae15111cf68fc5aaaf758d Author: Paul Mundt Date: Mon Nov 9 16:27:40 2009 +0900 sh: hw-breakpoints: Add preliminary support for SH-4A UBC. This adds preliminary support for the SH-4A UBC to the hw-breakpoints API. Presently only a single channel is implemented, and the ptrace interface still needs to be converted. This is the first step to cleaning up the long-standing UBC mess, making the UBC more generally accessible, and finally making it SMP safe. An additional abstraction will be layered on top of this as with the perf events code to permit the various CPU families to wire up support for their own specific UBCs, as many variations exist. Signed-off-by: Paul Mundt commit 2be09cb993826b52c9fc1d44747c20dd43a50038 Author: Grant Likely Date: Mon Nov 23 20:16:46 2009 -0700 of: remove special case definition of of_read_ulong() Special case of of_read_ulong() was defined for PPC32 to toss away all but the last 32 bits when a large number value was read, and the 'normal' version for ppc64 just #defined of_read_ulong to of_read_number which causes compiler warnings on MicroBlaze and other 32 bit architectures because it returns a u64 instead of a ulong. This patch fixes the problem by defining a common implementation of of_read_ulong() that works everywhere. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit 02af11b03fce3ddb264d7873d7a2e295e697938c Author: Grant Likely Date: Mon Nov 23 20:16:45 2009 -0700 of: merge prom_{add,remove,modify}_property Merge common code between PowerPC and MicroBlaze Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit 41f880091c15b039ffcc8b3d831656b81517a6d3 Author: Grant Likely Date: Mon Nov 23 20:07:01 2009 -0700 of/flattree: Merge unflatten_device_tree Merge common code between PowerPC and MicroBlaze Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit bbd33931a08362f78266a4016211a35947b91041 Author: Grant Likely Date: Mon Nov 23 20:07:00 2009 -0700 of/flattree: Merge unflatten_dt_node Merge common code between PowerPC and MicroBlaze Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit 00e38efd90f27518ec96b37b1c7773e3ac529966 Author: Grant Likely Date: Mon Nov 23 20:07:00 2009 -0700 of/flattree: Merge of_flat_dt_is_compatible Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit ca900cfa2944448bdb76e1246f282e59bc65f472 Author: Grant Likely Date: Mon Nov 23 20:06:59 2009 -0700 of/flattree: merge of_get_flat_dt_prop Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit 31a6a87dfc34fbf02aef9a160adf558ec56d3ccd Author: Grant Likely Date: Mon Nov 23 19:49:38 2009 -0700 of/flattree: remove __init annotations from the header file __init annotation belongs in the .c file, not the header. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit 819d2819303654c6829d572e698e2d0021c08599 Author: Grant Likely Date: Mon Nov 23 19:44:23 2009 -0700 of/flattree: merge of_get_flat_dt_root Merge common code between PowerPC and MicroBlaze Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit c8cb7a59842c0b512b44f6f818cdb0b5a3ddc89e Author: Grant Likely Date: Mon Nov 23 18:54:23 2009 -0700 of/flattree: merge of_scan_flat_dt Merge common code between PowerPC and Microblaze Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit e169cfbef46d62e042614ffafa8880eed1d894bb Author: Grant Likely Date: Mon Nov 23 14:53:09 2009 -0700 of/flattree: merge find_flat_dt_string and initial_boot_params Merge common code between Microblaze and PowerPC. Signed-off-by: Grant Likely Reviewed-by: Wolfram Sang Tested-by: Michal Simek commit 2cfcadde83b308240690ff1c18f117d8bc7a08b0 Merge: e91edcf 648f4e3 Author: Grant Likely Date: Mon Nov 23 14:49:36 2009 -0700 Merge commit 'v2.6.32-rc8' commit 7b76bfc86757ca5e7b0a62f50003752da77c115b Author: Dick Streefland Date: Tue Oct 6 22:35:40 2009 +0200 kconfig: simplification of scripts/extract-ikconfig I've rewritten the extract-ikconfig script to extract the kernel configuration from a kernel compiled with CONFIG_IKCONFIG. The main motivation for the rewrite was to remove the dependency on the external C program binoffset.c, which is compiled on the initial run. The binoffset executable is invoked with a relative path, which means that the old script can only be run from the top of the kernel tree, and only when you have write permission in the scripts directory. The new script uses tr/grep/tail/zcat only, and can be invoked from anywhere. The binoffset.c program has been removed. This script requires GNU grep 2.5 (released 2002-03-13) or higher, because the -o option was introduced in that version. Signed-off-by: Dick Streefland LKML-Reference: <20091006203540.GA14634@streefland.net> Tested-by: Steven Rostedt Cc: Sam Ravnborg Signed-off-by: Steven Rostedt